X-Git-Url: https://cloud.milkyroute.net/gitweb/dolphin.git/blobdiff_plain/6a196bf69d106931777cd372765d3de993d97564..e9bd295b:/src/kitemviews/kstandarditemlistwidget.h diff --git a/src/kitemviews/kstandarditemlistwidget.h b/src/kitemviews/kstandarditemlistwidget.h index c19f1759d..3edec0db5 100644 --- a/src/kitemviews/kstandarditemlistwidget.h +++ b/src/kitemviews/kstandarditemlistwidget.h @@ -23,12 +23,13 @@ class DOLPHIN_EXPORT KStandardItemListWidgetInformant : public KItemListWidgetIn public: KStandardItemListWidgetInformant(); ~KStandardItemListWidgetInformant() override; - - void calculateItemSizeHints(QVector& logicalHeightHints, qreal& logicalWidthHint, const KItemListView* view) const override; + + void calculateItemSizeHints(QVector>& logicalHeightHints, qreal& logicalWidthHint, const KItemListView* view) const override; qreal preferredRoleColumnWidth(const QByteArray& role, int index, const KItemListView* view) const override; + protected: /** * @return The value of the "text" role. The default implementation returns @@ -59,15 +60,15 @@ protected: */ virtual QFont customizedFontForLinks(const QFont& baseFont) const; - void calculateIconsLayoutItemSizeHints(QVector& logicalHeightHints, qreal& logicalWidthHint, const KItemListView* view) const; - void calculateCompactLayoutItemSizeHints(QVector& logicalHeightHints, qreal& logicalWidthHint, const KItemListView* view) const; - void calculateDetailsLayoutItemSizeHints(QVector& logicalHeightHints, qreal& logicalWidthHint, const KItemListView* view) const; + void calculateIconsLayoutItemSizeHints(QVector>& logicalHeightHints, qreal& logicalWidthHint, const KItemListView* view) const; + void calculateCompactLayoutItemSizeHints(QVector>& logicalHeightHints, qreal& logicalWidthHint, const KItemListView* view) const; + void calculateDetailsLayoutItemSizeHints(QVector>& logicalHeightHints, qreal& logicalWidthHint, const KItemListView* view) const; friend class KStandardItemListWidget; // Accesses roleText() }; /** - * @brief Itemlist widget implementation for KStandardItemListView and KStandardItemModel. + * @brief ItemList widget implementation for KStandardItemListView and KStandardItemModel. */ class DOLPHIN_EXPORT KStandardItemListWidget : public KItemListWidget { @@ -87,6 +88,9 @@ public: void setLayout(Layout layout); Layout layout() const; + void setHighlightEntireRow(bool highlightEntireRow); + bool highlightEntireRow() const; + void setSupportsItemExpanding(bool supportsItemExpanding); bool supportsItemExpanding() const; @@ -109,6 +113,12 @@ protected: */ void invalidateCache(); + /** + * Invalidates the icon cache which results in calling KStandardItemListWidget::refreshCache() as + * soon as the item needs to get repainted. + */ + void invalidateIconCache(); + /** * Is called if the cache got invalidated by KStandardItemListWidget::invalidateCache(). * The default implementation is empty. @@ -161,6 +171,7 @@ protected: void dataChanged(const QHash& current, const QSet& roles = QSet()) override; void visibleRolesChanged(const QList& current, const QList& previous) override; void columnWidthChanged(const QByteArray& role, qreal current, qreal previous) override; + void leadingPaddingChanged(qreal width) override; void styleOptionChanged(const KItemListStyleOption& current, const KItemListStyleOption& previous) override; void hoveredChanged(bool hovered) override; void selectedChanged(bool selected) override; @@ -177,10 +188,10 @@ protected: QStaticText staticText; }; -public slots: +public Q_SLOTS: void finishRoleEditing(); -private slots: +private Q_SLOTS: void slotCutItemsChanged(); void slotRoleEditingCanceled(const QByteArray& role, const QVariant& value); void slotRoleEditingFinished(const QByteArray& role, const QVariant& value); @@ -234,6 +245,7 @@ private: QFont m_customizedFont; QFontMetrics m_customizedFontMetrics; bool m_isExpandable; + bool m_highlightEntireRow; bool m_supportsItemExpanding; bool m_dirtyLayout; @@ -245,6 +257,7 @@ private: QPixmap m_pixmap; QSize m_scaledPixmapSize; //Size of the pixmap in device independent pixels + qreal m_columnWidthSum; QRectF m_iconRect; // Cache for KItemListWidget::iconRect() QPixmap m_hoverPixmap; // Cache for modified m_pixmap when hovering the item