diff options
author | Nikola Pajkovsky <npajkovs@redhat.com> | 2011-03-10 14:50:04 +0100 |
---|---|---|
committer | Nikola Pajkovsky <npajkovs@redhat.com> | 2011-03-10 14:50:04 +0100 |
commit | e8d13198cbaf85351f1e230921eddd0b7a513325 (patch) | |
tree | 58073523c895f0b3777f7a4d1171c461887cf506 /src/gui-gtk | |
parent | 9822d07eabc4b0a06a11d7cd31c55660860cd0a4 (diff) | |
parent | afd647566d8bad0d07b438783de87b2beb6c78bc (diff) | |
download | abrt-e8d13198cbaf85351f1e230921eddd0b7a513325.tar.gz abrt-e8d13198cbaf85351f1e230921eddd0b7a513325.tar.xz abrt-e8d13198cbaf85351f1e230921eddd0b7a513325.zip |
Merge branch 'gui'
* gui:
accelerators for 'Report' and 'Online help' buttons
abrt-gtk: credits dialog
available online help from menu
get rid of 'View log' from menu (doesn't work even old gui)
Diffstat (limited to 'src/gui-gtk')
-rw-r--r-- | src/gui-gtk/abrt-gtk.c | 73 |
1 files changed, 66 insertions, 7 deletions
diff --git a/src/gui-gtk/abrt-gtk.c b/src/gui-gtk/abrt-gtk.c index 120389d4..99b6f41f 100644 --- a/src/gui-gtk/abrt-gtk.c +++ b/src/gui-gtk/abrt-gtk.c @@ -5,6 +5,9 @@ #include "abrt-gtk.h" #include "event_config_dialog.h" +static const char * const help_uri ="http://docs.fedoraproject.org/en-US/" + "Fedora/14/html/Deployment_Guide/ch-abrt.html"; + static GtkListStore *s_dumps_list_store; static GtkWidget *s_treeview; static GtkWidget *g_main_window; @@ -148,9 +151,64 @@ static void on_btn_delete_cb(GtkButton *button, gpointer unused) static void on_btn_online_help_cb(GtkButton *button, gpointer unused) { - gtk_show_uri(NULL,"http://docs.fedoraproject.org/en-US/Fedor" - "a/14/html/Deployment_Guide/ch-abrt.html", - GDK_CURRENT_TIME, NULL); + gtk_show_uri(NULL, help_uri, GDK_CURRENT_TIME, NULL); +} + +static void on_menu_help_cb(GtkMenuItem *menuitem, gpointer unused) +{ + gtk_show_uri(NULL, help_uri, GDK_CURRENT_TIME, NULL); +} + +static void on_menu_about_cb(GtkMenuItem *menuitem, gpointer unused) +{ + const char *copyright_str = "Copyright © 2009, 2010, 2011 Red Hat, Inc"; + + const char *license_str = "This program is free software; you can redistribut" + "e it and/or modify it under the terms of the GNU General Public License " + "as published by the Free Software Foundation; either version 2 of the Li" + "cense, or (at your option) any later version.\n\nThis program is distrib" + "uted in the hope that it will be useful, but WITHOUT ANY WARRANTY; witho" + "ut even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICU" + "LAR PURPOSE. See the GNU General Public License for more details.\n\nYo" + "u should have received a copy of the GNU General Public License along wi" + "th this program. If not, see <http://www.gnu.org/licenses/>."; + + const char *website_url = "https://fedorahosted.org/abrt/"; + + const char *authors[] = { + "Anton Arapov <aarapov@redhat.com>", + "Karel Klic <kklic@redhat.com>", + "Jiri Moskovcak <jmoskovc@redhat.com>", + "Nikola Pajkovsky <npajkovs@redhat.com>", + "Denys Vlasenko <dvlasenk@redhat.com>", + "Michal Toman <mtoman@redhat.com>", + "Zdenek Prikryl", + NULL + }; + + const char *artists[] = { + "Patrick Connelly <pcon@fedoraproject.org>", + "Máirín Duffy <duffy@fedoraproject.org>", + "Lapo Calamandrei", + NULL + }; + + GtkWidget *about_d = gtk_about_dialog_new(); + + gtk_window_set_default_icon_name("abrt"); + gtk_about_dialog_set_version(GTK_ABOUT_DIALOG(about_d), VERSION); + gtk_about_dialog_set_logo_icon_name(GTK_ABOUT_DIALOG(about_d), "abrt"); + gtk_about_dialog_set_program_name(GTK_ABOUT_DIALOG(about_d), "ABRT"); + gtk_about_dialog_set_copyright(GTK_ABOUT_DIALOG(about_d), copyright_str); + gtk_about_dialog_set_license(GTK_ABOUT_DIALOG(about_d), license_str); + gtk_about_dialog_set_wrap_license(GTK_ABOUT_DIALOG(about_d),true); + gtk_about_dialog_set_website(GTK_ABOUT_DIALOG(about_d), website_url); + gtk_about_dialog_set_authors(GTK_ABOUT_DIALOG(about_d), authors); + gtk_about_dialog_set_artists(GTK_ABOUT_DIALOG(about_d), artists); + gtk_about_dialog_set_translator_credits(GTK_ABOUT_DIALOG(about_d), _("translator-credits")); + + gtk_dialog_run(GTK_DIALOG(about_d)); + gtk_widget_hide(GTK_WIDGET(about_d)); } void show_events_list_dialog_cb(GtkMenuItem *menuitem, gpointer user_data) @@ -236,14 +294,15 @@ GtkWidget *create_menu(void) /* help submenu */ GtkWidget *help_submenu = gtk_menu_new(); - GtkWidget *log_item = gtk_menu_item_new_with_mnemonic(_("View _log")); GtkWidget *online_help_item = gtk_image_menu_item_new_from_stock(GTK_STOCK_HELP, NULL); GtkWidget *about_item = gtk_image_menu_item_new_from_stock(GTK_STOCK_ABOUT, NULL); - gtk_menu_shell_append(GTK_MENU_SHELL(help_submenu), log_item); gtk_menu_shell_append(GTK_MENU_SHELL(help_submenu), online_help_item); gtk_menu_shell_append(GTK_MENU_SHELL(help_submenu), about_item); gtk_menu_item_set_submenu(GTK_MENU_ITEM(help_item), help_submenu); + g_signal_connect(online_help_item, "activate", G_CALLBACK(on_menu_help_cb), NULL); + g_signal_connect(about_item, "activate", G_CALLBACK(on_menu_about_cb), NULL); + return menu; } @@ -285,7 +344,7 @@ GtkWidget *create_main_window(void) /* buttons are homogenous so set size only for one button and it will * work for the rest buttons in same gtk_hbox_new() */ - GtkWidget *btn_report = gtk_button_new_with_label(_("Report")); + GtkWidget *btn_report = gtk_button_new_with_mnemonic(_("_Report")); gtk_widget_set_size_request(btn_report, 200, 30); GtkWidget *btn_delete = gtk_button_new_from_stock(GTK_STOCK_DELETE); @@ -298,7 +357,7 @@ GtkWidget *create_main_window(void) gtk_container_add(GTK_CONTAINER(halign), hbox_report_delete); GtkWidget *hbox_help_close = gtk_hbutton_box_new(); - GtkWidget *btn_online_help = gtk_button_new_with_label(_("Online Help")); + GtkWidget *btn_online_help = gtk_button_new_with_mnemonic(_("_Online Help")); GtkWidget *btn_close = gtk_button_new_from_stock(GTK_STOCK_CLOSE); gtk_box_pack_end(GTK_BOX(hbox_help_close), btn_online_help, false, false, 0); gtk_box_pack_end(GTK_BOX(hbox_help_close), btn_close, false, false, 0); |