summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorWilliam Jon McCann <jmccann@redhat.com>2010-10-08 22:28:49 -0400
committerWilliam Jon McCann <jmccann@redhat.com>2010-10-08 22:31:40 -0400
commit3f14ad4c7141b70e3c7fafce27373a6c38ad98b7 (patch)
treecfd85cf5134cf5e363880646b0190833c08585d4
parent8c180aa49ed89f82b36060df6fc7eed9c313bf08 (diff)
downloadlibnotify-3f14ad4c7141b70e3c7fafce27373a6c38ad98b7.tar.gz
Remove the ability to attach to a status icon
This technique is replaced by the use of notification persistence.
-rw-r--r--libnotify/notification.c122
-rw-r--r--libnotify/notification.h8
-rw-r--r--libnotify/notify.c2
3 files changed, 2 insertions, 130 deletions
diff --git a/libnotify/notification.c b/libnotify/notification.c
index b4fcb1e..3e17bac 100644
--- a/libnotify/notification.c
+++ b/libnotify/notification.c
@@ -80,7 +80,6 @@ struct _NotifyNotificationPrivate
GHashTable *hints;
GtkWidget *attached_widget;
- GtkStatusIcon *status_icon;
gboolean has_nondefault_actions;
gboolean updates_pending;
@@ -103,7 +102,6 @@ enum
PROP_BODY,
PROP_ICON_NAME,
PROP_ATTACH_WIDGET,
- PROP_STATUS_ICON,
PROP_CLOSED_REASON
};
@@ -228,18 +226,6 @@ notify_notification_class_init (NotifyNotificationClass *klass)
| G_PARAM_STATIC_BLURB));
g_object_class_install_property (object_class,
- PROP_STATUS_ICON,
- g_param_spec_object ("status-icon",
- "Status Icon",
- "The status icon to attach the notification to",
- GTK_TYPE_STATUS_ICON,
- G_PARAM_READWRITE
- | G_PARAM_CONSTRUCT
- | G_PARAM_STATIC_NAME
- | G_PARAM_STATIC_NICK
- | G_PARAM_STATIC_BLURB));
-
- g_object_class_install_property (object_class,
PROP_CLOSED_REASON,
g_param_spec_int ("closed-reason",
"Closed Reason",
@@ -293,11 +279,6 @@ notify_notification_set_property (GObject *object,
g_value_get_object (value));
break;
- case PROP_STATUS_ICON:
- notify_notification_attach_to_status_icon (notification,
- g_value_get_object (value));
- break;
-
default:
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
break;
@@ -334,10 +315,6 @@ notify_notification_get_property (GObject *object,
g_value_set_object (value, priv->attached_widget);
break;
- case PROP_STATUS_ICON:
- g_value_set_object (value, priv->status_icon);
- break;
-
case PROP_CLOSED_REASON:
g_value_set_int (value, priv->closed_reason);
break;
@@ -426,10 +403,6 @@ notify_notification_finalize (GObject *object)
if (priv->attached_widget != NULL)
g_object_unref (G_OBJECT (priv->attached_widget));
- if (priv->status_icon != NULL)
- g_object_remove_weak_pointer (G_OBJECT (priv->status_icon),
- (gpointer) & priv->status_icon);
-
proxy = _notify_get_g_proxy ();
if (proxy != NULL && priv->signals_registered) {
g_signal_handlers_disconnect_by_func (proxy,
@@ -458,25 +431,7 @@ _notify_notification_update_applet_hints (NotifyNotification *n)
GdkScreen *screen = NULL;
gint x, y;
- if (priv->status_icon != NULL) {
- GdkRectangle rect;
- guint32 xid;
-
- xid = gtk_status_icon_get_x11_window_id (priv->status_icon);
- if (xid > 0) {
- notify_notification_set_hint_uint32 (n, "window-xid", xid);
- }
-
- if (!gtk_status_icon_get_geometry (priv->status_icon,
- &screen,
- &rect,
- NULL)) {
- return;
- }
-
- x = rect.x + rect.width / 2;
- y = rect.y + rect.height / 2;
- } else if (priv->attached_widget != NULL) {
+ if (priv->attached_widget != NULL) {
GtkWidget *widget = priv->attached_widget;
GtkAllocation allocation;
@@ -528,38 +483,6 @@ notify_notification_new (const char *summary,
}
/**
- * notify_notification_new_with_status_icon:
- * @summary: The required summary text.
- * @body: The optional body text.
- * @icon: The optional icon theme icon name or filename.
- * @status_icon: The required #GtkStatusIcon.
- *
- * Creates a new #NotifyNotification and attaches to a #GtkStatusIcon.
- * The summary text and @status_icon is required, but all other parameters
- * are optional.
- *
- * Returns: The new #NotifyNotification.
- *
- * Since: 0.4.1
- */
-NotifyNotification *
-notify_notification_new_with_status_icon (const char *summary,
- const char *message,
- const char *icon,
- GtkStatusIcon *status_icon)
-{
- g_return_val_if_fail (status_icon != NULL, NULL);
- g_return_val_if_fail (GTK_IS_STATUS_ICON (status_icon), NULL);
-
- return g_object_new (NOTIFY_TYPE_NOTIFICATION,
- "summary", summary,
- "body", message,
- "icon-name", icon,
- "status-icon", status_icon,
- NULL);
-}
-
-/**
* notify_notification_update:
* @notification: The notification to update.
* @summary: The new required summary text.
@@ -635,47 +558,6 @@ notify_notification_attach_to_widget (NotifyNotification *notification,
}
/**
- * notify_notification_attach_to_status_icon:
- * @notification: The notification.
- * @status_icon: The #GtkStatusIcon to attach to, or %NULL.
- *
- * Attaches the notification to a #GtkStatusIcon. This will set hints on the
- * notification requesting that the notification point to the status icon's
- * location. If @status_icon is %NULL, the status icon will be unset.
- *
- * Since: 0.4.1
- */
-void
-notify_notification_attach_to_status_icon (NotifyNotification *notification,
- GtkStatusIcon *status_icon)
-{
- NotifyNotificationPrivate *priv;
-
- g_return_if_fail (NOTIFY_IS_NOTIFICATION (notification));
- g_return_if_fail (status_icon == NULL
- || GTK_IS_STATUS_ICON (status_icon));
-
- priv = notification->priv;
-
- if (priv->status_icon == status_icon)
- return;
-
- if (priv->status_icon != NULL) {
- g_object_remove_weak_pointer (G_OBJECT (priv->status_icon),
- (gpointer) & priv->status_icon);
- }
-
- priv->status_icon = status_icon;
-
- if (priv->status_icon != NULL) {
- g_object_add_weak_pointer (G_OBJECT (priv->status_icon),
- (gpointer) & priv->status_icon);
- }
-
- g_object_notify (G_OBJECT (notification), "status-icon");
-}
-
-/**
* notify_notification_set_geometry_hints:
* @notification: The notification.
* @screen: The #GdkScreen the notification should appear on.
@@ -821,7 +703,7 @@ notify_notification_show (NotifyNotification *notification,
priv->signals_registered = TRUE;
}
- /* If attached to a widget or status icon, modify x and y in hints */
+ /* If attached to a widget, modify x and y in hints */
_notify_notification_update_applet_hints (notification);
action_array = _gslist_to_string_array (priv->actions);
diff --git a/libnotify/notification.h b/libnotify/notification.h
index bba360d..06c5bd9 100644
--- a/libnotify/notification.h
+++ b/libnotify/notification.h
@@ -81,11 +81,6 @@ NotifyNotification *notify_notification_new (const char
const char *icon,
GtkWidget *attach);
-NotifyNotification *notify_notification_new_with_status_icon (const char *summary,
- const char *body,
- const char *icon,
- GtkStatusIcon *status_icon);
-
gboolean notify_notification_update (NotifyNotification *notification,
const char *summary,
const char *body,
@@ -94,9 +89,6 @@ gboolean notify_notification_update (NotifyNotificatio
void notify_notification_attach_to_widget (NotifyNotification *notification,
GtkWidget *attach);
-void notify_notification_attach_to_status_icon (NotifyNotification *notification,
- GtkStatusIcon *status_icon);
-
void notify_notification_set_geometry_hints (NotifyNotification *notification,
GdkScreen *screen,
gint x,
diff --git a/libnotify/notify.c b/libnotify/notify.c
index 428084e..7272b3e 100644
--- a/libnotify/notify.c
+++ b/libnotify/notify.c
@@ -49,8 +49,6 @@ static struct GtkDlMapping {
#define MAP(a) { #a, (gpointer *)&a }
MAP(gdk_screen_make_display_name),
MAP(gdk_window_get_origin),
- MAP(gtk_status_icon_get_geometry),
- MAP(gtk_status_icon_get_x11_window_id),
MAP(gtk_widget_get_allocation),
MAP(gtk_widget_get_has_window),
MAP(gtk_widget_get_screen),