]> cloud.milkyroute.net Git - dolphin.git/blobdiff - src/kitemviews/kstandarditemlistwidget.cpp
InformationPanel: Allow to refresh the panel when its displayed content changes
[dolphin.git] / src / kitemviews / kstandarditemlistwidget.cpp
index 5175d80fa073474775428a7812d1329ab0aacd91..e58340fb891b581e1423084469fb63eca8990928 100644 (file)
@@ -232,6 +232,7 @@ void KStandardItemListWidgetInformant::calculateDetailsLayoutItemSizeHints(QVect
 
 KStandardItemListWidget::KStandardItemListWidget(KItemListWidgetInformant* informant, QGraphicsItem* parent) :
     KItemListWidget(informant, parent),
+    m_textInfo(),
     m_isCut(false),
     m_isHidden(false),
     m_customizedFont(),
@@ -247,7 +248,6 @@ KStandardItemListWidget::KStandardItemListWidget(KItemListWidgetInformant* infor
     m_scaledPixmapSize(),
     m_iconRect(),
     m_hoverPixmap(),
-    m_textInfo(),
     m_textRect(),
     m_sortedVisibleRoles(),
     m_expansionArea(),
@@ -764,6 +764,7 @@ void KStandardItemListWidget::editedRoleChanged(const QByteArray& current, const
 
     m_roleEditor = new KItemListRoleEditor(parent);
     m_roleEditor->setRole(current);
+    m_roleEditor->setAllowUpDownKeyChainEdit(m_layout != IconsLayout);
     m_roleEditor->setFont(styleOption().font);
 
     const QString text = data().value(current).toString();
@@ -1122,7 +1123,7 @@ QString KStandardItemListWidget::elideRightKeepExtension(const QString &text, in
             QString ret = m_customizedFontMetrics.elidedText(text.chopped(extensionLength),
                                                              Qt::ElideRight,
                                                              elidingWidth - extensionWidth);
-            ret.append(text.right(extensionLength));
+            ret.append(text.rightRef(extensionLength));
             return ret;
         }
     }
@@ -1488,7 +1489,8 @@ QPixmap KStandardItemListWidget::pixmapForIcon(const QString& name, const QStrin
         if (icon.isNull()) {
             icon = QIcon(name);
         }
-        if (icon.isNull()) {
+        if (icon.isNull()
+            || icon.pixmap(size / qApp->devicePixelRatio(), size / qApp->devicePixelRatio(), mode).isNull()) {
             icon = fallbackIcon;
         }