]> cloud.milkyroute.net Git - dolphin.git/commitdiff
[Places Panel] Make use of KFilePlacesView::dragAutoActivationDelay
authorKai Uwe Broulik <kde@privat.broulik.de>
Thu, 3 Feb 2022 20:37:30 +0000 (21:37 +0100)
committerKai Uwe Broulik <kde@privat.broulik.de>
Mon, 7 Feb 2022 07:29:35 +0000 (07:29 +0000)
Code moved to KIO

src/panels/places/placespanel.cpp
src/panels/places/placespanel.h

index 5b2f040d1896acb15e9526a05563d3a1fe1259a4..81056fb9cca863bc55067b3b9a780f46aede9068 100644 (file)
@@ -95,17 +95,9 @@ void PlacesPanel::proceedWithTearDown()
 void PlacesPanel::readSettings()
 {
     if (GeneralSettings::autoExpandFolders()) {
-        if (!m_dragActivationTimer) {
-            m_dragActivationTimer = new QTimer(this);
-            m_dragActivationTimer->setInterval(750);
-            m_dragActivationTimer->setSingleShot(true);
-            connect(m_dragActivationTimer, &QTimer::timeout,
-                    this, &PlacesPanel::slotDragActivationTimeout);
-        }
+        setDragAutoActivationDelay(750);
     } else {
-        delete m_dragActivationTimer;
-        m_dragActivationTimer = nullptr;
-        m_pendingDragActivation = QPersistentModelIndex();
+        setDragAutoActivationDelay(0);
     }
 
     const int iconSize = qMax(0, PlacesPanelSettings::iconSize());
@@ -135,46 +127,6 @@ void PlacesPanel::showEvent(QShowEvent* event)
     KFilePlacesView::showEvent(event);
 }
 
-void PlacesPanel::dragMoveEvent(QDragMoveEvent *event)
-{
-    KFilePlacesView::dragMoveEvent(event);
-
-    if (!m_dragActivationTimer) {
-        return;
-    }
-
-    const QModelIndex index = indexAt(event->pos());
-    if (!index.isValid()) {
-        return;
-    }
-
-    QPersistentModelIndex persistentIndex(index);
-    if (!m_pendingDragActivation.isValid() || m_pendingDragActivation != persistentIndex) {
-        m_pendingDragActivation = persistentIndex;
-        m_dragActivationTimer->start();
-    }
-}
-
-void PlacesPanel::dragLeaveEvent(QDragLeaveEvent *event)
-{
-    KFilePlacesView::dragLeaveEvent(event);
-
-    if (m_dragActivationTimer) {
-        m_dragActivationTimer->stop();
-        m_pendingDragActivation = QPersistentModelIndex();
-    }
-}
-
-void PlacesPanel::dropEvent(QDropEvent *event)
-{
-    KFilePlacesView::dropEvent(event);
-
-    if (m_dragActivationTimer) {
-        m_dragActivationTimer->stop();
-        m_pendingDragActivation = QPersistentModelIndex();
-    }
-}
-
 void PlacesPanel::slotConfigureTrash()
 {
     const QUrl url = currentIndex().data(KFilePlacesModel::UrlRole).toUrl();
@@ -185,16 +137,6 @@ void PlacesPanel::slotConfigureTrash()
     settingsDialog->show();
 }
 
-void PlacesPanel::slotDragActivationTimeout()
-{
-    if (!m_pendingDragActivation.isValid()) {
-        return;
-    }
-
-    auto *placesModel = static_cast<KFilePlacesModel *>(model());
-    Q_EMIT placeActivated(KFilePlacesModel::convertedUrl(placesModel->url(m_pendingDragActivation)));
-}
-
 void PlacesPanel::slotUrlsDropped(const QUrl& dest, QDropEvent* event, QWidget* parent)
 {
     KIO::DropJob *job = DragAndDropHelper::dropUrls(dest, event, parent);
index 570fc43be110bc265d9d775780d1eae71ca34a9b..97be1f735016ccd05bd1523e01b941ab4caf8601 100644 (file)
@@ -54,13 +54,9 @@ Q_SIGNALS:
 
 protected:
     void showEvent(QShowEvent* event) override;
-    void dragMoveEvent(QDragMoveEvent *event) override;
-    void dragLeaveEvent(QDragLeaveEvent *event) override;
-    void dropEvent(QDropEvent *event) override;
 
 private Q_SLOTS:
     void slotConfigureTrash();
-    void slotDragActivationTimeout();
     void slotUrlsDropped(const QUrl& dest, QDropEvent* event, QWidget* parent);
     void slotContextMenuAboutToShow(const QModelIndex &index, QMenu *menu);
     void slotTearDownRequested(const QModelIndex &index);
@@ -75,9 +71,6 @@ private:
     QUrl m_url; // only used for initial setUrl
     QList<QAction*> m_customContextMenuActions;
 
-    QTimer *m_dragActivationTimer = nullptr;
-    QPersistentModelIndex m_pendingDragActivation;
-
     Solid::StorageAccess *m_deviceToTearDown = nullptr;
 
     QAction *m_configureTrashAction;