Deprecate GtkImageMenuItem

Use GtkMenuItem for menus with only text or GMenu for those
with icons for "nouns" and just text for "verbs".
This commit is contained in:
William Jon McCann 2013-06-27 18:48:46 -04:00
parent d741b7b873
commit b86588e9f5
10 changed files with 70 additions and 24 deletions

View File

@ -209,7 +209,9 @@ gtk_action_class_init (GtkActionClass *klass)
klass->create_menu_item = create_menu_item; klass->create_menu_item = create_menu_item;
klass->create_tool_item = create_tool_item; klass->create_tool_item = create_tool_item;
klass->create_menu = NULL; klass->create_menu = NULL;
G_GNUC_BEGIN_IGNORE_DEPRECATIONS;
klass->menu_item_type = GTK_TYPE_IMAGE_MENU_ITEM; klass->menu_item_type = GTK_TYPE_IMAGE_MENU_ITEM;
G_GNUC_END_IGNORE_DEPRECATIONS;
klass->toolbar_item_type = GTK_TYPE_TOOL_BUTTON; klass->toolbar_item_type = GTK_TYPE_TOOL_BUTTON;
klass->connect_proxy = connect_proxy; klass->connect_proxy = connect_proxy;
klass->disconnect_proxy = disconnect_proxy; klass->disconnect_proxy = disconnect_proxy;

View File

