Skip to content

Commit 8e196da

Browse files
sc0wraveit65
authored andcommitted
applet.c: avoid deprecated GtkImageMenuItem
avoid deprecated: gtk_image_menu_item_new_with_mnemonic gtk_image_menu_item_set_image
1 parent 83be983 commit 8e196da

File tree

3 files changed

+95
-33
lines changed

3 files changed

+95
-33
lines changed

‎mate-panel/applet.c‎

Lines changed: 31 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@
1616
#include <gio/gio.h>
1717

1818
#include <libpanel-util/panel-show.h>
19+
#include <libpanel-util/panel-gtk.h>
1920

2021
#include "button-widget.h"
2122
#include "drawer.h"
@@ -41,6 +42,8 @@ static GSList *registered_applets = NULL;
4142
static GSList *queued_position_saves = NULL;
4243
static guint queued_position_source = 0;
4344

45+
static GtkCheckMenuItem *checkbox_id = NULL;
46+
4447
static void applet_menu_show (GtkWidget *w, AppletInfo *info);
4548
static void applet_menu_deactivate (GtkWidget *w, AppletInfo *info);
4649

@@ -98,14 +101,21 @@ mate_panel_applet_toggle_locked (AppletInfo *info)
98101
}
99102

100103
static void
101-
mate_panel_applet_lock (GtkCheckMenuItem *menuitem,
102-
AppletInfo *info)
104+
checkbox_status (GtkCheckMenuItem *menuitem,
105+
AppletInfo *info)
106+
{
107+
checkbox_id = GTK_CHECK_MENU_ITEM (menuitem);
108+
}
109+
110+
static void
111+
mate_panel_applet_lock (GtkMenuItem *menuitem,
112+
AppletInfo *info)
103113
{
104114
gboolean locked;
105115

106116
locked = mate_panel_applet_toggle_locked (info);
107117

108-
gtk_check_menu_item_set_active (menuitem, locked);
118+
gtk_check_menu_item_set_active (checkbox_id, locked);
109119

110120
if (info->move_item)
111121
gtk_widget_set_sensitive (info->move_item, !locked);
@@ -382,15 +392,8 @@ setup_an_item (AppletUserMenu *menu,
382392
GtkWidget *submenu,
383393
int is_submenu)
384394
{
385-
GtkWidget *image = NULL;
386-
387-
menu->menuitem = gtk_image_menu_item_new_with_mnemonic (menu->text);
388-
if (menu->gicon) {
389-
image = gtk_image_new_from_gicon (menu->gicon,
390-
GTK_ICON_SIZE_MENU);
391-
gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (menu->menuitem),
392-
image);
393-
}
395+
menu->menuitem = panel_image_menu_item_new_from_gicon (menu->gicon, menu->text);
396+
394397
gtk_widget_show (menu->menuitem);
395398

396399
g_signal_connect (G_OBJECT (menu->menuitem), "destroy",
@@ -503,6 +506,8 @@ mate_panel_applet_create_menu (AppletInfo *info)
503506

504507
menu = g_object_ref_sink (gtk_menu_new ());
505508

509+
gtk_menu_set_reserve_toggle_size (GTK_MENU (menu), FALSE);
510+
506511
/* connect the show & deactivate signal, so that we can "disallow" and
507512
* "re-allow" autohide when the menu is shown/deactivated.
508513
*/
@@ -524,7 +529,6 @@ mate_panel_applet_create_menu (AppletInfo *info)
524529
}
525530

526531
if (!panel_lockdown_get_locked_down ()) {
527-
GtkWidget *image;
528532
gboolean locked;
529533
gboolean lockable;
530534
gboolean movable;
@@ -542,18 +546,16 @@ mate_panel_applet_create_menu (AppletInfo *info)
542546
gtk_widget_show (menuitem);
543547
}
544548

545-
menuitem = gtk_image_menu_item_new_with_mnemonic (_("_Remove From Panel"));
546-
image = gtk_image_new_from_icon_name ("list-remove",
547-
GTK_ICON_SIZE_MENU);
548-
gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (menuitem),
549-
image);
549+
menuitem = panel_image_menu_item_new_from_icon ("list-remove", _("_Remove From Panel"));
550+
550551
g_signal_connect (menuitem, "activate",
551552
G_CALLBACK (applet_remove_callback), info);
552553
gtk_widget_show (menuitem);
553554
gtk_menu_shell_append (GTK_MENU_SHELL (menu), menuitem);
554555
gtk_widget_set_sensitive (menuitem, (!locked || lockable) && removable);
555556

556-
menuitem = gtk_menu_item_new_with_mnemonic (_("_Move"));
557+
menuitem = panel_image_menu_item_new_from_icon (NULL, _("_Move"));
558+
557559
g_signal_connect (menuitem, "activate",
558560
G_CALLBACK (move_applet_callback), info);
559561
gtk_widget_show (menuitem);
@@ -571,11 +573,20 @@ mate_panel_applet_create_menu (AppletInfo *info)
571573
gtk_widget_show (menuitem);
572574

