Skip to content

Commit

Permalink
applet.c: avoid deprecated GtkImageMenuItem
Browse files Browse the repository at this point in the history
avoid deprecated:

gtk_image_menu_item_new_with_mnemonic
gtk_image_menu_item_set_image
  • Loading branch information
sc0w authored and raveit65 committed May 7, 2018
1 parent 83be983 commit 8e196da
Show file tree
Hide file tree
Showing 3 changed files with 95 additions and 33 deletions.
51 changes: 31 additions & 20 deletions mate-panel/applet.c
Expand Up @@ -16,6 +16,7 @@
#include <gio/gio.h> #include <gio/gio.h>


#include <libpanel-util/panel-show.h> #include <libpanel-util/panel-show.h>
#include <libpanel-util/panel-gtk.h>


#include "button-widget.h" #include "button-widget.h"
#include "drawer.h" #include "drawer.h"
Expand All @@ -41,6 +42,8 @@ static GSList *registered_applets = NULL;
static GSList *queued_position_saves = NULL; static GSList *queued_position_saves = NULL;
static guint queued_position_source = 0; static guint queued_position_source = 0;


static GtkCheckMenuItem *checkbox_id = NULL;

static void applet_menu_show (GtkWidget *w, AppletInfo *info); static void applet_menu_show (GtkWidget *w, AppletInfo *info);
static void applet_menu_deactivate (GtkWidget *w, AppletInfo *info); static void applet_menu_deactivate (GtkWidget *w, AppletInfo *info);


Expand Down Expand Up @@ -98,14 +101,21 @@ mate_panel_applet_toggle_locked (AppletInfo *info)
} }


static void static void
mate_panel_applet_lock (GtkCheckMenuItem *menuitem, checkbox_status (GtkCheckMenuItem *menuitem,
AppletInfo *info) AppletInfo *info)
{
checkbox_id = GTK_CHECK_MENU_ITEM (menuitem);
}

static void
mate_panel_applet_lock (GtkMenuItem *menuitem,
AppletInfo *info)
{ {
gboolean locked; gboolean locked;


locked = mate_panel_applet_toggle_locked (info); locked = mate_panel_applet_toggle_locked (info);


gtk_check_menu_item_set_active (menuitem, locked); gtk_check_menu_item_set_active (checkbox_id, locked);


if (info->move_item) if (info->move_item)
gtk_widget_set_sensitive (info->move_item, !locked); gtk_widget_set_sensitive (info->move_item, !locked);
Expand Down Expand Up @@ -382,15 +392,8 @@ setup_an_item (AppletUserMenu *menu,
GtkWidget *submenu, GtkWidget *submenu,
int is_submenu) int is_submenu)
{ {
GtkWidget *image = NULL; menu->menuitem = panel_image_menu_item_new_from_gicon (menu->gicon, menu->text);


menu->menuitem = gtk_image_menu_item_new_with_mnemonic (menu->text);
if (menu->gicon) {
image = gtk_image_new_from_gicon (menu->gicon,
GTK_ICON_SIZE_MENU);
gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (menu->menuitem),
image);
}
gtk_widget_show (menu->menuitem); gtk_widget_show (menu->menuitem);


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


menu = g_object_ref_sink (gtk_menu_new ()); menu = g_object_ref_sink (gtk_menu_new ());


gtk_menu_set_reserve_toggle_size (GTK_MENU (menu), FALSE);

/* connect the show & deactivate signal, so that we can "disallow" and /* connect the show & deactivate signal, so that we can "disallow" and
* "re-allow" autohide when the menu is shown/deactivated. * "re-allow" autohide when the menu is shown/deactivated.
*/ */
Expand All @@ -524,7 +529,6 @@ mate_panel_applet_create_menu (AppletInfo *info)
} }


if (!panel_lockdown_get_locked_down ()) { if (!panel_lockdown_get_locked_down ()) {
GtkWidget *image;
gboolean locked; gboolean locked;
gboolean lockable; gboolean lockable;
gboolean movable; gboolean movable;
Expand All @@ -542,18 +546,16 @@ mate_panel_applet_create_menu (AppletInfo *info)
gtk_widget_show (menuitem); gtk_widget_show (menuitem);
} }


menuitem = gtk_image_menu_item_new_with_mnemonic (_("_Remove From Panel")); menuitem = panel_image_menu_item_new_from_icon ("list-remove", _("_Remove From Panel"));
image = gtk_image_new_from_icon_name ("list-remove",
GTK_ICON_SIZE_MENU);
gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (menuitem),
image);
g_signal_connect (menuitem, "activate", g_signal_connect (menuitem, "activate",
G_CALLBACK (applet_remove_callback), info); G_CALLBACK (applet_remove_callback), info);
gtk_widget_show (menuitem); gtk_widget_show (menuitem);
gtk_menu_shell_append (GTK_MENU_SHELL (menu), menuitem); gtk_menu_shell_append (GTK_MENU_SHELL (menu), menuitem);
gtk_widget_set_sensitive (menuitem, (!locked || lockable) && removable); gtk_widget_set_sensitive (menuitem, (!locked || lockable) && removable);


menuitem = gtk_menu_item_new_with_mnemonic (_("_Move")); menuitem = panel_image_menu_item_new_from_icon (NULL, _("_Move"));

g_signal_connect (menuitem, "activate", g_signal_connect (menuitem, "activate",
G_CALLBACK (move_applet_callback), info); G_CALLBACK (move_applet_callback), info);
gtk_widget_show (menuitem); gtk_widget_show (menuitem);
Expand All @@ -571,11 +573,20 @@ mate_panel_applet_create_menu (AppletInfo *info)
gtk_widget_show (menuitem); gtk_widget_show (menuitem);


