X-Git-Url: https://cloud.milkyroute.net/gitweb/dolphin.git/blobdiff_plain/1826f905d706925456763394de17294bcb6d1c35..e2f316578909e4c886430110808d4681997b3cb7:/src/panels/places/placespanel.cpp diff --git a/src/panels/places/placespanel.cpp b/src/panels/places/placespanel.cpp index 8bdb18ba2..ba3451bd5 100644 --- a/src/panels/places/placespanel.cpp +++ b/src/panels/places/placespanel.cpp @@ -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->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); + } } }