From e8cb5a292d146c833e65f1d14bfda1219bda8dfa Mon Sep 17 00:00:00 2001 From: Peter Penz Date: Sun, 30 Mar 2008 13:19:01 +0000 Subject: [PATCH] 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 --- src/dolphiniconsview.cpp | 12 ++++++++++++ src/dolphiniconsview.h | 3 +++ 2 files changed, 15 insertions(+) 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(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); -- 2.47.3