src/idle.c

Wed, 18 Feb 2004 07:22:53 +0000

author
Christian Hammond <chipx86@chipx86.com>
date
Wed, 18 Feb 2004 07:22:53 +0000
changeset 8286
7a4c038d1ecd
parent 8046
c581b20a47d6
child 9285
9cedf5d26577
permissions
-rw-r--r--

[gaim-migrate @ 9010]
Improved the field request API, adding required fields and account fields,
as well as some new utility API functions and bug fixes. These changes
allowed me to migrate the New IM dialog over to the field request API,
removing a lot of code and improving consistency.

1026
fa6230b217bc [gaim-migrate @ 1036]
bryner
parents: 1
diff changeset
1 /*
fa6230b217bc [gaim-migrate @ 1036]
bryner
parents: 1
diff changeset
2 * gaim
fa6230b217bc [gaim-migrate @ 1036]
bryner
parents: 1
diff changeset
3 *
8046
c581b20a47d6 [gaim-migrate @ 8730]
Sean Egan <seanegan@pidgin.im>
parents: 7475
diff changeset
4 * Gaim is the legal property of its developers, whose names are too numerous
c581b20a47d6 [gaim-migrate @ 8730]
Sean Egan <seanegan@pidgin.im>
parents: 7475
diff changeset
5 * to list here. Please refer to the COPYRIGHT file distributed with this
c581b20a47d6 [gaim-migrate @ 8730]
Sean Egan <seanegan@pidgin.im>
parents: 7475
diff changeset
6 * source distribution.
1
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
7 *
1026
fa6230b217bc [gaim-migrate @ 1036]
bryner
parents: 1
diff changeset
8 * This program is free software; you can redistribute it and/or modify
fa6230b217bc [gaim-migrate @ 1036]
bryner
parents: 1
diff changeset
9 * it under the terms of the GNU General Public License as published by
fa6230b217bc [gaim-migrate @ 1036]
bryner
parents: 1
diff changeset
10 * the Free Software Foundation; either version 2 of the License, or
fa6230b217bc [gaim-migrate @ 1036]
bryner
parents: 1
diff changeset
11 * (at your option) any later version.
1
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
12 *
1026
fa6230b217bc [gaim-migrate @ 1036]
bryner
parents: 1
diff changeset
13 * This program is distributed in the hope that it will be useful,
fa6230b217bc [gaim-migrate @ 1036]
bryner
parents: 1
diff changeset
14 * but WITHOUT ANY WARRANTY; without even the implied warranty of
fa6230b217bc [gaim-migrate @ 1036]
bryner
parents: 1
diff changeset
15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
fa6230b217bc [gaim-migrate @ 1036]
bryner
parents: 1
diff changeset
16 * GNU General Public License for more details.
1
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
17 *
1026
fa6230b217bc [gaim-migrate @ 1036]
bryner
parents: 1
diff changeset
18 * You should have received a copy of the GNU General Public License
fa6230b217bc [gaim-migrate @ 1036]
bryner
parents: 1
diff changeset
19 * along with this program; if not, write to the Free Software
fa6230b217bc [gaim-migrate @ 1036]
bryner
parents: 1
diff changeset
20 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
1
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
21 *
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
22 */
6371
e92b66ee5518 [gaim-migrate @ 6876]
Christian Hammond <chipx86@chipx86.com>
parents: 6216
diff changeset
23 #include "gtkinternal.h"
1
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
24
1026
fa6230b217bc [gaim-migrate @ 1036]
bryner
parents: 1
diff changeset
25 #ifdef USE_SCREENSAVER
5872
754c63f29b77 [gaim-migrate @ 6304]
Christian Hammond <chipx86@chipx86.com>
parents: 5755
diff changeset
26 # ifndef _WIN32
754c63f29b77 [gaim-migrate @ 6304]
Christian Hammond <chipx86@chipx86.com>
parents: 5755
diff changeset
27 # include <X11/Xlib.h>
754c63f29b77 [gaim-migrate @ 6304]
Christian Hammond <chipx86@chipx86.com>
parents: 5755
diff changeset
28 # include <X11/Xutil.h>
754c63f29b77 [gaim-migrate @ 6304]
Christian Hammond <chipx86@chipx86.com>
parents: 5755
diff changeset
29 # include <X11/extensions/scrnsaver.h>
754c63f29b77 [gaim-migrate @ 6304]
Christian Hammond <chipx86@chipx86.com>
parents: 5755
diff changeset
30 # include <gdk/gdkx.h>
754c63f29b77 [gaim-migrate @ 6304]
Christian Hammond <chipx86@chipx86.com>
parents: 5755
diff changeset
31 # else
754c63f29b77 [gaim-migrate @ 6304]
Christian Hammond <chipx86@chipx86.com>
parents: 5755
diff changeset
32 # include "idletrack.h"
754c63f29b77 [gaim-migrate @ 6304]
Christian Hammond <chipx86@chipx86.com>
parents: 5755
diff changeset
33 # endif
1026
fa6230b217bc [gaim-migrate @ 1036]
bryner
parents: 1
diff changeset
34 #endif /* USE_SCREENSAVER */
1
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
35
5615
2eb715cbbd9b [gaim-migrate @ 6022]
Christian Hammond <chipx86@chipx86.com>
parents: 5563
diff changeset
36 #include "connection.h"
5872
754c63f29b77 [gaim-migrate @ 6304]
Christian Hammond <chipx86@chipx86.com>
parents: 5755
diff changeset
37 #include "debug.h"
754c63f29b77 [gaim-migrate @ 6304]
Christian Hammond <chipx86@chipx86.com>
parents: 5755
diff changeset
38 #include "log.h"
1026
fa6230b217bc [gaim-migrate @ 1036]
bryner
parents: 1
diff changeset
39 #include "multi.h"
5872
754c63f29b77 [gaim-migrate @ 6304]
Christian Hammond <chipx86@chipx86.com>
parents: 5755
diff changeset
40 #include "prefs.h"
1401
e81430ba5d7a [gaim-migrate @ 1411]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1367
diff changeset
41 #include "prpl.h"
6485
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents: 6371
diff changeset
42 #include "signals.h"
5872
754c63f29b77 [gaim-migrate @ 6304]
Christian Hammond <chipx86@chipx86.com>
parents: 5755
diff changeset
43
754c63f29b77 [gaim-migrate @ 6304]
Christian Hammond <chipx86@chipx86.com>
parents: 5755
diff changeset
44 #include "ui.h"
754c63f29b77 [gaim-migrate @ 6304]
Christian Hammond <chipx86@chipx86.com>
parents: 5755
diff changeset
45
754c63f29b77 [gaim-migrate @ 6304]
Christian Hammond <chipx86@chipx86.com>
parents: 5755
diff changeset
46 #include "gtkprefs.h"
754c63f29b77 [gaim-migrate @ 6304]
Christian Hammond <chipx86@chipx86.com>
parents: 5755
diff changeset
47
754c63f29b77 [gaim-migrate @ 6304]
Christian Hammond <chipx86@chipx86.com>
parents: 5755
diff changeset
48 /* XXX For the away stuff */
754c63f29b77 [gaim-migrate @ 6304]
Christian Hammond <chipx86@chipx86.com>
parents: 5755
diff changeset
49 #include "gaim.h"
1
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
50
4536
76c632fee2bc [gaim-migrate @ 4815]
Herman Bloggs <herman@bluedigits.com>
parents: 4201
diff changeset
51 #define IDLEMARK 600 /* 10 minutes! */
1
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
52
2381
553cf0455173 [gaim-migrate @ 2394]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2372
diff changeset
53 gint check_idle(gpointer data)
1
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
54 {
5560
7cd6678f838b [gaim-migrate @ 5961]
Christian Hammond <chipx86@chipx86.com>
parents: 5548
diff changeset
55 const char *report_idle;
5563
d5a7852aa0cb [gaim-migrate @ 5965]
Christian Hammond <chipx86@chipx86.com>
parents: 5560
diff changeset
56 GaimConnection *gc = data;
d5a7852aa0cb [gaim-migrate @ 5965]
Christian Hammond <chipx86@chipx86.com>
parents: 5560
diff changeset
57 GaimAccount *account;
1026
fa6230b217bc [gaim-migrate @ 1036]
bryner
parents: 1
diff changeset
58 time_t t;
fa6230b217bc [gaim-migrate @ 1036]
bryner
parents: 1
diff changeset
59 #ifdef USE_SCREENSAVER
3905
9721673d9f55 [gaim-migrate @ 4058]
Herman Bloggs <herman@bluedigits.com>
parents: 3517
diff changeset
60 #ifndef _WIN32
1026
fa6230b217bc [gaim-migrate @ 1036]
bryner
parents: 1
diff changeset
61 static XScreenSaverInfo *mit_info = NULL;
1062
5936424ca7b1 [gaim-migrate @ 1072]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1058
diff changeset
62 #endif
3905
9721673d9f55 [gaim-migrate @ 4058]
Herman Bloggs <herman@bluedigits.com>
parents: 3517
diff changeset
63 #endif
4201
547da94c5a14 [gaim-migrate @ 4432]
Christian Hammond <chipx86@chipx86.com>
parents: 3905
diff changeset
64 int idle_time;
1
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
65
5563
d5a7852aa0cb [gaim-migrate @ 5965]
Christian Hammond <chipx86@chipx86.com>
parents: 5560
diff changeset
66 account = gaim_connection_get_account(gc);
d5a7852aa0cb [gaim-migrate @ 5965]
Christian Hammond <chipx86@chipx86.com>
parents: 5560
diff changeset
67
6485
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents: 6371
diff changeset
68 gaim_signal_emit(gaim_blist_get_handle(), "update-idle");
1250
46ac03911ab0 [gaim-migrate @ 1260]
Decklin Foster <decklin@red-bean.com>
parents: 1141
diff changeset
69
1026
fa6230b217bc [gaim-migrate @ 1036]
bryner
parents: 1
diff changeset
70 time(&t);
1
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
71
5560
7cd6678f838b [gaim-migrate @ 5961]
Christian Hammond <chipx86@chipx86.com>
parents: 5548
diff changeset
72 report_idle = gaim_prefs_get_string("/gaim/gtk/idle/reporting_method");
1
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
73
1026
fa6230b217bc [gaim-migrate @ 1036]
bryner
parents: 1
diff changeset
74 #ifdef USE_SCREENSAVER
5755
7343a01b1592 [gaim-migrate @ 6180]
Lee Roach <phroggster@gmail.com>
parents: 5748
diff changeset
75 if (report_idle != NULL && !strcmp(report_idle, "system")) {
3905
9721673d9f55 [gaim-migrate @ 4058]
Herman Bloggs <herman@bluedigits.com>
parents: 3517
diff changeset
76 #ifndef _WIN32
2115
848a8af1a4af [gaim-migrate @ 2125]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2114
diff changeset
77 int event_base, error_base;
848a8af1a4af [gaim-migrate @ 2125]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2114
diff changeset
78 if (XScreenSaverQueryExtension(GDK_DISPLAY(), &event_base, &error_base)) {
2114
bcebefe6507c [gaim-migrate @ 2124]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2090
diff changeset
79 if (mit_info == NULL) {
bcebefe6507c [gaim-migrate @ 2124]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2090
diff changeset
80 mit_info = XScreenSaverAllocInfo();
bcebefe6507c [gaim-migrate @ 2124]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2090
diff changeset
81 }
2115
848a8af1a4af [gaim-migrate @ 2125]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2114
diff changeset
82 XScreenSaverQueryInfo(GDK_DISPLAY(), GDK_ROOT_WINDOW(), mit_info);
2114
bcebefe6507c [gaim-migrate @ 2124]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2090
diff changeset
83 idle_time = (mit_info->idle) / 1000;
bcebefe6507c [gaim-migrate @ 2124]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2090
diff changeset
84 } else
bcebefe6507c [gaim-migrate @ 2124]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2090
diff changeset
85 idle_time = 0;
3905
9721673d9f55 [gaim-migrate @ 4058]
Herman Bloggs <herman@bluedigits.com>
parents: 3517
diff changeset
86 #else
4536
76c632fee2bc [gaim-migrate @ 4815]
Herman Bloggs <herman@bluedigits.com>
parents: 4201
diff changeset
87 idle_time = (GetTickCount() - wgaim_get_lastactive()) / 1000;
3905
9721673d9f55 [gaim-migrate @ 4058]
Herman Bloggs <herman@bluedigits.com>
parents: 3517
diff changeset
88 #endif
1026
fa6230b217bc [gaim-migrate @ 1036]
bryner
parents: 1
diff changeset
89 } else
fa6230b217bc [gaim-migrate @ 1036]
bryner
parents: 1
diff changeset
90 #endif /* USE_SCREENSAVER */
5563
d5a7852aa0cb [gaim-migrate @ 5965]
Christian Hammond <chipx86@chipx86.com>
parents: 5560
diff changeset
91 idle_time = t - gc->last_sent_time;
1
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
92
5560
7cd6678f838b [gaim-migrate @ 5961]
Christian Hammond <chipx86@chipx86.com>
parents: 5548
diff changeset
93 if (gaim_prefs_get_bool("/core/away/away_when_idle") &&
5748
2fee4320c0b8 [gaim-migrate @ 6173]
Nathan Walp <nwalp@pidgin.im>
parents: 5615
diff changeset
94 (idle_time > (60 * gaim_prefs_get_int("/core/away/mins_before_away")))
2fee4320c0b8 [gaim-migrate @ 6173]
Nathan Walp <nwalp@pidgin.im>
parents: 5615
diff changeset
95 && (!gc->is_auto_away)) {
5560
7cd6678f838b [gaim-migrate @ 5961]
Christian Hammond <chipx86@chipx86.com>
parents: 5548
diff changeset
96
1446
3948b2c7fb6a [gaim-migrate @ 1456]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1407
diff changeset
97 if (!gc->away) {
6216
38918d33547e [gaim-migrate @ 6702]
Nathan Walp <nwalp@pidgin.im>
parents: 5872
diff changeset
98 struct away_message *default_away = NULL;
38918d33547e [gaim-migrate @ 6702]
Nathan Walp <nwalp@pidgin.im>
parents: 5872
diff changeset
99 const char *default_name;
38918d33547e [gaim-migrate @ 6702]
Nathan Walp <nwalp@pidgin.im>
parents: 5872
diff changeset
100 GSList *l;
38918d33547e [gaim-migrate @ 6702]
Nathan Walp <nwalp@pidgin.im>
parents: 5872
diff changeset
101
38918d33547e [gaim-migrate @ 6702]
Nathan Walp <nwalp@pidgin.im>
parents: 5872
diff changeset
102 default_name = gaim_prefs_get_string("/core/away/default_message");
38918d33547e [gaim-migrate @ 6702]
Nathan Walp <nwalp@pidgin.im>
parents: 5872
diff changeset
103
38918d33547e [gaim-migrate @ 6702]
Nathan Walp <nwalp@pidgin.im>
parents: 5872
diff changeset
104 for(l = away_messages; l; l = l->next) {
38918d33547e [gaim-migrate @ 6702]
Nathan Walp <nwalp@pidgin.im>
parents: 5872
diff changeset
105 if(!strcmp(default_name, ((struct away_message *)l->data)->name)) {
38918d33547e [gaim-migrate @ 6702]
Nathan Walp <nwalp@pidgin.im>
parents: 5872
diff changeset
106 default_away = l->data;
38918d33547e [gaim-migrate @ 6702]
Nathan Walp <nwalp@pidgin.im>
parents: 5872
diff changeset
107 break;
38918d33547e [gaim-migrate @ 6702]
Nathan Walp <nwalp@pidgin.im>
parents: 5872
diff changeset
108 }
38918d33547e [gaim-migrate @ 6702]
Nathan Walp <nwalp@pidgin.im>
parents: 5872
diff changeset
109 }
38918d33547e [gaim-migrate @ 6702]
Nathan Walp <nwalp@pidgin.im>
parents: 5872
diff changeset
110
38918d33547e [gaim-migrate @ 6702]
Nathan Walp <nwalp@pidgin.im>
parents: 5872
diff changeset
111 if(!default_away && away_messages)
38918d33547e [gaim-migrate @ 6702]
Nathan Walp <nwalp@pidgin.im>
parents: 5872
diff changeset
112 default_away = away_messages->data;
38918d33547e [gaim-migrate @ 6702]
Nathan Walp <nwalp@pidgin.im>
parents: 5872
diff changeset
113
5211
94d9756c381f [gaim-migrate @ 5581]
Christian Hammond <chipx86@chipx86.com>
parents: 5205
diff changeset
114 gaim_debug(GAIM_DEBUG_INFO, "idle",
5563
d5a7852aa0cb [gaim-migrate @ 5965]
Christian Hammond <chipx86@chipx86.com>
parents: 5560
diff changeset
115 "Making %s away automatically\n",
d5a7852aa0cb [gaim-migrate @ 5965]
Christian Hammond <chipx86@chipx86.com>
parents: 5560
diff changeset
116 gaim_account_get_username(account));
d5a7852aa0cb [gaim-migrate @ 5965]
Christian Hammond <chipx86@chipx86.com>
parents: 5560
diff changeset
117 if (g_list_length(gaim_connections_get_all()) == 1)
1446
3948b2c7fb6a [gaim-migrate @ 1456]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1407
diff changeset
118 do_away_message(NULL, default_away);
1895
aa3e49e81811 [gaim-migrate @ 1905]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1885
diff changeset
119 else if (default_away)
1446
3948b2c7fb6a [gaim-migrate @ 1456]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1407
diff changeset
120 serv_set_away(gc, GAIM_AWAY_CUSTOM, default_away->message);
1468
9edfa387a871 [gaim-migrate @ 1478]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1450
diff changeset
121 gc->is_auto_away = 1;
9edfa387a871 [gaim-migrate @ 1478]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1450
diff changeset
122 } else
9edfa387a871 [gaim-migrate @ 1478]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1450
diff changeset
123 gc->is_auto_away = 2;
5748
2fee4320c0b8 [gaim-migrate @ 6173]
Nathan Walp <nwalp@pidgin.im>
parents: 5615
diff changeset
124 } else if (gc->is_auto_away &&
2fee4320c0b8 [gaim-migrate @ 6173]
Nathan Walp <nwalp@pidgin.im>
parents: 5615
diff changeset
125 idle_time < 60 * gaim_prefs_get_int("/core/away/mins_before_away")) {
1468
9edfa387a871 [gaim-migrate @ 1478]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1450
diff changeset
126 if (gc->is_auto_away == 2) {
9edfa387a871 [gaim-migrate @ 1478]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1450
diff changeset
127 gc->is_auto_away = 0;
1815
e2b090284b19 [gaim-migrate @ 1825]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1575
diff changeset
128 return TRUE;
1446
3948b2c7fb6a [gaim-migrate @ 1456]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1407
diff changeset
129 }
1468
9edfa387a871 [gaim-migrate @ 1478]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1450
diff changeset
130 gc->is_auto_away = 0;
1407
3d249b7e49fe [gaim-migrate @ 1417]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1404
diff changeset
131 if (awaymessage == NULL) {
5211
94d9756c381f [gaim-migrate @ 5581]
Christian Hammond <chipx86@chipx86.com>
parents: 5205
diff changeset
132 gaim_debug(GAIM_DEBUG_INFO, "idle",
5563
d5a7852aa0cb [gaim-migrate @ 5965]
Christian Hammond <chipx86@chipx86.com>
parents: 5560
diff changeset
133 "Removing auto-away message for %s\n", gaim_account_get_username(account));
1401
e81430ba5d7a [gaim-migrate @ 1411]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1367
diff changeset
134 serv_set_away(gc, GAIM_AWAY_CUSTOM, NULL);
1407
3d249b7e49fe [gaim-migrate @ 1417]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1404
diff changeset
135 } else {
5563
d5a7852aa0cb [gaim-migrate @ 5965]
Christian Hammond <chipx86@chipx86.com>
parents: 5560
diff changeset
136 if (g_list_length(gaim_connections_get_all()) == 1)
1450
acf8fed569d5 [gaim-migrate @ 1460]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1446
diff changeset
137 do_im_back(0, 0);
acf8fed569d5 [gaim-migrate @ 1460]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1446
diff changeset
138 else {
5211
94d9756c381f [gaim-migrate @ 5581]
Christian Hammond <chipx86@chipx86.com>
parents: 5205
diff changeset
139 gaim_debug(GAIM_DEBUG_INFO, "idle",
94d9756c381f [gaim-migrate @ 5581]
Christian Hammond <chipx86@chipx86.com>
parents: 5205
diff changeset
140 "Replacing auto-away with global for %s\n",
5563
d5a7852aa0cb [gaim-migrate @ 5965]
Christian Hammond <chipx86@chipx86.com>
parents: 5560
diff changeset
141 gaim_account_get_username(account));
1450
acf8fed569d5 [gaim-migrate @ 1460]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1446
diff changeset
142 serv_set_away(gc, GAIM_AWAY_CUSTOM, awaymessage->message);
acf8fed569d5 [gaim-migrate @ 1460]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1446
diff changeset
143 }
1407
3d249b7e49fe [gaim-migrate @ 1417]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1404
diff changeset
144 }
1109
c15973749312 [gaim-migrate @ 1119]
Ben Miller <millebe@cs.earlham.edu>
parents: 1062
diff changeset
145 }
c15973749312 [gaim-migrate @ 1119]
Ben Miller <millebe@cs.earlham.edu>
parents: 1062
diff changeset
146
c15973749312 [gaim-migrate @ 1119]
Ben Miller <millebe@cs.earlham.edu>
parents: 1062
diff changeset
147
c15973749312 [gaim-migrate @ 1119]
Ben Miller <millebe@cs.earlham.edu>
parents: 1062
diff changeset
148 /* If we're not reporting idle times to the server, still use Gaim
c15973749312 [gaim-migrate @ 1119]
Ben Miller <millebe@cs.earlham.edu>
parents: 1062
diff changeset
149 usage for auto-away, but quit here so we don't report to the
c15973749312 [gaim-migrate @ 1119]
Ben Miller <millebe@cs.earlham.edu>
parents: 1062
diff changeset
150 server */
5560
7cd6678f838b [gaim-migrate @ 5961]
Christian Hammond <chipx86@chipx86.com>
parents: 5548
diff changeset
151
5755
7343a01b1592 [gaim-migrate @ 6180]
Lee Roach <phroggster@gmail.com>
parents: 5748
diff changeset
152 if (report_idle != NULL && !strcmp(report_idle, "none"))
1109
c15973749312 [gaim-migrate @ 1119]
Ben Miller <millebe@cs.earlham.edu>
parents: 1062
diff changeset
153 return TRUE;
c15973749312 [gaim-migrate @ 1119]
Ben Miller <millebe@cs.earlham.edu>
parents: 1062
diff changeset
154
4547
6111945dc464 [gaim-migrate @ 4826]
Herman Bloggs <herman@bluedigits.com>
parents: 4536
diff changeset
155 if (idle_time >= IDLEMARK && !gc->is_idle) {
5211
94d9756c381f [gaim-migrate @ 5581]
Christian Hammond <chipx86@chipx86.com>
parents: 5205
diff changeset
156 gaim_debug(GAIM_DEBUG_INFO, "idle", "Setting %s idle %d seconds\n",
5563
d5a7852aa0cb [gaim-migrate @ 5965]
Christian Hammond <chipx86@chipx86.com>
parents: 5560
diff changeset
157 gaim_account_get_username(account), idle_time);
1026
fa6230b217bc [gaim-migrate @ 1036]
bryner
parents: 1
diff changeset
158 serv_set_idle(gc, idle_time);
fa6230b217bc [gaim-migrate @ 1036]
bryner
parents: 1
diff changeset
159 gc->is_idle = 1;
7475
987384816492 [gaim-migrate @ 8088]
Mark Doliner <markdoliner@pidgin.im>
parents: 7431
diff changeset
160 /* LOG system_log(log_idle, gc, NULL, OPT_LOG_BUDDY_IDLE | OPT_LOG_MY_SIGNON); */
4536
76c632fee2bc [gaim-migrate @ 4815]
Herman Bloggs <herman@bluedigits.com>
parents: 4201
diff changeset
161 } else if (idle_time < IDLEMARK && gc->is_idle) {
5211
94d9756c381f [gaim-migrate @ 5581]
Christian Hammond <chipx86@chipx86.com>
parents: 5205
diff changeset
162 gaim_debug(GAIM_DEBUG_INFO, "idle", "Setting %s unidle\n",
5563
d5a7852aa0cb [gaim-migrate @ 5965]
Christian Hammond <chipx86@chipx86.com>
parents: 5560
diff changeset
163 gaim_account_get_username(account));
1026
fa6230b217bc [gaim-migrate @ 1036]
bryner
parents: 1
diff changeset
164 serv_touch_idle(gc);
7475
987384816492 [gaim-migrate @ 8088]
Mark Doliner <markdoliner@pidgin.im>
parents: 7431
diff changeset
165 /* LOG system_log(log_unidle, gc, NULL, OPT_LOG_BUDDY_IDLE | OPT_LOG_MY_SIGNON); */
1029
c5ea048dc7ac [gaim-migrate @ 1039]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1028
diff changeset
166 }
1
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
167
1026
fa6230b217bc [gaim-migrate @ 1036]
bryner
parents: 1
diff changeset
168 return TRUE;
1
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
169
efe077a7e70d [gaim-migrate @ 10]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
170 }

mercurial