aboutsummaryrefslogtreecommitdiff
path: root/src/im-application-list.c
diff options
context:
space:
mode:
authorLars Uebernickel <lars.uebernickel@canonical.com>2013-08-27 16:54:26 +0200
committerLars Uebernickel <lars.uebernickel@canonical.com>2013-08-27 16:54:26 +0200
commit35c8e4cc25c0012c3d896cc52225874e9049780b (patch)
tree2475007b5d1313f62fef6dde7d4946b59231791e /src/im-application-list.c
parentbf3536178c37ee6bf9816a98c92b0de386f551a4 (diff)
parent6ded3e619d7308b6eda2bf0928b226378b565d1b (diff)
downloadayatana-indicator-messages-35c8e4cc25c0012c3d896cc52225874e9049780b.tar.gz
ayatana-indicator-messages-35c8e4cc25c0012c3d896cc52225874e9049780b.tar.bz2
ayatana-indicator-messages-35c8e4cc25c0012c3d896cc52225874e9049780b.zip
Merge trunk
Diffstat (limited to 'src/im-application-list.c')
-rw-r--r--src/im-application-list.c14
1 files changed, 9 insertions, 5 deletions
diff --git a/src/im-application-list.c b/src/im-application-list.c
index 8b8e4db..950b5bc 100644
--- a/src/im-application-list.c
+++ b/src/im-application-list.c
@@ -476,11 +476,12 @@ im_application_list_class_init (ImApplicationListClass *klass)
NULL, NULL,
g_cclosure_marshal_generic,
G_TYPE_NONE,
- 4,
+ 5,
G_TYPE_STRING,
G_TYPE_STRING,
G_TYPE_STRING,
- G_TYPE_STRING);
+ G_TYPE_STRING,
+ G_TYPE_BOOLEAN);
signals[SOURCE_REMOVED] = g_signal_new ("source-removed",
IM_TYPE_APPLICATION_LIST,
@@ -539,7 +540,7 @@ im_application_list_class_init (ImApplicationListClass *klass)
G_SIGNAL_RUN_FIRST,
0,
NULL, NULL,
- g_cclosure_marshal_VOID__OBJECT,
+ g_cclosure_marshal_VOID__STRING,
G_TYPE_NONE,
1,
G_TYPE_STRING);
@@ -805,6 +806,7 @@ im_application_list_source_changed (Application *app,
gint64 time;
const gchar *string;
gboolean draws_attention;
+ gboolean visible;
g_variant_get (source, "(&s&s&sux&sb)",
&id, &label, &iconstr, &count, &time, &string, &draws_attention);
@@ -812,9 +814,11 @@ im_application_list_source_changed (Application *app,
g_action_group_change_action_state (G_ACTION_GROUP (app->source_actions), id,
g_variant_new ("(uxsb)", count, time, string, draws_attention));
- g_signal_emit (app->list, signals[SOURCE_CHANGED], 0, app->id, id, label, iconstr);
+ visible = count > 0;
+
+ g_signal_emit (app->list, signals[SOURCE_CHANGED], 0, app->id, id, label, iconstr, visible);
- app->draws_attention = draws_attention;
+ app->draws_attention = visible && draws_attention;
im_application_list_update_draws_attention (app->list);
}