┌   ┐
54
└   ┘

summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/kitemviews/kitemlistcontroller.cpp15
-rw-r--r--src/kitemviews/kitemlistcontroller.h10
-rw-r--r--src/panels/folders/folderspanel.cpp1
3 files changed, 24 insertions, 2 deletions
diff --git a/src/kitemviews/kitemlistcontroller.cpp b/src/kitemviews/kitemlistcontroller.cpp
index 026c245f5..220748be7 100644
--- a/src/kitemviews/kitemlistcontroller.cpp
+++ b/src/kitemviews/kitemlistcontroller.cpp
@@ -41,6 +41,7 @@
KItemListController::KItemListController(QObject* parent) :
QObject(parent),
+ m_singleClickActivation(KGlobalSettings::singleClick()),
m_selectionTogglePressed(false),
m_selectionBehavior(NoSelection),
m_model(0),
@@ -142,6 +143,16 @@ int KItemListController::autoActivationDelay() const
return m_autoActivationTimer->interval();
}
+void KItemListController::setSingleClickActivation(bool singleClick)
+{
+ m_singleClickActivation = singleClick;
+}
+
+bool KItemListController::singleClickActivation() const
+{
+ return m_singleClickActivation;
+}
+
bool KItemListController::showEvent(QShowEvent* event)
{
Q_UNUSED(event);
@@ -577,7 +588,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 (!KGlobalSettings::singleClick()) {
+ } else if (!m_singleClickActivation) {
emitItemActivated = false;
}
if (emitItemActivated) {
@@ -598,7 +609,7 @@ bool KItemListController::mouseDoubleClickEvent(QGraphicsSceneMouseEvent* event,
const QPointF pos = transform.map(event->pos());
const int index = m_view->itemAt(pos);
- bool emitItemActivated = !KGlobalSettings::singleClick() &&
+ bool emitItemActivated = !m_singleClickActivation &&
(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 b8de195eb..b7efbde74 100644
--- a/src/kitemviews/kitemlistcontroller.h
+++ b/src/kitemviews/kitemlistcontroller.h
@@ -104,6 +104,15 @@ public:
void setAutoActivationDelay(int delay);
int autoActivationDelay() const;
+ /**
+ * 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.
+ */
+ void setSingleClickActivation(bool singleClick);
+ bool singleClickActivation() const;
+
virtual bool showEvent(QShowEvent* event);
virtual bool hideEvent(QHideEvent* event);
virtual bool keyPressEvent(QKeyEvent* event);
@@ -249,6 +258,7 @@ private:
qreal keyboardAnchorPos(int index) const;
private:
+ bool m_singleClickActivation;
bool m_selectionTogglePressed;
SelectionBehavior m_selectionBehavior;
KItemModelBase* m_model;
diff --git a/src/panels/folders/folderspanel.cpp b/src/panels/folders/folderspanel.cpp
index bb2198d48..86a1c0ccd 100644
--- a/src/panels/folders/folderspanel.cpp
+++ b/src/panels/folders/folderspanel.cpp
@@ -174,6 +174,7 @@ void FoldersPanel::showEvent(QShowEvent* event)
m_controller->setModel(model);
m_controller->setSelectionBehavior(KItemListController::SingleSelection);
m_controller->setAutoActivationDelay(750);
+ m_controller->setSingleClickActivation(true);
connect(m_controller, SIGNAL(itemActivated(int)), this, SLOT(slotItemActivated(int)));
connect(m_controller, SIGNAL(itemMiddleClicked(int)), this, SLOT(slotItemMiddleClicked(int)));