X-Git-Url: https://cloud.milkyroute.net/gitweb/dolphin.git/blobdiff_plain/e07468c7840caeff97360edf08826aa38e8d96ae..df871967c948de1aeb4d635fafd937369121aef0:/src/kitemviews/kstandarditemlistwidget.cpp diff --git a/src/kitemviews/kstandarditemlistwidget.cpp b/src/kitemviews/kstandarditemlistwidget.cpp index e0375480e..88286120a 100644 --- a/src/kitemviews/kstandarditemlistwidget.cpp +++ b/src/kitemviews/kstandarditemlistwidget.cpp @@ -494,6 +494,29 @@ QRectF KStandardItemListWidget::textFocusRect() const return m_textRect; } +QRectF KStandardItemListWidget::selectionRect() const +{ + const_cast(this)->triggerCacheRefreshing(); + + switch (m_layout) { + case IconsLayout: + return m_textRect; + + case CompactLayout: + case DetailsLayout: { + const int padding = styleOption().padding; + QRectF adjustedIconRect = iconRect().adjusted(-padding, -padding, padding, padding); + return adjustedIconRect | m_textRect; + } + + default: + Q_ASSERT(false); + break; + } + + return m_textRect; +} + QRectF KStandardItemListWidget::expansionToggleRect() const { const_cast(this)->triggerCacheRefreshing(); @@ -735,10 +758,10 @@ void KStandardItemListWidget::editedRoleChanged(const QByteArray& current, const if (m_roleEditor) { emit roleEditingCanceled(index(), current, data().value(current)); - disconnect(m_roleEditor, SIGNAL(roleEditingCanceled(QByteArray,QVariant)), - this, SLOT(slotRoleEditingCanceled(QByteArray,QVariant))); - disconnect(m_roleEditor, SIGNAL(roleEditingFinished(QByteArray,QVariant)), - this, SLOT(slotRoleEditingFinished(QByteArray,QVariant))); + disconnect(m_roleEditor, &KItemListRoleEditor::roleEditingCanceled, + this, &KStandardItemListWidget::slotRoleEditingCanceled); + disconnect(m_roleEditor, &KItemListRoleEditor::roleEditingFinished, + this, &KStandardItemListWidget::slotRoleEditingFinished); if (m_oldRoleEditor) { m_oldRoleEditor->deleteLater(); @@ -773,10 +796,10 @@ void KStandardItemListWidget::editedRoleChanged(const QByteArray& current, const m_roleEditor->setTextCursor(cursor); } - connect(m_roleEditor, SIGNAL(roleEditingCanceled(QByteArray,QVariant)), - this, SLOT(slotRoleEditingCanceled(QByteArray,QVariant))); - connect(m_roleEditor, SIGNAL(roleEditingFinished(QByteArray,QVariant)), - this, SLOT(slotRoleEditingFinished(QByteArray,QVariant))); + connect(m_roleEditor, &KItemListRoleEditor::roleEditingCanceled, + this, &KStandardItemListWidget::slotRoleEditingCanceled); + connect(m_roleEditor, &KItemListRoleEditor::roleEditingFinished, + this, &KStandardItemListWidget::slotRoleEditingFinished); // Adjust the geometry of the editor QRectF rect = roleEditingRect(current); @@ -813,14 +836,14 @@ void KStandardItemListWidget::showEvent(QShowEvent* event) const KUrl itemUrl = data().value("url").value(); m_isCut = clipboard->isCut(itemUrl); - connect(clipboard, SIGNAL(cutItemsChanged()), - this, SLOT(slotCutItemsChanged())); + connect(clipboard, &KFileItemClipboard::cutItemsChanged, + this, &KStandardItemListWidget::slotCutItemsChanged); } void KStandardItemListWidget::hideEvent(QHideEvent* event) { - disconnect(KFileItemClipboard::instance(), SIGNAL(cutItemsChanged()), - this, SLOT(slotCutItemsChanged())); + disconnect(KFileItemClipboard::instance(), &KFileItemClipboard::cutItemsChanged, + this, &KStandardItemListWidget::slotCutItemsChanged); KItemListWidget::hideEvent(event); } @@ -945,7 +968,7 @@ void KStandardItemListWidget::updatePixmapCache() KIconEffect::semiTransparent(m_pixmap); } - if (isSelected()) { + if (m_layout == IconsLayout && isSelected()) { const QColor color = palette().brush(QPalette::Normal, QPalette::Highlight).color(); QImage image = m_pixmap.toImage(); KIconEffect::colorize(image, color, 0.8f); @@ -1382,10 +1405,10 @@ QRectF KStandardItemListWidget::roleEditingRect(const QByteArray& role) const void KStandardItemListWidget::closeRoleEditor() { - disconnect(m_roleEditor, SIGNAL(roleEditingCanceled(QByteArray,QVariant)), - this, SLOT(slotRoleEditingCanceled(QByteArray,QVariant))); - disconnect(m_roleEditor, SIGNAL(roleEditingFinished(QByteArray,QVariant)), - this, SLOT(slotRoleEditingFinished(QByteArray,QVariant))); + disconnect(m_roleEditor, &KItemListRoleEditor::roleEditingCanceled, + this, &KStandardItemListWidget::slotRoleEditingCanceled); + disconnect(m_roleEditor, &KItemListRoleEditor::roleEditingFinished, + this, &KStandardItemListWidget::slotRoleEditingFinished); if (m_roleEditor->hasFocus()) { // If the editing was not ended by a FocusOut event, we have @@ -1464,4 +1487,3 @@ qreal KStandardItemListWidget::columnPadding(const KItemListStyleOption& option) return option.padding * 6; } -#include "kstandarditemlistwidget.moc"