summaryrefslogtreecommitdiffstats
path: root/shemovcleaner.cpp
diff options
context:
space:
mode:
authorArno <arno@disconnect.de>2016-09-04 17:06:53 +0200
committerArno <arno@disconnect.de>2016-09-04 17:06:53 +0200
commit51b8435880013f1d4533379811a9b89c1ea3173c (patch)
treeec5642e7b80766af184a9a839c5830ebb40659f7 /shemovcleaner.cpp
parentc930104f93104649ad4ae5b9e23e65a3fa2c058d (diff)
downloadShemovCleaner-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.cpp72
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(){