X-Git-Url: https://cloud.milkyroute.net/gitweb/dolphin.git/blobdiff_plain/64e40c1d934247fc9e1c2fa00761b2cb8d70a146..cdccbf471a88a34d7673712f6f6bead559dcc5be:/src/kitemviews/kstandarditemlistwidget.h diff --git a/src/kitemviews/kstandarditemlistwidget.h b/src/kitemviews/kstandarditemlistwidget.h index 1313179c9..35392b420 100644 --- a/src/kitemviews/kstandarditemlistwidget.h +++ b/src/kitemviews/kstandarditemlistwidget.h @@ -11,13 +11,20 @@ #include "kitemviews/kitemlistwidget.h" #include +#include #include #include class KItemListRoleEditor; class KItemListStyleOption; class KItemListView; +class QVariantAnimation; +/** + * @brief standard implementation of the ItemList widget informant for use with KStandardItemListView and KStandardItemModel. + * + * @see KItemListWidgetInformant + */ class DOLPHIN_EXPORT KStandardItemListWidgetInformant : public KItemListWidgetInformant { public: @@ -67,7 +74,9 @@ protected: }; /** - * @brief ItemList widget implementation for KStandardItemListView and KStandardItemModel. + * @brief standard implementation of an ItemList widget for KStandardItemListView and KStandardItemModel. + * + * @see KItemListWidget */ class DOLPHIN_EXPORT KStandardItemListWidget : public KItemListWidget { @@ -80,7 +89,6 @@ public: ~KStandardItemListWidget() override; void setLayout(Layout layout); - Layout layout() const; void setHighlightEntireRow(bool highlightEntireRow); bool highlightEntireRow() const; @@ -97,6 +105,8 @@ public: QRectF expansionToggleRect() const override; QRectF selectionToggleRect() const override; QPixmap createDragPixmap(const QStyleOptionGraphicsItem *option, QWidget *widget = nullptr) override; + /** @see KItemListWidget::startActivateSoonAnimation() */ + void startActivateSoonAnimation(int timeUntilActivation) override; static KItemListWidgetInformant *createInformant(); @@ -208,6 +218,13 @@ private: QString elideRightKeepExtension(const QString &text, int elidingWidth) const; + /** + * Escapes text for display purposes. + * + * Replaces '\n' with Unicode line break (U+21B5). + */ + QString escapeString(const QString &text) const; + /** * Closes the role editor and returns the focus back * to the KItemListContainer. @@ -229,6 +246,9 @@ private: */ static qreal columnPadding(const KItemListStyleOption &option); + /** @returns whether the usual icon should be shown or not. */ + bool isIconControlledByActivateSoonAnimation() const; + protected: QHash m_textInfo; // PlacesItemListWidget needs to access this @@ -269,6 +289,9 @@ private: KItemListRoleEditor *m_roleEditor; KItemListRoleEditor *m_oldRoleEditor; + /** @see startActivateSoonAnimation() */ + QPointer m_activateSoonAnimation; + friend class KStandardItemListWidgetInformant; // Accesses private static methods to be able to // share a common layout calculation };