comparison src/idle.c @ 11677:8004885fabbe

[gaim-migrate @ 13963] Remove some things from the public namespace by making them static committer: Tailor Script <tailor@pidgin.im>
author Mark Doliner <mark@kingant.net>
date Mon, 17 Oct 2005 05:50:30 +0000
parents bf6ba37db13b
children 186d2d293ef4
comparison
equal deleted inserted replaced
11676:0c54f9b0e67c 11677:8004885fabbe
33 # endif 33 # endif
34 #endif /* USE_SCREENSAVER */ 34 #endif /* USE_SCREENSAVER */
35 35
36 #include "connection.h" 36 #include "connection.h"
37 #include "debug.h" 37 #include "debug.h"
38 #include "gtkstatusbox.h"
38 #include "log.h" 39 #include "log.h"
39 #include "prefs.h" 40 #include "prefs.h"
41 #include "savedstatuses.h"
40 #include "signals.h" 42 #include "signals.h"
41 43
42 #define IDLEMARK 600 /* 10 minutes! */ 44 #define IDLEMARK 600 /* 10 minutes! */
43 45
44 typedef enum 46 typedef enum
45 { 47 {
46 GAIM_IDLE_NOT_AWAY = 0, 48 GAIM_IDLE_NOT_AWAY = 0,
47 GAIM_IDLE_AUTO_AWAY, 49 GAIM_IDLE_AUTO_AWAY,
108 * 1. Get your idle time. It will query XScreenSaver or Windows 110 * 1. Get your idle time. It will query XScreenSaver or Windows
109 * or get the Gaim idle time. Whatever. 111 * or get the Gaim idle time. Whatever.
110 * 2. Set or unset your auto-away message. 112 * 2. Set or unset your auto-away message.
111 * 3. Report your current idle time to the IM server. 113 * 3. Report your current idle time to the IM server.
112 */ 114 */
115 /* TODO: This needs to be namespaced or moved elsewhere. */
113 gint 116 gint
114 check_idle(gpointer data) 117 check_idle(gpointer data)
115 { 118 {
116 GaimConnection *gc = data; 119 GaimConnection *gc = data;
117 gboolean report_idle; 120 gboolean report_idle;
146 presence = gaim_account_get_presence(account); 149 presence = gaim_account_get_presence(account);
147 150
148 if (gaim_presence_is_available(presence)) 151 if (gaim_presence_is_available(presence))
149 { 152 {
150 const char *idleaway_name; 153 const char *idleaway_name;
154 GaimSavedStatus *saved_status;
151 155
152 gaim_debug_info("idle", "Making %s auto-away\n", 156 gaim_debug_info("idle", "Making %s auto-away\n",
153 gaim_account_get_username(account)); 157 gaim_account_get_username(account));
154 158
155 /* TODO XXX STATUS AWAY CORE/UI */ 159 /* TODO XXX STATUS AWAY CORE/UI */
156 /* Mark our accounts "away" using the idleaway status */ 160 /* Mark our accounts "away" using the idleaway status */
157 idleaway_name = gaim_prefs_get_string("/core/status/idleaway"); 161 idleaway_name = gaim_prefs_get_string("/core/status/idleaway");
162 saved_status = gaim_savedstatus_find(idleaway_name);
163 gtk_gaim_status_box_activate_saved_status(saved_status);
158 164
159 gc->is_auto_away = GAIM_IDLE_AUTO_AWAY; 165 gc->is_auto_away = GAIM_IDLE_AUTO_AWAY;
160 } else { 166 } else {
161 gc->is_auto_away = GAIM_IDLE_AWAY_BUT_NOT_AUTO_AWAY; 167 gc->is_auto_away = GAIM_IDLE_AWAY_BUT_NOT_AUTO_AWAY;
162 } 168 }