]> cloud.milkyroute.net Git - dolphin.git/blobdiff - src/panels/places/placespanel.cpp
Use nicer split icon
[dolphin.git] / src / panels / places / placespanel.cpp
index 8bdb18ba224681d1cece10e21f1dff5dd1004baa..cb3f3183b1a40cc485f8199466cf53657c0998f9 100644 (file)
@@ -42,20 +42,19 @@ PlacesPanel::PlacesPanel(QWidget *parent)
         slotTearDownRequested(index);
     });
 
-    m_configureTrashAction = new QAction(QIcon::fromTheme(QStringLiteral("configure")), i18nc("@action:inmenu", "Configure Trash…"));
-    m_configureTrashAction->setPriority(QAction::HighPriority);
-    connect(m_configureTrashAction, &QAction::triggered, this, &PlacesPanel::slotConfigureTrash);
-    addAction(m_configureTrashAction);
-
-    m_openInSplitView = new QAction(QIcon::fromTheme(QStringLiteral("view-right-new")), i18nc("@action:inmenu", "Open in Split View"));
+    m_openInSplitView = new QAction(QIcon::fromTheme(QStringLiteral("view-split-left-right")), i18nc("@action:inmenu", "Open in Split View"));
     m_openInSplitView->setPriority(QAction::HighPriority);
     connect(m_openInSplitView, &QAction::triggered, this, [this]() {
         const QUrl url = currentIndex().data(KFilePlacesModel::UrlRole).toUrl();
         Q_EMIT openInSplitViewRequested(url);
     });
-
     addAction(m_openInSplitView);
 
+    m_configureTrashAction = new QAction(QIcon::fromTheme(QStringLiteral("configure")), i18nc("@action:inmenu", "Configure Trash…"));
+    m_configureTrashAction->setPriority(QAction::HighPriority);
+    connect(m_configureTrashAction, &QAction::triggered, this, &PlacesPanel::slotConfigureTrash);
+    addAction(m_configureTrashAction);
+
     connect(this, &PlacesPanel::contextMenuAboutToShow, this, &PlacesPanel::slotContextMenuAboutToShow);
 
     connect(this, &PlacesPanel::iconSizeChanged, this, [](const QSize &newSize) {
@@ -157,9 +156,13 @@ void PlacesPanel::dragMoveEvent(QDragMoveEvent *event)
         // Reject drag ontop of a non-writable protocol
         // We don't know whether we're dropping inbetween or ontop of a place
         // so still allow internal drag events so that re-arranging still works.
-        const QUrl url = placesModel->url(index);
-        if (url.isValid() && !isInternalDrag(event->mimeData()) && !KProtocolManager::supportsWriting(url)) {
-            event->setDropAction(Qt::IgnoreAction);
+        if (!isInternalDrag(event->mimeData())) {
+            const QUrl url = placesModel->url(index);
+            if (!url.isValid() || !KProtocolManager::supportsWriting(url)) {
+                event->setDropAction(Qt::IgnoreAction);
+            } else {
+                DragAndDropHelper::updateDropAction(event, url);
+            }
         }
     }
 
@@ -254,7 +257,7 @@ void PlacesPanel::slotTearDownDone(const QModelIndex &index, Solid::ErrorType er
 void PlacesPanel::slotRowsInserted(const QModelIndex &parent, int first, int last)
 {
     for (int i = first; i <= last; ++i) {
-        connectDeviceSignals(model()->index(first, 0, parent));
+        connectDeviceSignals(model()->index(i, 0, parent));
     }
 }