aboutsummaryrefslogtreecommitdiffstats
path: root/src/jalv_qt4.cpp
diff options
context:
space:
mode:
authorDavid Robillard <d@drobilla.net>2012-11-14 03:54:34 +0000
committerDavid Robillard <d@drobilla.net>2012-11-14 03:54:34 +0000
commit39aca5e3ca582d27fb7df724c274afc67596406b (patch)
treec55f1c5080ab47dbf271f57e8ccf8d3d232da9e4 /src/jalv_qt4.cpp
parentd46af646556e0dbee6e99aa6a9e52ae36f4e227b (diff)
downloadjalv-39aca5e3ca582d27fb7df724c274afc67596406b.tar.gz
jalv-39aca5e3ca582d27fb7df724c274afc67596406b.tar.bz2
jalv-39aca5e3ca582d27fb7df724c274afc67596406b.zip
Add menu bar and pass parent widget in Qt version for true UI embedding
git-svn-id: http://svn.drobilla.net/lad/trunk/jalv@4812 a436a847-0d15-0410-975c-d299462d15a1
Diffstat (limited to 'src/jalv_qt4.cpp')
-rw-r--r--src/jalv_qt4.cpp19
1 files changed, 15 insertions, 4 deletions
diff --git a/src/jalv_qt4.cpp b/src/jalv_qt4.cpp
index c73bd9c..04bea72 100644
--- a/src/jalv_qt4.cpp
+++ b/src/jalv_qt4.cpp
@@ -17,8 +17,9 @@
#include "jalv_internal.h"
#include <QApplication>
-#include <QPushButton>
#include <QMainWindow>
+#include <QMenuBar>
+#include <QPushButton>
#include <QTimer>
static QApplication* app = NULL;
@@ -74,19 +75,29 @@ private:
int
jalv_open_ui(Jalv* jalv)
{
+ QMainWindow* win = new QMainWindow();
+ QMenu* file_menu = win->menuBar()->addMenu("&File");
+ QAction* quit_action = new QAction("&Quit", win);
+
+ QObject::connect(quit_action, SIGNAL(triggered()), win, SLOT(close()));
+ quit_action->setShortcuts(QKeySequence::Quit);
+ quit_action->setStatusTip("Quit Jalv");
+ file_menu->addAction(quit_action);
+
if (jalv->ui) {
- jalv_ui_instantiate(jalv, jalv_native_ui_type(jalv), NULL);
+ jalv_ui_instantiate(jalv, jalv_native_ui_type(jalv), win);
}
if (jalv->ui_instance) {
QWidget* widget = (QWidget*)suil_instance_get_widget(jalv->ui_instance);
- widget->show();
+ win->setCentralWidget(widget);
} else {
QPushButton* button = new QPushButton("Close");
- button->show();
+ win->setCentralWidget(button);
QObject::connect(button, SIGNAL(clicked()), app, SLOT(quit()));
}
app->connect(app, SIGNAL(lastWindowClosed()), app, SLOT(quit()));
+ win->show();
Timer* timer = new Timer(jalv);
timer->start(1000 / jalv->ui_update_hz);