diff options
Diffstat (limited to 'shemov.cpp')
-rw-r--r-- | shemov.cpp | 34 |
1 files changed, 24 insertions, 10 deletions
@@ -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); |