From 39aca5e3ca582d27fb7df724c274afc67596406b Mon Sep 17 00:00:00 2001 From: David Robillard Date: Wed, 14 Nov 2012 03:54:34 +0000 Subject: 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 --- src/jalv_qt4.cpp | 19 +++++++++++++++---- 1 file changed, 15 insertions(+), 4 deletions(-) (limited to 'src/jalv_qt4.cpp') 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 -#include #include +#include +#include #include 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); -- cgit v1.2.1