┌   ┐
54
└   ┘

summaryrefslogtreecommitdiff
path: root/src/views/dolphinfileitemdelegate.h
diff options
context:
space:
mode:
authorPeter Penz <[email protected]>2011-03-12 18:45:59 +0100
committerPeter Penz <[email protected]>2011-03-12 18:46:24 +0100
commit747a86573feb65e2ffe57cdae7dedf6ad272e789 (patch)
tree5034985dd4cae30790bef0cc3ec05f79f082183b /src/views/dolphinfileitemdelegate.h
parentb9de2cf96f747952366da2ebc9389c1fdc238a5f (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.h6
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)