diff options
author | Lars Uebernickel <lars.uebernickel@canonical.com> | 2013-08-27 16:54:26 +0200 |
---|---|---|
committer | Lars Uebernickel <lars.uebernickel@canonical.com> | 2013-08-27 16:54:26 +0200 |
commit | 35c8e4cc25c0012c3d896cc52225874e9049780b (patch) | |
tree | 2475007b5d1313f62fef6dde7d4946b59231791e /src/im-application-list.c | |
parent | bf3536178c37ee6bf9816a98c92b0de386f551a4 (diff) | |
parent | 6ded3e619d7308b6eda2bf0928b226378b565d1b (diff) | |
download | ayatana-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.c | 14 |
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); } |