aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTed Gould <ted@canonical.com>2009-08-26 10:13:08 -0500
committerTed Gould <ted@canonical.com>2009-08-26 10:13:08 -0500
commit7c407863390dbe97bccad51a52baf3ffc65d213b (patch)
treea9fac07424f8370ae92451242beda7026078e904
parent91fa6c67e8720123c2d81ac8aac0ef5aa4ac97e8 (diff)
downloadayatana-indicator-messages-7c407863390dbe97bccad51a52baf3ffc65d213b.tar.gz
ayatana-indicator-messages-7c407863390dbe97bccad51a52baf3ffc65d213b.tar.bz2
ayatana-indicator-messages-7c407863390dbe97bccad51a52baf3ffc65d213b.zip
Oh, wow, now there's some flesh on these. Let's hide and show icons.
-rw-r--r--src/indicator-messages.c28
1 files changed, 24 insertions, 4 deletions
diff --git a/src/indicator-messages.c b/src/indicator-messages.c
index 87fd77e..ef77c28 100644
--- a/src/indicator-messages.c
+++ b/src/indicator-messages.c
@@ -43,13 +43,23 @@ static DBusGProxy * icon_proxy = NULL;
static void
attention_changed_cb (DBusGProxy * proxy, gboolean dot, gpointer userdata)
{
-
+ if (dot) {
+ gtk_image_set_from_icon_name(GTK_IMAGE(main_image), "indicator-messages-new", DESIGN_TEAM_SIZE);
+ } else {
+ gtk_image_set_from_icon_name(GTK_IMAGE(main_image), "indicator-messages", DESIGN_TEAM_SIZE);
+ }
+ return;
}
static void
icon_changed_cb (DBusGProxy * proxy, gboolean hidden, gpointer userdata)
{
-
+ if (hidden) {
+ gtk_widget_hide(main_image);
+ } else {
+ gtk_widget_show(main_image);
+ }
+ return;
}
static void
@@ -65,15 +75,25 @@ watch_cb (DBusGProxy * proxy, GError * error, gpointer userdata)
static void
attention_cb (DBusGProxy * proxy, gboolean dot, GError * error, gpointer userdata)
{
+ if (error != NULL) {
+ g_warning("Unable to get attention status: %s", error->message);
+ g_error_free(error);
+ return;
+ }
- return;
+ return attention_changed_cb(proxy, dot, userdata);
}
static void
icon_cb (DBusGProxy * proxy, gboolean hidden, GError * error, gpointer userdata)
{
+ if (error != NULL) {
+ g_warning("Unable to get icon visibility: %s", error->message);
+ g_error_free(error);
+ return;
+ }
- return;
+ return icon_changed_cb(proxy, hidden, userdata);
}
static gboolean