[gtk+] Deprecate GtkImageMenuItem



commit b86588e9f54aca6fcdf79de4399996a99acfbb5e
Author: William Jon McCann <william jon mccann gmail com>
Date:   Thu Jun 27 18:48:46 2013 -0400

    Deprecate GtkImageMenuItem
    
    Use GtkMenuItem for menus with only text or GMenu for those
    with icons for "nouns" and just text for "verbs".

 gtk/gtkaction.c               |    2 ++
 gtk/gtkimagemenuitem.c        |   25 +++++++++++++++++++++++++
 gtk/gtkimagemenuitem.h        |   19 +++++++++----------
 gtk/gtkrecentaction.c         |    4 ++++
 gtk/gtkrecentchoosermenu.c    |   12 ++++++++++--
 gtk/gtktoolbutton.c           |    6 ++----
 gtk/gtkuimanager.c            |    4 ++++
 gtk/gtkwindow.c               |    2 +-
 tests/testgtk.c               |   18 ++++++++++++------
 tests/testrecentchoosermenu.c |    2 +-
 10 files changed, 70 insertions(+), 24 deletions(-)
---
diff --git a/gtk/gtkaction.c b/gtk/gtkaction.c
index 73f71a9..623a081 100644
--- a/gtk/gtkaction.c
+++ b/gtk/gtkaction.c
@@ -209,7 +209,9 @@ gtk_action_class_init (GtkActionClass *klass)
   klass->create_menu_item  = create_menu_item;
   klass->create_tool_item  = create_tool_item;
   klass->create_menu       = NULL;
+  G_GNUC_BEGIN_IGNORE_DEPRECATIONS;
   klass->menu_item_type    = GTK_TYPE_IMAGE_MENU_ITEM;
+  G_GNUC_END_IGNORE_DEPRECATIONS;
   klass->toolbar_item_type = GTK_TYPE_TOOL_BUTTON;
   klass->connect_proxy    = connect_proxy;
   klass->disconnect_proxy = disconnect_proxy;
diff --git a/gtk/gtkimagemenuitem.c b/gtk/gtkimagemenuitem.c
index d942984..31a89a1 100644
--- a/gtk/gtkimagemenuitem.c
+++ b/gtk/gtkimagemenuitem.c
@@ -24,6 +24,8 @@
 
 #include "config.h"
 
+#define GDK_DISABLE_DEPRECATION_WARNINGS
+
 #include "gtkimagemenuitem.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->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,
                                    PROP_IMAGE,
                                    g_param_spec_object ("image",
@@ -183,6 +192,8 @@ gtk_image_menu_item_class_init (GtkImageMenuItemClass *klass)
    * without the image.
    *
    * Since: 2.16
+   *
+   * Deprecated: 3.10
    */
   g_object_class_install_property (gobject_class,
                                    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.
  *
  * Returns: a new #GtkImageMenuItem
+ *
+ * Deprecated: 3.10: Use gtk_menu_item_new() instead.
  */
 GtkWidget*
 gtk_image_menu_item_new (void)
@@ -798,6 +811,8 @@ gtk_image_menu_item_new (void)
  * Creates a new #GtkImageMenuItem containing a label.
  *
  * Returns: a new #GtkImageMenuItem.
+ *
+ * Deprecated: 3.10: Use gtk_menu_item_new_with_label() instead.
  */
 GtkWidget*
 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.
  *
  * Returns: a new #GtkImageMenuItem
+ *
+ * Deprecated: 3.10: Use gtk_menu_item_new_with_mnemonic() instead.
  */
 GtkWidget*
 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.
  *
  * Since: 2.16
+ *
+ * Deprecated: 3.10
  */
 void
 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
  *
  * Since: 2.16
+ *
+ * Deprecated: 3.10
  */
 gboolean
 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.
  * Note that it depends on the show-menu-images setting whether
  * the image will be displayed or not.
+ *
+ * Deprecated: 3.10
  */
 void
 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().
  *
  * Return value: (transfer none): the widget set as image of @image_menu_item
+ *
+ * Deprecated: 3.10
  **/
 GtkWidget*
 gtk_image_menu_item_get_image (GtkImageMenuItem *image_menu_item)
diff --git a/gtk/gtkimagemenuitem.h b/gtk/gtkimagemenuitem.h
index 611cf30..ec07132 100644
--- a/gtk/gtkimagemenuitem.h
+++ b/gtk/gtkimagemenuitem.h
@@ -66,27 +66,26 @@ struct _GtkImageMenuItemClass
   void (*_gtk_reserved4) (void);
 };
 
-
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_3_10_FOR(gtk_menu_item_get_type)
 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);
