aboutsummaryrefslogtreecommitdiff
path: root/libindicate/server.c
diff options
context:
space:
mode:
authorTed Gould <ted@canonical.com>2009-01-29 12:49:43 -0600
committerTed Gould <ted@canonical.com>2009-01-29 12:49:43 -0600
commitf5e7d6dcc29a1e3ea6192d51ab85e790f2ef842b (patch)
treea437713762cc2ca322b6a13f32a32308f7fbfb62 /libindicate/server.c
parentdd60c6238ffa4e3e48bdb35a8f9235b732607926 (diff)
downloadlibayatana-indicator-f5e7d6dcc29a1e3ea6192d51ab85e790f2ef842b.tar.gz
libayatana-indicator-f5e7d6dcc29a1e3ea6192d51ab85e790f2ef842b.tar.bz2
libayatana-indicator-f5e7d6dcc29a1e3ea6192d51ab85e790f2ef842b.zip
Have the server pass along the property modified signal
Diffstat (limited to 'libindicate/server.c')
-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;