From kde-commits Wed Oct 31 21:44:08 2012 From: Emmanuel Pescosta Date: Wed, 31 Oct 2012 21:44:08 +0000 To: kde-commits Subject: [kde-baseapps/KDE/4.9] dolphin/src/kitemviews: Fix Bug 309338 - flood of error boxes while renaming Message-Id: <20121031214408.DD9B9A6078 () git ! kde ! org> X-MARC-Message: https://marc.info/?l=kde-commits&m=135171985730078 Git commit ab82045a958590181c982677456b3743185ed28e by Emmanuel Pescosta. Committed on 31/10/2012 at 22:43. Pushed by emmanuelp into branch 'KDE/4.9'. Fix Bug 309338 - flood of error boxes while renaming a folder in the folder= panel BUG: 309338 FIXED-IN: 4.9.3 REVIEW: 107070 M +15 -0 dolphin/src/kitemviews/kitemlistview.cpp M +7 -0 dolphin/src/kitemviews/kitemlistview.h http://commits.kde.org/kde-baseapps/ab82045a958590181c982677456b3743185ed28e diff --git a/dolphin/src/kitemviews/kitemlistview.cpp b/dolphin/src/kitemvi= ews/kitemlistview.cpp index 72b3fd8..ef6dfc8 100644 --- a/dolphin/src/kitemviews/kitemlistview.cpp +++ b/dolphin/src/kitemviews/kitemlistview.cpp @@ -1429,12 +1429,16 @@ void KItemListView::slotGeometryOfGroupHeaderParent= Changed() = void KItemListView::slotRoleEditingCanceled(int index, const QByteArray& r= ole, const QVariant& value) { + disconnectRoleEditingSignals(index); + emit roleEditingCanceled(index, role, value); m_editingRole =3D false; } = void KItemListView::slotRoleEditingFinished(int index, const QByteArray& r= ole, const QVariant& value) { + disconnectRoleEditingSignals(index); + emit roleEditingFinished(index, role, value); m_editingRole =3D false; } @@ -2505,6 +2509,17 @@ bool KItemListView::hasSiblingSuccessor(int index) c= onst return hasSuccessor; } = +void KItemListView::disconnectRoleEditingSignals(int index) +{ + KItemListWidget* widget =3D m_visibleItems.value(index); + if (!widget) { + return; + } + + widget->disconnect(SIGNAL(roleEditingCanceled(int,QByteArray,QVariant)= ), this); + widget->disconnect(SIGNAL(roleEditingFinished(int,QByteArray,QVariant)= ), this); +} + int KItemListView::calculateAutoScrollingIncrement(int pos, int range, int= oldInc) { int inc =3D 0; diff --git a/dolphin/src/kitemviews/kitemlistview.h b/dolphin/src/kitemview= s/kitemlistview.h index 5723b9a..9847815 100644 --- a/dolphin/src/kitemviews/kitemlistview.h +++ b/dolphin/src/kitemviews/kitemlistview.h @@ -663,6 +663,13 @@ private: bool hasSiblingSuccessor(int index) const; = /** + * Helper method for slotRoleEditingCanceled() and slotRoleEditingFini= shed(). + * Disconnects the two Signals "roleEditingCanceled" and + * "roleEditingFinished" + */ + void disconnectRoleEditingSignals(int index); + + /** * Helper function for triggerAutoScrolling(). * @param pos Logical position of the mouse relative to the range. * @param range Range of the visible area.