-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);
-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);
-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,
                                                   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,
                                                       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);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_3_10
 void       gtk_image_menu_item_set_image         (GtkImageMenuItem *image_menu_item,
                                                   GtkWidget        *image);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_3_10
 GtkWidget* gtk_image_menu_item_get_image         (GtkImageMenuItem *image_menu_item);
 GDK_DEPRECATED_IN_3_10
 void       gtk_image_menu_item_set_use_stock     (GtkImageMenuItem *image_menu_item,
diff --git a/gtk/gtkrecentaction.c b/gtk/gtkrecentaction.c
index 211ab97..f2e3091 100644
--- a/gtk/gtkrecentaction.c
+++ b/gtk/gtkrecentaction.c
@@ -434,7 +434,9 @@ gtk_recent_action_create_menu_item (GtkAction *action)
   GtkWidget *menuitem;
 
   menu = gtk_recent_action_create_menu (action);
+  G_GNUC_BEGIN_IGNORE_DEPRECATIONS;
   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_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_tool_item = gtk_recent_action_create_tool_item;
   action_class->create_menu = gtk_recent_action_create_menu;
+  G_GNUC_BEGIN_IGNORE_DEPRECATIONS;
   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;
 
   _gtk_recent_chooser_install_properties (gobject_class);
diff --git a/gtk/gtkrecentchoosermenu.c b/gtk/gtkrecentchoosermenu.c
index 64b3946..3485b8a 100644
--- a/gtk/gtkrecentchoosermenu.c
+++ b/gtk/gtkrecentchoosermenu.c
@@ -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.
          */
         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);
-      
+      G_GNUC_END_IGNORE_DEPRECATIONS;
+
       g_free (escaped);
       g_free (name);
     }
   else
     {
       text = g_strdup (gtk_recent_info_get_display_name (info));
+      G_GNUC_BEGIN_IGNORE_DEPRECATIONS;
       item = gtk_image_menu_item_new_with_label (text);
+      G_GNUC_END_IGNORE_DEPRECATIONS;
     }
 
   g_free (text);
 
+  G_GNUC_BEGIN_IGNORE_DEPRECATIONS;
   gtk_image_menu_item_set_always_show_image (GTK_IMAGE_MENU_ITEM (item),
                                              TRUE);
