┌   ┐
54
└   ┘

summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/kitemviews/kitemlistgroupheader.cpp4
-rw-r--r--src/kitemviews/kitemliststyleoption.cpp20
-rw-r--r--src/kitemviews/kitemliststyleoption.h5
-rw-r--r--src/kitemviews/kitemlistview.cpp4
-rw-r--r--src/kitemviews/kitemlistwidget.cpp5
-rw-r--r--src/kitemviews/kstandarditemlistview.cpp9
6 files changed, 38 insertions, 9 deletions
diff --git a/src/kitemviews/kitemlistgroupheader.cpp b/src/kitemviews/kitemlistgroupheader.cpp
index fb9298989..06a32484a 100644
--- a/src/kitemviews/kitemlistgroupheader.cpp
+++ b/src/kitemviews/kitemlistgroupheader.cpp
@@ -78,6 +78,10 @@ QVariant KItemListGroupHeader::data() const
void KItemListGroupHeader::setStyleOption(const KItemListStyleOption& option)
{
+ if (m_styleOption == option) {
+ return;
+ }
+
const KItemListStyleOption previous = m_styleOption;
m_styleOption = option;
m_dirtyCache = true;
diff --git a/src/kitemviews/kitemliststyleoption.cpp b/src/kitemviews/kitemliststyleoption.cpp
index 1ebcad141..bcfb86064 100644
--- a/src/kitemviews/kitemliststyleoption.cpp
+++ b/src/kitemviews/kitemliststyleoption.cpp
@@ -53,3 +53,23 @@ KItemListStyleOption::KItemListStyleOption(const KItemListStyleOption& other) :
KItemListStyleOption::~KItemListStyleOption()
{
}
+
+bool KItemListStyleOption::operator==(const KItemListStyleOption& other) const
+{
+ return rect == other.rect
+ && font == other.font
+ && fontMetrics == other.fontMetrics
+ && palette == other.palette
+ && padding == other.padding
+ && horizontalMargin == other.horizontalMargin
+ && verticalMargin == other.verticalMargin
+ && iconSize == other.iconSize
+ && extendedSelectionRegion == other.extendedSelectionRegion
+ && maxTextLines == other.maxTextLines
+ && maxTextWidth == other.maxTextWidth;
+}
+
+bool KItemListStyleOption::operator!=(const KItemListStyleOption& other) const
+{
+ return !(*this == other);
+}
diff --git a/src/kitemviews/kitemliststyleoption.h b/src/kitemviews/kitemliststyleoption.h
index 09b787c27..93aafac1f 100644
--- a/src/kitemviews/kitemliststyleoption.h
+++ b/src/kitemviews/kitemliststyleoption.h
@@ -45,6 +45,11 @@ public:
bool extendedSelectionRegion;
int maxTextLines;
int maxTextWidth;
+
+ bool operator==(const KItemListStyleOption& other) const;
+ bool operator!=(const KItemListStyleOption& other) const;
+
+
};
#endif
diff --git a/src/kitemviews/kitemlistview.cpp b/src/kitemviews/kitemlistview.cpp
index 489c6f9b6..f0647fb3e 100644
--- a/src/kitemviews/kitemlistview.cpp
+++ b/src/kitemviews/kitemlistview.cpp
@@ -752,6 +752,10 @@ void KItemListView::setItemSize(const QSizeF& size)
void KItemListView::setStyleOption(const KItemListStyleOption& option)
{
+ if (m_styleOption == option) {
+ return;
+ }
+
const KItemListStyleOption previousOption = m_styleOption;
m_styleOption = option;
diff --git a/src/kitemviews/kitemlistwidget.cpp b/src/kitemviews/kitemlistwidget.cpp
index 61dd7256e..28b374620 100644
--- a/src/kitemviews/kitemlistwidget.cpp
+++ b/src/kitemviews/kitemlistwidget.cpp
@@ -191,10 +191,13 @@ qreal KItemListWidget::columnWidth(const QByteArray& role) const
void KItemListWidget::setStyleOption(const KItemListStyleOption& option)
{
+ if (m_styleOption == option) {
+ return;
+ }
+
const KItemListStyleOption previous = m_styleOption;
clearHoverCache();
m_styleOption = option;
-
styleOptionChanged(option, previous);
update();
}
diff --git a/src/kitemviews/kstandarditemlistview.cpp b/src/kitemviews/kstandarditemlistview.cpp
index ee1c06103..929ee1da8 100644
--- a/src/kitemviews/kstandarditemlistview.cpp
+++ b/src/kitemviews/kstandarditemlistview.cpp
@@ -146,27 +146,20 @@ void KStandardItemListView::applyDefaultStyleOption(int iconSize,
{
KItemListStyleOption option = styleOption();
- bool changed = false;
if (option.iconSize < 0) {
option.iconSize = iconSize;
- changed = true;
}
if (option.padding < 0) {
option.padding = padding;
- changed = true;
}
if (option.horizontalMargin < 0) {
option.horizontalMargin = horizontalMargin;
- changed = true;
}
if (option.verticalMargin < 0) {
option.verticalMargin = verticalMargin;
- changed = true;
}
- if (changed) {
- setStyleOption(option);
- }
+ setStyleOption(option);
}
void KStandardItemListView::updateLayoutOfVisibleItems()