- virtual void refreshCache();
-
- void setTextColor(const QColor& color);
- QColor textColor() const;
-
- void setOverlay(const QPixmap& overlay);
- QPixmap overlay() const;
-
- virtual void dataChanged(const QHash<QByteArray, QVariant>& current, const QSet<QByteArray>& roles = QSet<QByteArray>());
- virtual void visibleRolesChanged(const QList<QByteArray>& current, const QList<QByteArray>& previous);
- 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 {
- Name,
- Size,
- Date,
- Permissions,
- Owner,
- Group,
- Type,
- Destination,
- Path,
- TextIdCount // Mandatory last entry
- };
-
- void triggerCacheRefreshing();
- void updateExpansionArea();
- void updatePixmapCache();
-
- void updateTextsCache();
- void updateIconsLayoutTextCache();
- void updateCompactLayoutTextCache();
- void updateDetailsLayoutTextCache();
-
- void updateAdditionalInfoTextColor();
-
- void drawPixmap(QPainter* painter, const QPixmap& pixmap);
-
- 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_isCut;
- bool m_isHidden;
- bool m_isExpandable;
-
- bool m_dirtyLayout;
- bool m_dirtyContent;
- QSet<QByteArray> m_dirtyContentRoles;
-
- Layout m_layout;
- QPointF m_pixmapPos;
- QPixmap m_pixmap;
- QSize m_scaledPixmapSize;
-
- 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];
- QRectF m_textRect;
-
- QList<QByteArray> m_sortedVisibleRoles;
-
- QRectF m_expansionArea;
-
- QColor m_customTextColor;
- QColor m_additionalInfoTextColor;
-
- QPixmap m_overlay;