@ -24,6 +24,8 @@
#include "config.h" #include "config.h"
#define GDK_DISABLE_DEPRECATION_WARNINGS
#include "gtkimagemenuitem.h" #include "gtkimagemenuitem.h"
#include "gtkmenuitemprivate.h" #include "gtkmenuitemprivate.h"
@ -149,6 +151,13 @@ gtk_image_menu_item_class_init (GtkImageMenuItemClass *klass)
gobject_class->set_property = gtk_image_menu_item_set_property; gobject_class->set_property = gtk_image_menu_item_set_property;
gobject_class->get_property = gtk_image_menu_item_get_property; gobject_class->get_property = gtk_image_menu_item_get_property;
/**
* GtkImageMenuItem:image:
*
* Child widget to appear next to the menu text.
*
* Deprecated: 3.10
*/
g_object_class_install_property (gobject_class, g_object_class_install_property (gobject_class,
PROP_IMAGE, PROP_IMAGE,
g_param_spec_object ("image", g_param_spec_object ("image",
@ -183,6 +192,8 @@ gtk_image_menu_item_class_init (GtkImageMenuItemClass *klass)
* without the image. * without the image.
* *
* Since: 2.16 * Since: 2.16
*
* Deprecated: 3.10
*/ */
g_object_class_install_property (gobject_class, g_object_class_install_property (gobject_class,
PROP_ALWAYS_SHOW_IMAGE, PROP_ALWAYS_SHOW_IMAGE,
@ -784,6 +795,8 @@ gtk_image_menu_item_sync_action_properties (GtkActivatable *activatable,
* Creates a new #GtkImageMenuItem with an empty label. * Creates a new #GtkImageMenuItem with an empty label.
* *
* Returns: a new #GtkImageMenuItem * Returns: a new #GtkImageMenuItem
*
* Deprecated: 3.10: Use gtk_menu_item_new() instead.
*/ */
GtkWidget* GtkWidget*
gtk_image_menu_item_new (void) gtk_image_menu_item_new (void)
@ -798,6 +811,8 @@ gtk_image_menu_item_new (void)
* Creates a new #GtkImageMenuItem containing a label. * Creates a new #GtkImageMenuItem containing a label.
* *
* Returns: a new #GtkImageMenuItem. * Returns: a new #GtkImageMenuItem.
*
* Deprecated: 3.10: Use gtk_menu_item_new_with_label() instead.
*/ */
GtkWidget* GtkWidget*
gtk_image_menu_item_new_with_label (const gchar *label) gtk_image_menu_item_new_with_label (const gchar *label)
@ -817,6 +832,8 @@ gtk_image_menu_item_new_with_label (const gchar *label)
* in @label indicate the mnemonic for the menu item. * in @label indicate the mnemonic for the menu item.
* *
* Returns: a new #GtkImageMenuItem * Returns: a new #GtkImageMenuItem
*
* Deprecated: 3.10: Use gtk_menu_item_new_with_mnemonic() instead.
*/ */
GtkWidget* GtkWidget*
gtk_image_menu_item_new_with_mnemonic (const gchar *label) gtk_image_menu_item_new_with_mnemonic (const gchar *label)
@ -923,6 +940,8 @@ gtk_image_menu_item_get_use_stock (GtkImageMenuItem *image_menu_item)
* without the image. * without the image.
* *
* Since: 2.16 * Since: 2.16
*
* Deprecated: 3.10
*/ */
void void
gtk_image_menu_item_set_always_show_image (GtkImageMenuItem *image_menu_item, gtk_image_menu_item_set_always_show_image (GtkImageMenuItem *image_menu_item,
@ -959,6 +978,8 @@ gtk_image_menu_item_set_always_show_image (GtkImageMenuItem *image_menu_item,
* Returns: %TRUE if the menu item will always show the image * Returns: %TRUE if the menu item will always show the image
* *
* Since: 2.16 * Since: 2.16
*
* Deprecated: 3.10
*/ */
gboolean gboolean
gtk_image_menu_item_get_always_show_image (GtkImageMenuItem *image_menu_item) gtk_image_menu_item_get_always_show_image (GtkImageMenuItem *image_menu_item)
@ -1029,6 +1050,8 @@ gtk_image_menu_item_set_accel_group (GtkImageMenuItem *image_menu_item,
* Sets the image of @image_menu_item to the given widget. * Sets the image of @image_menu_item to the given widget.
* Note that it depends on the show-menu-images setting whether * Note that it depends on the show-menu-images setting whether
* the image will be displayed or not. * the image will be displayed or not.
*
* Deprecated: 3.10
*/ */
void void
gtk_image_menu_item_set_image (GtkImageMenuItem *image_menu_item, gtk_image_menu_item_set_image (GtkImageMenuItem *image_menu_item,
@ -1069,6 +1092,8 @@ gtk_image_menu_item_set_image (GtkImageMenuItem *image_menu_item,
* See gtk_image_menu_item_set_image(). * See gtk_image_menu_item_set_image().
* *
* Return value: (transfer none): the widget set as image of @image_menu_item * Return value: (transfer none): the widget set as image of @image_menu_item
*
* Deprecated: 3.10
**/ **/
GtkWidget* GtkWidget*
gtk_image_menu_item_get_image (GtkImageMenuItem *image_menu_item) gtk_image_menu_item_get_image (GtkImageMenuItem *image_menu_item)

View File

@ -66,27 +66,26 @@ struct _GtkImageMenuItemClass
void (*_gtk_reserved4) (void); void (*_gtk_reserved4) (void);
}; };
GDK_DEPRECATED_IN_3_10_FOR(gtk_menu_item_get_type)
GDK_AVAILABLE_IN_ALL
GType gtk_image_menu_item_get_type (void) G_GNUC_CONST; GType gtk_image_menu_item_get_type (void) G_GNUC_CONST;
GDK_AVAILABLE_IN_ALL GDK_DEPRECATED_IN_3_10_FOR(gtk_menu_item_new)
GtkWidget* gtk_image_menu_item_new (void); GtkWidget* gtk_image_menu_item_new (void);
GDK_AVAILABLE_IN_ALL GDK_DEPRECATED_IN_3_10_FOR(gtk_menu_item_new_with_label)
GtkWidget* gtk_image_menu_item_new_with_label (const gchar *label); GtkWidget* gtk_image_menu_item_new_with_label (const gchar *label);
GDK_AVAILABLE_IN_ALL GDK_DEPRECATED_IN_3_10_FOR(gtk_menu_item_new_with_mnemonic)
GtkWidget* gtk_image_menu_item_new_with_mnemonic (const gchar *label); GtkWidget* gtk_image_menu_item_new_with_mnemonic (const gchar *label);
GDK_DEPRECATED_IN_3_10_FOR(gtk_image_menu_item_new) GDK_DEPRECATED_IN_3_10_FOR(gtk_menu_item_new)
GtkWidget* gtk_image_menu_item_new_from_stock (const gchar *stock_id, GtkWidget* gtk_image_menu_item_new_from_stock (const gchar *stock_id,
GtkAccelGroup *accel_group); GtkAccelGroup *accel_group);
GDK_AVAILABLE_IN_ALL GDK_DEPRECATED_IN_3_10
void gtk_image_menu_item_set_always_show_image (GtkImageMenuItem *image_menu_item, void gtk_image_menu_item_set_always_show_image (GtkImageMenuItem *image_menu_item,
gboolean always_show); gboolean always_show);
GDK_AVAILABLE_IN_ALL GDK_DEPRECATED_IN_3_10
gboolean gtk_image_menu_item_get_always_show_image (GtkImageMenuItem *image_menu_item); gboolean gtk_image_menu_item_get_always_show_image (GtkImageMenuItem *image_menu_item);
GDK_AVAILABLE_IN_ALL GDK_DEPRECATED_IN_3_10
void gtk_image_menu_item_set_image (GtkImageMenuItem *image_menu_item, void gtk_image_menu_item_set_image (GtkImageMenuItem *image_menu_item,
GtkWidget *image); GtkWidget *image);
GDK_AVAILABLE_IN_ALL GDK_DEPRECATED_IN_3_10
GtkWidget* gtk_image_menu_item_get_image (GtkImageMenuItem *image_menu_item); GtkWidget* gtk_image_menu_item_get_image (GtkImageMenuItem *image_menu_item);
GDK_DEPRECATED_IN_3_10 GDK_DEPRECATED_IN_3_10
void gtk_image_menu_item_set_use_stock (GtkImageMenuItem *image_menu_item, void gtk_image_menu_item_set_use_stock (GtkImageMenuItem *image_menu_item,

View File

@ -434,7 +434,9 @@ gtk_recent_action_create_menu_item (GtkAction *action)
GtkWidget *menuitem; GtkWidget *menuitem;
menu = gtk_recent_action_create_menu (action); menu = gtk_recent_action_create_menu (action);
G_GNUC_BEGIN_IGNORE_DEPRECATIONS;
menuitem = g_object_new (GTK_TYPE_IMAGE_MENU_ITEM, NULL); menuitem = g_object_new (GTK_TYPE_IMAGE_MENU_ITEM, NULL);
G_GNUC_END_IGNORE_DEPRECATIONS;
gtk_menu_item_set_submenu (GTK_MENU_ITEM (menuitem), menu); gtk_menu_item_set_submenu (GTK_MENU_ITEM (menuitem), menu);
gtk_widget_show (menu); gtk_widget_show (menu);
@ -622,7 +624,9 @@ gtk_recent_action_class_init (GtkRecentActionClass *klass)
action_class->create_menu_item = gtk_recent_action_create_menu_item; action_class->create_menu_item = gtk_recent_action_create_menu_item;
action_class->create_tool_item = gtk_recent_action_create_tool_item; action_class->create_tool_item = gtk_recent_action_create_tool_item;
action_class->create_menu = gtk_recent_action_create_menu; action_class->create_menu = gtk_recent_action_create_menu;
G_GNUC_BEGIN_IGNORE_DEPRECATIONS;
action_class->menu_item_type = GTK_TYPE_IMAGE_MENU_ITEM; action_class->menu_item_type = GTK_TYPE_IMAGE_MENU_ITEM;
G_GNUC_END_IGNORE_DEPRECATIONS;
action_class->toolbar_item_type = GTK_TYPE_MENU_TOOL_BUTTON; action_class->toolbar_item_type = GTK_TYPE_MENU_TOOL_BUTTON;
_gtk_recent_chooser_install_properties (gobject_class); _gtk_recent_chooser_install_properties (gobject_class);

View File

@ -836,22 +836,28 @@ gtk_recent_chooser_menu_create_item (GtkRecentChooserMenu *menu,
* The %d is the number of the item, the %s is the name of the item. * The %d is the number of the item, the %s is the name of the item.
*/ */
text = g_strdup_printf (C_("recent menu label", "%d. %s"), count, escaped); text = g_strdup_printf (C_("recent menu label", "%d. %s"), count, escaped);
G_GNUC_BEGIN_IGNORE_DEPRECATIONS;
item = gtk_image_menu_item_new_with_mnemonic (text); item = gtk_image_menu_item_new_with_mnemonic (text);
G_GNUC_END_IGNORE_DEPRECATIONS;
g_free (escaped); g_free (escaped);
g_free (name); g_free (name);
} }
else else
{ {
text = g_strdup (gtk_recent_info_get_display_name (info)); text = g_strdup (gtk_recent_info_get_display_name (info));
G_GNUC_BEGIN_IGNORE_DEPRECATIONS;
item = gtk_image_menu_item_new_with_label (text); item = gtk_image_menu_item_new_with_label (text);
G_GNUC_END_IGNORE_DEPRECATIONS;
} }
g_free (text); g_free (text);
G_GNUC_BEGIN_IGNORE_DEPRECATIONS;
gtk_image_menu_item_set_always_show_image (GTK_IMAGE_MENU_ITEM (item), gtk_image_menu_item_set_always_show_image (GTK_IMAGE_MENU_ITEM (item),
TRUE); TRUE);
G_GNUC_END_IGNORE_DEPRECATIONS;
/* ellipsize the menu item label, in case the recent document /* ellipsize the menu item label, in case the recent document
* display name is huge. * display name is huge.
@ -868,8 +874,10 @@ gtk_recent_chooser_menu_create_item (GtkRecentChooserMenu *menu,
icon = gtk_recent_info_get_gicon (info); icon = gtk_recent_info_get_gicon (info);
image = gtk_image_new_from_gicon (icon, GTK_ICON_SIZE_MENU); image = gtk_image_new_from_gicon (icon, GTK_ICON_SIZE_MENU);
G_GNUC_BEGIN_IGNORE_DEPRECATIONS;
gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (item), image); gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (item), image);
gtk_image_menu_item_set_always_show_image (GTK_IMAGE_MENU_ITEM (item), TRUE); gtk_image_menu_item_set_always_show_image (GTK_IMAGE_MENU_ITEM (item), TRUE);
G_GNUC_END_IGNORE_DEPRECATIONS;
if (icon) if (icon)
g_object_unref (icon); g_object_unref (icon);
} }

View File

@ -863,8 +863,6 @@ gtk_tool_button_create_menu_proxy (GtkToolItem *item)
label = ""; label = "";
} }
G_GNUC_END_IGNORE_DEPRECATIONS;
if (use_mnemonic) if (use_mnemonic)
menu_item = gtk_image_menu_item_new_with_mnemonic (label); menu_item = gtk_image_menu_item_new_with_mnemonic (label);
else else
@ -876,14 +874,14 @@ gtk_tool_button_create_menu_proxy (GtkToolItem *item)
} }
else if (button->priv->stock_id) else if (button->priv->stock_id)
{ {
G_GNUC_BEGIN_IGNORE_DEPRECATIONS;
menu_image = gtk_image_new_from_stock (button->priv->stock_id, GTK_ICON_SIZE_MENU); menu_image = gtk_image_new_from_stock (button->priv->stock_id, GTK_ICON_SIZE_MENU);
G_GNUC_END_IGNORE_DEPRECATIONS;
} }
if (menu_image) if (menu_image)
gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (menu_item), menu_image); gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (menu_item), menu_image);
G_GNUC_END_IGNORE_DEPRECATIONS;
g_signal_connect_closure_by_id (menu_item, g_signal_connect_closure_by_id (menu_item,
g_signal_lookup ("activate", G_OBJECT_TYPE (menu_item)), 0, g_signal_lookup ("activate", G_OBJECT_TYPE (menu_item)), 0,
g_cclosure_new_object_swap (G_CALLBACK (gtk_button_clicked), g_cclosure_new_object_swap (G_CALLBACK (gtk_button_clicked),

View File

@ -2909,11 +2909,15 @@ G_GNUC_END_IGNORE_DEPRECATIONS
g_object_ref_sink (info->proxy); g_object_ref_sink (info->proxy);
gtk_widget_set_name (info->proxy, info->name); gtk_widget_set_name (info->proxy, info->name);
G_GNUC_BEGIN_IGNORE_DEPRECATIONS;
if (info->always_show_image_set && if (info->always_show_image_set &&
GTK_IS_IMAGE_MENU_ITEM (info->proxy)) GTK_IS_IMAGE_MENU_ITEM (info->proxy))
gtk_image_menu_item_set_always_show_image (GTK_IMAGE_MENU_ITEM (info->proxy), gtk_image_menu_item_set_always_show_image (GTK_IMAGE_MENU_ITEM (info->proxy),
info->always_show_image); info->always_show_image);
G_GNUC_END_IGNORE_DEPRECATIONS;
gtk_menu_shell_insert (GTK_MENU_SHELL (menushell), gtk_menu_shell_insert (GTK_MENU_SHELL (menushell),
info->proxy, pos); info->proxy, pos);
} }

View File

@ -7794,7 +7794,7 @@ gtk_window_do_popup (GtkWindow *window,
gtk_widget_show (menuitem); gtk_widget_show (menuitem);
gtk_menu_shell_append (GTK_MENU_SHELL (priv->popup_menu), menuitem); gtk_menu_shell_append (GTK_MENU_SHELL (priv->popup_menu), menuitem);
menuitem = gtk_image_menu_item_new_with_label (_("Close")); menuitem = gtk_menu_item_new_with_label (_("Close"));
gtk_widget_show (menuitem); gtk_widget_show (menuitem);
if (!priv->deletable) if (!priv->deletable)
gtk_widget_set_sensitive (menuitem, FALSE); gtk_widget_set_sensitive (menuitem, FALSE);

View File

@ -3002,8 +3002,11 @@ create_menu (GdkScreen *screen, gint depth, gint length)
image = gtk_image_new_from_icon_name ("document-open", image = gtk_image_new_from_icon_name ("document-open",
GTK_ICON_SIZE_MENU); GTK_ICON_SIZE_MENU);
gtk_widget_show (image); gtk_widget_show (image);
G_GNUC_BEGIN_IGNORE_DEPRECATIONS;
menuitem = gtk_image_menu_item_new_with_label ("Image item"); menuitem = gtk_image_menu_item_new_with_label ("Image item");
gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (menuitem), image); gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (menuitem), image);
gtk_image_menu_item_set_always_show_image (GTK_IMAGE_MENU_ITEM (menuitem), TRUE);
G_GNUC_END_IGNORE_DEPRECATIONS;
gtk_menu_shell_append (GTK_MENU_SHELL (menu), menuitem); gtk_menu_shell_append (GTK_MENU_SHELL (menu), menuitem);
gtk_widget_show (menuitem); gtk_widget_show (menuitem);
@ -3059,8 +3062,11 @@ create_table_menu (GdkScreen *screen, gint cols, gint rows)
image = gtk_image_new_from_icon_name ("help-broswer", image = gtk_image_new_from_icon_name ("help-broswer",
GTK_ICON_SIZE_MENU); GTK_ICON_SIZE_MENU);
gtk_widget_show (image); gtk_widget_show (image);
G_GNUC_BEGIN_IGNORE_DEPRECATIONS;
menuitem = gtk_image_menu_item_new_with_label ("Image"); menuitem = gtk_image_menu_item_new_with_label ("Image");
gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (menuitem), image); gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (menuitem), image);
gtk_image_menu_item_set_always_show_image (GTK_IMAGE_MENU_ITEM (menuitem), TRUE);
G_GNUC_END_IGNORE_DEPRECATIONS;
gtk_menu_attach (GTK_MENU (submenu), menuitem, 0, 1, 0, 1); gtk_menu_attach (GTK_MENU (submenu), menuitem, 0, 1, 0, 1);
gtk_widget_show (menuitem); gtk_widget_show (menuitem);
@ -3075,8 +3081,11 @@ create_table_menu (GdkScreen *screen, gint cols, gint rows)
image = gtk_image_new_from_icon_name ("help-browser", image = gtk_image_new_from_icon_name ("help-browser",
GTK_ICON_SIZE_MENU); GTK_ICON_SIZE_MENU);
gtk_widget_show (image); gtk_widget_show (image);
G_GNUC_BEGIN_IGNORE_DEPRECATIONS;
menuitem = gtk_image_menu_item_new_with_label ("Image"); menuitem = gtk_image_menu_item_new_with_label ("Image");
gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (menuitem), image); gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (menuitem), image);
gtk_image_menu_item_set_always_show_image (GTK_IMAGE_MENU_ITEM (menuitem), TRUE);
G_GNUC_END_IGNORE_DEPRECATIONS;
gtk_menu_attach (GTK_MENU (submenu), menuitem, 1, 2, 1, 2); gtk_menu_attach (GTK_MENU (submenu), menuitem, 1, 2, 1, 2);
gtk_widget_show (menuitem); gtk_widget_show (menuitem);
@ -3280,8 +3289,11 @@ create_menus (GtkWidget *widget)
image = gtk_image_new_from_icon_name ("help-browser", image = gtk_image_new_from_icon_name ("help-browser",
GTK_ICON_SIZE_MENU); GTK_ICON_SIZE_MENU);
gtk_widget_show (image); gtk_widget_show (image);
G_GNUC_BEGIN_IGNORE_DEPRECATIONS;
menuitem = gtk_image_menu_item_new_with_label ("Help"); menuitem = gtk_image_menu_item_new_with_label ("Help");
gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (menuitem), image); gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (menuitem), image);
gtk_image_menu_item_set_always_show_image (GTK_IMAGE_MENU_ITEM (menuitem), TRUE);
G_GNUC_END_IGNORE_DEPRECATIONS;
gtk_menu_item_set_submenu (GTK_MENU_ITEM (menuitem), create_menu (screen, 4, 5)); gtk_menu_item_set_submenu (GTK_MENU_ITEM (menuitem), create_menu (screen, 4, 5));
gtk_widget_set_hexpand (menuitem, TRUE); gtk_widget_set_hexpand (menuitem, TRUE);
gtk_widget_set_halign (menuitem, GTK_ALIGN_END); gtk_widget_set_halign (menuitem, GTK_ALIGN_END);
@ -3307,12 +3319,6 @@ create_menus (GtkWidget *widget)
menu = create_menu (screen, 1, 5); menu = create_menu (screen, 1, 5);
gtk_menu_set_accel_group (GTK_MENU (menu), accel_group); gtk_menu_set_accel_group (GTK_MENU (menu), accel_group);
G_GNUC_BEGIN_IGNORE_DEPRECATIONS;
menuitem = gtk_image_menu_item_new_from_stock (GTK_STOCK_NEW, accel_group);
G_GNUC_END_IGNORE_DEPRECATIONS;
gtk_menu_shell_append (GTK_MENU_SHELL (menu), menuitem);
gtk_widget_show (menuitem);
menuitem = gtk_check_menu_item_new_with_label ("Accelerate Me"); menuitem = gtk_check_menu_item_new_with_label ("Accelerate Me");
gtk_menu_shell_append (GTK_MENU_SHELL (menu), menuitem); gtk_menu_shell_append (GTK_MENU_SHELL (menu), menuitem);
gtk_widget_show (menuitem); gtk_widget_show (menuitem);

View File

@ -117,7 +117,7 @@ create_file_menu (GtkAccelGroup *accelgroup)
gtk_menu_shell_append (GTK_MENU_SHELL (menu), menuitem); gtk_menu_shell_append (GTK_MENU_SHELL (menu), menuitem);
gtk_widget_show (menuitem); gtk_widget_show (menuitem);
menuitem = gtk_image_menu_item_new_with_mnemonic ("_Open"); menuitem = gtk_menu_item_new_with_mnemonic ("_Open");
gtk_menu_shell_append (GTK_MENU_SHELL (menu), menuitem); gtk_menu_shell_append (GTK_MENU_SHELL (menu), menuitem);
gtk_widget_show (menuitem); gtk_widget_show (menuitem);