summaryrefslogtreecommitdiffstats
path: root/shemov.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'shemov.cpp')
-rw-r--r--shemov.cpp34
1 files changed, 24 insertions, 10 deletions
diff --git a/shemov.cpp b/shemov.cpp
index 8019445..0d6c12c 100644
--- a/shemov.cpp
+++ b/shemov.cpp
@@ -161,6 +161,7 @@ void SheMov::configure(){
void SheMov::tabChanged(int newTab){
mEditFSMenuA->setVisible(newTab == 0);
+ mEditAVMenuA->setVisible(newTab == 1);
if(newTab == 0){
setWindowTitle(mFSWidget->windowTitle());
mCdupA->setEnabled(true);
@@ -353,6 +354,20 @@ void SheMov::createActions(){
mConfigA = new QAction(QIcon(":/chastity_belt.png"), tr("Configure..."), this);
connect(mConfigA, SIGNAL(triggered()), this, SLOT(configure()));
+ //Edit menu (AV)
+ QSignalMapper *editMapper = new QSignalMapper(this);
+ FilesTreeModel *filesModel = qobject_cast<FilesTreeModel*>(SmGlobals::instance()->model("FilesModel"));
+ const QHash<QString, int> editableColumns = filesModel->editableColumns();
+ mEditGroup = new QActionGroup(this);
+ for(QHash<QString, int>::const_iterator it = editableColumns.constBegin(); it != editableColumns.constEnd(); ++it){
+ QAction *a = new QAction(it.key(), this);
+ connect(a, SIGNAL(triggered()), editMapper, SLOT(map()));
+ a->setData(it.key());
+ mEditGroup->addAction(a);
+ editMapper->setMapping(a, it.value());
+ }
+ connect(editMapper, SIGNAL(mapped(int)), mATree->filesWidget(), SLOT(edit(int)));
+
//Edit menu rename submenu
mTemplateA = new QAction(tr("Set as template"), this);
mTemplateA->setShortcut(tr("CTRL+t"));
@@ -426,7 +441,6 @@ void SheMov::createActions(){
connect(mShowNoCoverDialogA, SIGNAL(triggered()), mATree, SLOT(showNoCoverDialog()));
//Tree view headers
- FilesTreeModel *filesModel = static_cast<FilesTreeModel*>(SmGlobals::instance()->model("FilesModel"));
QHash<QString, int> headerData = filesModel->headerData();
QSignalMapper *headerMapper = new QSignalMapper(this);
mFilesTreeHeadersGroup = new QActionGroup(this);
@@ -446,12 +460,6 @@ void SheMov::createActions(){
connect(mMoveToBurnA, SIGNAL(triggered()), mATree->filesWidget(), SLOT(moveToBurn()));
mMoveFilesA = new QAction(tr("Move to directory..."), this);
connect(mMoveFilesA, SIGNAL(triggered()), mATree->filesWidget(), SLOT(moveToDirectory()));
- mSetDvdNoA = new QAction(tr("Set dvd number"), this);
- connect(mSetDvdNoA, SIGNAL(triggered()), mATree->filesWidget(), SLOT(setDvdNo()));
- mSetQualityA = new QAction(tr("Set quality"), this);
- connect(mSetQualityA, SIGNAL(triggered()), mATree->filesWidget(), SLOT(editQuality()));
- mSetPartNoA = new QAction(tr("Set Part no"), this);
- connect(mSetPartNoA, SIGNAL(triggered()), mATree->filesWidget(), SLOT(editPart()));
mDeleteFilesFromTreeA = new QAction(tr("Delete file(s)..."), this);
connect(mDeleteFilesFromTreeA, SIGNAL(triggered()), mATree->filesWidget(), SLOT(removeFiles()));
mFilePropertiesA = new QAction(tr("Properties..."), this);
@@ -546,6 +554,14 @@ void SheMov::createMenus(){
}
mTreeViewMenu->addMenu(mTreeHeaderMenu);
+ //TreeView edit menu
+ mEditAVMenu = new QMenu(tr("Edit"), this);
+ foreach(QAction *a, mEditGroup->actions()){
+ mEditAVMenu->addAction(a);
+ }
+ mEditAVMenuA = menuBar()->addMenu(mEditAVMenu);
+
+
QMenu *helpMenu = new QMenu(tr("&Help"), this);
helpMenu->addAction(mAboutShemovA);
helpMenu->addAction(mAboutQtA);
@@ -618,9 +634,7 @@ void SheMov::createMenus(){
QAction *sep7 = new QAction(this);
sep7->setSeparator(true);
mATree->filesWidget()->filesTree()->addAction(sep7);
- mATree->filesWidget()->filesTree()->addAction(mSetDvdNoA);
- mATree->filesWidget()->filesTree()->addAction(mSetQualityA);
- mATree->filesWidget()->filesTree()->addAction(mSetPartNoA);
+ mATree->filesWidget()->filesTree()->addActions(mEditGroup->actions());
QAction *sep8 = new QAction(this);
sep8->setSeparator(true);
mATree->filesWidget()->filesTree()->addAction(sep8);