X-Git-Url: https://cloud.milkyroute.net/gitweb/dolphin.git/blobdiff_plain/f9bbbd82f43c40971f20a463ad63706ef6f91170..e133c4557ecc37ed3f7e1b9:/src/views/dolphinviewactionhandler.cpp diff --git a/src/views/dolphinviewactionhandler.cpp b/src/views/dolphinviewactionhandler.cpp index d0b9e7dc1..95c140cc5 100644 --- a/src/views/dolphinviewactionhandler.cpp +++ b/src/views/dolphinviewactionhandler.cpp @@ -20,36 +20,28 @@ #include "dolphinviewactionhandler.h" -#include - +#include "dolphindebug.h" +#include "kitemviews/kfileitemmodel.h" #include "settings/viewpropertiesdialog.h" -#include "views/dolphinview.h" #include "views/zoomlevelinfo.h" -#include -#include - +#ifdef HAVE_BALOO +#include +#endif #include #include -#include #include #include -#include -#include #include #include -#include -#include "dolphindebug.h" - -#ifdef HAVE_BALOO - #include -#endif +#include +#include DolphinViewActionHandler::DolphinViewActionHandler(KActionCollection* collection, QObject* parent) : QObject(parent), m_actionCollection(collection), - m_currentView(0), + m_currentView(nullptr), m_sortByActions(), m_visibleRoles() { @@ -62,7 +54,7 @@ void DolphinViewActionHandler::setCurrentView(DolphinView* view) Q_ASSERT(view); if (m_currentView) { - disconnect(m_currentView, 0, this, 0); + disconnect(m_currentView, nullptr, this, nullptr); } m_currentView = view; @@ -109,7 +101,13 @@ void DolphinViewActionHandler::createActions() KStandardAction::renameFile(this, &DolphinViewActionHandler::slotRename, m_actionCollection); - KStandardAction::moveToTrash(this, &DolphinViewActionHandler::slotTrashActivated, m_actionCollection); + auto trashAction = KStandardAction::moveToTrash(this, &DolphinViewActionHandler::slotTrashActivated, m_actionCollection); + auto trashShortcuts = trashAction->shortcuts(); + if (!trashShortcuts.contains(QKeySequence::Delete)) { + trashShortcuts.append(QKeySequence::Delete); + m_actionCollection->setDefaultShortcuts(trashAction, trashShortcuts); + } + auto deleteAction = KStandardAction::deleteFile(this, &DolphinViewActionHandler::slotDeleteItems, m_actionCollection); auto deleteShortcuts = deleteAction->shortcuts(); if (!deleteShortcuts.contains(Qt::SHIFT | Qt::Key_Delete)) { @@ -124,7 +122,7 @@ void DolphinViewActionHandler::createActions() QAction* deleteWithTrashShortcut = m_actionCollection->addAction(QStringLiteral("delete_shortcut")); // The descriptive text is just for the shortcuts editor. deleteWithTrashShortcut->setText(i18nc("@action \"Move to Trash\" for non-local files, etc.", "Delete (using shortcut for Trash)")); - m_actionCollection->setDefaultShortcut(deleteWithTrashShortcut, QKeySequence::Delete); + m_actionCollection->setDefaultShortcuts(deleteWithTrashShortcut, KStandardShortcut::moveToTrash()); deleteWithTrashShortcut->setEnabled(false); connect(deleteWithTrashShortcut, &QAction::triggered, this, &DolphinViewActionHandler::slotDeleteItems); @@ -203,7 +201,7 @@ void DolphinViewActionHandler::createActions() KToggleAction* showHiddenFiles = m_actionCollection->add(QStringLiteral("show_hidden_files")); showHiddenFiles->setText(i18nc("@action:inmenu View", "Hidden Files")); showHiddenFiles->setToolTip(i18nc("@info", "Visibility of hidden files and folders")); - m_actionCollection->setDefaultShortcuts(showHiddenFiles, {Qt::ALT + Qt::Key_Period, Qt::Key_F8}); + m_actionCollection->setDefaultShortcuts(showHiddenFiles, {Qt::ALT + Qt::Key_Period, Qt::CTRL + Qt::Key_H, Qt::Key_F8}); connect(showHiddenFiles, &KToggleAction::triggered, this, &DolphinViewActionHandler::toggleShowHiddenFiles); QAction* adjustViewProps = m_actionCollection->addAction(QStringLiteral("view_properties")); @@ -227,8 +225,8 @@ QActionGroup* DolphinViewActionHandler::createFileItemRolesActionGroup(const QSt } QString groupName; - KActionMenu* groupMenu = 0; - QActionGroup* groupMenuGroup = 0; + KActionMenu* groupMenu = nullptr; + QActionGroup* groupMenuGroup = nullptr; bool indexingEnabled = false; #ifdef HAVE_BALOO @@ -243,7 +241,7 @@ QActionGroup* DolphinViewActionHandler::createFileItemRolesActionGroup(const QSt continue; } - KToggleAction* action = 0; + KToggleAction* action = nullptr; const QString name = groupPrefix + info.role; if (info.group.isEmpty()) { action = m_actionCollection->add(name); @@ -493,7 +491,7 @@ KToggleAction* DolphinViewActionHandler::iconsModeAction() KToggleAction* iconsView = m_actionCollection->add(QStringLiteral("icons")); iconsView->setText(i18nc("@action:inmenu View Mode", "Icons")); iconsView->setToolTip(i18nc("@info", "Icons view mode")); - m_actionCollection->setDefaultShortcut(iconsView, Qt::CTRL | Qt::Key_1); + m_actionCollection->setDefaultShortcut(iconsView, Qt::CTRL + Qt::Key_1); iconsView->setIcon(QIcon::fromTheme(QStringLiteral("view-list-icons"))); iconsView->setData(QVariant::fromValue(DolphinView::IconsView)); return iconsView; @@ -504,7 +502,7 @@ KToggleAction* DolphinViewActionHandler::compactModeAction() KToggleAction* iconsView = m_actionCollection->add(QStringLiteral("compact")); iconsView->setText(i18nc("@action:inmenu View Mode", "Compact")); iconsView->setToolTip(i18nc("@info", "Compact view mode")); - m_actionCollection->setDefaultShortcut(iconsView, Qt::CTRL | Qt::Key_2); + m_actionCollection->setDefaultShortcut(iconsView, Qt::CTRL + Qt::Key_2); iconsView->setIcon(QIcon::fromTheme(QStringLiteral("view-list-details"))); // TODO: discuss with Oxygen-team the wrong (?) name iconsView->setData(QVariant::fromValue(DolphinView::CompactView)); return iconsView; @@ -515,7 +513,7 @@ KToggleAction* DolphinViewActionHandler::detailsModeAction() KToggleAction* detailsView = m_actionCollection->add(QStringLiteral("details")); detailsView->setText(i18nc("@action:inmenu View Mode", "Details")); detailsView->setToolTip(i18nc("@info", "Details view mode")); - m_actionCollection->setDefaultShortcut(detailsView, Qt::CTRL | Qt::Key_3); + m_actionCollection->setDefaultShortcut(detailsView, Qt::CTRL + Qt::Key_3); detailsView->setIcon(QIcon::fromTheme(QStringLiteral("view-list-tree"))); detailsView->setData(QVariant::fromValue(DolphinView::DetailsView)); return detailsView; @@ -584,7 +582,7 @@ void DolphinViewActionHandler::slotAdjustViewProperties() void DolphinViewActionHandler::slotProperties() { - KPropertiesDialog* dialog = 0; + KPropertiesDialog* dialog = nullptr; const KFileItemList list = m_currentView->selectedItems(); if (list.isEmpty()) { const QUrl url = m_currentView->url();