[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-commits
Subject: [kde-baseapps/KDE/4.9] dolphin/src/kitemviews: Fix Bug 309338 - flood of error boxes while renaming
From: Emmanuel Pescosta <emmanuelpescosta099 () gmail ! com>
Date: 2012-10-31 21:44:08
Message-ID: 20121031214408.DD9B9A6078 () git ! kde ! org
[Download RAW message or body]
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/kitemviews/kitemlistview.cpp
index 72b3fd8..ef6dfc8 100644
--- a/dolphin/src/kitemviews/kitemlistview.cpp
+++ b/dolphin/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/dolphin/src/kitemviews/kitemlistview.h b/dolphin/src/kitemviews/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 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.
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic