X-Git-Url: https://cloud.milkyroute.net/gitweb/dolphin.git/blobdiff_plain/25751088c33ce507096a3e25ee1eeaa7de38c76b..99cf24c03def1c0722ba8dbd86a27b9dbc521f43:/src/kitemviews/kstandarditemlistwidget.h diff --git a/src/kitemviews/kstandarditemlistwidget.h b/src/kitemviews/kstandarditemlistwidget.h index 826452255..e7f2de2e0 100644 --- a/src/kitemviews/kstandarditemlistwidget.h +++ b/src/kitemviews/kstandarditemlistwidget.h @@ -21,8 +21,7 @@ #define KSTANDARDITEMLISTWIDGET_H #include "dolphin_export.h" - -#include +#include "kitemviews/kitemlistwidget.h" #include #include @@ -36,13 +35,13 @@ class DOLPHIN_EXPORT KStandardItemListWidgetInformant : public KItemListWidgetIn { public: KStandardItemListWidgetInformant(); - virtual ~KStandardItemListWidgetInformant(); + ~KStandardItemListWidgetInformant() override; - virtual void calculateItemSizeHints(QVector& logicalHeightHints, qreal& logicalWidthHint, const KItemListView* view) const Q_DECL_OVERRIDE; + void calculateItemSizeHints(QVector& logicalHeightHints, qreal& logicalWidthHint, const KItemListView* view) const override; - virtual qreal preferredRoleColumnWidth(const QByteArray& role, + qreal preferredRoleColumnWidth(const QByteArray& role, int index, - const KItemListView* view) const Q_DECL_OVERRIDE; + const KItemListView* view) const override; protected: /** * @return The value of the "text" role. The default implementation returns @@ -81,7 +80,7 @@ protected: }; /** - * @brief Itemlist widget implementation for KStandardItemView and KStandardItemModel. + * @brief Itemlist widget implementation for KStandardItemListView and KStandardItemModel. */ class DOLPHIN_EXPORT KStandardItemListWidget : public KItemListWidget { @@ -96,7 +95,7 @@ public: }; KStandardItemListWidget(KItemListWidgetInformant* informant, QGraphicsItem* parent); - virtual ~KStandardItemListWidget(); + ~KStandardItemListWidget() override; void setLayout(Layout layout); Layout layout() const; @@ -104,15 +103,15 @@ public: void setSupportsItemExpanding(bool supportsItemExpanding); bool supportsItemExpanding() const; - virtual void paint(QPainter* painter, const QStyleOptionGraphicsItem* option, QWidget* widget = 0); + void paint(QPainter* painter, const QStyleOptionGraphicsItem* option, QWidget* widget = nullptr) override; - virtual QRectF iconRect() const Q_DECL_OVERRIDE; - virtual QRectF textRect() const Q_DECL_OVERRIDE; - virtual QRectF textFocusRect() const Q_DECL_OVERRIDE; - virtual QRectF selectionRect() const Q_DECL_OVERRIDE; - virtual QRectF expansionToggleRect() const Q_DECL_OVERRIDE; - virtual QRectF selectionToggleRect() const Q_DECL_OVERRIDE; - virtual QPixmap createDragPixmap(const QStyleOptionGraphicsItem* option, QWidget* widget = 0) Q_DECL_OVERRIDE; + QRectF iconRect() const override; + QRectF textRect() const override; + QRectF textFocusRect() const override; + QRectF selectionRect() const override; + QRectF expansionToggleRect() const override; + QRectF selectionToggleRect() const override; + QPixmap createDragPixmap(const QStyleOptionGraphicsItem* option, QWidget* widget = nullptr) override; static KItemListWidgetInformant* createInformant(); @@ -172,17 +171,21 @@ protected: */ virtual int selectionLength(const QString& text) const; - virtual void dataChanged(const QHash& current, const QSet& roles = QSet()) Q_DECL_OVERRIDE; - virtual void visibleRolesChanged(const QList& current, const QList& previous) Q_DECL_OVERRIDE; - virtual void columnWidthChanged(const QByteArray& role, qreal current, qreal previous) Q_DECL_OVERRIDE; - virtual void styleOptionChanged(const KItemListStyleOption& current, const KItemListStyleOption& previous) Q_DECL_OVERRIDE; - virtual void hoveredChanged(bool hovered) Q_DECL_OVERRIDE; - virtual void selectedChanged(bool selected) Q_DECL_OVERRIDE; - virtual void siblingsInformationChanged(const QBitArray& current, const QBitArray& previous) Q_DECL_OVERRIDE; - virtual void editedRoleChanged(const QByteArray& current, const QByteArray& previous) Q_DECL_OVERRIDE; - virtual void resizeEvent(QGraphicsSceneResizeEvent* event) Q_DECL_OVERRIDE; - virtual void showEvent(QShowEvent* event) Q_DECL_OVERRIDE; - virtual void hideEvent(QHideEvent* event) Q_DECL_OVERRIDE; + 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 styleOptionChanged(const KItemListStyleOption& current, const KItemListStyleOption& previous) override; + void hoveredChanged(bool hovered) override; + void selectedChanged(bool selected) override; + void siblingsInformationChanged(const QBitArray& current, const QBitArray& previous) override; + void editedRoleChanged(const QByteArray& current, const QByteArray& previous) override; + void resizeEvent(QGraphicsSceneResizeEvent* event) override; + void showEvent(QShowEvent* event) override; + void hideEvent(QHideEvent* event) override; + bool event(QEvent *event) override; + +public slots: + void finishRoleEditing(); private slots: void slotCutItemsChanged(); @@ -206,13 +209,15 @@ private: QRectF roleEditingRect(const QByteArray &role) const; + QString elideRightKeepExtension(const QString &text, int elidingWidth) const; + /** * Closes the role editor and returns the focus back * to the KItemListContainer. */ void closeRoleEditor(); - static QPixmap pixmapForIcon(const QString& name, const QStringList& overlays, int size); + static QPixmap pixmapForIcon(const QString& name, const QStringList& overlays, int size, QIcon::Mode mode); /** * @return Preferred size of the rating-image based on the given @@ -242,7 +247,7 @@ private: Layout m_layout; QPointF m_pixmapPos; QPixmap m_pixmap; - QSize m_scaledPixmapSize; + QSize m_scaledPixmapSize; //Size of the pixmap in device independent pixels QRectF m_iconRect; // Cache for KItemListWidget::iconRect() QPixmap m_hoverPixmap; // Cache for modified m_pixmap when hovering the item