menuitem = gtk_check_menu_item_new_with_mnemonic (_("Loc_k To Panel")); menuitem = gtk_check_menu_item_new_with_mnemonic (_("Loc_k To Panel"));

gtk_check_menu_item_set_active (GTK_CHECK_MENU_ITEM (menuitem), gtk_check_menu_item_set_active (GTK_CHECK_MENU_ITEM (menuitem),
locked); locked);
g_signal_connect (menuitem, "toggled",
g_signal_connect (menuitem, "map",
G_CALLBACK (checkbox_status), info);

menuitem = panel_check_menu_item_new (menuitem);

g_signal_connect (menuitem, "activate",
G_CALLBACK (mate_panel_applet_lock), info); G_CALLBACK (mate_panel_applet_lock), info);

gtk_widget_show (menuitem); gtk_widget_show (menuitem);

gtk_menu_shell_append (GTK_MENU_SHELL (menu), menuitem); gtk_menu_shell_append (GTK_MENU_SHELL (menu), menuitem);
gtk_widget_set_sensitive (menuitem, lockable); gtk_widget_set_sensitive (menuitem, lockable);


Expand Down
72 changes: 59 additions & 13 deletions mate-panel/libpanel-util/panel-gtk.c
Expand Up @@ -164,22 +164,68 @@ GtkWidget *
panel_image_menu_item_new_from_icon (const gchar *icon_name, panel_image_menu_item_new_from_icon (const gchar *icon_name,
const gchar *label_name) const gchar *label_name)
{ {
GtkWidget *icon; GtkWidget *icon;
GtkWidget *box = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 6); GtkWidget *box = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 6);


if (icon_name) if (icon_name)
icon = gtk_image_new_from_icon_name (icon_name, GTK_ICON_SIZE_MENU); icon = gtk_image_new_from_icon_name (icon_name, GTK_ICON_SIZE_MENU);
else else
icon = gtk_image_new (); icon = gtk_image_new ();


GtkWidget *label_menu = gtk_label_new_with_mnemonic (g_strconcat (label_name, " ", NULL)); GtkWidget *label_menu = gtk_label_new_with_mnemonic (g_strconcat (label_name, " ", NULL));
GtkWidget *menuitem = gtk_menu_item_new (); GtkWidget *menuitem = gtk_menu_item_new ();


gtk_container_add (GTK_CONTAINER (box), icon); gtk_container_add (GTK_CONTAINER (box), icon);
gtk_container_add (GTK_CONTAINER (box), label_menu); gtk_container_add (GTK_CONTAINER (box), label_menu);


gtk_container_add (GTK_CONTAINER (menuitem), box); gtk_container_add (GTK_CONTAINER (menuitem), box);
gtk_widget_show_all (menuitem); gtk_widget_show_all (menuitem);


return menuitem; return menuitem;
}

GtkWidget *
panel_image_menu_item_new_from_gicon (GIcon *gicon,
const gchar *label_name)
{
GtkWidget *icon;
GtkWidget *box = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 6);

if (gicon)
icon = gtk_image_new_from_gicon (gicon, GTK_ICON_SIZE_MENU);
else
icon = gtk_image_new ();

GtkWidget *label_menu = gtk_label_new_with_mnemonic (g_strconcat (label_name, " ", NULL));
GtkWidget *menuitem = gtk_menu_item_new ();

gtk_container_add (GTK_CONTAINER (box), icon);
gtk_container_add (GTK_CONTAINER (box), label_menu);

gtk_container_add (GTK_CONTAINER (menuitem), box);
gtk_widget_show_all (menuitem);

return menuitem;
}

GtkWidget *
panel_check_menu_item_new (GtkWidget *widget_check)
{
GtkWidget *box = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 6);
GtkWidget *menuitem = gtk_menu_item_new ();
GtkWidget *label_name = gtk_bin_get_child (GTK_BIN (widget_check));

gtk_label_set_text_with_mnemonic (GTK_LABEL (label_name),
g_strconcat (gtk_label_get_label (GTK_LABEL (label_name)), " ", NULL));

gtk_widget_set_margin_start (widget_check, 2);
gtk_widget_set_margin_start (gtk_bin_get_child (GTK_BIN (widget_check)), 11);
gtk_box_pack_start (GTK_BOX (box), widget_check, FALSE, FALSE, 5);

gtk_container_add (GTK_CONTAINER (menuitem), box);
gtk_widget_show_all (menuitem);

gtk_label_set_mnemonic_widget (GTK_LABEL (label_name), menuitem);

return menuitem;
} }
5 changes: 5 additions & 0 deletions mate-panel/libpanel-util/panel-gtk.h
Expand Up @@ -49,6 +49,11 @@ GtkWidget* panel_file_chooser_dialog_new (const gchar *title,
GtkWidget* panel_image_menu_item_new_from_icon (const gchar *icon_name, GtkWidget* panel_image_menu_item_new_from_icon (const gchar *icon_name,
const gchar *label_name); const gchar *label_name);


GtkWidget* panel_image_menu_item_new_from_gicon (GIcon *gicon,
const gchar *label_name);

GtkWidget* panel_check_menu_item_new (GtkWidget *widget_check);

#ifdef __cplusplus #ifdef __cplusplus
} }
#endif #endif
Expand Down

0 comments on commit 8e196da

Please sign in to comment.