diff options
| author | Peter Penz <[email protected]> | 2011-03-12 18:45:59 +0100 |
|---|---|---|
| committer | Peter Penz <[email protected]> | 2011-03-12 18:46:24 +0100 |
| commit | 747a86573feb65e2ffe57cdae7dedf6ad272e789 (patch) | |
| tree | 5034985dd4cae30790bef0cc3ec05f79f082183b /src/views/dolphinfileitemdelegate.h | |
| parent | b9de2cf96f747952366da2ebc9389c1fdc238a5f (diff) | |
Details view optimization
Constructing a KColorScheme object is very expensive because of a number
of tint computations. When scrolling a big list more than 30 % of the
time was spent here. Instead, we can precompute and store the inactive
text color. (see https://git.reviewboard.kde.org/r/100826/)
Thanks to Samuel Rødal for the patch!
Diffstat (limited to 'src/views/dolphinfileitemdelegate.h')
| -rw-r--r-- | src/views/dolphinfileitemdelegate.h | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/src/views/dolphinfileitemdelegate.h b/src/views/dolphinfileitemdelegate.h index 5eb559a79..ab4a9fd20 100644 --- a/src/views/dolphinfileitemdelegate.h +++ b/src/views/dolphinfileitemdelegate.h @@ -37,6 +37,7 @@ class QAbstractProxyModel; */ class DolphinFileItemDelegate : public KFileItemDelegate { + Q_OBJECT public: explicit DolphinFileItemDelegate(QObject* parent = 0); virtual ~DolphinFileItemDelegate(); @@ -60,6 +61,9 @@ public: */ static int nameColumnWidth(const QString& name, const QStyleOptionViewItem& option); +private slots: + void handleDisplayPaletteChange(); + private: static void adjustOptionWidth(QStyleOptionViewItemV4& option, const QAbstractProxyModel* proxyModel, @@ -75,6 +79,8 @@ private: bool m_hasMinimizedNameColumn; mutable QSize m_cachedSize; mutable QPixmap m_cachedEmblems[KVersionControlPlugin::LocallyModifiedUnstagedVersion + 1]; + mutable QColor m_cachedInactiveTextColor; + mutable bool m_cachedInactiveTextColorDirty; }; inline void DolphinFileItemDelegate::setMinimizedNameColumn(bool minimized) |
