diff --git a/src/applets/close.c b/src/applets/close.c index ee82495..a898029 100644 --- a/src/applets/close.c +++ b/src/applets/close.c @@ -96,7 +96,11 @@ static Close * _close_init(PanelAppletHelper * helper, GtkWidget ** widget) gtk_widget_set_tooltip_text(close->widget, _("Close")); #endif iconsize = panel_window_get_icon_size(helper->window); +#if GTK_CHECK_VERSION(3, 10, 0) + image = gtk_image_new_from_icon_name(GTK_STOCK_CLOSE, iconsize); +#else image = gtk_image_new_from_stock(GTK_STOCK_CLOSE, iconsize); +#endif gtk_button_set_image(GTK_BUTTON(close->widget), image); g_signal_connect_swapped(close->widget, "clicked", G_CALLBACK( _close_on_close), close); diff --git a/src/applets/menu.c b/src/applets/menu.c index f428600..f2e723a 100644 --- a/src/applets/menu.c +++ b/src/applets/menu.c @@ -618,8 +618,15 @@ static void _menu_on_clicked(gpointer data) if((p = helper->config_get(helper->panel, "menu", "about")) == NULL || strtol(p, NULL, 0) != 0) { +#if GTK_CHECK_VERSION(3, 10, 0) + menuitem = gtk_image_menu_item_new_with_label(_("About")); + gtk_image_menu_item_set_image(GTK_MENU_ITEM(menuitem), + gtk_image_new_from_icon_name(GTK_STOCK_ABOUT, + GTK_ICON_SIZE_MENU)); +#else menuitem = gtk_image_menu_item_new_from_stock(GTK_STOCK_ABOUT, NULL); +#endif g_signal_connect_swapped(menuitem, "activate", G_CALLBACK( _menu_on_about), menu); gtk_menu_shell_append(GTK_MENU_SHELL(menushell), menuitem); diff --git a/src/applets/mpd.c b/src/applets/mpd.c index df06852..17dc42b 100644 --- a/src/applets/mpd.c +++ b/src/applets/mpd.c @@ -136,7 +136,11 @@ static void _init_add(MPD * mpd, char const * stock, GtkIconSize iconsize, GtkWidget * image; button = gtk_button_new(); +#if GTK_CHECK_VERSION(3, 10, 0) + image = gtk_image_new_from_icon_name(stock, iconsize); +#else image = gtk_image_new_from_stock(stock, iconsize); +#endif gtk_button_set_image(GTK_BUTTON(button), image); gtk_button_set_relief(GTK_BUTTON(button), GTK_RELIEF_NONE); #if GTK_CHECK_VERSION(2, 12, 0) diff --git a/src/applets/rotate.c b/src/applets/rotate.c index 0f1d4e4..09f2dbe 100644 --- a/src/applets/rotate.c +++ b/src/applets/rotate.c @@ -66,7 +66,11 @@ static Rotate * _rotate_init(PanelAppletHelper * helper, GtkWidget ** widget) return NULL; rotate->helper = helper; rotate->widget = gtk_button_new(); +#if GTK_CHECK_VERSION(3, 10, 0) + image = gtk_image_new_from_icon_name(applet.icon, +#else image = gtk_image_new_from_stock(applet.icon, +#endif panel_window_get_icon_size(helper->window)); gtk_button_set_image(GTK_BUTTON(rotate->widget), image); gtk_button_set_relief(GTK_BUTTON(rotate->widget), GTK_RELIEF_NONE); diff --git a/src/applets/tasks.c b/src/applets/tasks.c index db837ac..cf2f2a5 100644 --- a/src/applets/tasks.c +++ b/src/applets/tasks.c @@ -335,8 +335,12 @@ static Tasks * _tasks_init(PanelAppletHelper * helper, GtkWidget ** widget) GTK_POLICY_NEVER, GTK_POLICY_NEVER); gtk_scrolled_window_set_shadow_type(GTK_SCROLLED_WINDOW(tasks->widget), GTK_SHADOW_NONE); +# if GTK_CHECK_VERSION(3, 8, 0) + gtk_container_add(GTK_CONTAINER(tasks->widget), tasks->hbox); +# else gtk_scrolled_window_add_with_viewport(GTK_SCROLLED_WINDOW( tasks->widget), tasks->hbox); +# endif #else tasks->widget = tasks->hbox; #endif @@ -795,26 +799,31 @@ static gboolean _task_on_popup(gpointer data) TasksAtom atom; void (*callback)(gpointer data); char const * stock; + char const * label; } items[] = { - { TASKS_ATOM__NET_WM_ACTION_MOVE, _task_on_popup_move, N_("Move") }, - { TASKS_ATOM__NET_WM_ACTION_RESIZE, _task_on_popup_resize, + { TASKS_ATOM__NET_WM_ACTION_MOVE, _task_on_popup_move, NULL, + N_("Move") }, + { TASKS_ATOM__NET_WM_ACTION_RESIZE, _task_on_popup_resize, NULL, N_("Resize") }, { TASKS_ATOM__NET_WM_ACTION_MINIMIZE, _task_on_popup_minimize, - N_("Minimize") }, - { TASKS_ATOM__NET_WM_ACTION_SHADE, _task_on_popup_shade, + NULL, N_("Minimize") }, + { TASKS_ATOM__NET_WM_ACTION_SHADE, _task_on_popup_shade, NULL, N_("Shade") }, - { TASKS_ATOM__NET_WM_ACTION_STICK, _task_on_popup_stick, + { TASKS_ATOM__NET_WM_ACTION_STICK, _task_on_popup_stick, NULL, N_("Stick") }, { TASKS_ATOM__NET_WM_ACTION_MAXIMIZE_HORZ, - _task_on_popup_maximize_horz, N_("Maximize horizontally") }, + _task_on_popup_maximize_horz, NULL, + N_("Maximize horizontally") }, { TASKS_ATOM__NET_WM_ACTION_MAXIMIZE_VERT, - _task_on_popup_maximize_vert, N_("Maximize vertically") }, + _task_on_popup_maximize_vert, NULL, + N_("Maximize vertically") }, { TASKS_ATOM__NET_WM_ACTION_FULLSCREEN, _task_on_popup_fullscreen, - GTK_STOCK_FULLSCREEN }, + GTK_STOCK_FULLSCREEN, N_("Fullscreen") }, { TASKS_ATOM__NET_WM_ACTION_CHANGE_DESKTOP, - _task_on_popup_change_desktop, N_("Change desktop") }, + _task_on_popup_change_desktop, NULL, + N_("Change desktop") }, { TASKS_ATOM__NET_WM_ACTION_CLOSE, _task_on_popup_close, - GTK_STOCK_CLOSE } + GTK_STOCK_CLOSE, N_("Close") } }; const size_t items_cnt = sizeof(items) / sizeof(*items); size_t j; @@ -837,12 +846,24 @@ static gboolean _task_on_popup(gpointer data) continue; /* FIXME implement as a special case */ if(menu == NULL) menu = gtk_menu_new(); - if(strncmp(items[j].stock, "gtk-", 4) == 0) + if(items[j].stock != NULL) +#if GTK_CHECK_VERSION(3, 10, 0) + { + menuitem = gtk_image_menu_item_new_with_label( + items[j].label); + gtk_image_menu_item_set_image( + GTK_IMAGE_MENU_ITEM(menuitem), + gtk_image_new_from_icon_name( + items[j].stock, + GTK_ICON_SIZE_MENU)); + } +#else menuitem = gtk_image_menu_item_new_from_stock( items[j].stock, NULL); +#endif else menuitem = gtk_menu_item_new_with_label( - _(items[j].stock)); + _(items[j].label)); g_signal_connect_swapped(menuitem, "activate", G_CALLBACK( items[j].callback), task); gtk_menu_shell_append(GTK_MENU_SHELL(menu), menuitem); @@ -853,8 +874,7 @@ static gboolean _task_on_popup(gpointer data) continue; if(max++ != 1) continue; - menuitem = gtk_image_menu_item_new_from_stock(_("Maximize"), - NULL); + menuitem = gtk_menu_item_new_with_label(_("Maximize")); g_signal_connect_swapped(menuitem, "activate", G_CALLBACK( _task_on_popup_maximize), task); gtk_menu_shell_append(GTK_MENU_SHELL(menu), menuitem); diff --git a/src/applets/wpa_supplicant.c b/src/applets/wpa_supplicant.c index 7f9c7ad..71e6ec7 100644 --- a/src/applets/wpa_supplicant.c +++ b/src/applets/wpa_supplicant.c @@ -1071,8 +1071,13 @@ static void _clicked_available(WPA * wpa, GtkWidget * menu) /* reassociate */ menuitem = gtk_image_menu_item_new_with_label(_("Reassociate")); #if GTK_CHECK_VERSION(2, 12, 0) +# if GTK_CHECK_VERSION(3, 10, 0) + image = gtk_image_new_from_icon_name(GTK_STOCK_DISCARD, + GTK_ICON_SIZE_MENU); +# else image = gtk_image_new_from_stock(GTK_STOCK_DISCARD, GTK_ICON_SIZE_MENU); +# endif gtk_image_menu_item_set_image(GTK_IMAGE_MENU_ITEM(menuitem), image); #endif @@ -1080,15 +1085,25 @@ static void _clicked_available(WPA * wpa, GtkWidget * menu) _clicked_on_reassociate), wpa); gtk_menu_shell_append(GTK_MENU_SHELL(menu), menuitem); /* disconnect */ - menuitem = gtk_image_menu_item_new_from_stock( - GTK_STOCK_DISCONNECT, NULL); + menuitem = gtk_image_menu_item_new_with_label(_("Disconnect")); +#if GTK_CHECK_VERSION(3, 10, 0) + image = gtk_image_new_from_icon_name( +#else + image = gtk_image_new_from_stock( +#endif + GTK_STOCK_DISCONNECT, GTK_ICON_SIZE_MENU); g_signal_connect_swapped(menuitem, "activate", G_CALLBACK( _clicked_on_disconnect), wpa); gtk_menu_shell_append(GTK_MENU_SHELL(menu), menuitem); } /* rescan */ menuitem = gtk_image_menu_item_new_with_label(_("Rescan")); - image = gtk_image_new_from_stock(GTK_STOCK_REFRESH, GTK_ICON_SIZE_MENU); +#if GTK_CHECK_VERSION(3, 10, 0) + image = gtk_image_new_from_icon_name( +#else + image = gtk_image_new_from_stock( +#endif + GTK_STOCK_REFRESH, GTK_ICON_SIZE_MENU); gtk_image_menu_item_set_image(GTK_IMAGE_MENU_ITEM(menuitem), image); g_signal_connect_swapped(menuitem, "activate", G_CALLBACK( _clicked_on_rescan), wpa); @@ -1154,8 +1169,15 @@ static void _clicked_preferences(WPA * wpa, GtkWidget * menu) { GtkWidget * menuitem; +#if GTK_CHECK_VERSION(3, 10, 0) + menuitem = gtk_image_menu_item_new_with_label(_("Preferences")); + gtk_image_menu_item_set_image(GTK_IMAGE_MENU_ITEM(menuitem), + gtk_image_new_from_icon_name(GTK_STOCK_PREFERENCES, + GTK_ICON_SIZE_MENU)); +#else menuitem = gtk_image_menu_item_new_from_stock(GTK_STOCK_PREFERENCES, NULL); +#endif g_signal_connect_swapped(menuitem, "activate", G_CALLBACK( _clicked_on_preferences), wpa); gtk_menu_shell_append(GTK_MENU_SHELL(menu), menuitem); diff --git a/tools/message.c b/tools/message.c index 3f38a79..670cd09 100644 --- a/tools/message.c +++ b/tools/message.c @@ -80,9 +80,11 @@ static int _message(unsigned int timeout, char const * stock, hbox = gtk_hbox_new(FALSE, 4); #endif /* icon */ +#if !GTK_CHECK_VERSION(3, 10, 0) if(strncmp(stock, "stock_", 6) == 0) widget = gtk_image_new_from_stock(stock, GTK_ICON_SIZE_DIALOG); else +#endif widget = gtk_image_new_from_icon_name(stock, GTK_ICON_SIZE_DIALOG); gtk_box_pack_start(GTK_BOX(hbox), widget, FALSE, TRUE, 0); @@ -93,7 +95,11 @@ static int _message(unsigned int timeout, char const * stock, vbox = gtk_vbox_new(FALSE, 4); #endif widget = gtk_label_new(title); - gtk_misc_set_alignment(GTK_MISC(widget), 0.0, 0.0); +#if GTK_CHECK_VERSION(3, 14, 0) + g_object_set(widget, "halign", 0.0, NULL); +#else + gtk_misc_set_alignment(GTK_MISC(widget), 0.0, 0.5); +#endif #if GTK_CHECK_VERSION(3, 0, 0) gtk_widget_override_font(widget, bold); #else @@ -102,14 +108,22 @@ static int _message(unsigned int timeout, char const * stock, gtk_box_pack_start(GTK_BOX(vbox), widget, FALSE, TRUE, 0); /* label */ widget = gtk_label_new(message); - gtk_misc_set_alignment(GTK_MISC(widget), 0.0, 0.0); +#if GTK_CHECK_VERSION(3, 14, 0) + g_object_set(widget, "halign", 0.0, NULL); +#else + gtk_misc_set_alignment(GTK_MISC(widget), 0.0, 0.5); +#endif gtk_box_pack_start(GTK_BOX(vbox), widget, TRUE, TRUE, 0); gtk_box_pack_start(GTK_BOX(hbox), vbox, TRUE, TRUE, 0); /* button */ widget = gtk_button_new(); gtk_button_set_relief(GTK_BUTTON(widget), GTK_RELIEF_NONE); - image = gtk_image_new_from_stock(GTK_STOCK_CLOSE, - GTK_ICON_SIZE_BUTTON); +#if GTK_CHECK_VERSION(3, 10, 0) + image = gtk_image_new_from_icon_name( +#else + image = gtk_image_new_from_stock( +#endif + GTK_STOCK_CLOSE, GTK_ICON_SIZE_BUTTON); gtk_button_set_image(GTK_BUTTON(widget), image); g_signal_connect(widget, "clicked", G_CALLBACK(gtk_main_quit), NULL); gtk_box_pack_start(GTK_BOX(hbox), widget, FALSE, TRUE, 0); diff --git a/tools/wifibrowser.c b/tools/wifibrowser.c index 23c6cbc..efad42c 100644 --- a/tools/wifibrowser.c +++ b/tools/wifibrowser.c @@ -295,13 +295,27 @@ static gboolean _wifibrowser_on_view_button_press(GtkWidget * widget, return FALSE; gtk_tree_model_get(model, &iter, WSR_SSID, &ssid, -1); menu = gtk_menu_new(); +#if GTK_CHECK_VERSION(3, 10, 0) + widget = gtk_image_menu_item_new_with_label(_("Connect")); + gtk_image_menu_item_set_image(GTK_IMAGE_MENU_ITEM(widget), + gtk_image_new_from_icon_name(GTK_STOCK_CONNECT, + GTK_ICON_SIZE_MENU)); +#else widget = gtk_image_menu_item_new_from_stock(GTK_STOCK_CONNECT, NULL); +#endif if(ssid != NULL) g_object_set_data(G_OBJECT(widget), "ssid", ssid); g_signal_connect(widget, "activate", G_CALLBACK( _clicked_on_network_activated), wpa); gtk_menu_shell_append(GTK_MENU_SHELL(menu), widget); +#if GTK_CHECK_VERSION(3, 10, 0) + widget = gtk_image_menu_item_new_with_label(_("Disconnect")); + gtk_image_menu_item_set_image(GTK_IMAGE_MENU_ITEM(widget), + gtk_image_new_from_icon_name(GTK_STOCK_DISCONNECT, + GTK_ICON_SIZE_MENU)); +#else widget = gtk_image_menu_item_new_from_stock(GTK_STOCK_DISCONNECT, NULL); +#endif g_signal_connect_swapped(widget, "activate", G_CALLBACK( _clicked_on_disconnect), wpa); gtk_menu_shell_append(GTK_MENU_SHELL(menu), widget);