diff options
author | Arno <arno@disconnect.de> | 2016-09-04 17:06:53 +0200 |
---|---|---|
committer | Arno <arno@disconnect.de> | 2016-09-04 17:06:53 +0200 |
commit | 51b8435880013f1d4533379811a9b89c1ea3173c (patch) | |
tree | ec5642e7b80766af184a9a839c5830ebb40659f7 /shemovcleaner.cpp | |
parent | c930104f93104649ad4ae5b9e23e65a3fa2c058d (diff) | |
download | ShemovCleaner-51b8435880013f1d4533379811a9b89c1ea3173c.tar.gz ShemovCleaner-51b8435880013f1d4533379811a9b89c1ea3173c.tar.bz2 ShemovCleaner-51b8435880013f1d4533379811a9b89c1ea3173c.zip |
Make QActions local to FileWidget
Introduce Globals singleton for global actions.
Diffstat (limited to 'shemovcleaner.cpp')
-rw-r--r-- | shemovcleaner.cpp | 72 |
1 files changed, 21 insertions, 51 deletions
diff --git a/shemovcleaner.cpp b/shemovcleaner.cpp index dc45fc6..a0f7f4a 100644 --- a/shemovcleaner.cpp +++ b/shemovcleaner.cpp @@ -19,6 +19,7 @@ #include "filewidget.h" #include "torrentdisplay.h" #include "configurationwidget.h" +#include "globals.h" ShemovCleaner::ShemovCleaner(QWidget *parent, Qt::WindowFlags f) : QMainWindow(parent, f) { //general setup @@ -27,6 +28,7 @@ ShemovCleaner::ShemovCleaner(QWidget *parent, Qt::WindowFlags f) : QMainWindow(p setMinimumHeight(600); openDatabase(); createStatusBar(); + createGlobalActions(); mTorrentTab = new TorrentWidget; mTab = new QTabWidget; @@ -36,8 +38,8 @@ ShemovCleaner::ShemovCleaner(QWidget *parent, Qt::WindowFlags f) : QMainWindow(p mTab->addTab(mTorrentTab, tr("&Torrents")); mTab->addTab(mFileTab, tr("Fi&les")); setCentralWidget(mTab); - createActions(); + connect(mTorrentTab, SIGNAL(statusMessage(QString)), this, SLOT(statusBarMessage(QString))); connect(mTorrentTab, SIGNAL(selectionCountChanged(QString)), this, SLOT(setSelectionCount(QString))); connect(mFileTab, SIGNAL(statusMessage(QString)), this, SLOT(statusBarMessage(QString))); @@ -81,9 +83,12 @@ void ShemovCleaner::tabChanged(int idx){ } void ShemovCleaner::closeEvent(QCloseEvent *e){ - QSettings s; - s.setValue("geometry", saveGeometry()); - QMainWindow::closeEvent(e); + int retval = QMessageBox::question(this, tr("Exit"), tr("Really close?")); + if(retval == QMessageBox::Yes){ + QSettings s; + s.setValue("geometry", saveGeometry()); + QMainWindow::closeEvent(e); + } } void ShemovCleaner::createStatusBar(){ @@ -102,12 +107,19 @@ void ShemovCleaner::createStatusBar(){ statusBar()->addPermanentWidget(mDuration); } -void ShemovCleaner::createActions(){ - //Application +void ShemovCleaner::createGlobalActions(){ QAction *quitA = new QAction(tr("Quit"), this); + quitA->setShortcut(tr("CTRL+Q")); connect(quitA, SIGNAL(triggered()), qApp, SLOT(closeAllWindows())); + quitA->setData(Globals::QuitAction); + Globals::instance()->addAction(quitA); QAction *configA = new QAction(QIcon(":/chastity_belt.png"), tr("Configure..."), this); connect(configA, SIGNAL(triggered()), this, SLOT(configure())); + configA->setData(Globals::ConfigAction); + Globals::instance()->addAction(configA); +} + +void ShemovCleaner::createActions(){ //TorrentWidget mTorRefreshA = new QAction(QIcon(":/refresh.png"), tr("Refresh"), this); @@ -132,12 +144,12 @@ void ShemovCleaner::createActions(){ mTorrentTab->toolBar()->addSeparator(); mTorrentTab->toolBar()->addAction(mTorInfoA); mTorrentTab->toolBar()->addSeparator(); - mTorrentTab->toolBar()->addAction(configA); + //mTorrentTab->toolBar()->addAction(configA); QMenu *torFileM = new QMenu(tr("File")); torFileM->addAction(mTorDirA); torFileM->addAction(mTorRefreshA); torFileM->addSeparator(); - torFileM->addAction(quitA); + //torFileM->addAction(quitA); mTorrentTab->menuBar()->addMenu(torFileM); QMenu *torEditM = new QMenu(tr("Edit")); torEditM->addAction(mTorInfoA); @@ -148,7 +160,7 @@ void ShemovCleaner::createActions(){ torEditM->addAction(mTorMoveA); torEditM->addAction(mTorDeleteA); torEditM->addSeparator(); - torEditM->addAction(configA); + //torEditM->addAction(configA); torEditM->addSeparator(); torEditM->addAction(mTorInfoA); mTorrentTab->menuBar()->addMenu(torEditM); @@ -166,48 +178,6 @@ void ShemovCleaner::createActions(){ mTorCopyToClipA = new QAction(QIcon(":/edit-copy.png"), tr("Copy"), this); connect(mTorCopyToClipA, SIGNAL(triggered()), mTorrentTab->torrentDisplay(), SLOT(copyToClipboard())); mTorrentTab->torrentDisplay()->addAction(mTorCopyToClipA); - - //FileWidget - mFileDirA = new QAction(QIcon(":/folder.png"), tr("Select folder..."), this); - connect(mFileDirA, SIGNAL(triggered()), mFileTab, SLOT(selectDir())); - mFileRefreshA = new QAction(QIcon(":/refresh.png"), tr("Refresh"), this); - connect(mFileRefreshA, SIGNAL(triggered()), mFileTab, SLOT(gatherData())); - mFileUpA = new QAction(QIcon(":/up_dick.png"), tr("Up directory"), this); - connect(mFileUpA, SIGNAL(triggered()), mFileTab, SLOT(cdUp())); - mFileBackDirA = new QAction(QIcon(":/back_dick"), tr("Back"), this); - connect(mFileBackDirA, SIGNAL(triggered()), mFileTab, SLOT(cdLast())); - mFilePropertiesA = new QAction(QIcon(":/diaper.png"), tr("Properties..."), this); - connect(mFilePropertiesA, SIGNAL(triggered()), mFileTab, SLOT(properties())); - mFileDeleteA = new QAction(QIcon(":/delete.png"), tr("Delete..."), this); - connect(mFileDeleteA, SIGNAL(triggered()), mFileTab, SLOT(deleteFiles())); - - mFileTab->toolBar()->addAction(mFileRefreshA); - mFileTab->toolBar()->addAction(mFileDirA); - mFileTab->toolBar()->addAction(createSeparator()); - mFileTab->toolBar()->addAction(mFileUpA); - mFileTab->toolBar()->addAction(mFileBackDirA); - mFileTab->toolBar()->addAction(mFileDeleteA); - mFileTab->toolBar()->addAction(createSeparator()); - mFileTab->toolBar()->addAction(mFilePropertiesA); - mFileTab->toolBar()->addAction(createSeparator()); - mFileTab->toolBar()->addAction(configA); - - QMenu *fileFileM = new QMenu(tr("File")); - fileFileM->addAction(mFileDirA); - fileFileM->addAction(mFileRefreshA); - fileFileM->addSeparator(); - fileFileM->addAction(quitA); - mFileTab->menuBar()->addMenu(fileFileM); - QMenu *fileEditM = new QMenu(tr("Edit")); - fileEditM->addAction(mFileUpA); - fileEditM->addAction(mFileBackDirA); - fileEditM->addSeparator(); - fileEditM->addAction(mFileDeleteA); - fileEditM->addSeparator(); - fileEditM->addAction(configA); - fileEditM->addSeparator(); - fileEditM->addAction(mFilePropertiesA); - mFileTab->menuBar()->addMenu(fileEditM); } void ShemovCleaner::openDatabase(){ |