┌   ┐
54
└   ┘

summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorPeter Penz <[email protected]>2008-03-30 13:19:01 +0000
committerPeter Penz <[email protected]>2008-03-30 13:19:01 +0000
commite8cb5a292d146c833e65f1d14bfda1219bda8dfa (patch)
tree3ec7c7c53372efbf46575ad99c56b3396eacd981 /src
parentb6f970d355ee694bbe02e0e7d4f8b517f163c9a8 (diff)
Third attempt for fixing the layout issue, this time without side effects and only with very minor performance overhead...
svn path=/trunk/KDE/kdebase/apps/; revision=791824
Diffstat (limited to 'src')
-rw-r--r--src/dolphiniconsview.cpp12
-rw-r--r--src/dolphiniconsview.h3
2 files changed, 15 insertions, 0 deletions
diff --git a/src/dolphiniconsview.cpp b/src/dolphiniconsview.cpp
index da1784c31..dd83de37e 100644
--- a/src/dolphiniconsview.cpp
+++ b/src/dolphiniconsview.cpp
@@ -133,6 +133,18 @@ DolphinIconsView::~DolphinIconsView()
m_categoryDrawer = 0;
}
+void DolphinIconsView::dataChanged(const QModelIndex& topLeft, const QModelIndex& bottomRight)
+{
+ KCategorizedView::dataChanged(topLeft, bottomRight);
+
+ KCategorizedSortFilterProxyModel* proxyModel = dynamic_cast<KCategorizedSortFilterProxyModel*>(model());
+ if ((flow() == QListView::LeftToRight) && !proxyModel->isCategorizedModel()) {
+ // bypass a QListView issue that items are not layout correctly if the decoration size of
+ // an index changes
+ scheduleDelayedItemsLayout();
+ }
+}
+
QStyleOptionViewItem DolphinIconsView::viewOptions() const
{
QStyleOptionViewItem viewOptions = KCategorizedView::viewOptions();
diff --git a/src/dolphiniconsview.h b/src/dolphiniconsview.h
index 01aac03f2..c912b99f7 100644
--- a/src/dolphiniconsview.h
+++ b/src/dolphiniconsview.h
@@ -48,6 +48,9 @@ public:
explicit DolphinIconsView(QWidget* parent, DolphinController* controller);
virtual ~DolphinIconsView();
+protected slots:
+ virtual void dataChanged(const QModelIndex& topLeft, const QModelIndex& bottomRight);
+
protected:
virtual QStyleOptionViewItem viewOptions() const;
virtual void contextMenuEvent(QContextMenuEvent* event);