diff --git a/src/fe-gtk/gtkutil.c b/src/fe-gtk/gtkutil.c index 4ac86292..b56ea9c6 100644 --- a/src/fe-gtk/gtkutil.c +++ b/src/fe-gtk/gtkutil.c @@ -384,21 +384,37 @@ gtkutil_file_req (GtkWindow *parent, const char *title, void *callback, void *us if (flags & FRF_WRITE) { +#if HAVE_GTK3 + dialog = gtk_file_chooser_dialog_new (title, NULL, + GTK_FILE_CHOOSER_ACTION_SAVE, + _("_Cancel"), GTK_RESPONSE_CANCEL, + _("_Save"), GTK_RESPONSE_ACCEPT, + NULL); +#elif !HAVE_GTK3 dialog = gtk_file_chooser_dialog_new (title, NULL, GTK_FILE_CHOOSER_ACTION_SAVE, GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL, GTK_STOCK_SAVE, GTK_RESPONSE_ACCEPT, NULL); +#endif if (!(flags & FRF_NOASKOVERWRITE)) gtk_file_chooser_set_do_overwrite_confirmation (GTK_FILE_CHOOSER (dialog), TRUE); } else +#if HAVE_GTK3 + dialog = gtk_file_chooser_dialog_new (title, NULL, + GTK_FILE_CHOOSER_ACTION_OPEN, + _("_Cancel"), GTK_RESPONSE_CANCEL, + _("_Open"), GTK_RESPONSE_ACCEPT, + NULL); +#elif !HAVE_GTK3 dialog = gtk_file_chooser_dialog_new (title, NULL, GTK_FILE_CHOOSER_ACTION_OPEN, GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL, GTK_STOCK_OK, GTK_RESPONSE_ACCEPT, NULL); +#endif if (filter && filter[0] && (flags & FRF_FILTERISINITIAL)) { @@ -537,10 +553,17 @@ fe_get_str (char *msg, char *def, void *callback, void *userdata) GtkWidget *label; extern GtkWidget *parent_window; +#if HAVE_GTK3 + dialog = gtk_dialog_new_with_buttons (msg, NULL, 0, + _("_Cancel"), GTK_RESPONSE_REJECT, + _("_OK"), GTK_RESPONSE_ACCEPT, + NULL); +#elif !HAVE_GTK3 dialog = gtk_dialog_new_with_buttons (msg, NULL, 0, GTK_STOCK_CANCEL, GTK_RESPONSE_REJECT, GTK_STOCK_OK, GTK_RESPONSE_ACCEPT, NULL); +#endif gtk_window_set_transient_for (GTK_WINDOW (dialog), GTK_WINDOW (parent_window)); gtk_box_set_homogeneous (GTK_BOX (gtk_dialog_get_content_area (GTK_DIALOG (dialog))), TRUE); @@ -637,10 +660,17 @@ fe_get_int (char *msg, int def, void *callback, void *userdata) GtkAdjustment *adj; extern GtkWidget *parent_window; +#if HAVE_GTK3 + dialog = gtk_dialog_new_with_buttons (msg, NULL, 0, + _("_Cancel"), GTK_RESPONSE_REJECT, + _("_OK"), GTK_RESPONSE_ACCEPT, + NULL); +#elif !HAVE_GTK3 dialog = gtk_dialog_new_with_buttons (msg, NULL, 0, GTK_STOCK_CANCEL, GTK_RESPONSE_REJECT, GTK_STOCK_OK, GTK_RESPONSE_ACCEPT, NULL); +#endif gtk_box_set_homogeneous (GTK_BOX (gtk_dialog_get_content_area (GTK_DIALOG (dialog))), TRUE); gtk_window_set_position (GTK_WINDOW (dialog), GTK_WIN_POS_MOUSE); gtk_window_set_transient_for (GTK_WINDOW (dialog), GTK_WINDOW (parent_window)); @@ -682,10 +712,17 @@ fe_get_bool (char *title, char *prompt, void *callback, void *userdata) GtkWidget *prompt_label; extern GtkWidget *parent_window; +#if HAVE_GTK3 + dialog = gtk_dialog_new_with_buttons (title, NULL, 0, + _("_No"), GTK_RESPONSE_REJECT, + _("_Yes"), GTK_RESPONSE_ACCEPT, + NULL); +#elif !HAVE_GTK3 dialog = gtk_dialog_new_with_buttons (title, NULL, 0, GTK_STOCK_NO, GTK_RESPONSE_REJECT, GTK_STOCK_YES, GTK_RESPONSE_ACCEPT, NULL); +#endif gtk_box_set_homogeneous (GTK_BOX (gtk_dialog_get_content_area (GTK_DIALOG (dialog))), TRUE); gtk_window_set_position (GTK_WINDOW (dialog), GTK_WIN_POS_MOUSE); gtk_window_set_transient_for (GTK_WINDOW (dialog), GTK_WINDOW (parent_window)); diff --git a/src/fe-gtk/maingui.c b/src/fe-gtk/maingui.c index b92fccb6..f34d7933 100644 --- a/src/fe-gtk/maingui.c +++ b/src/fe-gtk/maingui.c @@ -60,6 +60,21 @@ #include #endif +#if HAVE_GTK3 +#define ICON_TAB_DETACH "edit-redo" +#define ICON_TAB_CLOSE "window-close" +#define ICON_TAB_PREVIOUS "go-previous" +#define ICON_TAB_NEXT "go-next" +#define ICON_ENTRY_ERROR "dialog-error" +#endif +#if !HAVE_GTK3 +#define ICON_TAB_DETACH GTK_STOCK_REDO +#define ICON_TAB_CLOSE GTK_STOCK_CLOSE +#define ICON_TAB_PREVIOUS GTK_STOCK_GO_BACK +#define ICON_TAB_NEXT GTK_STOCK_GO_FORWARD +#define ICON_ENTRY_ERROR GTK_STOCK_DIALOG_ERROR +#endif + #define GUI_SPACING (3) #define GUI_BORDER (0) @@ -1822,9 +1837,9 @@ mg_create_tabmenu (session *sess, GdkEventButton *event, chan *ch) menu_addconnectmenu (sess->server, menu); } - mg_create_icon_item (_("_Detach"), GTK_STOCK_REDO, menu, + mg_create_icon_item (_("_Detach"), ICON_TAB_DETACH, menu, mg_detach_tab_cb, ch); - mg_create_icon_item (_("_Close"), GTK_STOCK_CLOSE, menu, + mg_create_icon_item (_("_Close"), ICON_TAB_CLOSE, menu, mg_destroy_tab_cb, ch); if (sess && tabmenu_list) menu_create (menu, tabmenu_list, sess->channel, FALSE); @@ -2347,11 +2362,11 @@ mg_create_chanmodebuttons (session_gui *gui, GtkWidget *box) /*static void mg_create_link_buttons (GtkWidget *box, gpointer userdata) { - gtkutil_button (box, GTK_STOCK_CLOSE, _("Close this tab/window"), + gtkutil_button (box, ICON_TAB_CLOSE, _("Close this tab/window"), mg_x_click_cb, userdata, 0); if (!userdata) - gtkutil_button (box, GTK_STOCK_REDO, _("Attach/Detach this tab"), + gtkutil_button (box, ICON_TAB_DETACH, _("Attach/Detach this tab"), mg_link_cb, userdata, 0); }*/ @@ -3297,7 +3312,7 @@ search_handle_event(int search_type, session *sess) if (err) { #if HAVE_GTK3 - gtk_entry_set_icon_from_icon_name (GTK_ENTRY (sess->gui->shentry), GTK_ENTRY_ICON_SECONDARY, "dialog-error"); + gtk_entry_set_icon_from_icon_name (GTK_ENTRY (sess->gui->shentry), GTK_ENTRY_ICON_SECONDARY, ICON_ENTRY_ERROR); #endif #if !HAVE_GTK3 gtk_entry_set_icon_from_stock (GTK_ENTRY (sess->gui->shentry), GTK_ENTRY_ICON_SECONDARY, GTK_STOCK_DIALOG_ERROR); @@ -3323,7 +3338,7 @@ search_handle_event(int search_type, session *sess) if (!last) /* Not found error */ { #if HAVE_GTK3 - gtk_entry_set_icon_from_icon_name (GTK_ENTRY (sess->gui->shentry), GTK_ENTRY_ICON_SECONDARY, "dialog-error"); + gtk_entry_set_icon_from_icon_name (GTK_ENTRY (sess->gui->shentry), GTK_ENTRY_ICON_SECONDARY, ICON_ENTRY_ERROR); #endif #if !HAVE_GTK3 gtk_entry_set_icon_from_stock (GTK_ENTRY (sess->gui->shentry), GTK_ENTRY_ICON_SECONDARY, GTK_STOCK_DIALOG_ERROR); @@ -3419,7 +3434,7 @@ mg_create_search(session *sess, GtkWidget *box) close = gtk_button_new (); #if HAVE_GTK3 - gtk_button_set_image (GTK_BUTTON (close), gtk_image_new_from_icon_name ("window-close", GTK_ICON_SIZE_MENU)); + gtk_button_set_image (GTK_BUTTON (close), gtk_image_new_from_icon_name (ICON_TAB_CLOSE, GTK_ICON_SIZE_MENU)); #endif #if !HAVE_GTK3 gtk_button_set_image (GTK_BUTTON (close), gtk_image_new_from_stock (GTK_STOCK_CLOSE, GTK_ICON_SIZE_MENU)); @@ -3444,7 +3459,7 @@ mg_create_search(session *sess, GtkWidget *box) previous = gtk_button_new (); #if HAVE_GTK3 - gtk_button_set_image (GTK_BUTTON (previous), gtk_image_new_from_icon_name ("go-previous", GTK_ICON_SIZE_MENU)); + gtk_button_set_image (GTK_BUTTON (previous), gtk_image_new_from_icon_name (ICON_TAB_PREVIOUS, GTK_ICON_SIZE_MENU)); #endif #if !HAVE_GTK3 gtk_button_set_image (GTK_BUTTON (previous), gtk_image_new_from_stock (GTK_STOCK_GO_BACK, GTK_ICON_SIZE_MENU)); @@ -3456,7 +3471,7 @@ mg_create_search(session *sess, GtkWidget *box) next = gtk_button_new (); #if HAVE_GTK3 - gtk_button_set_image (GTK_BUTTON (next), gtk_image_new_from_icon_name ("go-next", GTK_ICON_SIZE_MENU)); + gtk_button_set_image (GTK_BUTTON (next), gtk_image_new_from_icon_name (ICON_TAB_NEXT, GTK_ICON_SIZE_MENU)); #endif #if !HAVE_GTK3 gtk_button_set_image (GTK_BUTTON (next), gtk_image_new_from_stock (GTK_STOCK_GO_FORWARD, GTK_ICON_SIZE_MENU)); diff --git a/src/fe-gtk/servlistgui.c b/src/fe-gtk/servlistgui.c index 009a4b2a..74352825 100644 --- a/src/fe-gtk/servlistgui.c +++ b/src/fe-gtk/servlistgui.c @@ -39,6 +39,21 @@ #define SERVLIST_X_PADDING 4 /* horizontal paddig in the network editor */ #define SERVLIST_Y_PADDING 0 /* vertical padding in the network editor */ +#if HAVE_GTK3 +#define ICON_SERVLIST_CONNECT "network-connect" +#define ICON_SERVLIST_ADD "list-add" +#define ICON_SERVLIST_REMOVE "list-remove" +#define ICON_SERVLIST_CLOSE "window-close" +#define ICON_SERVLIST_ERROR "dialog-error" +#endif +#if !HAVE_GTK3 +#define ICON_SERVLIST_CONNECT GTK_STOCK_CONNECT +#define ICON_SERVLIST_ADD GTK_STOCK_ADD +#define ICON_SERVLIST_REMOVE GTK_STOCK_REMOVE +#define ICON_SERVLIST_CLOSE GTK_STOCK_CLOSE +#define ICON_SERVLIST_ERROR GTK_STOCK_DIALOG_ERROR +#endif + #ifdef USE_OPENSSL # define DEFAULT_SERVER "newserver/6697" #else @@ -92,6 +107,22 @@ static session *servlist_sess; static void servlist_network_row_cb (GtkTreeSelection *sel, gpointer user_data); static GtkWidget *servlist_open_edit (GtkWidget *parent, ircnet *net); +#if HAVE_GTK3 +static GtkWidget * +servlist_icon_button_new (const char *label, const char *icon_name) +{ + GtkWidget *button; + GtkWidget *image; + + button = gtk_button_new_with_mnemonic (label); + image = gtk_image_new_from_icon_name (icon_name, GTK_ICON_SIZE_BUTTON); + gtk_button_set_image (GTK_BUTTON (button), image); + gtk_button_set_always_show_image (GTK_BUTTON (button), TRUE); + + return button; +} +#endif + static const char *pages[]= { @@ -1569,7 +1600,7 @@ servlist_username_changed_cb (GtkEntry *entry, gpointer userdata) if (gtk_entry_get_text (entry)[0] == 0) { #if HAVE_GTK3 - gtk_entry_set_icon_from_icon_name (entry, GTK_ENTRY_ICON_SECONDARY, "dialog-error"); + gtk_entry_set_icon_from_icon_name (entry, GTK_ENTRY_ICON_SECONDARY, ICON_SERVLIST_ERROR); #endif #if !HAVE_GTK3 gtk_entry_set_icon_from_stock (entry, GTK_ENTRY_ICON_SECONDARY, GTK_STOCK_DIALOG_ERROR); @@ -1601,7 +1632,7 @@ servlist_nick_changed_cb (GtkEntry *entry, gpointer userdata) { entry = GTK_ENTRY(!nick1[0] ? entry_nick1 : entry_nick2); #if HAVE_GTK3 - gtk_entry_set_icon_from_icon_name (entry, GTK_ENTRY_ICON_SECONDARY, "dialog-error"); + gtk_entry_set_icon_from_icon_name (entry, GTK_ENTRY_ICON_SECONDARY, ICON_SERVLIST_ERROR); #endif #if !HAVE_GTK3 gtk_entry_set_icon_from_stock (entry, GTK_ENTRY_ICON_SECONDARY, GTK_STOCK_DIALOG_ERROR); @@ -1613,7 +1644,7 @@ servlist_nick_changed_cb (GtkEntry *entry, gpointer userdata) else if (!rfc_casecmp (nick1, nick2)) { #if HAVE_GTK3 - gtk_entry_set_icon_from_icon_name (entry, GTK_ENTRY_ICON_SECONDARY, "dialog-error"); + gtk_entry_set_icon_from_icon_name (entry, GTK_ENTRY_ICON_SECONDARY, ICON_SERVLIST_ERROR); #endif #if !HAVE_GTK3 gtk_entry_set_icon_from_stock (entry, GTK_ENTRY_ICON_SECONDARY, GTK_STOCK_DIALOG_ERROR); @@ -1895,12 +1926,10 @@ servlist_open_edit (GtkWidget *parent, ircnet *net) gtk_box_pack_start (GTK_BOX (hbox1), vbuttonbox1, FALSE, FALSE, 3); #if HAVE_GTK3 - buttonadd = gtk_button_new_with_mnemonic (_("_Add")); - gtk_button_set_image (GTK_BUTTON (buttonadd), - gtk_image_new_from_icon_name ("list-add", GTK_ICON_SIZE_BUTTON)); + buttonadd = servlist_icon_button_new (_("_Add"), ICON_SERVLIST_ADD); #endif #if !HAVE_GTK3 - buttonadd = gtk_button_new_from_stock ("gtk-add"); + buttonadd = gtk_button_new_from_stock (GTK_STOCK_ADD); #endif g_signal_connect (G_OBJECT (buttonadd), "clicked", G_CALLBACK (servlist_addbutton_cb), notebook); @@ -1908,12 +1937,10 @@ servlist_open_edit (GtkWidget *parent, ircnet *net) gtk_widget_set_can_default (buttonadd, TRUE); #if HAVE_GTK3 - buttonremove = gtk_button_new_with_mnemonic (_("_Remove")); - gtk_button_set_image (GTK_BUTTON (buttonremove), - gtk_image_new_from_icon_name ("list-remove", GTK_ICON_SIZE_BUTTON)); + buttonremove = servlist_icon_button_new (_("_Remove"), ICON_SERVLIST_REMOVE); #endif #if !HAVE_GTK3 - buttonremove = gtk_button_new_from_stock ("gtk-remove"); + buttonremove = gtk_button_new_from_stock (GTK_STOCK_REMOVE); #endif g_signal_connect (G_OBJECT (buttonremove), "clicked", G_CALLBACK (servlist_deletebutton_cb), notebook); @@ -1989,12 +2016,10 @@ servlist_open_edit (GtkWidget *parent, ircnet *net) gtk_button_box_set_layout (GTK_BUTTON_BOX (hbuttonbox4), GTK_BUTTONBOX_END); #if HAVE_GTK3 - button10 = gtk_button_new_with_mnemonic (_("_Close")); - gtk_button_set_image (GTK_BUTTON (button10), - gtk_image_new_from_icon_name ("window-close", GTK_ICON_SIZE_BUTTON)); + button10 = servlist_icon_button_new (_("_Close"), ICON_SERVLIST_CLOSE); #endif #if !HAVE_GTK3 - button10 = gtk_button_new_from_stock ("gtk-close"); + button10 = gtk_button_new_from_stock (GTK_STOCK_CLOSE); #endif g_signal_connect (G_OBJECT (button10), "clicked", G_CALLBACK (servlist_edit_close_cb), 0); @@ -2263,12 +2288,10 @@ servlist_open_networks (void) (GtkAttachOptions) (GTK_FILL), 0, 0); #if HAVE_GTK3 - button_add = gtk_button_new_with_mnemonic (_("_Add")); - gtk_button_set_image (GTK_BUTTON (button_add), - gtk_image_new_from_icon_name ("list-add", GTK_ICON_SIZE_BUTTON)); + button_add = servlist_icon_button_new (_("_Add"), ICON_SERVLIST_ADD); #endif #if !HAVE_GTK3 - button_add = gtk_button_new_from_stock ("gtk-add"); + button_add = gtk_button_new_from_stock (GTK_STOCK_ADD); #endif g_signal_connect (G_OBJECT (button_add), "clicked", G_CALLBACK (servlist_addnet_cb), networks_tree); @@ -2277,12 +2300,10 @@ servlist_open_networks (void) gtk_widget_set_can_default (button_add, TRUE); #if HAVE_GTK3 - button_remove = gtk_button_new_with_mnemonic (_("_Remove")); - gtk_button_set_image (GTK_BUTTON (button_remove), - gtk_image_new_from_icon_name ("list-remove", GTK_ICON_SIZE_BUTTON)); + button_remove = servlist_icon_button_new (_("_Remove"), ICON_SERVLIST_REMOVE); #endif #if !HAVE_GTK3 - button_remove = gtk_button_new_from_stock ("gtk-remove"); + button_remove = gtk_button_new_from_stock (GTK_STOCK_REMOVE); #endif g_signal_connect (G_OBJECT (button_remove), "clicked", G_CALLBACK (servlist_deletenet_cb), 0); @@ -2324,12 +2345,10 @@ servlist_open_networks (void) gtk_container_set_border_width (GTK_CONTAINER (hbuttonbox1), 8); #if HAVE_GTK3 - button_close = gtk_button_new_with_mnemonic (_("_Close")); - gtk_button_set_image (GTK_BUTTON (button_close), - gtk_image_new_from_icon_name ("window-close", GTK_ICON_SIZE_BUTTON)); + button_close = servlist_icon_button_new (_("_Close"), ICON_SERVLIST_CLOSE); #endif #if !HAVE_GTK3 - button_close = gtk_button_new_from_stock ("gtk-close"); + button_close = gtk_button_new_from_stock (GTK_STOCK_CLOSE); #endif gtk_widget_show (button_close); g_signal_connect (G_OBJECT (button_close), "clicked", @@ -2337,7 +2356,7 @@ servlist_open_networks (void) gtk_container_add (GTK_CONTAINER (hbuttonbox1), button_close); gtk_widget_set_can_default (button_close, TRUE); - button_connect = gtkutil_button (hbuttonbox1, GTK_STOCK_CONNECT, NULL, +button_connect = gtkutil_button (hbuttonbox1, ICON_SERVLIST_CONNECT, NULL, servlist_connect_cb, NULL, _("C_onnect")); gtk_widget_set_can_default (button_connect, TRUE); diff --git a/src/fe-gtk/sexy-spell-entry.c b/src/fe-gtk/sexy-spell-entry.c index 739ff452..82d29c97 100644 --- a/src/fe-gtk/sexy-spell-entry.c +++ b/src/fe-gtk/sexy-spell-entry.c @@ -55,7 +55,8 @@ #define ICON_ADD "list-add" #define ICON_REMOVE "list-remove" #define ICON_SPELL_CHECK "tools-check-spelling" -#else +#endif +#if !HAVE_GTK3 #define ICON_ADD GTK_STOCK_ADD #define ICON_REMOVE GTK_STOCK_REMOVE #define ICON_SPELL_CHECK GTK_STOCK_SPELL_CHECK