]> uap-core.de Git - note.git/commitdiff
fix window_notelist_setvisible main
authorOlaf Wintermann <olaf.wintermann@gmail.com>
Mon, 20 Oct 2025 19:03:25 +0000 (21:03 +0200)
committerOlaf Wintermann <olaf.wintermann@gmail.com>
Mon, 20 Oct 2025 19:03:25 +0000 (21:03 +0200)
application/window.c
ui/gtk/window.c
ui/ui/window.h

index 982246b3da0b91de97cf806cacff335350c01b8b..b68801b309b7efa623d0555a6869db27a22b3ca4 100644 (file)
@@ -141,8 +141,7 @@ MainWindow* window_init_data(UiObject *obj) {
 }
 
 void window_notelist_setvisible(MainWindow *window, UiBool visible) {
-    // TODO: re-activate, use new splitview window API
-    //ui_splitpane_set_visible(window->splitpane, 0, visible);
+    ui_splitview_window_set_visible(window->obj, 0, visible);
     window->notelist_isvisible = visible;
 }
 
index 44a3fe239621d573a661074ce8491bca5806e719..152b4e5b84c7583b91fdee122efb73d24d6cf045 100644 (file)
@@ -435,6 +435,26 @@ void ui_splitview_window_use_property(UiBool enable) {
     splitview_window_use_prop = enable;
 }
 
+UIEXPORT void ui_splitview_window_set_visible(UiObject *obj, int pane, UiBool visible) {
+    GtkWidget *panel = NULL;
+    if(pane == 0) {
+        panel = g_object_get_data(G_OBJECT(obj->widget), "ui_left_panel");
+    } else if(pane == 1) {
+        panel = g_object_get_data(G_OBJECT(obj->widget), "ui_right_panel");
+    }
+    
+    if(panel == NULL) {
+        fprintf(stderr, "Error: obj is not a splitview window or invalid pane %d specified\n", pane);
+        return;
+    }
+    
+#ifdef UI_LIBADWAITA
+    gtk_widget_set_visible(gtk_widget_get_parent(panel), visible);
+#else
+    gtk_widget_set_visible(panel, visible);
+#endif
+}
+
 #ifdef UI_LIBADWAITA
 
 static void dialog_response(AdwAlertDialog *self, gchar *response, UiEventData *data) {
index bbb6f59f9d690999200f5e4cab070e42df919085..83e85a34dd3f65ec8b2d303f222134d7a4cd3b8b 100644 (file)
@@ -88,6 +88,7 @@ UIEXPORT void ui_splitview_window_set_pos(UiObject *obj, int pos);
 UIEXPORT int ui_splitview_window_get_pos(UiObject *obj);
 UIEXPORT void ui_splitview_window_set_default_pos(int pos);
 UIEXPORT void ui_splitview_window_use_property(UiBool enable);
+UIEXPORT void ui_splitview_window_set_visible(UiObject *obj, int pane, UiBool visible);
 
 #define ui_dialog(parent, ...) ui_dialog_create(parent, &(UiDialogArgs){ __VA_ARGS__ } )