From 4bbee5293fe4b963b420ebf8a624efb05deeedc6 Mon Sep 17 00:00:00 2001 From: Yohann Dedy Date: Sun, 17 Jul 2016 12:48:12 +0200 Subject: [PATCH] Added setting window as QMainWidow class --- DoepferPocketQT.pro | 6 ++++-- src/main.cpp | 2 ++ src/mainwindow.cpp | 5 ++++- src/mainwindow.h | 3 +++ src/settingswindow.cpp | 40 ++++++++++++++++++++++++++++++++++++++++ src/settingswindow.h | 31 +++++++++++++++++++++++++++++++ 6 files changed, 84 insertions(+), 3 deletions(-) create mode 100644 src/settingswindow.cpp create mode 100644 src/settingswindow.h diff --git a/DoepferPocketQT.pro b/DoepferPocketQT.pro index 4201f78..2e94f0f 100644 --- a/DoepferPocketQT.pro +++ b/DoepferPocketQT.pro @@ -8,9 +8,11 @@ TEMPLATE = app SOURCES += \ src/main.cpp \ - src/mainwindow.cpp + src/mainwindow.cpp \ + src/settingswindow.cpp include($$PWD/libs/QMidi/QMidi.pri) HEADERS += \ - src/mainwindow.h + src/mainwindow.h \ + src/settingswindow.h diff --git a/src/main.cpp b/src/main.cpp index adebf64..27415e6 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -6,5 +6,7 @@ int main(int argc, char *argv[]){ mainWindow w; w.show(); + + return app.exec(); } diff --git a/src/mainwindow.cpp b/src/mainwindow.cpp index 2ccac8c..4a9d269 100644 --- a/src/mainwindow.cpp +++ b/src/mainwindow.cpp @@ -6,6 +6,7 @@ mainWindow::mainWindow(QWidget *parent) : QMainWindow(parent), + _settingsWindow(new settingsWindow(this)), _presetsTable(new QTableWidget), _presetSettingsTable(new QTableWidget), _menuBar(new QMenuBar), @@ -16,7 +17,6 @@ mainWindow::mainWindow(QWidget *parent) : //_midiIn->openPort(NULL); //_midiOut->openPort(NULL); - // Layout QWidget *mainWidget = new QWidget(this); @@ -104,4 +104,7 @@ void mainWindow::onMidiMessageReceive(QMidiMessage *message) void mainWindow::openSettingsWindow(){ qDebug() << "Open settings window here" ; + _settingsWindow->setWindowModality(Qt::ApplicationModal); + _settingsWindow->show(); + } diff --git a/src/mainwindow.h b/src/mainwindow.h index 6f38392..7159c9d 100644 --- a/src/mainwindow.h +++ b/src/mainwindow.h @@ -8,6 +8,7 @@ #include #include +#include "settingswindow.h" #include "qmidimessage.h" #include "qmidiin.h" #include "qmidiout.h" @@ -29,6 +30,8 @@ class mainWindow : public QMainWindow Q_OBJECT public: mainWindow(QWidget *parent = 0); + + settingsWindow* _settingsWindow; QTableWidget* _presetsTable; QTableWidget* _presetSettingsTable; QMenuBar* _menuBar; diff --git a/src/settingswindow.cpp b/src/settingswindow.cpp new file mode 100644 index 0000000..70517c8 --- /dev/null +++ b/src/settingswindow.cpp @@ -0,0 +1,40 @@ +#include "settingswindow.h" +#include +#include +#include +#include +settingsWindow::settingsWindow(QWidget *parent) : + QMainWindow(parent), + _midiIn(new QMidiIn), + _midiOut(new QMidiOut), + _midiMessage(new QMidiMessage), + _inPortComboBox(new QComboBox(this)), + _outPortComboBox(new QComboBox(this)) +{ + this->setWindowTitle("Configuration"); + + QWidget *mainWidget = new QWidget(this); + QVBoxLayout *mainLayout = new QVBoxLayout(mainWidget); + + qDebug()<<"inputs"<<_midiIn->getPorts(); + qDebug()<<"outputs"<<_midiOut->getPorts(); + + _inPortComboBox->addItems(_midiIn->getPorts()); + _outPortComboBox->addItems(_midiOut->getPorts()); + + + QPushButton *bouton = new QPushButton(); + bouton->setText("OK"); + + mainLayout->addWidget(new QLabel("Midi IN")); + mainLayout->addWidget(_inPortComboBox); + mainLayout->addWidget(new QLabel("Midi OUT")); + mainLayout->addWidget(_outPortComboBox); + mainLayout->addWidget(bouton); + + mainWidget->setLayout(mainLayout); + setCentralWidget(mainWidget); + + + +} diff --git a/src/settingswindow.h b/src/settingswindow.h new file mode 100644 index 0000000..b01f251 --- /dev/null +++ b/src/settingswindow.h @@ -0,0 +1,31 @@ +#ifndef SETTINGSWINDOW_H +#define SETTINGSWINDOW_H + +#include +#include +#include + +#include "qmidimessage.h" +#include "qmidiin.h" +#include "qmidiout.h" + +class settingsWindow : public QMainWindow +{ + Q_OBJECT +public: + explicit settingsWindow(QWidget *parent = 0); + + QMidiMessage* _midiMessage; + + QComboBox *_inPortComboBox; + QComboBox *_outPortComboBox; +private: + QMidiIn *_midiIn; + QMidiOut *_midiOut; + +signals: + +public slots: +}; + +#endif // SETTINGSWINDOW_H