ui/qt/window.cpp

changeset 688
a3a057c0a0b6
parent 627
3f0c9fe60c68
child 690
c1fc788d982d
--- a/ui/qt/window.cpp	Wed Jul 30 19:51:39 2025 +0200
+++ b/ui/qt/window.cpp	Fri Aug 08 21:19:36 2025 +0200
@@ -38,8 +38,9 @@
 #include <QVBoxLayout>
 #include <QFileDialog>
 #include <QPushButton>
+#include <QDockWidget>
 
-static UiObject* create_window(const char *title, void *window_data, bool simple) {
+static UiObject* create_window(const char *title, void *window_data, bool simple, bool sidebar = false) {
     UiObject *obj = uic_object_new_toplevel();
     obj->window = window_data;
     obj->next = NULL;
@@ -61,19 +62,28 @@
     boxWidget->setLayout(box);
     window->setCentralWidget(boxWidget);
     ui_container_add(obj, new UiBoxContainer(box));
+    if(sidebar) {
+        QDockWidget *dock = new QDockWidget();
+        window->addDockWidget(Qt::LeftDockWidgetArea, dock);
+        window->setProperty("ui_sidebar", QVariant::fromValue((void*)dock));
+    }
     
     obj->widget = window;
     return obj;
 }
 
 UiObject* ui_window(const char *title, void *window_data) {
-    return create_window(title, window_data, FALSE);
+    return create_window(title, window_data, false);
 }
 
 UiObject* ui_simplewindow(char *title, void *window_data) {
-    return create_window(title, window_data, TRUE);
+    return create_window(title, window_data, true);
 }
 
+ UiObject *ui_sidebar_window(const char *title, void *window_data) {
+     return create_window(title, window_data, false, true);
+ }
+
 
 char* ui_openfiledialog(UiObject *obj) {
     QString fileName = QFileDialog::getOpenFileName(obj->widget);

mercurial