Skip to content

Commit

Permalink
Make the main display saner
Browse files Browse the repository at this point in the history
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>
  • Loading branch information
torvalds committed Sep 1, 2011
1 parent 3d01a5f commit 23c6a42
Show file tree
Hide file tree
Showing 3 changed files with 29 additions and 11 deletions.
1 change: 1 addition & 0 deletions display.h
Expand Up @@ -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);
Expand Down
18 changes: 15 additions & 3 deletions info.c
Expand Up @@ -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;
}
21 changes: 13 additions & 8 deletions main.c
Expand Up @@ -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);

Expand Down

0 comments on commit 23c6a42

Please sign in to comment.