diff options
author | Patrick F. Allen <pallenpost@gmail.com> | 2012-02-11 21:52:14 +0800 |
---|---|---|
committer | Guillaume Desmottes <guillaume.desmottes@collabora.co.uk> | 2012-02-13 16:31:12 +0800 |
commit | f728987ff14494033cde4afa432c58671bf2615c (patch) | |
tree | b718abd09cc38413b3513227c2a12114494b92e0 /libempathy-gtk | |
parent | 052ad91afd77f267d3ddedc0f32f2378d73f9897 (diff) | |
download | gsoc2013-empathy-f728987ff14494033cde4afa432c58671bf2615c.tar gsoc2013-empathy-f728987ff14494033cde4afa432c58671bf2615c.tar.gz gsoc2013-empathy-f728987ff14494033cde4afa432c58671bf2615c.tar.bz2 gsoc2013-empathy-f728987ff14494033cde4afa432c58671bf2615c.tar.lz gsoc2013-empathy-f728987ff14494033cde4afa432c58671bf2615c.tar.xz gsoc2013-empathy-f728987ff14494033cde4afa432c58671bf2615c.tar.zst gsoc2013-empathy-f728987ff14494033cde4afa432c58671bf2615c.zip |
Toggle telling others you are typing to them
https://bugzilla.gnome.org/show_bug.cgi?id=668985
Diffstat (limited to 'libempathy-gtk')
-rw-r--r-- | libempathy-gtk/empathy-chat.c | 16 |
1 files changed, 15 insertions, 1 deletions
diff --git a/libempathy-gtk/empathy-chat.c b/libempathy-gtk/empathy-chat.c index 358b1b982..5b2cca929 100644 --- a/libempathy-gtk/empathy-chat.c +++ b/libempathy-gtk/empathy-chat.c @@ -377,11 +377,18 @@ static gboolean chat_composing_stop_timeout_cb (EmpathyChat *chat) { EmpathyChatPriv *priv; + gboolean send_chat_states; priv = GET_PRIV (chat); priv->composing_stop_timeout_id = 0; - set_chat_state (chat, TP_CHANNEL_CHAT_STATE_PAUSED); + send_chat_states = g_settings_get_boolean (priv->gsettings_chat, + EMPATHY_PREFS_CHAT_SEND_CHAT_STATES); + if (!send_chat_states) { + set_chat_state (chat, TP_CHANNEL_CHAT_STATE_ACTIVE); + } else { + set_chat_state (chat, TP_CHANNEL_CHAT_STATE_PAUSED); + } return FALSE; } @@ -390,9 +397,16 @@ static void chat_composing_start (EmpathyChat *chat) { EmpathyChatPriv *priv; + gboolean send_chat_states; priv = GET_PRIV (chat); + send_chat_states = g_settings_get_boolean (priv->gsettings_chat, + EMPATHY_PREFS_CHAT_SEND_CHAT_STATES); + if (!send_chat_states) { + return; + } + if (priv->composing_stop_timeout_id) { /* Just restart the timeout */ chat_composing_remove_timeout (chat); |