┌   ┐
54
└   ┘

summaryrefslogtreecommitdiff
path: root/src/views/dolphinviewactionhandler.cpp
diff options
context:
space:
mode:
authorNathaniel Graham <[email protected]>2019-12-20 10:07:25 -0700
committerNate Graham <[email protected]>2020-03-15 13:13:08 -0600
commit405dd624fb6b708eea8ec82ef913fe820c51c654 (patch)
tree23bd0e9b0f437261d0e4f71370b8b8f86b9a893a /src/views/dolphinviewactionhandler.cpp
parent8e97c4981ceee5dacd1e2d63f7ca95f95b574b9b (diff)
Add Duplicate feature
Summary: Adds a Duplicate feature to Dolphin, showing up as a menu item in the File menu that appears when one or more items are selected and the directory is writable. Duplicated items receive the names of the original files with " copy" appended before the file extension, if any. Test Plan: {F5201386} {F5201393} Test cases: - Try to duplicate when nothing is selected: **PASS**: menu item is grayed out - Try to duplicate anything on a read-only local volume: **PASS**: menu item is grayed out - Try to duplicate anything on a read-only samba share: **PASS**: menu item is grayed out - Duplicate single local file on R/W volume: **PASS**: item is duplicated and named correctly - Duplicate multiple local files on R/W volume: **PASS**: 3 items are duplicated, named correctly, and selected - Duplicate single local directory on R/W volume: **PASS**: item is duplicated and named correctly, but a rename operation is not initiated - Duplicate multiple local directories on R/W volume: **PASS**: 3 items are duplicated, named correctly, and selected - Duplicate single file on R/W samba share: **PASS**: item is duplicated and correctly - Duplicate multiple files on R/W samba share: **PASS**: 3 items are duplicated, named correctly, and selected - Duplicate single directory on R/W samba share: **PASS**: item is duplicated and named correctly - Duplicate multiple directory on R/W samba share: **PASS**: 3 items are duplicated, named correctly, and selected - Try to undo a successful duplication: **PASS**: operation is undone This is my first attempt at a big change like this and I'm sure it's full of issues. I will accept any and all suggestions for improvement. :) Reviewers: #dolphin, #kde_applications, elvisangelaccio, dfaure, broulik, davidedmundson Subscribers: kfm-devel, meven, markg, fazevedo, cfeck, #dolphin Tags: #dolphin Differential Revision: https://phabricator.kde.org/D8208
Diffstat (limited to 'src/views/dolphinviewactionhandler.cpp')
-rw-r--r--src/views/dolphinviewactionhandler.cpp13
1 files changed, 13 insertions, 0 deletions
diff --git a/src/views/dolphinviewactionhandler.cpp b/src/views/dolphinviewactionhandler.cpp
index ef9f317ee..c61e1aaa9 100644
--- a/src/views/dolphinviewactionhandler.cpp
+++ b/src/views/dolphinviewactionhandler.cpp
@@ -136,6 +136,13 @@ void DolphinViewActionHandler::createActions()
deleteWithTrashShortcut->setEnabled(false);
connect(deleteWithTrashShortcut, &QAction::triggered, this, &DolphinViewActionHandler::slotDeleteItems);
+ QAction* duplicateAction = m_actionCollection->addAction(QStringLiteral("duplicate"));
+ duplicateAction->setText(i18nc("@action:inmenu File", "Duplicate Here"));
+ duplicateAction->setIcon(QIcon::fromTheme(QStringLiteral("edit-duplicate")));
+ m_actionCollection->setDefaultShortcut(duplicateAction, Qt::CTRL | Qt::Key_D);
+ duplicateAction->setEnabled(false);
+ connect(duplicateAction, &QAction::triggered, this, &DolphinViewActionHandler::slotDuplicate);
+
QAction *propertiesAction = m_actionCollection->addAction( QStringLiteral("properties") );
// Well, it's the File menu in dolphinmainwindow and the Edit menu in dolphinpart... :)
propertiesAction->setText( i18nc("@action:inmenu File", "Properties") );
@@ -680,6 +687,12 @@ void DolphinViewActionHandler::slotAdjustViewProperties()
delete dialog;
}
+void DolphinViewActionHandler::slotDuplicate()
+{
+ emit actionBeingHandled();
+ m_currentView->duplicateSelectedItems();
+}
+
void DolphinViewActionHandler::slotProperties()
{
KPropertiesDialog* dialog = nullptr;