diff options
author | Simon McVittie <simon.mcvittie@collabora.co.uk> | 2011-05-18 19:01:22 +0100 |
---|---|---|
committer | Simon McVittie <simon.mcvittie@collabora.co.uk> | 2011-05-19 16:45:59 +0100 |
commit | 03a86b79018b2c7ac0b8d1e7a2bf7ae54249da06 (patch) | |
tree | a8d4ca259487b5d601e55ccc328369b7d2848438 | |
parent | 82ff5c401a7e57ec62fea591c071a0644be1828f (diff) | |
download | telepathy-mission-control-03a86b79018b2c7ac0b8d1e7a2bf7ae54249da06.tar.gz |
mcd_account_request_presence_int: take a flag for user-initiatedness
-rw-r--r-- | src/mcd-account.c | 33 |
1 files changed, 21 insertions, 12 deletions
diff --git a/src/mcd-account.c b/src/mcd-account.c index 5e406913..41942631 100644 --- a/src/mcd-account.c +++ b/src/mcd-account.c @@ -829,8 +829,10 @@ static void mcd_account_changed_property (McdAccount *account, static void mcd_account_request_presence_int (McdAccount *account, - TpConnectionPresenceType type, - const gchar *status, const gchar *message) + TpConnectionPresenceType type, + const gchar *status, + const gchar *message, + gboolean user_initiated) { McdAccountPrivate *priv = account->priv; gboolean changed = FALSE; @@ -1201,7 +1203,8 @@ _mcd_account_set_enabled (McdAccount *account, mcd_account_request_presence_int (account, priv->req_presence_type, priv->req_presence_status, - priv->req_presence_message); + priv->req_presence_message, + TRUE); _mcd_account_maybe_autoconnect (account); } } @@ -1716,7 +1719,7 @@ set_requested_presence (TpSvcDBusProperties *self, DEBUG ("setting requested presence: %d, %s, %s", type, status, message); - mcd_account_request_presence_int (account, type, status, message); + mcd_account_request_presence_int (account, type, status, message, TRUE); return TRUE; } @@ -3236,14 +3239,16 @@ _mcd_account_dup_parameters (McdAccount *account) * @status: presence status. * @message: presence status message. * - * Request a presence status on the account. + * Request a presence status on the account, initiated by some other part of + * MC (i.e. not by user request). */ void mcd_account_request_presence (McdAccount *account, TpConnectionPresenceType presence, const gchar *status, const gchar *message) { - mcd_account_request_presence_int (account, presence, status, message); + mcd_account_request_presence_int (account, presence, status, message, + FALSE); } static void @@ -3927,11 +3932,14 @@ check_validity_check_parameters_cb (McdAccount *account, if (valid) { - /* newly valid - try setting requested presence again */ + /* Newly valid - try setting requested presence again. + * This counts as user-initiated, because the user caused the + * account to become valid somehow. */ mcd_account_request_presence_int (account, priv->req_presence_type, priv->req_presence_status, - priv->req_presence_message); + priv->req_presence_message, + TRUE); } } @@ -3973,10 +3981,11 @@ _mcd_account_connect_with_auto_presence (McdAccount *account, { McdAccountPrivate *priv = account->priv; - mcd_account_request_presence (account, - priv->auto_presence_type, - priv->auto_presence_status, - priv->auto_presence_message); + mcd_account_request_presence_int (account, + priv->auto_presence_type, + priv->auto_presence_status, + priv->auto_presence_message, + user_initiated); } /* |