┌   ┐
54
└   ┘

summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAniket Anvit <[email protected]>2013-02-05 19:58:06 +0100
committerFrank Reininghaus <[email protected]>2013-02-05 19:58:06 +0100
commit85ed71eb30487b653f01359e97371c6230737c44 (patch)
treee96407f24dc7166a2096fde60f2d8417ccd39b2d
parent89134d62c72961f81c231feeaaa727f055e4f61a (diff)
Apply changes of the KGlobalSettings::singleClick() setting immediately
Fixes a regression introduced by commit 7a364cbf489af25e123d18713523151a3a53f814. Patch reviewed and pushed by Frank Reininghaus. BUG: 313342 FIXED-IN: 4.10.1
-rw-r--r--src/kitemviews/kitemlistcontroller.cpp14
-rw-r--r--src/kitemviews/kitemlistcontroller.h11
-rw-r--r--src/panels/folders/folderspanel.cpp2
-rw-r--r--src/panels/places/placespanel.cpp2
4 files changed, 14 insertions, 15 deletions
diff --git a/src/kitemviews/kitemlistcontroller.cpp b/src/kitemviews/kitemlistcontroller.cpp
index 697e04fef..c6239df94 100644
--- a/src/kitemviews/kitemlistcontroller.cpp
+++ b/src/kitemviews/kitemlistcontroller.cpp
@@ -44,7 +44,7 @@
KItemListController::KItemListController(KItemModelBase* model, KItemListView* view, QObject* parent) :
QObject(parent),
- m_singleClickActivation(KGlobalSettings::singleClick()),
+ m_singleClickActivationEnforced(false),
m_selectionTogglePressed(false),
m_clearSelectionIfItemsAreNotDragged(false),
m_selectionBehavior(NoSelection),
@@ -190,14 +190,14 @@ int KItemListController::autoActivationDelay() const
return m_autoActivationTimer->interval();
}
-void KItemListController::setSingleClickActivation(bool singleClick)
+void KItemListController::setSingleClickActivationEnforced(bool singleClick)
{
- m_singleClickActivation = singleClick;
+ m_singleClickActivationEnforced = singleClick;
}
-bool KItemListController::singleClickActivation() const
+bool KItemListController::singleClickActivationEnforced() const
{
- return m_singleClickActivation;
+ return m_singleClickActivationEnforced;
}
bool KItemListController::showEvent(QShowEvent* event)
@@ -756,7 +756,7 @@ bool KItemListController::mouseReleaseEvent(QGraphicsSceneMouseEvent* event, con
} else if (shiftOrControlPressed) {
// The mouse click should only update the selection, not trigger the item
emitItemActivated = false;
- } else if (!m_singleClickActivation) {
+ } else if (!(KGlobalSettings::singleClick() || m_singleClickActivationEnforced)) {
emitItemActivated = false;
}
if (emitItemActivated) {
@@ -786,7 +786,7 @@ bool KItemListController::mouseDoubleClickEvent(QGraphicsSceneMouseEvent* event,
}
}
- bool emitItemActivated = !m_singleClickActivation &&
+ bool emitItemActivated = !(KGlobalSettings::singleClick() || m_singleClickActivationEnforced) &&
(event->button() & Qt::LeftButton) &&
index >= 0 && index < m_model->count();
if (emitItemActivated) {
diff --git a/src/kitemviews/kitemlistcontroller.h b/src/kitemviews/kitemlistcontroller.h
index 235e4a9eb..4d5fee345 100644
--- a/src/kitemviews/kitemlistcontroller.h
+++ b/src/kitemviews/kitemlistcontroller.h
@@ -129,12 +129,11 @@ public:
/**
* If set to true, the signals itemActivated() and itemsActivated() are emitted
- * after a single-click of the left mouse button. If set to false, a double-click
- * is required. Per default the setting from KGlobalSettings::singleClick() is
- * used.
+ * after a single-click of the left mouse button. If set to false (the default),
+ * the setting from KGlobalSettings::singleClick() is used.
*/
- void setSingleClickActivation(bool singleClick);
- bool singleClickActivation() const;
+ void setSingleClickActivationEnforced(bool singleClick);
+ bool singleClickActivationEnforced() const;
virtual bool showEvent(QShowEvent* event);
virtual bool hideEvent(QHideEvent* event);
@@ -301,7 +300,7 @@ private:
void updateExtendedSelectionRegion();
private:
- bool m_singleClickActivation;
+ bool m_singleClickActivationEnforced;
bool m_selectionTogglePressed;
bool m_clearSelectionIfItemsAreNotDragged;
SelectionBehavior m_selectionBehavior;
diff --git a/src/panels/folders/folderspanel.cpp b/src/panels/folders/folderspanel.cpp
index 6e3a7678f..98c06fb35 100644
--- a/src/panels/folders/folderspanel.cpp
+++ b/src/panels/folders/folderspanel.cpp
@@ -152,7 +152,7 @@ void FoldersPanel::showEvent(QShowEvent* event)
m_controller->setAutoActivationBehavior(KItemListController::ExpansionOnly);
m_controller->setMouseDoubleClickAction(KItemListController::ActivateAndExpandItem);
m_controller->setAutoActivationDelay(750);
- m_controller->setSingleClickActivation(true);
+ m_controller->setSingleClickActivationEnforced(true);
connect(m_controller, SIGNAL(itemActivated(int)), this, SLOT(slotItemActivated(int)));
connect(m_controller, SIGNAL(itemMiddleClicked(int)), this, SLOT(slotItemMiddleClicked(int)));
diff --git a/src/panels/places/placespanel.cpp b/src/panels/places/placespanel.cpp
index 61c15a7a1..919f2ed45 100644
--- a/src/panels/places/placespanel.cpp
+++ b/src/panels/places/placespanel.cpp
@@ -110,7 +110,7 @@ void PlacesPanel::showEvent(QShowEvent* event)
m_controller = new KItemListController(m_model, m_view, this);
m_controller->setSelectionBehavior(KItemListController::SingleSelection);
- m_controller->setSingleClickActivation(true);
+ m_controller->setSingleClickActivationEnforced(true);
readSettings();