X-Git-Url: https://cloud.milkyroute.net/gitweb/dolphin.git/blobdiff_plain/6551c000fc68134932cdc21f2cc7086b34bff30b..31ee4085c2b2c374158fb956ac376399ff375b5a:/src/dolphincontextmenu.cpp diff --git a/src/dolphincontextmenu.cpp b/src/dolphincontextmenu.cpp index 848ba7de0..286d304c5 100644 --- a/src/dolphincontextmenu.cpp +++ b/src/dolphincontextmenu.cpp @@ -22,7 +22,6 @@ #include "dolphinmainwindow.h" #include "dolphinnewfilemenu.h" -#include "settings/dolphinsettings.h" #include "dolphinviewcontainer.h" #include "dolphin_generalsettings.h" @@ -55,6 +54,7 @@ #include #include +#include "views/dolphinplacesmodel.h" #include "views/dolphinview.h" #include "views/viewmodecontroller.h" @@ -159,10 +159,10 @@ void DolphinContextMenu::slotKeyModifierPressed(Qt::Key key, bool pressed) void DolphinContextMenu::slotRemoveActionTriggered() { const KActionCollection* collection = m_mainWindow->actionCollection(); - if (m_shiftPressed) { - collection->action("delete")->trigger(); - } else { + if (moveToTrash()) { collection->action("move_to_trash")->trigger(); + } else { + collection->action("delete")->trigger(); } } @@ -194,9 +194,9 @@ void DolphinContextMenu::openTrashContextMenu() if (action == emptyTrashAction) { KonqOperations::emptyTrash(m_mainWindow); } else if (action == addToPlacesAction) { - const KUrl& url = m_mainWindow->activeViewContainer()->url(); + const KUrl url = m_mainWindow->activeViewContainer()->url(); if (url.isValid()) { - DolphinSettings::instance().placesModel()->addPlace(i18nc("@label", "Trash"), url); + DolphinPlacesModel::instance()->addPlace(i18nc("@label", "Trash"), url); } } } @@ -292,7 +292,7 @@ void DolphinContextMenu::openItemContextMenu() addVersionControlPluginActions(); // insert 'Copy To' and 'Move To' sub menus - if (DolphinSettings::instance().generalSettings()->showCopyMoveMenu()) { + if (GeneralSettings::showCopyMoveMenu()) { m_copyToMenu.setItems(m_selectedItems); m_copyToMenu.setReadOnly(!selectedItemsProperties().supportsWriting()); m_copyToMenu.addActionsTo(m_popup); @@ -307,8 +307,8 @@ void DolphinContextMenu::openItemContextMenu() if (activatedAction == addToPlacesAction) { const KUrl selectedUrl(m_fileInfo.url()); if (selectedUrl.isValid()) { - DolphinSettings::instance().placesModel()->addPlace(placesName(selectedUrl), - selectedUrl); + DolphinPlacesModel::instance()->addPlace(placesName(selectedUrl), + selectedUrl); } } else if (activatedAction == openParentInNewWindowAction) { m_command = OpenParentFolderInNewWindow; @@ -368,7 +368,7 @@ void DolphinContextMenu::openViewportContextMenu() if (addToPlacesAction && (action == addToPlacesAction)) { const KUrl url = m_mainWindow->activeViewContainer()->url(); if (url.isValid()) { - DolphinSettings::instance().placesModel()->addPlace(placesName(url), url); + DolphinPlacesModel::instance()->addPlace(placesName(url), url); } } } @@ -419,7 +419,7 @@ QString DolphinContextMenu::placesName(const KUrl& url) const bool DolphinContextMenu::placeExists(const KUrl& url) const { - const KFilePlacesModel* placesModel = DolphinSettings::instance().placesModel(); + const KFilePlacesModel* placesModel = DolphinPlacesModel::instance(); const int count = placesModel->rowCount(); for (int i = 0; i < count; ++i) { @@ -449,7 +449,7 @@ QAction* DolphinContextMenu::createPasteAction() return action; } -KFileItemListProperties& DolphinContextMenu::selectedItemsProperties() +KFileItemListProperties& DolphinContextMenu::selectedItemsProperties() const { if (!m_selectedItemsProperties) { m_selectedItemsProperties = new KFileItemListProperties(m_selectedItems); @@ -541,13 +541,12 @@ void DolphinContextMenu::addCustomActions() void DolphinContextMenu::updateRemoveAction() { const KActionCollection* collection = m_mainWindow->actionCollection(); - const bool moveToTrash = selectedItemsProperties().isLocal() && !m_shiftPressed; // Using m_removeAction->setText(action->text()) does not apply the &-shortcut. // This is only done until the original action has been shown at least once. To // bypass this issue, the text and &-shortcut is applied manually. const QAction* action = 0; - if (moveToTrash) { + if (moveToTrash()) { action = collection->action("move_to_trash"); m_removeAction->setText(i18nc("@action:inmenu", "&Move to Trash")); } else { @@ -558,4 +557,9 @@ void DolphinContextMenu::updateRemoveAction() m_removeAction->setShortcuts(action->shortcuts()); } +bool DolphinContextMenu::moveToTrash() const +{ + return selectedItemsProperties().isLocal() && !m_shiftPressed; +} + #include "dolphincontextmenu.moc"