+static GtkNotebook *create_new_notebook_window(GtkNotebook *source,
+ GtkWidget *page,
+ gint x, gint y, gpointer data)
+{
+ GtkWidget *win, *notebook, *vbox;
+
+ /* We don't detatch twice */
+ if (divelist_window)
+ return NULL;
+
+ divelist_window = win = gtk_window_new(GTK_WINDOW_TOPLEVEL);
+ gtk_window_set_title(GTK_WINDOW(win), "Dive List");
+ gtk_window_set_transient_for(GTK_WINDOW(win), GTK_WINDOW(main_window));
+ gtk_window_set_destroy_with_parent(GTK_WINDOW(win), 1);
+ gtk_window_move(GTK_WINDOW(win), x, y);
+
+ /* Destroying the dive list will kill the application */
+ g_signal_connect(G_OBJECT(win), "delete-event", G_CALLBACK(on_delete), NULL);
+ g_signal_connect(G_OBJECT(win), "destroy", G_CALLBACK(on_destroy), NULL);
+
+ vbox = gtk_vbox_new(FALSE, 0);
+ gtk_container_add(GTK_CONTAINER(win), vbox);
+
+ notebook = gtk_notebook_new();
+ gtk_notebook_set_group_id(GTK_NOTEBOOK(notebook), gtk_notebook_get_group_id(source));
+ gtk_box_pack_start(GTK_BOX(vbox), notebook, TRUE, TRUE, 6);
+ gtk_widget_set_size_request(notebook, 350, 250);
+
+ gtk_widget_show_all(win);
+ return GTK_NOTEBOOK(notebook);
+}
+