┌   ┐
54
└   ┘

summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/kitemviews/kitemlistcontroller.cpp12
-rw-r--r--src/kitemviews/kitemlistcontroller.h20
-rw-r--r--src/panels/folders/folderspanel.cpp1
-rw-r--r--src/views/dolphinview.cpp6
4 files changed, 11 insertions, 28 deletions
diff --git a/src/kitemviews/kitemlistcontroller.cpp b/src/kitemviews/kitemlistcontroller.cpp
index 2f1bdc551..cd60c3a41 100644
--- a/src/kitemviews/kitemlistcontroller.cpp
+++ b/src/kitemviews/kitemlistcontroller.cpp
@@ -64,7 +64,7 @@ KItemListController::KItemListController(KItemModelBase *model, KItemListView *v
m_autoActivationTimer = new QTimer(this);
m_autoActivationTimer->setSingleShot(true);
- m_autoActivationTimer->setInterval(-1);
+ m_autoActivationTimer->setInterval(750);
connect(m_autoActivationTimer, &QTimer::timeout, this, &KItemListController::slotAutoActivationTimeout);
setModel(model);
@@ -200,14 +200,14 @@ int KItemListController::indexCloseToMousePressedPosition() const
return -1;
}
-void KItemListController::setAutoActivationDelay(int delay)
+void KItemListController::setAutoActivationEnabled(bool enabled)
{
- m_autoActivationTimer->setInterval(delay);
+ m_autoActivationEnabled = enabled;
}
-int KItemListController::autoActivationDelay() const
+bool KItemListController::isAutoActivationEnabled() const
{
- return m_autoActivationTimer->interval();
+ return m_autoActivationEnabled;
}
void KItemListController::setSingleClickActivationEnforced(bool singleClick)
@@ -857,7 +857,7 @@ bool KItemListController::dragMoveEvent(QGraphicsSceneDragDropEvent *event, cons
Q_EMIT itemHovered(index);
}
- if (!m_autoActivationTimer->isActive() && m_autoActivationTimer->interval() >= 0 && m_model->canEnterOnHover(index)) {
+ if (m_autoActivationEnabled && !m_autoActivationTimer->isActive() && m_model->canEnterOnHover(index)) {
m_autoActivationTimer->setProperty("index", index);
m_autoActivationTimer->start();
newHoveredWidget->startActivateSoonAnimation(m_autoActivationTimer->remainingTime());
diff --git a/src/kitemviews/kitemlistcontroller.h b/src/kitemviews/kitemlistcontroller.h
index fcb971fb7..48da07206 100644
--- a/src/kitemviews/kitemlistcontroller.h
+++ b/src/kitemviews/kitemlistcontroller.h
@@ -88,23 +88,8 @@ public:
int indexCloseToMousePressedPosition() const;
- /**
- * Sets the delay in milliseconds when dragging an object above an item
- * until the item gets activated automatically. A value of -1 indicates
- * that no automatic activation will be done at all (= default value).
- *
- * The hovered item must support dropping (see KItemModelBase::supportsDropping()),
- * otherwise the automatic activation is not available.
- *
- * After activating the item the signal itemActivated() will be
- * emitted. If the view supports the expanding of items
- * (KItemListView::supportsItemExpanding() returns true) and the item
- * itself is expandable (see KItemModelBase::isExpandable()) then instead
- * of activating the item it gets expanded instead (see
- * KItemModelBase::setExpanded()).
- */
- void setAutoActivationDelay(int delay);
- int autoActivationDelay() const;
+ void setAutoActivationEnabled(bool enabled);
+ bool isAutoActivationEnabled() const;
/**
* If set to true, the signals itemActivated() and itemsActivated() are emitted
@@ -362,6 +347,7 @@ private:
std::optional<int> m_pressedIndex;
QPointF m_pressedMouseGlobalPos;
+ bool m_autoActivationEnabled = false;
QTimer *m_autoActivationTimer;
Qt::GestureType m_swipeGesture;
diff --git a/src/panels/folders/folderspanel.cpp b/src/panels/folders/folderspanel.cpp
index 19b573080..e375f2ce5 100644
--- a/src/panels/folders/folderspanel.cpp
+++ b/src/panels/folders/folderspanel.cpp
@@ -151,7 +151,6 @@ void FoldersPanel::showEvent(QShowEvent *event)
m_controller->setSelectionBehavior(KItemListController::SingleSelection);
m_controller->setAutoActivationBehavior(KItemListController::ExpansionOnly);
m_controller->setMouseDoubleClickAction(KItemListController::ActivateAndExpandItem);
- m_controller->setAutoActivationDelay(750);
m_controller->setSingleClickActivationEnforced(true);
connect(m_controller, &KItemListController::itemActivated, this, &FoldersPanel::slotItemActivated);
diff --git a/src/views/dolphinview.cpp b/src/views/dolphinview.cpp
index 933bfda07..bff6e7586 100644
--- a/src/views/dolphinview.cpp
+++ b/src/views/dolphinview.cpp
@@ -123,8 +123,7 @@ DolphinView::DolphinView(const QUrl &url, QWidget *parent)
applyModeToView();
KItemListController *controller = new KItemListController(m_model, m_view, this);
- const int delay = GeneralSettings::autoExpandFolders() ? 750 : -1;
- controller->setAutoActivationDelay(delay);
+ controller->setAutoActivationEnabled(GeneralSettings::autoExpandFolders());
connect(controller, &KItemListController::doubleClickViewBackground, this, &DolphinView::doubleClickViewBackground);
// The EnlargeSmallPreviews setting can only be changed after the model
@@ -578,8 +577,7 @@ void DolphinView::readSettings()
m_view->readSettings();
applyViewProperties();
- const int delay = GeneralSettings::autoExpandFolders() ? 750 : -1;
- m_container->controller()->setAutoActivationDelay(delay);
+ m_container->controller()->setAutoActivationEnabled(GeneralSettings::autoExpandFolders());
const int newZoomLevel = m_view->zoomLevel();
if (newZoomLevel != oldZoomLevel) {