summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGravatar Linus Torvalds <torvalds@linux-foundation.org>2011-08-31 18:30:42 -0700
committerGravatar Linus Torvalds <torvalds@linux-foundation.org>2011-08-31 18:30:42 -0700
commit23c6a42b084fbd1affbf7cc1b3f5e94fb15d3a92 (patch)
treeb242b461a5ae6a931b8e230405b27f9e1a66f970
parent3d01a5f71a29a8b7ce2a3648130660dabe62fae9 (diff)
downloadsubsurface-23c6a42b084fbd1affbf7cc1b3f5e94fb15d3a92.tar.gz
Make the main display saner
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>
-rw-r--r--display.h1
-rw-r--r--info.c18
-rw-r--r--main.c21
3 files changed, 29 insertions, 11 deletions
diff --git a/display.h b/display.h
index 8f972e358..f336bd5ec 100644
--- 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 bef3f1dba..6d91a0f26 100644
--- 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 a2119b8cf..3425cd856 100644
--- 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);