573575
menuitem = gtk_check_menu_item_new_with_mnemonic (_("Loc_k To Panel"));
576+
574577
gtk_check_menu_item_set_active (GTK_CHECK_MENU_ITEM (menuitem),
575578
locked);
576-
g_signal_connect (menuitem, "toggled",
579+
580+
g_signal_connect (menuitem, "map",
581+
G_CALLBACK (checkbox_status), info);
582+
583+
menuitem = panel_check_menu_item_new (menuitem);
584+
585+
g_signal_connect (menuitem, "activate",
577586
G_CALLBACK (mate_panel_applet_lock), info);
587+
578588
gtk_widget_show (menuitem);
589+
579590
gtk_menu_shell_append (GTK_MENU_SHELL (menu), menuitem);
580591
gtk_widget_set_sensitive (menuitem, lockable);
581592

‎mate-panel/libpanel-util/panel-gtk.c‎

Lines changed: 59 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -164,22 +164,68 @@ GtkWidget *
164164
panel_image_menu_item_new_from_icon (const gchar *icon_name,
165165
const gchar *label_name)
166166
{
167-
GtkWidget *icon;
168-
GtkWidget *box = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 6);
167+
GtkWidget *icon;
168+
GtkWidget *box = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 6);
169169

170-
if (icon_name)
171-
icon = gtk_image_new_from_icon_name (icon_name, GTK_ICON_SIZE_MENU);
172-
else
173-
icon = gtk_image_new ();
170+
if (icon_name)
171+
icon = gtk_image_new_from_icon_name (icon_name, GTK_ICON_SIZE_MENU);
172+
else
173+
icon = gtk_image_new ();
174174

175-
GtkWidget *label_menu = gtk_label_new_with_mnemonic (g_strconcat (label_name, " ", NULL));
176-
GtkWidget *menuitem = gtk_menu_item_new ();
175+
GtkWidget *label_menu = gtk_label_new_with_mnemonic (g_strconcat (label_name, " ", NULL));
176+
GtkWidget *menuitem = gtk_menu_item_new ();
177177

178-
gtk_container_add (GTK_CONTAINER (box), icon);
179-
gtk_container_add (GTK_CONTAINER (box), label_menu);
178+
gtk_container_add (GTK_CONTAINER (box), icon);
179+
gtk_container_add (GTK_CONTAINER (box), label_menu);
180180

181-
gtk_container_add (GTK_CONTAINER (menuitem), box);
182-
gtk_widget_show_all (menuitem);
181+
gtk_container_add (GTK_CONTAINER (menuitem), box);
182+
gtk_widget_show_all (menuitem);
183183

184-
return menuitem;
184+
return menuitem;
185+
}
186+
187+
GtkWidget *
188+
panel_image_menu_item_new_from_gicon (GIcon *gicon,
189+
const gchar *label_name)
190+
{
191+
GtkWidget *icon;
192+
GtkWidget *box = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 6);
193+
194+
if (gicon)
195+
icon = gtk_image_new_from_gicon (gicon, GTK_ICON_SIZE_MENU);
196+
else
197+
icon = gtk_image_new ();
198+
199+
GtkWidget *label_menu = gtk_label_new_with_mnemonic (g_strconcat (label_name, " ", NULL));
200+
GtkWidget *menuitem = gtk_menu_item_new ();
201+
202+
gtk_container_add (GTK_CONTAINER (box), icon);
203+
gtk_container_add (GTK_CONTAINER (box), label_menu);
204+
205+
gtk_container_add (GTK_CONTAINER (menuitem), box);
206+
gtk_widget_show_all (menuitem);
207+
208+
return menuitem;
209+
}
210+
211+
GtkWidget *
212+
panel_check_menu_item_new (GtkWidget *widget_check)
213+
{
214+
GtkWidget *box = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 6);
215+
GtkWidget *menuitem = gtk_menu_item_new ();
216+
GtkWidget *label_name = gtk_bin_get_child (GTK_BIN (widget_check));
217+
218+
gtk_label_set_text_with_mnemonic (GTK_LABEL (label_name),
219+
g_strconcat (gtk_label_get_label (GTK_LABEL (label_name)), " ", NULL));
220+
221+
gtk_widget_set_margin_start (widget_check, 2);
222+
gtk_widget_set_margin_start (gtk_bin_get_child (GTK_BIN (widget_check)), 11);
223+
gtk_box_pack_start (GTK_BOX (box), widget_check, FALSE, FALSE, 5);
224+
225+
gtk_container_add (GTK_CONTAINER (menuitem), box);
226+
gtk_widget_show_all (menuitem);
227+
228+
gtk_label_set_mnemonic_widget (GTK_LABEL (label_name), menuitem);
229+
230+
return menuitem;
185231
}

‎mate-panel/libpanel-util/panel-gtk.h‎

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,11 @@ GtkWidget* panel_file_chooser_dialog_new (const gchar *title,
4949
GtkWidget* panel_image_menu_item_new_from_icon (const gchar *icon_name,
5050
const gchar *label_name);
5151

52+
GtkWidget* panel_image_menu_item_new_from_gicon (GIcon *gicon,
53+
const gchar *label_name);
54+
55+
GtkWidget* panel_check_menu_item_new (GtkWidget *widget_check);
56+
5257
#ifdef __cplusplus
5358
}
5459
#endif

0 commit comments

Comments
 (0)