aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--libindicate/server.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/libindicate/server.c b/libindicate/server.c
index 4dd05c1..cd35871 100644
--- a/libindicate/server.c
+++ b/libindicate/server.c
@@ -198,6 +198,12 @@ indicator_hide_cb (IndicateIndicator * indicator, IndicateServer * server)
return;
}
+static void
+indicator_modified_cb (IndicateIndicator * indicator, gchar * property, IndicateServer * server)
+{
+ g_signal_emit(server, signals[INDICATOR_MODIFIED], 0, indicate_indicator_get_id(indicator), property, TRUE);
+}
+
void
indicate_server_add_indicator (IndicateServer * server, IndicateIndicator * indicator)
{
@@ -214,6 +220,7 @@ indicate_server_add_indicator (IndicateServer * server, IndicateIndicator * indi
g_signal_connect(indicator, INDICATE_INDICATOR_SIGNAL_SHOW, G_CALLBACK(indicator_show_cb), server);
g_signal_connect(indicator, INDICATE_INDICATOR_SIGNAL_HIDE, G_CALLBACK(indicator_hide_cb), server);
+ g_signal_connect(indicator, INDICATE_INDICATOR_SIGNAL_MODIFIED, G_CALLBACK(indicator_modified_cb), server);
return;
}
@@ -232,6 +239,7 @@ indicate_server_remove_indicator (IndicateServer * server, IndicateIndicator * i
g_signal_handlers_disconnect_by_func(indicator, indicator_show_cb, server);
g_signal_handlers_disconnect_by_func(indicator, indicator_hide_cb, server);
+ g_signal_handlers_disconnect_by_func(indicator, indicator_modified_cb, server);
g_object_unref(indicator);
return;