Mercurial > pidgin
annotate plugins/idle.c @ 12662:eb4841fa697c
[gaim-migrate @ 15005]
sf bug #1385691, Text field visible even when status set to "online"
Don't allow available messages for ICQ. The server doesn't support them.
committer: Tailor Script <tailor@pidgin.im>
| author | Mark Doliner <mark@kingant.net> |
|---|---|
| date | Mon, 26 Dec 2005 07:43:41 +0000 |
| parents | 5907fb1e58a0 |
| children | 657895c5f3f2 |
| rev | line source |
|---|---|
|
11551
78aad676fdb2
[gaim-migrate @ 13806]
Luke Schierer <lschiere@pidgin.im>
parents:
11256
diff
changeset
|
1 /* |
|
78aad676fdb2
[gaim-migrate @ 13806]
Luke Schierer <lschiere@pidgin.im>
parents:
11256
diff
changeset
|
2 * idle.c - I'dle Mak'er plugin for Gaim |
|
78aad676fdb2
[gaim-migrate @ 13806]
Luke Schierer <lschiere@pidgin.im>
parents:
11256
diff
changeset
|
3 * |
|
78aad676fdb2
[gaim-migrate @ 13806]
Luke Schierer <lschiere@pidgin.im>
parents:
11256
diff
changeset
|
4 * This file is part of Gaim. |
|
78aad676fdb2
[gaim-migrate @ 13806]
Luke Schierer <lschiere@pidgin.im>
parents:
11256
diff
changeset
|
5 * |
|
78aad676fdb2
[gaim-migrate @ 13806]
Luke Schierer <lschiere@pidgin.im>
parents:
11256
diff
changeset
|
6 * Gaim is the legal property of its developers, whose names are too numerous |
|
78aad676fdb2
[gaim-migrate @ 13806]
Luke Schierer <lschiere@pidgin.im>
parents:
11256
diff
changeset
|
7 * to list here. Please refer to the COPYRIGHT file distributed with this |
|
78aad676fdb2
[gaim-migrate @ 13806]
Luke Schierer <lschiere@pidgin.im>
parents:
11256
diff
changeset
|
8 * source distribution. |
|
78aad676fdb2
[gaim-migrate @ 13806]
Luke Schierer <lschiere@pidgin.im>
parents:
11256
diff
changeset
|
9 * |
|
78aad676fdb2
[gaim-migrate @ 13806]
Luke Schierer <lschiere@pidgin.im>
parents:
11256
diff
changeset
|
10 * This program is free software; you can redistribute it and/or modify |
|
78aad676fdb2
[gaim-migrate @ 13806]
Luke Schierer <lschiere@pidgin.im>
parents:
11256
diff
changeset
|
11 * it under the terms of the GNU General Public License as published by |
|
78aad676fdb2
[gaim-migrate @ 13806]
Luke Schierer <lschiere@pidgin.im>
parents:
11256
diff
changeset
|
12 * the Free Software Foundation; either version 2 of the License, or |
|
78aad676fdb2
[gaim-migrate @ 13806]
Luke Schierer <lschiere@pidgin.im>
parents:
11256
diff
changeset
|
13 * (at your option) any later version. |
|
78aad676fdb2
[gaim-migrate @ 13806]
Luke Schierer <lschiere@pidgin.im>
parents:
11256
diff
changeset
|
14 * |
|
78aad676fdb2
[gaim-migrate @ 13806]
Luke Schierer <lschiere@pidgin.im>
parents:
11256
diff
changeset
|
15 * This program is distributed in the hope that it will be useful, |
|
78aad676fdb2
[gaim-migrate @ 13806]
Luke Schierer <lschiere@pidgin.im>
parents:
11256
diff
changeset
|
16 * but WITHOUT ANY WARRANTY; without even the implied warranty of |
|
78aad676fdb2
[gaim-migrate @ 13806]
Luke Schierer <lschiere@pidgin.im>
parents:
11256
diff
changeset
|
17 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
|
78aad676fdb2
[gaim-migrate @ 13806]
Luke Schierer <lschiere@pidgin.im>
parents:
11256
diff
changeset
|
18 * GNU General Public License for more details. |
|
78aad676fdb2
[gaim-migrate @ 13806]
Luke Schierer <lschiere@pidgin.im>
parents:
11256
diff
changeset
|
19 * |
|
78aad676fdb2
[gaim-migrate @ 13806]
Luke Schierer <lschiere@pidgin.im>
parents:
11256
diff
changeset
|
20 * You should have received a copy of the GNU General Public License |
|
78aad676fdb2
[gaim-migrate @ 13806]
Luke Schierer <lschiere@pidgin.im>
parents:
11256
diff
changeset
|
21 * along with this program; if not, write to the Free Software |
|
78aad676fdb2
[gaim-migrate @ 13806]
Luke Schierer <lschiere@pidgin.im>
parents:
11256
diff
changeset
|
22 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA |
| 4103 | 23 */ |
| 24 | |
|
5872
059d95c67cda
[gaim-migrate @ 6304]
Christian Hammond <chipx86@chipx86.com>
parents:
5614
diff
changeset
|
25 #include "internal.h" |
|
059d95c67cda
[gaim-migrate @ 6304]
Christian Hammond <chipx86@chipx86.com>
parents:
5614
diff
changeset
|
26 |
|
059d95c67cda
[gaim-migrate @ 6304]
Christian Hammond <chipx86@chipx86.com>
parents:
5614
diff
changeset
|
27 #include "connection.h" |
|
059d95c67cda
[gaim-migrate @ 6304]
Christian Hammond <chipx86@chipx86.com>
parents:
5614
diff
changeset
|
28 #include "debug.h" |
| 12272 | 29 #include "idle.h" |
| 11975 | 30 #include "notify.h" |
| 8986 | 31 #include "plugin.h" |
| 32 #include "request.h" | |
|
5872
059d95c67cda
[gaim-migrate @ 6304]
Christian Hammond <chipx86@chipx86.com>
parents:
5614
diff
changeset
|
33 #include "server.h" |
|
11551
78aad676fdb2
[gaim-migrate @ 13806]
Luke Schierer <lschiere@pidgin.im>
parents:
11256
diff
changeset
|
34 #include "status.h" |
| 9943 | 35 #include "version.h" |
|
5872
059d95c67cda
[gaim-migrate @ 6304]
Christian Hammond <chipx86@chipx86.com>
parents:
5614
diff
changeset
|
36 |
| 11754 | 37 /* This plugin no longer depends on gtk */ |
| 38 #define IDLE_PLUGIN_ID "core-idle" | |
|
5205
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
4635
diff
changeset
|
39 |
| 11754 | 40 static GList *idled_accts = NULL; |
|
11551
78aad676fdb2
[gaim-migrate @ 13806]
Luke Schierer <lschiere@pidgin.im>
parents:
11256
diff
changeset
|
41 |
|
78aad676fdb2
[gaim-migrate @ 13806]
Luke Schierer <lschiere@pidgin.im>
parents:
11256
diff
changeset
|
42 static gboolean |
|
78aad676fdb2
[gaim-migrate @ 13806]
Luke Schierer <lschiere@pidgin.im>
parents:
11256
diff
changeset
|
43 idle_filter(GaimAccount *acct) |
|
78aad676fdb2
[gaim-migrate @ 13806]
Luke Schierer <lschiere@pidgin.im>
parents:
11256
diff
changeset
|
44 { |
| 11754 | 45 if (g_list_find(idled_accts, acct)) |
|
11551
78aad676fdb2
[gaim-migrate @ 13806]
Luke Schierer <lschiere@pidgin.im>
parents:
11256
diff
changeset
|
46 return TRUE; |
|
78aad676fdb2
[gaim-migrate @ 13806]
Luke Schierer <lschiere@pidgin.im>
parents:
11256
diff
changeset
|
47 |
|
78aad676fdb2
[gaim-migrate @ 13806]
Luke Schierer <lschiere@pidgin.im>
parents:
11256
diff
changeset
|
48 return FALSE; |
|
78aad676fdb2
[gaim-migrate @ 13806]
Luke Schierer <lschiere@pidgin.im>
parents:
11256
diff
changeset
|
49 } |
|
78aad676fdb2
[gaim-migrate @ 13806]
Luke Schierer <lschiere@pidgin.im>
parents:
11256
diff
changeset
|
50 |
|
78aad676fdb2
[gaim-migrate @ 13806]
Luke Schierer <lschiere@pidgin.im>
parents:
11256
diff
changeset
|
51 static void |
|
78aad676fdb2
[gaim-migrate @ 13806]
Luke Schierer <lschiere@pidgin.im>
parents:
11256
diff
changeset
|
52 set_idle_time(GaimAccount *acct, int mins_idle) |
|
78aad676fdb2
[gaim-migrate @ 13806]
Luke Schierer <lschiere@pidgin.im>
parents:
11256
diff
changeset
|
53 { |
| 11972 | 54 time_t t; |
|
11551
78aad676fdb2
[gaim-migrate @ 13806]
Luke Schierer <lschiere@pidgin.im>
parents:
11256
diff
changeset
|
55 GaimConnection *gc = gaim_account_get_connection(acct); |
|
78aad676fdb2
[gaim-migrate @ 13806]
Luke Schierer <lschiere@pidgin.im>
parents:
11256
diff
changeset
|
56 GaimPresence *presence = gaim_account_get_presence(acct); |
|
78aad676fdb2
[gaim-migrate @ 13806]
Luke Schierer <lschiere@pidgin.im>
parents:
11256
diff
changeset
|
57 |
|
11749
7da512f06185
[gaim-migrate @ 14040]
Richard Laager <rlaager@wiktel.com>
parents:
11551
diff
changeset
|
58 if (!gc) |
|
7da512f06185
[gaim-migrate @ 14040]
Richard Laager <rlaager@wiktel.com>
parents:
11551
diff
changeset
|
59 return; |
|
7da512f06185
[gaim-migrate @ 14040]
Richard Laager <rlaager@wiktel.com>
parents:
11551
diff
changeset
|
60 |
| 11754 | 61 gaim_debug_info("idle", |
|
11551
78aad676fdb2
[gaim-migrate @ 13806]
Luke Schierer <lschiere@pidgin.im>
parents:
11256
diff
changeset
|
62 "setting idle time for %s to %d\n", |
|
78aad676fdb2
[gaim-migrate @ 13806]
Luke Schierer <lschiere@pidgin.im>
parents:
11256
diff
changeset
|
63 gaim_account_get_username(acct), mins_idle); |
|
78aad676fdb2
[gaim-migrate @ 13806]
Luke Schierer <lschiere@pidgin.im>
parents:
11256
diff
changeset
|
64 |
| 11974 | 65 t = time(NULL) - (60 * mins_idle); /* subtract seconds idle from current time */ |
| 12272 | 66 gaim_idle_set(t); |
|
11551
78aad676fdb2
[gaim-migrate @ 13806]
Luke Schierer <lschiere@pidgin.im>
parents:
11256
diff
changeset
|
67 |
|
78aad676fdb2
[gaim-migrate @ 13806]
Luke Schierer <lschiere@pidgin.im>
parents:
11256
diff
changeset
|
68 gaim_presence_set_idle(presence, mins_idle ? TRUE : FALSE, t); |
|
78aad676fdb2
[gaim-migrate @ 13806]
Luke Schierer <lschiere@pidgin.im>
parents:
11256
diff
changeset
|
69 } |
| 4103 | 70 |
| 8986 | 71 static void |
| 72 idle_action_ok(void *ignored, GaimRequestFields *fields) | |
| 73 { | |
|
11551
78aad676fdb2
[gaim-migrate @ 13806]
Luke Schierer <lschiere@pidgin.im>
parents:
11256
diff
changeset
|
74 int tm = gaim_request_fields_get_integer(fields, "mins"); |
|
78aad676fdb2
[gaim-migrate @ 13806]
Luke Schierer <lschiere@pidgin.im>
parents:
11256
diff
changeset
|
75 GaimAccount *acct = gaim_request_fields_get_account(fields, "acct"); |
|
5587
1c55b1540e18
[gaim-migrate @ 5991]
Christian Hammond <chipx86@chipx86.com>
parents:
5530
diff
changeset
|
76 |
|
11551
78aad676fdb2
[gaim-migrate @ 13806]
Luke Schierer <lschiere@pidgin.im>
parents:
11256
diff
changeset
|
77 /* only add the account to the GList if it's not already been idled */ |
| 11754 | 78 if (!idle_filter(acct)) |
| 79 { | |
|
11551
78aad676fdb2
[gaim-migrate @ 13806]
Luke Schierer <lschiere@pidgin.im>
parents:
11256
diff
changeset
|
80 gaim_debug_misc("idle", |
|
78aad676fdb2
[gaim-migrate @ 13806]
Luke Schierer <lschiere@pidgin.im>
parents:
11256
diff
changeset
|
81 "%s hasn't been idled yet; adding to list.\n", |
|
78aad676fdb2
[gaim-migrate @ 13806]
Luke Schierer <lschiere@pidgin.im>
parents:
11256
diff
changeset
|
82 gaim_account_get_username(acct)); |
|
78aad676fdb2
[gaim-migrate @ 13806]
Luke Schierer <lschiere@pidgin.im>
parents:
11256
diff
changeset
|
83 idled_accts = g_list_append(idled_accts, acct); |
|
78aad676fdb2
[gaim-migrate @ 13806]
Luke Schierer <lschiere@pidgin.im>
parents:
11256
diff
changeset
|
84 } |
|
78aad676fdb2
[gaim-migrate @ 13806]
Luke Schierer <lschiere@pidgin.im>
parents:
11256
diff
changeset
|
85 |
|
78aad676fdb2
[gaim-migrate @ 13806]
Luke Schierer <lschiere@pidgin.im>
parents:
11256
diff
changeset
|
86 set_idle_time(acct, tm); |
|
78aad676fdb2
[gaim-migrate @ 13806]
Luke Schierer <lschiere@pidgin.im>
parents:
11256
diff
changeset
|
87 } |
|
78aad676fdb2
[gaim-migrate @ 13806]
Luke Schierer <lschiere@pidgin.im>
parents:
11256
diff
changeset
|
88 |
|
78aad676fdb2
[gaim-migrate @ 13806]
Luke Schierer <lschiere@pidgin.im>
parents:
11256
diff
changeset
|
89 static void |
|
78aad676fdb2
[gaim-migrate @ 13806]
Luke Schierer <lschiere@pidgin.im>
parents:
11256
diff
changeset
|
90 unidle_action_ok(void *ignored, GaimRequestFields *fields) |
|
78aad676fdb2
[gaim-migrate @ 13806]
Luke Schierer <lschiere@pidgin.im>
parents:
11256
diff
changeset
|
91 { |
|
78aad676fdb2
[gaim-migrate @ 13806]
Luke Schierer <lschiere@pidgin.im>
parents:
11256
diff
changeset
|
92 GaimAccount *acct = gaim_request_fields_get_account(fields, "acct"); |
|
78aad676fdb2
[gaim-migrate @ 13806]
Luke Schierer <lschiere@pidgin.im>
parents:
11256
diff
changeset
|
93 |
|
78aad676fdb2
[gaim-migrate @ 13806]
Luke Schierer <lschiere@pidgin.im>
parents:
11256
diff
changeset
|
94 set_idle_time(acct, 0); /* unidle the account */ |
|
78aad676fdb2
[gaim-migrate @ 13806]
Luke Schierer <lschiere@pidgin.im>
parents:
11256
diff
changeset
|
95 |
|
78aad676fdb2
[gaim-migrate @ 13806]
Luke Schierer <lschiere@pidgin.im>
parents:
11256
diff
changeset
|
96 /* once the account has been unidled it shouldn't be in the list */ |
|
11749
7da512f06185
[gaim-migrate @ 14040]
Richard Laager <rlaager@wiktel.com>
parents:
11551
diff
changeset
|
97 idled_accts = g_list_remove(idled_accts, acct); |
| 4103 | 98 } |
| 99 | |
| 8986 | 100 |
| 101 static void | |
| 9015 | 102 idle_action(GaimPluginAction *action) |
|
6008
35679a3f2bcc
[gaim-migrate @ 6456]
Christian Hammond <chipx86@chipx86.com>
parents:
5920
diff
changeset
|
103 { |
| 8986 | 104 /* Use the super fancy request API */ |
| 4103 | 105 |
| 8986 | 106 GaimRequestFields *request; |
| 107 GaimRequestFieldGroup *group; | |
| 108 GaimRequestField *field; | |
| 109 | |
| 110 group = gaim_request_field_group_new(NULL); | |
| 4103 | 111 |
| 8994 | 112 field = gaim_request_field_account_new("acct", _("Account"), NULL); |
| 8986 | 113 gaim_request_field_account_set_show_all(field, FALSE); |
| 114 gaim_request_field_group_add_field(group, field); | |
| 11754 | 115 |
| 8994 | 116 field = gaim_request_field_int_new("mins", _("Minutes"), 10); |
| 8986 | 117 gaim_request_field_group_add_field(group, field); |
| 4103 | 118 |
| 8986 | 119 request = gaim_request_fields_new(); |
| 120 gaim_request_fields_add_group(request, group); | |
| 121 | |
| 9015 | 122 gaim_request_fields(action->plugin, |
| 8986 | 123 N_("I'dle Mak'er"), |
| 124 _("Set Account Idle Time"), | |
| 125 NULL, | |
| 126 request, | |
| 127 _("_Set"), G_CALLBACK(idle_action_ok), | |
| 128 _("_Cancel"), NULL, | |
| 129 NULL); | |
| 4103 | 130 } |
| 131 | |
|
11551
78aad676fdb2
[gaim-migrate @ 13806]
Luke Schierer <lschiere@pidgin.im>
parents:
11256
diff
changeset
|
132 static void |
|
78aad676fdb2
[gaim-migrate @ 13806]
Luke Schierer <lschiere@pidgin.im>
parents:
11256
diff
changeset
|
133 unidle_action(GaimPluginAction *action) |
|
78aad676fdb2
[gaim-migrate @ 13806]
Luke Schierer <lschiere@pidgin.im>
parents:
11256
diff
changeset
|
134 { |
|
78aad676fdb2
[gaim-migrate @ 13806]
Luke Schierer <lschiere@pidgin.im>
parents:
11256
diff
changeset
|
135 GaimRequestFields *request; |
|
78aad676fdb2
[gaim-migrate @ 13806]
Luke Schierer <lschiere@pidgin.im>
parents:
11256
diff
changeset
|
136 GaimRequestFieldGroup *group; |
|
78aad676fdb2
[gaim-migrate @ 13806]
Luke Schierer <lschiere@pidgin.im>
parents:
11256
diff
changeset
|
137 GaimRequestField *field; |
|
78aad676fdb2
[gaim-migrate @ 13806]
Luke Schierer <lschiere@pidgin.im>
parents:
11256
diff
changeset
|
138 |
| 11975 | 139 if (idled_accts == NULL) |
| 140 { | |
| 141 gaim_notify_info(NULL, NULL, _("None of your accounts are idle."), NULL); | |
| 142 return; | |
| 143 } | |
| 144 | |
|
11551
78aad676fdb2
[gaim-migrate @ 13806]
Luke Schierer <lschiere@pidgin.im>
parents:
11256
diff
changeset
|
145 group = gaim_request_field_group_new(NULL); |
|
78aad676fdb2
[gaim-migrate @ 13806]
Luke Schierer <lschiere@pidgin.im>
parents:
11256
diff
changeset
|
146 |
|
78aad676fdb2
[gaim-migrate @ 13806]
Luke Schierer <lschiere@pidgin.im>
parents:
11256
diff
changeset
|
147 field = gaim_request_field_account_new("acct", _("Account"), NULL); |
|
78aad676fdb2
[gaim-migrate @ 13806]
Luke Schierer <lschiere@pidgin.im>
parents:
11256
diff
changeset
|
148 gaim_request_field_account_set_filter(field, idle_filter); |
|
78aad676fdb2
[gaim-migrate @ 13806]
Luke Schierer <lschiere@pidgin.im>
parents:
11256
diff
changeset
|
149 gaim_request_field_account_set_show_all(field, FALSE); |
|
78aad676fdb2
[gaim-migrate @ 13806]
Luke Schierer <lschiere@pidgin.im>
parents:
11256
diff
changeset
|
150 gaim_request_field_group_add_field(group, field); |
|
78aad676fdb2
[gaim-migrate @ 13806]
Luke Schierer <lschiere@pidgin.im>
parents:
11256
diff
changeset
|
151 |
|
78aad676fdb2
[gaim-migrate @ 13806]
Luke Schierer <lschiere@pidgin.im>
parents:
11256
diff
changeset
|
152 request = gaim_request_fields_new(); |
|
78aad676fdb2
[gaim-migrate @ 13806]
Luke Schierer <lschiere@pidgin.im>
parents:
11256
diff
changeset
|
153 gaim_request_fields_add_group(request, group); |
|
78aad676fdb2
[gaim-migrate @ 13806]
Luke Schierer <lschiere@pidgin.im>
parents:
11256
diff
changeset
|
154 |
|
78aad676fdb2
[gaim-migrate @ 13806]
Luke Schierer <lschiere@pidgin.im>
parents:
11256
diff
changeset
|
155 gaim_request_fields(action->plugin, |
|
78aad676fdb2
[gaim-migrate @ 13806]
Luke Schierer <lschiere@pidgin.im>
parents:
11256
diff
changeset
|
156 N_("I'dle Mak'er"), |
|
78aad676fdb2
[gaim-migrate @ 13806]
Luke Schierer <lschiere@pidgin.im>
parents:
11256
diff
changeset
|
157 _("Unset Account Idle Time"), |
|
78aad676fdb2
[gaim-migrate @ 13806]
Luke Schierer <lschiere@pidgin.im>
parents:
11256
diff
changeset
|
158 NULL, |
|
78aad676fdb2
[gaim-migrate @ 13806]
Luke Schierer <lschiere@pidgin.im>
parents:
11256
diff
changeset
|
159 request, |
|
78aad676fdb2
[gaim-migrate @ 13806]
Luke Schierer <lschiere@pidgin.im>
parents:
11256
diff
changeset
|
160 _("_Unset"), G_CALLBACK(unidle_action_ok), |
|
78aad676fdb2
[gaim-migrate @ 13806]
Luke Schierer <lschiere@pidgin.im>
parents:
11256
diff
changeset
|
161 _("_Cancel"), NULL, |
|
78aad676fdb2
[gaim-migrate @ 13806]
Luke Schierer <lschiere@pidgin.im>
parents:
11256
diff
changeset
|
162 NULL); |
|
78aad676fdb2
[gaim-migrate @ 13806]
Luke Schierer <lschiere@pidgin.im>
parents:
11256
diff
changeset
|
163 } |
|
78aad676fdb2
[gaim-migrate @ 13806]
Luke Schierer <lschiere@pidgin.im>
parents:
11256
diff
changeset
|
164 |
|
78aad676fdb2
[gaim-migrate @ 13806]
Luke Schierer <lschiere@pidgin.im>
parents:
11256
diff
changeset
|
165 static void |
|
78aad676fdb2
[gaim-migrate @ 13806]
Luke Schierer <lschiere@pidgin.im>
parents:
11256
diff
changeset
|
166 unidle_all_action(GaimPluginAction *action) |
|
78aad676fdb2
[gaim-migrate @ 13806]
Luke Schierer <lschiere@pidgin.im>
parents:
11256
diff
changeset
|
167 { |
|
78aad676fdb2
[gaim-migrate @ 13806]
Luke Schierer <lschiere@pidgin.im>
parents:
11256
diff
changeset
|
168 GList *l; |
| 11754 | 169 |
|
11551
78aad676fdb2
[gaim-migrate @ 13806]
Luke Schierer <lschiere@pidgin.im>
parents:
11256
diff
changeset
|
170 /* freeing the list here will cause segfaults if the user idles an account |
|
78aad676fdb2
[gaim-migrate @ 13806]
Luke Schierer <lschiere@pidgin.im>
parents:
11256
diff
changeset
|
171 * after the list is freed */ |
| 11754 | 172 for (l = idled_accts; l; l = l->next) |
| 173 { | |
|
11749
7da512f06185
[gaim-migrate @ 14040]
Richard Laager <rlaager@wiktel.com>
parents:
11551
diff
changeset
|
174 GaimAccount *account = l->data; |
|
7da512f06185
[gaim-migrate @ 14040]
Richard Laager <rlaager@wiktel.com>
parents:
11551
diff
changeset
|
175 set_idle_time(account, 0); |
|
11551
78aad676fdb2
[gaim-migrate @ 13806]
Luke Schierer <lschiere@pidgin.im>
parents:
11256
diff
changeset
|
176 } |
| 11754 | 177 |
| 178 g_list_free(idled_accts); | |
| 179 idled_accts = NULL; | |
|
11551
78aad676fdb2
[gaim-migrate @ 13806]
Luke Schierer <lschiere@pidgin.im>
parents:
11256
diff
changeset
|
180 } |
| 8986 | 181 |
| 182 static GList * | |
| 9015 | 183 actions(GaimPlugin *plugin, gpointer context) |
|
5205
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
4635
diff
changeset
|
184 { |
| 8986 | 185 GList *l = NULL; |
| 9015 | 186 GaimPluginAction *act = NULL; |
| 4103 | 187 |
| 12306 | 188 act = gaim_plugin_action_new(_("Set Account Idle Time"), |
| 9015 | 189 idle_action); |
| 190 l = g_list_append(l, act); | |
| 4103 | 191 |
| 12306 | 192 act = gaim_plugin_action_new(_("Unset Account Idle Time"), |
|
11551
78aad676fdb2
[gaim-migrate @ 13806]
Luke Schierer <lschiere@pidgin.im>
parents:
11256
diff
changeset
|
193 unidle_action); |
|
78aad676fdb2
[gaim-migrate @ 13806]
Luke Schierer <lschiere@pidgin.im>
parents:
11256
diff
changeset
|
194 l = g_list_append(l, act); |
|
78aad676fdb2
[gaim-migrate @ 13806]
Luke Schierer <lschiere@pidgin.im>
parents:
11256
diff
changeset
|
195 |
|
78aad676fdb2
[gaim-migrate @ 13806]
Luke Schierer <lschiere@pidgin.im>
parents:
11256
diff
changeset
|
196 act = gaim_plugin_action_new( |
| 12306 | 197 _("Unset Idle Time for All Idled Accounts"), unidle_all_action); |
|
11551
78aad676fdb2
[gaim-migrate @ 13806]
Luke Schierer <lschiere@pidgin.im>
parents:
11256
diff
changeset
|
198 l = g_list_append(l, act); |
|
78aad676fdb2
[gaim-migrate @ 13806]
Luke Schierer <lschiere@pidgin.im>
parents:
11256
diff
changeset
|
199 |
| 8986 | 200 return l; |
| 4103 | 201 } |
|
5205
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
4635
diff
changeset
|
202 |
|
11551
78aad676fdb2
[gaim-migrate @ 13806]
Luke Schierer <lschiere@pidgin.im>
parents:
11256
diff
changeset
|
203 static gboolean |
|
78aad676fdb2
[gaim-migrate @ 13806]
Luke Schierer <lschiere@pidgin.im>
parents:
11256
diff
changeset
|
204 plugin_unload(GaimPlugin *plugin) |
|
78aad676fdb2
[gaim-migrate @ 13806]
Luke Schierer <lschiere@pidgin.im>
parents:
11256
diff
changeset
|
205 { |
| 11754 | 206 unidle_all_action(NULL); |
|
11551
78aad676fdb2
[gaim-migrate @ 13806]
Luke Schierer <lschiere@pidgin.im>
parents:
11256
diff
changeset
|
207 |
|
78aad676fdb2
[gaim-migrate @ 13806]
Luke Schierer <lschiere@pidgin.im>
parents:
11256
diff
changeset
|
208 return TRUE; |
|
78aad676fdb2
[gaim-migrate @ 13806]
Luke Schierer <lschiere@pidgin.im>
parents:
11256
diff
changeset
|
209 } |
|
78aad676fdb2
[gaim-migrate @ 13806]
Luke Schierer <lschiere@pidgin.im>
parents:
11256
diff
changeset
|
210 |
|
5205
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
4635
diff
changeset
|
211 static GaimPluginInfo info = |
|
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
4635
diff
changeset
|
212 { |
| 9943 | 213 GAIM_PLUGIN_MAGIC, |
| 214 GAIM_MAJOR_VERSION, | |
| 215 GAIM_MINOR_VERSION, | |
|
5205
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
4635
diff
changeset
|
216 GAIM_PLUGIN_STANDARD, |
| 8986 | 217 NULL, |
|
5205
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
4635
diff
changeset
|
218 0, |
|
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
4635
diff
changeset
|
219 NULL, |
|
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
4635
diff
changeset
|
220 GAIM_PRIORITY_DEFAULT, |
|
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
4635
diff
changeset
|
221 IDLE_PLUGIN_ID, |
|
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
4635
diff
changeset
|
222 N_("I'dle Mak'er"), |
|
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
4635
diff
changeset
|
223 VERSION, |
|
11551
78aad676fdb2
[gaim-migrate @ 13806]
Luke Schierer <lschiere@pidgin.im>
parents:
11256
diff
changeset
|
224 N_("Allows you to hand-configure how long you've been idle"), |
|
78aad676fdb2
[gaim-migrate @ 13806]
Luke Schierer <lschiere@pidgin.im>
parents:
11256
diff
changeset
|
225 N_("Allows you to hand-configure how long you've been idle"), |
| 6481 | 226 "Eric Warmenhoven <eric@warmenhoven.org>", |
|
6371
8f94cce8faa5
[gaim-migrate @ 6876]
Christian Hammond <chipx86@chipx86.com>
parents:
6064
diff
changeset
|
227 GAIM_WEBSITE, |
|
11256
bb0d7b719af2
[gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents:
11033
diff
changeset
|
228 NULL, |
|
11551
78aad676fdb2
[gaim-migrate @ 13806]
Luke Schierer <lschiere@pidgin.im>
parents:
11256
diff
changeset
|
229 plugin_unload, |
|
5205
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
4635
diff
changeset
|
230 NULL, |
| 8986 | 231 NULL, |
| 232 NULL, | |
| 233 NULL, | |
| 234 actions | |
|
5205
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
4635
diff
changeset
|
235 }; |
|
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
4635
diff
changeset
|
236 |
| 8986 | 237 |
|
5205
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
4635
diff
changeset
|
238 static void |
|
5920
7d385de2f9cd
[gaim-migrate @ 6360]
Christian Hammond <chipx86@chipx86.com>
parents:
5873
diff
changeset
|
239 init_plugin(GaimPlugin *plugin) |
|
5205
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
4635
diff
changeset
|
240 { |
|
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
4635
diff
changeset
|
241 } |
|
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
4635
diff
changeset
|
242 |
| 8986 | 243 |
| 6063 | 244 GAIM_INIT_PLUGIN(idle, init_plugin, info) |
| 8986 | 245 |