+  G_GNUC_END_IGNORE_DEPRECATIONS;
 
   /* ellipsize the menu item label, in case the recent document
    * display name is huge.
@@ -868,8 +874,10 @@ gtk_recent_chooser_menu_create_item (GtkRecentChooserMenu *menu,
       icon = gtk_recent_info_get_gicon (info);
 
       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_always_show_image (GTK_IMAGE_MENU_ITEM (item), TRUE);
+      G_GNUC_END_IGNORE_DEPRECATIONS;
       if (icon)
         g_object_unref (icon);
     }
diff --git a/gtk/gtktoolbutton.c b/gtk/gtktoolbutton.c
index 7999ef8..f803eb5 100644
--- a/gtk/gtktoolbutton.c
+++ b/gtk/gtktoolbutton.c
@@ -863,8 +863,6 @@ gtk_tool_button_create_menu_proxy (GtkToolItem *item)
       label = "";
     }
 
-  G_GNUC_END_IGNORE_DEPRECATIONS;
-
   if (use_mnemonic)
     menu_item = gtk_image_menu_item_new_with_mnemonic (label);
   else
@@ -876,14 +874,14 @@ gtk_tool_button_create_menu_proxy (GtkToolItem *item)
     }
   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);
-      G_GNUC_END_IGNORE_DEPRECATIONS;
     }
 
   if (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_lookup ("activate", G_OBJECT_TYPE (menu_item)), 0,
                                  g_cclosure_new_object_swap (G_CALLBACK (gtk_button_clicked),
diff --git a/gtk/gtkuimanager.c b/gtk/gtkuimanager.c
index 9518358..1d94646 100644
--- a/gtk/gtkuimanager.c
+++ b/gtk/gtkuimanager.c
@@ -2909,11 +2909,15 @@ G_GNUC_END_IGNORE_DEPRECATIONS
              g_object_ref_sink (info->proxy);
              gtk_widget_set_name (info->proxy, info->name);
 
+              G_GNUC_BEGIN_IGNORE_DEPRECATIONS;
+
               if (info->always_show_image_set &&
                   GTK_IS_IMAGE_MENU_ITEM (info->proxy))
                 gtk_image_menu_item_set_always_show_image (GTK_IMAGE_MENU_ITEM (info->proxy),
                                                            info->always_show_image);
 
+              G_GNUC_END_IGNORE_DEPRECATIONS;
+
              gtk_menu_shell_insert (GTK_MENU_SHELL (menushell),
                                     info->proxy, pos);
            }
diff --git a/gtk/gtkwindow.c b/gtk/gtkwindow.c
index c422601..f669abd 100644
--- a/gtk/gtkwindow.c
+++ b/gtk/gtkwindow.c
@@ -7794,7 +7794,7 @@ gtk_window_do_popup (GtkWindow      *window,
   gtk_widget_show (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);
   if (!priv->deletable)
     gtk_widget_set_sensitive (menuitem, FALSE);
diff --git a/tests/testgtk.c b/tests/testgtk.c
index db14da7..c73c84a 100644
--- a/tests/testgtk.c
+++ b/tests/testgtk.c
@@ -3002,8 +3002,11 @@ create_menu (GdkScreen *screen, gint depth, gint length)
   image = gtk_image_new_from_icon_name ("document-open",
                                         GTK_ICON_SIZE_MENU);
   gtk_widget_show (image);
+  G_GNUC_BEGIN_IGNORE_DEPRECATIONS;
   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_always_show_image (GTK_IMAGE_MENU_ITEM (menuitem), TRUE);
+  G_GNUC_END_IGNORE_DEPRECATIONS;
   gtk_menu_shell_append (GTK_MENU_SHELL (menu), 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",
                                         GTK_ICON_SIZE_MENU);
   gtk_widget_show (image);
+  G_GNUC_BEGIN_IGNORE_DEPRECATIONS;
   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_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_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",
                                         GTK_ICON_SIZE_MENU);
   gtk_widget_show (image);
+  G_GNUC_BEGIN_IGNORE_DEPRECATIONS;
   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_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_widget_show (menuitem);
 
@@ -3280,8 +3289,11 @@ create_menus (GtkWidget *widget)
       image = gtk_image_new_from_icon_name ("help-browser",
                                             GTK_ICON_SIZE_MENU);
       gtk_widget_show (image);
+      G_GNUC_BEGIN_IGNORE_DEPRECATIONS;
       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_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_widget_set_hexpand (menuitem, TRUE);
       gtk_widget_set_halign (menuitem, GTK_ALIGN_END);
@@ -3307,12 +3319,6 @@ create_menus (GtkWidget *widget)
       menu = create_menu (screen, 1, 5);
       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");
       gtk_menu_shell_append (GTK_MENU_SHELL (menu), menuitem);
       gtk_widget_show (menuitem);
diff --git a/tests/testrecentchoosermenu.c b/tests/testrecentchoosermenu.c
index df43131..ad04ed5 100644
--- a/tests/testrecentchoosermenu.c
+++ b/tests/testrecentchoosermenu.c
@@ -117,7 +117,7 @@ create_file_menu (GtkAccelGroup *accelgroup)
   gtk_menu_shell_append (GTK_MENU_SHELL (menu), 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_widget_show (menuitem);
 


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]