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 {
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;
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];
QColor m_additionalInfoTextColor;
QPixmap m_overlay;
-
- QPointF m_selectionTogglePos;
};
#endif