summaryrefslogtreecommitdiffstats
path: root/beetplayer.cpp
diff options
context:
space:
mode:
authorArno <arno@disconnect.de>2017-02-19 10:36:55 +0100
committerArno <arno@disconnect.de>2017-02-19 10:36:55 +0100
commit803959759a66d01d44d9e07b38f4220a93e57a2c (patch)
tree61f6faa0365c48a0d56a1692229e58291082062e /beetplayer.cpp
parent71ff4a5edade412a2d1b191eaf3f7dcd61da3e13 (diff)
downloadBeetPlayer-803959759a66d01d44d9e07b38f4220a93e57a2c.tar.gz
BeetPlayer-803959759a66d01d44d9e07b38f4220a93e57a2c.tar.bz2
BeetPlayer-803959759a66d01d44d9e07b38f4220a93e57a2c.zip
Added Menus and Globals
Diffstat (limited to 'beetplayer.cpp')
-rw-r--r--beetplayer.cpp35
1 files changed, 35 insertions, 0 deletions
diff --git a/beetplayer.cpp b/beetplayer.cpp
index 4e4c532..5402b80 100644
--- a/beetplayer.cpp
+++ b/beetplayer.cpp
@@ -3,10 +3,13 @@
#include <QMessageBox>
#include <QApplication>
#include <QHBoxLayout>
+#include <QAction>
+#include <QMenuBar>
#include "beetplayer.h"
#include "configurationdialog.h"
#include "indexerwidget.h"
+#include "globals.h"
BeetPlayer::BeetPlayer(QWidget *parent, Qt::WindowFlags f) : QMainWindow(parent, f) {
//general setup
@@ -14,11 +17,17 @@ BeetPlayer::BeetPlayer(QWidget *parent, Qt::WindowFlags f) : QMainWindow(parent,
setMinimumWidth(1024);
setMinimumHeight(768);
openDatabase();
+ createGlobalActions();
//tabs
mTab = new QTabWidget;
IndexerWidget *indexer = new IndexerWidget;
mTab->addTab(indexer, tr("Indexer"));
+ connect(mTab, SIGNAL(currentChanged(int)), this, SLOT(tabChanged(int)));
+ menuBar()->clear();
+ foreach(QMenu* m, indexer->menus()){
+ menuBar()->addMenu(m);
+ }
//layout
QHBoxLayout *mainLayout = new QHBoxLayout;
@@ -26,6 +35,12 @@ BeetPlayer::BeetPlayer(QWidget *parent, Qt::WindowFlags f) : QMainWindow(parent,
setCentralWidget(mTab);
}
+void BeetPlayer::tabChanged(int tab){
+ if(tab == 0){ //replace with indexer
+ //do something;;
+ }
+}
+
void BeetPlayer::openDatabase(){
QSettings s;
QString dbhost = s.value("dbhost").toString();
@@ -49,3 +64,23 @@ void BeetPlayer::openDatabase(){
}
}
}
+
+void BeetPlayer::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 BeetPlayer::configure(){
+ ConfigurationDialog w(this);
+ int res = w.exec();
+ if(res == QDialog::Accepted){
+ openDatabase();
+ }
+}