]> cloud.milkyroute.net Git - dolphin.git/blobdiff - src/kitemviews/kfileitemlistwidget.h
Introduce "isExpandable" role
[dolphin.git] / src / kitemviews / kfileitemlistwidget.h
index 1f0c89449fb9fb079f7bdbf4da47cd81d6227c1c..91f00fe73f52672e5c23a11ed8e824a99f33b049 100644 (file)
@@ -85,7 +85,13 @@ protected:
     virtual void visibleRolesSizesChanged(const QHash<QByteArray, QSizeF>& current, const QHash<QByteArray, QSizeF>& previous);
     virtual void styleOptionChanged(const KItemListStyleOption& current, const KItemListStyleOption& previous);
     virtual void hoveredChanged(bool hovered);
+    virtual void selectedChanged(bool selected);
     virtual void resizeEvent(QGraphicsSceneResizeEvent* event);
+    virtual void showEvent(QShowEvent* event);
+    virtual void hideEvent(QHideEvent* event);
+
+private slots:
+    void slotCutItemsChanged();
 
 private:
     enum TextId {
@@ -116,9 +122,14 @@ private:
 
     static QPixmap pixmapForIcon(const QString& name, int size);
     static TextId roleTextId(const QByteArray& role);
+    static void applyCutEffect(QPixmap& pixmap);
+    static void applyHiddenEffect(QPixmap& pixmap);
 
 private:
-    bool m_isDir;
+    bool m_isCut;
+    bool m_isHidden;
+    bool m_isExpandable;
+
     bool m_dirtyLayout;
     bool m_dirtyContent;
     QSet<QByteArray> m_dirtyContentRoles;
@@ -128,8 +139,9 @@ private:
     QPixmap m_pixmap;
     QSize m_scaledPixmapSize;
 
-    QRectF m_hoverPixmapRect;
-    QPixmap m_hoverPixmap;
+    QSize m_originalPixmapSize; // Size of pixmap before it gets converted to a square pixmap
+    QRectF m_iconRect;          // Cache for KItemListWidget::iconRect()
+    QPixmap m_hoverPixmap;      // Cache for modified m_pixmap when hovering the item
 
     QPointF m_textPos[TextIdCount];
     QStaticText m_text[TextIdCount];
@@ -143,8 +155,6 @@ private:
     QColor m_additionalInfoTextColor;
 
     QPixmap m_overlay;
-
-    QPointF m_selectionTogglePos;
 };
 
 #endif