Mercurial > pidgin.yaz
diff src/idle.c @ 12573:200f22ca4890
[gaim-migrate @ 14895]
Bring back 'Gaim idle'
This seems to be working for me
committer: Tailor Script <tailor@pidgin.im>
author | Mark Doliner <mark@kingant.net> |
---|---|
date | Tue, 20 Dec 2005 06:41:56 +0000 |
parents | a88ca6da0b38 |
children | bd80fb1e8406 |
line wrap: on
line diff
--- a/src/idle.c Tue Dec 20 02:39:30 2005 +0000 +++ b/src/idle.c Tue Dec 20 06:41:56 2005 +0000 @@ -176,16 +176,31 @@ { time_t time_idle; gboolean auto_away; + const gchar *idle_reporting; gboolean report_idle; GList *l; gaim_signal_emit(gaim_blist_get_handle(), "update-idle"); - if (idle_ui_ops != NULL && idle_ui_ops->get_time_idle != NULL) + idle_reporting = gaim_prefs_get_string("/core/away/idle_reporting"); + report_idle = TRUE; + if (!strcmp(idle_reporting, "system") && + (idle_ui_ops != NULL) && (idle_ui_ops->get_time_idle != NULL)) + { + /* Use system idle time (mouse or keyboard movement, etc.) */ time_idle = idle_ui_ops->get_time_idle(); - else + } + else if (!strcmp(idle_reporting, "gaim")) + { /* Use 'Gaim idle' */ time_idle = time(NULL) - last_active_time; + } + else + { + /* Don't report idle time */ + time_idle = 0; + report_idle = FALSE; + } /* Auto-away stuff */ auto_away = gaim_prefs_get_bool("/core/away/away_when_idle"); @@ -202,7 +217,6 @@ } /* Idle reporting stuff */ - report_idle = gaim_prefs_get_bool("/core/away/report_idle"); if (report_idle && (time_idle >= IDLEMARK) && !have_set_idle) { for (l = gaim_connections_get_all(); l != NULL; l = l->next)