diff options
-rw-r--r-- | src/window.c | 21 | ||||
-rw-r--r-- | src/window.h | 1 |
2 files changed, 21 insertions, 1 deletions
diff --git a/src/window.c b/src/window.c index 1158b38..1dd83b3 100644 --- a/src/window.c +++ b/src/window.c @@ -25,16 +25,35 @@ #include "window.h" +static void +add_tab(MqWindow *window, gchar *uri, gint position) +{ + /* TODO: Set tab label (container widget with icon and title) */ + position = gtk_notebook_insert_page(GTK_NOTEBOOK(window->gtk_notebook), + gtk_label_new(uri), NULL, position); +} + MqWindow * -mq_window_new(gchar __attribute__((unused)) **uris) +mq_window_new(gchar **uris) { MqWindow *window; + guint i; window = malloc(sizeof(*window)); window->gtk_window = gtk_window_new(GTK_WINDOW_TOPLEVEL); + /* TODO: Don't quit on window close */ g_signal_connect(window->gtk_window, "destroy", G_CALLBACK(gtk_main_quit), NULL); + + window->gtk_notebook = gtk_notebook_new(); + gtk_container_add(GTK_CONTAINER(window->gtk_window), + window->gtk_notebook); + + for (i = 0; uris && uris[i]; ++i) { + add_tab(window, uris[i], -1); + } + gtk_widget_show_all(window->gtk_window); return window; diff --git a/src/window.h b/src/window.h index f14e5fc..4a2f3b7 100644 --- a/src/window.h +++ b/src/window.h @@ -21,6 +21,7 @@ typedef struct { GtkWidget *gtk_window; + GtkWidget *gtk_notebook; } MqWindow; MqWindow *mq_window_new(gchar **uris); |