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) {
// 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);
+ }
}
}
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));
}
}