Commit cab7dcde authored by Matthias Clasen's avatar Matthias Clasen
Browse files

Deprecate GtkStatusIcon

GtkStatusIcon is using a problematic, XEmbed-based protocol under X,
and we want to get rid of it eventually. Document our intentions by
marking GtkStatusIcon as deprecated.

https://bugzilla.gnome.org/show_bug.cgi?id=734826
parent 62254ca3
......@@ -100,7 +100,6 @@
<xi:include href="xml/gtklevelbar.xml" />
<xi:include href="xml/gtkstatusbar.xml" />
<xi:include href="xml/gtkaccellabel.xml" />
<xi:include href="xml/gtkstatusicon.xml" />
</chapter>
<chapter id="ButtonWidgets">
......@@ -339,6 +338,7 @@
<xi:include href="xml/gtkiconfactory.xml" />
<xi:include href="xml/gtknumerableicon.xml" />
<xi:include href="xml/gtkarrow.xml" />
<xi:include href="xml/gtkstatusicon.xml" />
</chapter>
</part>
......
......@@ -240,13 +240,14 @@ deprecated_h_sources = \
deprecated/gtkradioaction.h \
deprecated/gtkrc.h \
deprecated/gtkrecentaction.h \
deprecated/gtkstatusicon.h \
deprecated/gtkstock.h \
deprecated/gtkstyle.h \
deprecated/gtksymboliccolor.h \
deprecated/gtktable.h \
deprecated/gtktearoffmenuitem.h \
deprecated/gtktoggleaction.h \
deprecated/gtkuimanager.h \
deprecated/gtkuimanager.h \
deprecated/gtkvbbox.h \
deprecated/gtkvbox.h \
deprecated/gtkvscale.h \
......@@ -441,7 +442,6 @@ gtk_public_h_sources = \
gtkstack.h \
gtkstackswitcher.h \
gtkstatusbar.h \
gtkstatusicon.h \
gtkstylecontext.h \
gtkstyleproperties.h \
gtkstyleprovider.h \
......@@ -763,6 +763,7 @@ deprecated_c_sources = \
deprecated/gtkradioaction.c \
deprecated/gtkrc.c \
deprecated/gtkrecentaction.c \
deprecated/gtkstatusicon.c \
deprecated/gtkstock.c \
deprecated/gtkstyle.c \
deprecated/gtksymboliccolor.c \
......@@ -1035,7 +1036,6 @@ gtk_base_c_sources = \
gtkstack.c \
gtkstackswitcher.c \
gtkstatusbar.c \
gtkstatusicon.c \
gtkstyleanimation.c \
gtkstylecascade.c \
gtkstylecontext.c \
......@@ -1150,7 +1150,7 @@ gtk_use_x11_c_sources = \
gtkplug.c \
gtksocket.c \
gtkxembed.c \
gtktrayicon-x11.c \
deprecated/gtktrayicon-x11.c \
gtkapplication-x11.c \
gtkmountoperation-x11.c
......@@ -1175,7 +1175,7 @@ gtk_use_stub_c_sources = \
gtk_all_c_sources += $(gtk_use_x11_c_sources) $(gtk_use_win32_c_sources) $(gtk_use_quartz_c_sources) $(gtk_use_stub_c_sources)
gtk_use_x11_private_h_sources = \
gtkxembed.h \
gtktrayicon.h \
deprecated/gtktrayicon.h \
xembed.h
if USE_X11
gtk_c_sources += $(gtk_use_x11_c_sources)
......@@ -1279,7 +1279,7 @@ gtk_extra_sources = \
paper_names.c \
paper_names_offsets.c \
gen-paper-names.c \
gtkstatusicon-quartz.c \
deprecated/gtkstatusicon-quartz.c \
gtkversion.h.in \
gtkmarshalers.list \
fallback-c89.c
......
......@@ -30,6 +30,7 @@
#include <string.h>
#include <stdlib.h>
#define GDK_DISABLE_DEPRECATION_WARNINGS
#include "gtkstatusicon.h"
#include "gtkintl.h"
......@@ -81,6 +82,9 @@
* Note that a GtkStatusIcon is not a widget, but just
* a #GObject. Making it a widget would be impractical, since the system tray
* on Win32 doesn’t allow to embed arbitrary widgets.
*
* GtkStatusIcon has been deprecated in 3.16. You should consider using
* notifications or more modern platform-specific APIs instead.
*/
......@@ -1055,9 +1059,7 @@ gtk_status_icon_set_property (GObject *object,
gtk_status_icon_set_from_file (status_icon, g_value_get_string (value));
break;
case PROP_STOCK:
G_GNUC_BEGIN_IGNORE_DEPRECATIONS;
gtk_status_icon_set_from_stock (status_icon, g_value_get_string (value));
G_GNUC_END_IGNORE_DEPRECATIONS;
break;
case PROP_ICON_NAME:
gtk_status_icon_set_from_icon_name (status_icon, g_value_get_string (value));
......@@ -1103,9 +1105,7 @@ gtk_status_icon_get_property (GObject *object,
g_value_set_object (value, gtk_status_icon_get_pixbuf (status_icon));
break;
case PROP_STOCK:
G_GNUC_BEGIN_IGNORE_DEPRECATIONS;
g_value_set_string (value, gtk_status_icon_get_stock (status_icon));
G_GNUC_END_IGNORE_DEPRECATIONS;
break;
case PROP_ICON_NAME:
g_value_set_string (value, gtk_status_icon_get_icon_name (status_icon));
......@@ -1165,6 +1165,8 @@ gtk_status_icon_get_property (GObject *object,
* Returns: a new #GtkStatusIcon
*
* Since: 2.10
*
* Deprecated: 3.14: Use notifications
**/
GtkStatusIcon *
gtk_status_icon_new (void)
......@@ -1184,6 +1186,8 @@ gtk_status_icon_new (void)
* Returns: a new #GtkStatusIcon
*
* Since: 2.10
*
* Deprecated: 3.14: Use notifications
**/
GtkStatusIcon *
gtk_status_icon_new_from_pixbuf (GdkPixbuf *pixbuf)
......@@ -1205,6 +1209,8 @@ gtk_status_icon_new_from_pixbuf (GdkPixbuf *pixbuf)
* Returns: a new #GtkStatusIcon
*
* Since: 2.10
*
* Deprecated: 3.14: Use notifications
**/
GtkStatusIcon *
gtk_status_icon_new_from_file (const gchar *filename)
......@@ -1248,6 +1254,8 @@ gtk_status_icon_new_from_stock (const gchar *stock_id)
* Returns: a new #GtkStatusIcon
*
* Since: 2.10
*
* Deprecated: 3.14: Use notifications
**/
GtkStatusIcon *
gtk_status_icon_new_from_icon_name (const gchar *icon_name)
......@@ -1267,6 +1275,8 @@ gtk_status_icon_new_from_icon_name (const gchar *icon_name)
* Returns: a new #GtkStatusIcon
*
* Since: 2.14
*
* Deprecated: 3.14: Use notifications
**/
GtkStatusIcon *
gtk_status_icon_new_from_gicon (GIcon *icon)
......@@ -1725,6 +1735,8 @@ gtk_status_icon_set_image (GtkStatusIcon *status_icon,
* See gtk_status_icon_new_from_pixbuf() for details.
*
* Since: 2.10
*
* Deprecated: 3.14: Use notifications
**/
void
gtk_status_icon_set_from_pixbuf (GtkStatusIcon *status_icon,
......@@ -1746,6 +1758,8 @@ gtk_status_icon_set_from_pixbuf (GtkStatusIcon *status_icon,
* See gtk_status_icon_new_from_file() for details.
*
* Since: 2.10
*
* Deprecated: 3.14: Use notifications
**/
void
gtk_status_icon_set_from_file (GtkStatusIcon *status_icon,
......@@ -1757,7 +1771,7 @@ gtk_status_icon_set_from_file (GtkStatusIcon *status_icon,
g_return_if_fail (filename != NULL);
pixbuf = gdk_pixbuf_new_from_file (filename, NULL);
gtk_status_icon_set_from_pixbuf (status_icon, pixbuf);
if (pixbuf)
......@@ -1797,6 +1811,8 @@ gtk_status_icon_set_from_stock (GtkStatusIcon *status_icon,
* See gtk_status_icon_new_from_icon_name() for details.
*
* Since: 2.10
*
* Deprecated: 3.14: Use notifications
**/
void
gtk_status_icon_set_from_icon_name (GtkStatusIcon *status_icon,
......@@ -1818,6 +1834,8 @@ gtk_status_icon_set_from_icon_name (GtkStatusIcon *status_icon,
* See gtk_status_icon_new_from_gicon() for details.
*
* Since: 2.14
*
* Deprecated: 3.14: Use notifications
**/
void
gtk_status_icon_set_from_gicon (GtkStatusIcon *status_icon,
......@@ -1841,6 +1859,8 @@ gtk_status_icon_set_from_gicon (GtkStatusIcon *status_icon,
* Returns: the image representation being used
*
* Since: 2.10
*
* Deprecated: 3.14: Use notifications
**/
GtkImageType
gtk_status_icon_get_storage_type (GtkStatusIcon *status_icon)
......@@ -1863,6 +1883,8 @@ gtk_status_icon_get_storage_type (GtkStatusIcon *status_icon)
* or %NULL if the image is empty.
*
* Since: 2.10
*
* Deprecated: 3.14: Use notifications
**/
GdkPixbuf *
gtk_status_icon_get_pixbuf (GtkStatusIcon *status_icon)
......@@ -1918,6 +1940,8 @@ gtk_status_icon_get_stock (GtkStatusIcon *status_icon)
* Returns: name of the displayed icon, or %NULL if the image is empty.
*
* Since: 2.10
*
* Deprecated: 3.14: Use notifications
**/
const gchar *
gtk_status_icon_get_icon_name (GtkStatusIcon *status_icon)
......@@ -1946,6 +1970,8 @@ gtk_status_icon_get_icon_name (GtkStatusIcon *status_icon)
* Returns: (transfer none): the displayed icon, or %NULL if the image is empty
*
* Since: 2.14
*
* Deprecated: 3.14: Use notifications
**/
GIcon *
gtk_status_icon_get_gicon (GtkStatusIcon *status_icon)
......@@ -1975,6 +2001,8 @@ gtk_status_icon_get_gicon (GtkStatusIcon *status_icon)
* Returns: the size that is available for the image
*
* Since: 2.10
*
* Deprecated: 3.14: Use notifications
**/
gint
gtk_status_icon_get_size (GtkStatusIcon *status_icon)
......@@ -1994,6 +2022,8 @@ gtk_status_icon_get_size (GtkStatusIcon *status_icon)
* then remapped on the new screen.
*
* Since: 2.12
*
* Deprecated: 3.14: Use notifications
*/
void
gtk_status_icon_set_screen (GtkStatusIcon *status_icon,
......@@ -2016,6 +2046,8 @@ gtk_status_icon_set_screen (GtkStatusIcon *status_icon,
* Returns: (transfer none): a #GdkScreen.
*
* Since: 2.12
*
* Deprecated: 3.14: Use notifications
*/
GdkScreen *
gtk_status_icon_get_screen (GtkStatusIcon *status_icon)
......@@ -2038,6 +2070,8 @@ gtk_status_icon_get_screen (GtkStatusIcon *status_icon)
* Shows or hides a status icon.
*
* Since: 2.10
*
* Deprecated: 3.14: Use notifications
**/
void
gtk_status_icon_set_visible (GtkStatusIcon *status_icon,
......@@ -2097,6 +2131,8 @@ gtk_status_icon_set_visible (GtkStatusIcon *status_icon,
* Returns: %TRUE if the status icon is visible
*
* Since: 2.10
*
* Deprecated: 3.14: Use notifications
**/
gboolean
gtk_status_icon_get_visible (GtkStatusIcon *status_icon)
......@@ -2117,6 +2153,8 @@ gtk_status_icon_get_visible (GtkStatusIcon *status_icon)
* a notification area.
*
* Since: 2.10
*
* Deprecated: 3.14: Use notifications
**/
gboolean
gtk_status_icon_is_embedded (GtkStatusIcon *status_icon)
......@@ -2152,6 +2190,8 @@ gtk_status_icon_is_embedded (GtkStatusIcon *status_icon)
* to position @menu aligned to the status icon @user_data.
*
* Since: 2.10
*
* Deprecated: 3.14: Use notifications
**/
void
gtk_status_icon_position_menu (GtkMenu *menu,
......@@ -2304,6 +2344,8 @@ gtk_status_icon_position_menu (GtkMenu *menu,
* been filled in
*
* Since: 2.10
*
* Deprecated: 3.14: Use notifications
*/
gboolean
gtk_status_icon_get_geometry (GtkStatusIcon *status_icon,
......@@ -2357,6 +2399,8 @@ gtk_status_icon_get_geometry (GtkStatusIcon *status_icon,
* See #GtkStatusIcon:has-tooltip for more information.
*
* Since: 2.16
*
* Deprecated: 3.14: Use notifications
*/
void
gtk_status_icon_set_has_tooltip (GtkStatusIcon *status_icon,
......@@ -2404,6 +2448,8 @@ gtk_status_icon_set_has_tooltip (GtkStatusIcon *status_icon,
* Returns: current value of has-tooltip on @status_icon.
*
* Since: 2.16
*
* Deprecated: 3.14: Use notifications
*/
gboolean
gtk_status_icon_get_has_tooltip (GtkStatusIcon *status_icon)
......@@ -2444,6 +2490,8 @@ gtk_status_icon_get_has_tooltip (GtkStatusIcon *status_icon)
* gtk_tooltip_set_text().
*
* Since: 2.16
*
* Deprecated: 3.14: Use notifications
*/
void
gtk_status_icon_set_tooltip_text (GtkStatusIcon *status_icon,
......@@ -2498,6 +2546,8 @@ gtk_status_icon_set_tooltip_text (GtkStatusIcon *status_icon,
* returned string with g_free() when done.
*
* Since: 2.16
*
* Deprecated: 3.14: Use notifications
*/
gchar *
gtk_status_icon_get_tooltip_text (GtkStatusIcon *status_icon)
......@@ -2540,6 +2590,8 @@ gtk_status_icon_get_tooltip_text (GtkStatusIcon *status_icon)
* gtk_tooltip_set_markup().
*
* Since: 2.16
*
* Deprecated: 3.14: Use notifications
*/
void
gtk_status_icon_set_tooltip_markup (GtkStatusIcon *status_icon,
......@@ -2583,6 +2635,8 @@ gtk_status_icon_set_tooltip_markup (GtkStatusIcon *status_icon,
* returned string with g_free() when done.
*
* Since: 2.16
*
* Deprecated: 3.14: Use notifications
*/
gchar *
gtk_status_icon_get_tooltip_markup (GtkStatusIcon *status_icon)
......@@ -2629,6 +2683,8 @@ gtk_status_icon_get_tooltip_markup (GtkStatusIcon *status_icon)
* underlying X11 Window
*
* Since: 2.14
*
* Deprecated: 3.14: Use notifications
*/
guint32
gtk_status_icon_get_x11_window_id (GtkStatusIcon *status_icon)
......@@ -2655,6 +2711,8 @@ gtk_status_icon_get_x11_window_id (GtkStatusIcon *status_icon)
* readers to render the tray icon.
*
* Since: 2.18
*
* Deprecated: 3.14: Use notifications
*/
void
gtk_status_icon_set_title (GtkStatusIcon *status_icon,
......@@ -2691,6 +2749,8 @@ gtk_status_icon_set_title (GtkStatusIcon *status_icon,
* Returns: the title of the status icon
*
* Since: 2.18
*
* Deprecated: 3.14: Use notifications
*/
const gchar *
gtk_status_icon_get_title (GtkStatusIcon *status_icon)
......@@ -2728,6 +2788,8 @@ gtk_status_icon_get_title (GtkStatusIcon *status_icon)
* the user.
*
* Since: 2.20
*
* Deprecated: 3.14: Use notifications
*/
void
gtk_status_icon_set_name (GtkStatusIcon *status_icon,
......
......@@ -80,101 +80,101 @@ struct _GtkStatusIconClass
GDK_AVAILABLE_IN_ALL
GType gtk_status_icon_get_type (void) G_GNUC_CONST;
GDK_AVAILABLE_IN_ALL
GDK_DEPRECATED_IN_3_14
GtkStatusIcon *gtk_status_icon_new (void);
GDK_AVAILABLE_IN_ALL
GDK_DEPRECATED_IN_3_14
GtkStatusIcon *gtk_status_icon_new_from_pixbuf (GdkPixbuf *pixbuf);
GDK_AVAILABLE_IN_ALL
GDK_DEPRECATED_IN_3_14
GtkStatusIcon *gtk_status_icon_new_from_file (const gchar *filename);
GDK_DEPRECATED_IN_3_10_FOR(gtk_status_icon_new_from_icon_name)
GtkStatusIcon *gtk_status_icon_new_from_stock (const gchar *stock_id);
GDK_AVAILABLE_IN_ALL
GDK_DEPRECATED_IN_3_14
GtkStatusIcon *gtk_status_icon_new_from_icon_name (const gchar *icon_name);
GDK_AVAILABLE_IN_ALL
GDK_DEPRECATED_IN_3_14
GtkStatusIcon *gtk_status_icon_new_from_gicon (GIcon *icon);
GDK_AVAILABLE_IN_ALL
GDK_DEPRECATED_IN_3_14
void gtk_status_icon_set_from_pixbuf (GtkStatusIcon *status_icon,
GdkPixbuf *pixbuf);
GDK_AVAILABLE_IN_ALL
GDK_DEPRECATED_IN_3_14
void gtk_status_icon_set_from_file (GtkStatusIcon *status_icon,
const gchar *filename);
GDK_DEPRECATED_IN_3_10_FOR(gtk_status_icon_set_from_icon_name)
void gtk_status_icon_set_from_stock (GtkStatusIcon *status_icon,
const gchar *stock_id);
GDK_AVAILABLE_IN_ALL
GDK_DEPRECATED_IN_3_14
void gtk_status_icon_set_from_icon_name (GtkStatusIcon *status_icon,
const gchar *icon_name);
GDK_AVAILABLE_IN_ALL
GDK_DEPRECATED_IN_3_14
void gtk_status_icon_set_from_gicon (GtkStatusIcon *status_icon,
GIcon *icon);
GDK_AVAILABLE_IN_ALL
GDK_DEPRECATED_IN_3_14
GtkImageType gtk_status_icon_get_storage_type (GtkStatusIcon *status_icon);
GDK_AVAILABLE_IN_ALL
GDK_DEPRECATED_IN_3_14
GdkPixbuf *gtk_status_icon_get_pixbuf (GtkStatusIcon *status_icon);
GDK_DEPRECATED_IN_3_10_FOR(gtk_status_icon_get_icon_name)
const gchar * gtk_status_icon_get_stock (GtkStatusIcon *status_icon);
GDK_AVAILABLE_IN_ALL
GDK_DEPRECATED_IN_3_14
const gchar * gtk_status_icon_get_icon_name (GtkStatusIcon *status_icon);
GDK_AVAILABLE_IN_ALL
GDK_DEPRECATED_IN_3_14
GIcon *gtk_status_icon_get_gicon (GtkStatusIcon *status_icon);
GDK_AVAILABLE_IN_ALL
GDK_DEPRECATED_IN_3_14
gint gtk_status_icon_get_size (GtkStatusIcon *status_icon);
GDK_AVAILABLE_IN_ALL
GDK_DEPRECATED_IN_3_14
void gtk_status_icon_set_screen (GtkStatusIcon *status_icon,
GdkScreen *screen);
GDK_AVAILABLE_IN_ALL
GDK_DEPRECATED_IN_3_14
GdkScreen *gtk_status_icon_get_screen (GtkStatusIcon *status_icon);
GDK_AVAILABLE_IN_ALL
GDK_DEPRECATED_IN_3_14
void gtk_status_icon_set_has_tooltip (GtkStatusIcon *status_icon,
gboolean has_tooltip);
GDK_AVAILABLE_IN_ALL
GDK_DEPRECATED_IN_3_14
void gtk_status_icon_set_tooltip_text (GtkStatusIcon *status_icon,
const gchar *text);
GDK_AVAILABLE_IN_ALL
GDK_DEPRECATED_IN_3_14
void gtk_status_icon_set_tooltip_markup (GtkStatusIcon *status_icon,
const gchar *markup);
GDK_AVAILABLE_IN_ALL
GDK_DEPRECATED_IN_3_14
void gtk_status_icon_set_title (GtkStatusIcon *status_icon,
const gchar *title);
GDK_AVAILABLE_IN_ALL
GDK_DEPRECATED_IN_3_14
const gchar * gtk_status_icon_get_title (GtkStatusIcon *status_icon);
GDK_AVAILABLE_IN_ALL
GDK_DEPRECATED_IN_3_14
void gtk_status_icon_set_name (GtkStatusIcon *status_icon,
const gchar *name);
GDK_AVAILABLE_IN_ALL
GDK_DEPRECATED_IN_3_14
void gtk_status_icon_set_visible (GtkStatusIcon *status_icon,
gboolean visible);
GDK_AVAILABLE_IN_ALL
GDK_DEPRECATED_IN_3_14
gboolean gtk_status_icon_get_visible (GtkStatusIcon *status_icon);
GDK_AVAILABLE_IN_ALL
GDK_DEPRECATED_IN_3_14
gboolean gtk_status_icon_is_embedded (GtkStatusIcon *status_icon);
GDK_AVAILABLE_IN_ALL
GDK_DEPRECATED_IN_3_14
void gtk_status_icon_position_menu (GtkMenu *menu,
gint *x,
gint *y,
gboolean *push_in,
gpointer user_data);
GDK_AVAILABLE_IN_ALL
GDK_DEPRECATED_IN_3_14
gboolean gtk_status_icon_get_geometry (GtkStatusIcon *status_icon,
GdkScreen **screen,
GdkRectangle *area,
GtkOrientation *orientation);
GDK_AVAILABLE_IN_ALL
GDK_DEPRECATED_IN_3_14
gboolean gtk_status_icon_get_has_tooltip (GtkStatusIcon *status_icon);
GDK_AVAILABLE_IN_ALL
GDK_DEPRECATED_IN_3_14
gchar *gtk_status_icon_get_tooltip_text (GtkStatusIcon *status_icon);
GDK_AVAILABLE_IN_ALL
GDK_DEPRECATED_IN_3_14
gchar *gtk_status_icon_get_tooltip_markup (GtkStatusIcon *status_icon);
GDK_AVAILABLE_IN_ALL
GDK_DEPRECATED_IN_3_14
guint32 gtk_status_icon_get_x11_window_id (GtkStatusIcon *status_icon);
G_END_DECLS
......
......@@ -187,7 +187,6 @@
#include <gtk/gtkstack.h>
#include <gtk/gtkstackswitcher.h>
#include <gtk/gtkstatusbar.h>
#include <gtk/gtkstatusicon.h>
#include <gtk/gtkstylecontext.h>
#include <gtk/gtkstyleproperties.h>
#include <gtk/gtkstyleprovider.h>
......@@ -256,6 +255,7 @@
#include <gtk/deprecated/gtkradioaction.h>
#include <gtk/deprecated/gtkrc.h>
#include <gtk/deprecated/gtkrecentaction.h>
#include <gtk/deprecated/gtkstatusicon.h>
#include <gtk/deprecated/gtkstock.h>
#include <gtk/deprecated/gtkstyle.h>
#include <gtk/deprecated/gtksymboliccolor.h>
......
......@@ -19,6 +19,7 @@
* Mark McLoughlin <mark@skynet.ie>
*/
#define GDK_DISABLE_DEPRECATION_WARNINGS
#include <gtk/gtk.h>
#include <stdlib.h>
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment