diff options
| author | Emmanuel Pescosta <[email protected]> | 2012-10-31 22:43:21 +0100 |
|---|---|---|
| committer | Emmanuel Pescosta <[email protected]> | 2012-10-31 22:43:21 +0100 |
| commit | 32569ebedfaa70f8deb0714936792af9bce8a82b (patch) | |
| tree | 5f709dfb6e5a356270960fa0f64f9718e4ede623 /src | |
| parent | b4998a7cd4d5a09ca5ccf15c99bd642ae6bb8571 (diff) | |
Fix Bug 309338 - flood of error boxes while renaming a folder in the folder panel
BUG: 309338
FIXED-IN: 4.9.3
REVIEW: 107070
Diffstat (limited to 'src')
| -rw-r--r-- | src/kitemviews/kitemlistview.cpp | 15 | ||||
| -rw-r--r-- | src/kitemviews/kitemlistview.h | 7 |
2 files changed, 22 insertions, 0 deletions
diff --git a/src/kitemviews/kitemlistview.cpp b/src/kitemviews/kitemlistview.cpp index 72b3fd8fc..ef6dfc833 100644 --- a/src/kitemviews/kitemlistview.cpp +++ b/src/kitemviews/kitemlistview.cpp @@ -1429,12 +1429,16 @@ void KItemListView::slotGeometryOfGroupHeaderParentChanged() void KItemListView::slotRoleEditingCanceled(int index, const QByteArray& role, const QVariant& value) { + disconnectRoleEditingSignals(index); + emit roleEditingCanceled(index, role, value); m_editingRole = false; } void KItemListView::slotRoleEditingFinished(int index, const QByteArray& role, const QVariant& value) { + disconnectRoleEditingSignals(index); + emit roleEditingFinished(index, role, value); m_editingRole = false; } @@ -2505,6 +2509,17 @@ bool KItemListView::hasSiblingSuccessor(int index) const return hasSuccessor; } +void KItemListView::disconnectRoleEditingSignals(int index) +{ + KItemListWidget* widget = 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 = 0; diff --git a/src/kitemviews/kitemlistview.h b/src/kitemviews/kitemlistview.h index 5723b9aaa..984781569 100644 --- a/src/kitemviews/kitemlistview.h +++ b/src/kitemviews/kitemlistview.h @@ -663,6 +663,13 @@ private: bool hasSiblingSuccessor(int index) const; /** + * Helper method for slotRoleEditingCanceled() and slotRoleEditingFinished(). + * 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. |
