ocarina: Add footer pages to scrolled windows

This will allow them to scroll if they get too big.

Signed-off-by: Bryan Schumaker <bjschuma@gmail.com>
This commit is contained in:
Bryan Schumaker 2012-03-11 13:01:50 -04:00
parent 8f43bf62e4
commit 81da1743a5
1 changed files with 19 additions and 6 deletions

View File

@ -4,12 +4,25 @@
static GtkWidget *footer;
static void add_page(string text, GtkWidget *page)
static void add_page(string text, GtkWidget *page, bool scroll)
{
GtkWidget *label = gtk_label_new(text.c_str());
gtk_notebook_append_page(GTK_NOTEBOOK(footer), page, label);
GtkWidget *window;
if (scroll == true) {
window = gtk_scrolled_window_new(NULL, NULL);
gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(window),
GTK_POLICY_AUTOMATIC,
GTK_POLICY_AUTOMATIC);
gtk_scrolled_window_add_with_viewport(GTK_SCROLLED_WINDOW(window), page);
gtk_widget_show(window);
} else
window = page;
gtk_notebook_append_page(GTK_NOTEBOOK(footer), window, label);
gtk_notebook_set_tab_label_packing(GTK_NOTEBOOK(footer),
page, TRUE, TRUE, GTK_PACK_START);
window, TRUE, TRUE, GTK_PACK_START);
gtk_widget_show(label);
}
@ -21,9 +34,9 @@ namespace ocarina
footer = gtk_notebook_new();
gtk_notebook_set_tab_pos(GTK_NOTEBOOK(footer), GTK_POS_TOP);
add_page("Now Playing", now_playing_page());
add_page("Library Settings", library_page());
add_page("General Settings", general_page());
add_page("Now Playing", now_playing_page(), false);
add_page("Library Settings", library_page(), true);
add_page("General Settings", general_page(), true);
gtk_widget_show(footer);
return footer;