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)