]> git.tdb.fi Git - ext/subsurface.git/commitdiff
Experimental hard-coded three-pane layout
authorLinus Torvalds <torvalds@linux-foundation.org>
Sat, 19 Nov 2011 20:54:58 +0000 (12:54 -0800)
committerLinus Torvalds <torvalds@linux-foundation.org>
Sat, 19 Nov 2011 20:54:58 +0000 (12:54 -0800)
I'm not happy with it, but it looks good and works better than the
alternatives I've looked at so far.

So why not happy? It's not configurable, and gtk really doesn't do a
great job with the case of notebook widgets that are shrunk to be
smaller than the contents (the cut-off gets ugly, and is outside the
notebook page!)

But committing as a way to keep track of this, and let Dirk use it.

Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
gtk-gui.c

index c78d7e6677feeadabf850c738f2450dfc5132884..f4212b41c01f8838914fda21b9224df408ce3e9a 100644 (file)
--- a/gtk-gui.c
+++ b/gtk-gui.c
@@ -749,6 +749,7 @@ void init_ui(int *argcp, char ***argvp)
        GtkWidget *stats;
        GtkWidget *menubar;
        GtkWidget *vbox;
+       GtkWidget *hpane, *vpane;
        GdkScreen *screen;
        GtkIconTheme *icon_theme=NULL;
        GtkSettings *settings;
@@ -845,9 +846,15 @@ void init_ui(int *argcp, char ***argvp)
        menubar = get_menubar_menu(win);
        gtk_box_pack_start(GTK_BOX(vbox), menubar, FALSE, FALSE, 0);
 
+       vpane = gtk_vpaned_new();
+       gtk_box_pack_start(GTK_BOX(vbox), vpane, TRUE, TRUE, 3);
+
+       hpane = gtk_hpaned_new();
+       gtk_paned_add1(GTK_PANED(vpane), hpane);
+
        /* Notebook for dive info vs profile vs .. */
        notebook = gtk_notebook_new();
-       gtk_box_pack_start(GTK_BOX(vbox), notebook, TRUE, TRUE, 6);
+       gtk_paned_add1(GTK_PANED(hpane), notebook);
        gtk_notebook_set_group(GTK_NOTEBOOK(notebook), GRP_ID);
        g_signal_connect(notebook, "create-window", G_CALLBACK(create_new_notebook_window), NULL);
        gtk_drag_dest_set(notebook, GTK_DEST_DEFAULT_ALL, &notebook_target, 1, GDK_ACTION_MOVE);
@@ -857,16 +864,12 @@ void init_ui(int *argcp, char ***argvp)
        /* Create the actual divelist */
        dive_list = dive_list_create();
        gtk_widget_set_name(dive_list, "Dive List");
-       gtk_notebook_append_page(GTK_NOTEBOOK(notebook), dive_list, gtk_label_new("Dive List"));
-       gtk_notebook_set_tab_detachable(GTK_NOTEBOOK(notebook), dive_list, 1);
-       gtk_notebook_set_tab_reorderable(GTK_NOTEBOOK(notebook), dive_list, 1);
+       gtk_paned_add2(GTK_PANED(vpane), dive_list);
 
        /* Frame for dive profile */
        dive_profile = dive_profile_widget();
        gtk_widget_set_name(dive_profile, "Dive Profile");
-       gtk_notebook_append_page(GTK_NOTEBOOK(notebook), dive_profile, gtk_label_new("Dive Profile"));
-       gtk_notebook_set_tab_detachable(GTK_NOTEBOOK(notebook), dive_profile, 1);
-       gtk_notebook_set_tab_reorderable(GTK_NOTEBOOK(notebook), dive_profile, 1);
+       gtk_paned_add2(GTK_PANED(hpane), dive_profile);
 
        /* Frame for extended dive info */
        dive_info = extended_dive_info_widget();