diff options
author | Arno <am@disconnect.de> | 2010-12-21 19:12:40 +0100 |
---|---|---|
committer | Arno <am@disconnect.de> | 2010-12-21 19:12:40 +0100 |
commit | f3d62ad86a1def4d11d132af7366874f43a438b9 (patch) | |
tree | fd46290dfc6da30be98b9bfe7d4566a7f4785312 /shemov.cpp | |
parent | 8abf0a7882dbd1c80e24e5d01b79cd1cf60925e2 (diff) | |
download | SheMov-f3d62ad86a1def4d11d132af7366874f43a438b9.tar.gz SheMov-f3d62ad86a1def4d11d132af7366874f43a438b9.tar.bz2 SheMov-f3d62ad86a1def4d11d132af7366874f43a438b9.zip |
Fix copy, cut and paste files
Make this options in the context and edit menu of FilesystemWidget
behave a lot more as expected. Copy and cut just copies the file names
to the clipboard, and paste paste moves them if they were cut and copies
them when the action was copy.
Still need to fix the colors when something is marked somehow. Should be
configurable :)
Diffstat (limited to 'shemov.cpp')
-rw-r--r-- | shemov.cpp | 37 |
1 files changed, 26 insertions, 11 deletions
@@ -332,12 +332,19 @@ void SheMov::createActions(){ mDeleteFilesA = new QAction(tr("Delete selected..."), this); mDeleteFilesA->setShortcut(tr("CTRL+d")); connect(mDeleteFilesA, SIGNAL(triggered()), mFSWidget, SLOT(deleteFiles())); - mCopyA = new QAction(tr("Copy file(s)..."), this); - mCopyA->setShortcut(tr("CTRL+v")); - connect(mCopyA, SIGNAL(triggered()), mFSWidget, SLOT(copyFiles())); - mMoveA = new QAction(tr("Move file(s)..."), this); - mMoveA->setShortcut(tr("CTRL+m")); - connect(mMoveA, SIGNAL(triggered()), mFSWidget, SLOT(moveFiles())); + QSignalMapper *copyCutMapper = new QSignalMapper(this); + mCopyA = new QAction(tr("Copy"), this); + mCopyA->setShortcut(tr("CTRL+c")); + copyCutMapper->setMapping(mCopyA, FilesystemWidget::Copy); + connect(mCopyA, SIGNAL(triggered()), copyCutMapper, SLOT(map())); + mCutA = new QAction(tr("Cut"), this); + mCutA->setShortcut(tr("CTRL+x")); + copyCutMapper->setMapping(mCutA, FilesystemWidget::Cut); + connect(mCutA, SIGNAL(triggered()), copyCutMapper, SLOT(map())); + connect(copyCutMapper, SIGNAL(mapped(int)), mFSWidget, SLOT(toClipboard(int))); + mPasteA = new QAction(tr("Paste"), this); + mPasteA->setShortcut(tr("Ctrl+v")); + connect(mPasteA, SIGNAL(triggered()), mFSWidget, SLOT(fromClipboard())); mRenameA = new QAction(tr("Rename..."), this); mRenameA->setShortcut(tr("CTRL+r")); connect(mRenameA, SIGNAL(triggered()), mFSWidget, SLOT(renameFile())); @@ -380,7 +387,6 @@ void SheMov::createActions(){ mRenameMapper->setMapping(mRenameCoverBA, tr("back")); mRenameCoverBA->setData("RenameMenu"); mRenameCoverCA = new QAction(tr("Rename to cover"), this); - mRenameCoverCA->setShortcut(tr("CTRL+c")); connect(mRenameCoverCA, SIGNAL(triggered()), mRenameMapper, SLOT(map())); mRenameMapper->setMapping(mRenameCoverCA, tr("cover")); mRenameCoverCA->setData("RenameMenu"); @@ -549,17 +555,22 @@ void SheMov::createMenus(){ mEditFSMenu->addAction(mDeleteFilesA); mEditFSMenu->addSeparator(); mEditFSMenu->addAction(mCopyA); - mEditFSMenu->addAction(mMoveA); + mEditFSMenu->addAction(mCutA); + mEditFSMenu->addAction(mPasteA); mEditFSMenu->addAction(mRenameA); mRenameMenu = new QMenu(tr("&Rename..."), this); mRenameMenu->addAction(mTemplateA); mRenameMenu->addAction(mRenameCoverFA); mRenameMenu->addAction(mRenameCoverBA); mRenameMenu->addAction(mRenameCoverCA); - mRenameMenuA = new QAction(tr("&Rename"), this); + mRenameMenuA = new QAction(tr("&Rename to"), this); mRenameMenuA->setMenu(mRenameMenu); mEditFSMenu->addAction(mRenameMenuA); mEditFSMenu->addSeparator(); + mEditFSMenu->addAction(mCopyA); + mEditFSMenu->addAction(mCutA); + mEditFSMenu->addAction(mPasteA); + mEditFSMenu->addSeparator(); mEditFSMenu->addAction(mMountDvdA); mEditFSMenu->addSeparator(); mEditFSMenu->addAction(mMarkA); @@ -636,9 +647,13 @@ void SheMov::createMenus(){ mFSWidget->fileView()->addAction(mCreateFolderA); mFSWidget->fileView()->addAction(mDeleteFilesA); mFSWidget->fileView()->addAction(mRenameA); - mFSWidget->fileView()->addAction(mCopyA); - mFSWidget->fileView()->addAction(mMoveA); mFSWidget->fileView()->addAction(mRenameMenuA); + QAction *sep16 = new QAction(this); + sep16->setSeparator(true); + mFSWidget->fileView()->addAction(sep16); + mFSWidget->fileView()->addAction(mCopyA); + mFSWidget->fileView()->addAction(mCutA); + mFSWidget->fileView()->addAction(mPasteA); QAction *sep10 = new QAction(this); sep10->setSeparator(true); mFSWidget->fileView()->addAction(sep10); |