]> git.tdb.fi Git - ext/subsurface.git/commitdiff
Make the main display saner
authorLinus Torvalds <torvalds@linux-foundation.org>
Thu, 1 Sep 2011 01:30:42 +0000 (18:30 -0700)
committerLinus Torvalds <torvalds@linux-foundation.org>
Thu, 1 Sep 2011 01:30:42 +0000 (18:30 -0700)
This tweaks:
 - packing to be what you'd kind of expect
 - makes the "summary info" always visible
 - the "extended info" is now on a notebook page of its own
 - dive profile the first notebook page, since the summary
   information is visible regardless.
which all just seems a lot more logical.

Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
display.h
info.c
main.c

index 8f972e358bae559918735020fdfdad0b099062c1..f336bd5ec8ac60ba7b32cd82bfe5126a88bd2640 100644 (file)
--- a/display.h
+++ b/display.h
@@ -10,6 +10,7 @@ extern int selected_dive;
 
 extern GtkWidget *dive_profile_frame(void);
 extern GtkWidget *dive_info_frame(void);
+extern GtkWidget *extended_dive_info_frame(void);
 extern GtkWidget *create_dive_list(void);
 extern void update_dive_info(struct dive *dive);
 extern void repaint_dive(void);
diff --git a/info.c b/info.c
index bef3f1dba66a33858bc8285b64ff68f234bcf216..6d91a0f26c5704a25d800608dc2163cda20df4fb 100644 (file)
--- a/info.c
+++ b/info.c
@@ -51,19 +51,31 @@ GtkWidget *dive_info_frame(void)
 
        datetime = gtk_entry_new();
        gtk_editable_set_editable(GTK_EDITABLE(datetime), FALSE);
-
        gtk_box_pack_start(GTK_BOX(hbox), datetime, FALSE, FALSE, 0);
 
        depth = gtk_entry_new();
        gtk_editable_set_editable(GTK_EDITABLE(depth), FALSE);
-
        gtk_box_pack_start(GTK_BOX(hbox), depth, FALSE, FALSE, 0);
 
        duration = gtk_entry_new();
        gtk_editable_set_editable(GTK_EDITABLE(duration), FALSE);
-
        gtk_box_pack_start(GTK_BOX(hbox), duration, FALSE, FALSE, 0);
 
+       return frame;
+}
+
+GtkWidget *extended_dive_info_frame(void)
+{
+       GtkWidget *frame;
+       GtkWidget *vbox;
+
+       frame = gtk_frame_new("Extended dive info");
+       gtk_widget_show(frame);
+
+       vbox = gtk_vbox_new(FALSE, 5);
+       gtk_container_add(GTK_CONTAINER(frame), vbox);
+
+       /* Add extended info here: name, description, yadda yadda */
        update_dive_info(current_dive);
        return frame;
 }
diff --git a/main.c b/main.c
index a2119b8cf3af977efdb2e96f6a5a6caafb9c595c..3425cd856a5d520ed89d4792736ca29192bfb9f5 100644 (file)
--- a/main.c
+++ b/main.c
@@ -154,35 +154,40 @@ int main(int argc, char **argv)
        g_signal_connect(G_OBJECT(win), "destroy",      G_CALLBACK(on_destroy), NULL);
        main_window = win;
 
-       vbox = gtk_vbox_new(FALSE, 1);
+       vbox = gtk_vbox_new(FALSE, 0);
        gtk_container_add(GTK_CONTAINER(win), vbox);
 
        menubar = get_menubar_menu(win);
-       gtk_box_pack_start(GTK_BOX(vbox), menubar, FALSE, TRUE, 0);
+       gtk_box_pack_start(GTK_BOX(vbox), menubar, FALSE, FALSE, 0);
 
        /* Table for the list of dives, cairo window, and dive info */
        table = gtk_table_new(2, 2, FALSE);
        gtk_container_set_border_width(GTK_CONTAINER(table), 5);
-       gtk_box_pack_end(GTK_BOX(vbox), table, FALSE, TRUE, 0);
+       gtk_box_pack_end(GTK_BOX(vbox), table, TRUE, TRUE, 0);
        gtk_widget_show(table);
 
        /* Create the atual divelist */
        divelist = create_dive_list();
-       gtk_table_attach_defaults(GTK_TABLE(table), divelist, 0, 1, 0, 2);
+       gtk_table_attach(GTK_TABLE(table), divelist, 0, 1, 0, 2,
+               0, GTK_FILL | GTK_SHRINK | GTK_EXPAND, 0, 0);
+
+       /* Frame for minimal dive info */
+       frame = dive_info_frame();
+       gtk_table_attach(GTK_TABLE(table), frame, 1, 2, 0, 1, 0, 0, 0, 0);
 
        /* Notebook for dive info vs profile vs .. */
        notebook = gtk_notebook_new();
        gtk_table_attach_defaults(GTK_TABLE(table), notebook, 1, 2, 1, 2);
 
-       /* Frame for dive info */
-       frame = dive_info_frame();
-       gtk_notebook_append_page(GTK_NOTEBOOK(notebook), frame, gtk_label_new("Dive Info"));
-
        /* Frame for dive profile */
        frame = dive_profile_frame();
        gtk_notebook_append_page(GTK_NOTEBOOK(notebook), frame, gtk_label_new("Dive Profile"));
        dive_profile = frame;
 
+       /* Frame for extended dive info */
+       frame = extended_dive_info_frame();
+       gtk_notebook_append_page(GTK_NOTEBOOK(notebook), frame, gtk_label_new("Extended dive Info"));
+
        gtk_widget_set_app_paintable(win, TRUE);
        gtk_widget_show_all(win);