diff options
author | Alan Fitton <ajf@eth0.org.uk> | 2011-09-06 22:55:38 +0000 |
---|---|---|
committer | Alan Fitton <ajf@eth0.org.uk> | 2011-09-06 22:55:38 +0000 |
commit | 63a21ca01ccc921fa323dbfced2eb84bceef791a (patch) | |
tree | bdbd12b4834da03d3044f4732374a19986f95e57 /src/trg-client.c | |
parent | c8a12c44dd8a44d3f44190fc18d7df5346ef9dbb (diff) |
update the free space indicator using a signal from TrgClient
Diffstat (limited to 'src/trg-client.c')
-rw-r--r-- | src/trg-client.c | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/src/trg-client.c b/src/trg-client.c index db5a051..bd1119b 100644 --- a/src/trg-client.c +++ b/src/trg-client.c @@ -36,6 +36,13 @@ G_DEFINE_TYPE (TrgClient, trg_client, G_TYPE_OBJECT) +enum { + TC_SESSION_UPDATED, + TC_SIGNAL_COUNT +}; + +static guint signals[TC_SIGNAL_COUNT] = { 0 }; + #define TRG_CLIENT_GET_PRIVATE(o) \ (G_TYPE_INSTANCE_GET_PRIVATE ((o), TRG_TYPE_CLIENT, TrgClientPrivate)) @@ -97,6 +104,15 @@ trg_client_class_init (TrgClientClass *klass) object_class->get_property = trg_client_get_property; object_class->set_property = trg_client_set_property; object_class->dispose = trg_client_dispose; + + signals[TC_SESSION_UPDATED] = + g_signal_new("session-updated", + G_TYPE_FROM_CLASS(object_class), + G_SIGNAL_RUN_LAST | G_SIGNAL_ACTION, + G_STRUCT_OFFSET(TrgClientClass, + session_updated), NULL, + NULL, g_cclosure_marshal_VOID__POINTER, + G_TYPE_NONE, 1, G_TYPE_POINTER); } static void @@ -144,6 +160,8 @@ void trg_client_set_session(TrgClient * tc, JsonObject * session) session_get_version(session, &priv->version); priv->session = session; + + g_signal_emit(tc, signals[TC_SESSION_UPDATED], 0, session); } TrgPrefs *trg_client_get_prefs(TrgClient *tc) |