diff --git a/src/browser.c b/src/browser.c index bb4e4d1..b270d90 100644 --- a/src/browser.c +++ b/src/browser.c @@ -499,27 +499,83 @@ static void _browser_on_forward(GtkWidget * widget, gpointer data) _fill_store(browser); } +#if !GTK_CHECK_VERSION(2, 6, 0) +static void _about_close(GtkWidget * widget, gpointer * data); +static void _about_credits(GtkWidget * widget, gpointer * data); +static void _about_license(GtkWidget * widget, gpointer * data); +#endif static void _browser_on_help_about(GtkWidget * widget, gpointer data) { static GtkWidget * window = NULL; - static char const * authors[] = { "Pierre 'khorben' Pronchery", NULL }; + char const * authors[] = { "Pierre 'khorben' Pronchery", NULL }; + char const copyright[] = "Copyright (c) 2006 khorben"; if(window != NULL) { gtk_widget_show(window); return; } +#if GTK_CHECK_VERSION(2, 6, 0) window = gtk_about_dialog_new(); gtk_about_dialog_set_name(GTK_ABOUT_DIALOG(window), "File browser"); /* FIXME automatic version */ gtk_about_dialog_set_version(GTK_ABOUT_DIALOG(window), "0.0.0"); - gtk_about_dialog_set_copyright(GTK_ABOUT_DIALOG(window), - "Pierre 'khorben' Pronchery"); + gtk_about_dialog_set_copyright(GTK_ABOUT_DIALOG(window), copyright); gtk_about_dialog_set_authors(GTK_ABOUT_DIALOG(window), authors); gtk_about_dialog_set_license(GTK_ABOUT_DIALOG(window), "GPLv2"); gtk_widget_show(window); +#else + window = gtk_window_new(GTK_WINDOW_TOPLEVEL); + gtk_container_set_border_width(GTK_CONTAINER(window), 4); + gtk_window_set_title(GTK_WINDOW(window), "About Browser"); + { + GtkWidget * vbox; + GtkWidget * hbox; + GtkWidget * button; + + vbox = gtk_vbox_new(FALSE, 2); + gtk_box_pack_start(GTK_BOX(vbox), gtk_label_new( + "Browser 0.0.0"), FALSE, FALSE, 2); + gtk_box_pack_start(GTK_BOX(vbox), gtk_label_new(copyright), + FALSE, FALSE, 2); + hbox = gtk_hbox_new(TRUE, 4); + button = gtk_button_new_with_mnemonic("C_redits"); + g_signal_connect(G_OBJECT(button), "clicked", G_CALLBACK( + _about_credits), window); + gtk_box_pack_start(GTK_BOX(hbox), button, FALSE, TRUE, 4); + button = gtk_button_new_with_mnemonic("_License"); + g_signal_connect(G_OBJECT(button), "clicked", G_CALLBACK( + _about_license), window); + gtk_box_pack_start(GTK_BOX(hbox), button, FALSE, TRUE, 4); + button = gtk_button_new_from_stock(GTK_STOCK_CLOSE); + g_signal_connect(G_OBJECT(button), "clicked", G_CALLBACK( + _about_close), window); + gtk_box_pack_end(GTK_BOX(hbox), button, FALSE, TRUE, 4); + gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 4); + gtk_container_add(GTK_CONTAINER(window), vbox); + } + gtk_widget_show_all(window); +#endif } +#if !GTK_CHECK_VERSION(2, 6, 0) +static void _about_close(GtkWidget * widget, gpointer * data) +{ + GtkWidget * window = data; + + gtk_widget_hide(window); +} + +static void _about_credits(GtkWidget * widget, gpointer * data) +{ +} + +static void _about_license(GtkWidget * widget, gpointer * data) +{ +} +#endif + + static void _browser_go(Browser * browser, char const * path); static void _browser_on_home(GtkWidget * widget, gpointer data) {