X-Git-Url: https://cloud.milkyroute.net/gitweb/dolphin.git/blobdiff_plain/3bfdf0d2f043a5891649c4d817d367dd4718d888..32bd8efc7f08a30622deaa3a80b7b26ceaea9f29:/src/views/dolphinviewactionhandler.cpp diff --git a/src/views/dolphinviewactionhandler.cpp b/src/views/dolphinviewactionhandler.cpp index 447d46f53..2684816ef 100644 --- a/src/views/dolphinviewactionhandler.cpp +++ b/src/views/dolphinviewactionhandler.cpp @@ -49,7 +49,7 @@ DolphinViewActionHandler::DolphinViewActionHandler(KActionCollection* collection, QObject* parent) : QObject(parent), m_actionCollection(collection), - m_currentView(0), + m_currentView(nullptr), m_sortByActions(), m_visibleRoles() { @@ -62,7 +62,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,8 +109,19 @@ void DolphinViewActionHandler::createActions() KStandardAction::renameFile(this, &DolphinViewActionHandler::slotRename, m_actionCollection); - KStandardAction::moveToTrash(this, &DolphinViewActionHandler::slotTrashActivated, m_actionCollection); - KStandardAction::deleteFile(this, &DolphinViewActionHandler::slotDeleteItems, 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)) { + deleteShortcuts.append(Qt::SHIFT | Qt::Key_Delete); + m_actionCollection->setDefaultShortcuts(deleteAction, deleteShortcuts); + } // This action is useful for being enabled when KStandardAction::MoveToTrash should be // disabled and KStandardAction::DeleteFile is enabled (e.g. non-local files), so that Key_Del @@ -198,7 +209,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")); @@ -222,8 +233,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 @@ -238,7 +249,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); @@ -488,7 +499,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; @@ -499,7 +510,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; @@ -510,7 +521,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; @@ -579,7 +590,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();