Mercurial > pidgin
annotate plugins/idle.c @ 12764:657895c5f3f2
[gaim-migrate @ 15111]
Bleeter pointed out that this causes all accounts to go idle when
you set just one of them idle
committer: Tailor Script <tailor@pidgin.im>
| author | Mark Doliner <mark@kingant.net> |
|---|---|
| date | Sun, 08 Jan 2006 19:09:47 +0000 |
| parents | 5907fb1e58a0 |
| children | 4dc5e71c5a57 |
| 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" |
| 11975 | 29 #include "notify.h" |
| 8986 | 30 #include "plugin.h" |
| 31 #include "request.h" | |
|
5872
059d95c67cda
[gaim-migrate @ 6304]
Christian Hammond <chipx86@chipx86.com>
parents:
5614
diff
changeset
|
32 #include "server.h" |
|
11551
78aad676fdb2
[gaim-migrate @ 13806]
Luke Schierer <lschiere@pidgin.im>
parents:
11256
diff
changeset
|
33 #include "status.h" |
| 9943 | 34 #include "version.h" |
|
5872
059d95c67cda
[gaim-migrate @ 6304]
Christian Hammond <chipx86@chipx86.com>
parents:
5614
diff
changeset
|
35 |
| 11754 | 36 /* This plugin no longer depends on gtk */ |
| 37 #define IDLE_PLUGIN_ID "core-idle" | |
|
5205
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
4635
diff
changeset
|
38 |
| 11754 | 39 static GList *idled_accts = NULL; |
|
11551
78aad676fdb2
[gaim-migrate @ 13806]
Luke Schierer <lschiere@pidgin.im>
parents:
11256
diff
changeset
|
40 |
|
78aad676fdb2
[gaim-migrate @ 13806]
Luke Schierer <lschiere@pidgin.im>
parents:
11256
diff
changeset
|
41 static gboolean |
|
78aad676fdb2
[gaim-migrate @ 13806]
Luke Schierer <lschiere@pidgin.im>
parents:
11256
diff
changeset
|
42 idle_filter(GaimAccount *acct) |
|
78aad676fdb2
[gaim-migrate @ 13806]
Luke Schierer <lschiere@pidgin.im>
parents:
11256
diff
changeset
|
43 { |
| 11754 | 44 if (g_list_find(idled_accts, acct)) |
|
11551
78aad676fdb2
[gaim-migrate @ 13806]
Luke Schierer <lschiere@pidgin.im>
parents:
11256
diff
changeset
|
45 return TRUE; |
|
78aad676fdb2
[gaim-migrate @ 13806]
Luke Schierer <lschiere@pidgin.im>
parents:
11256
diff
changeset
|
46 |
|
78aad676fdb2
[gaim-migrate @ 13806]
Luke Schierer <lschiere@pidgin.im>
parents:
11256
diff
changeset
|
47 return FALSE; |
|
78aad676fdb2
[gaim-migrate @ 13806]
Luke Schierer <lschiere@pidgin.im>
parents:
11256
diff
changeset
|
48 } |
|
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 static void |
|
78aad676fdb2
[gaim-migrate @ 13806]
Luke Schierer <lschiere@pidgin.im>
parents:
11256
diff
changeset
|
51 set_idle_time(GaimAccount *acct, int mins_idle) |
|
78aad676fdb2
[gaim-migrate @ 13806]
Luke Schierer <lschiere@pidgin.im>
parents:
11256
diff
changeset
|
52 { |
| 11972 | 53 time_t t; |
|
11551
78aad676fdb2
[gaim-migrate @ 13806]
Luke Schierer <lschiere@pidgin.im>
parents:
11256
diff
changeset
|
54 GaimConnection *gc = gaim_account_get_connection(acct); |
|
78aad676fdb2
[gaim-migrate @ 13806]
Luke Schierer <lschiere@pidgin.im>
parents:
11256
diff
changeset
|
55 GaimPresence *presence = gaim_account_get_presence(acct); |
|
78aad676fdb2
[gaim-migrate @ 13806]
Luke Schierer <lschiere@pidgin.im>
parents:
11256
diff
changeset
|
56 |
|
11749
7da512f06185
[gaim-migrate @ 14040]
Richard Laager <rlaager@wiktel.com>
parents:
11551
diff
changeset
|
57 if (!gc) |
|
7da512f06185
[gaim-migrate @ 14040]
Richard Laager <rlaager@wiktel.com>
parents:
11551
diff
changeset
|
58 return; |
|
7da512f06185
[gaim-migrate @ 14040]
Richard Laager <rlaager@wiktel.com>
parents:
11551
diff
changeset
|
59 |
| 11754 | 60 gaim_debug_info("idle", |
|
11551
78aad676fdb2
[gaim-migrate @ 13806]
Luke Schierer <lschiere@pidgin.im>
parents:
11256
diff
changeset
|
61 "setting idle time for %s to %d\n", |
|
78aad676fdb2
[gaim-migrate @ 13806]
Luke Schierer <lschiere@pidgin.im>
parents:
11256
diff
changeset
|
62 gaim_account_get_username(acct), mins_idle); |
|
78aad676fdb2
[gaim-migrate @ 13806]
Luke Schierer <lschiere@pidgin.im>
parents:
11256
diff
changeset
|
63 |
| 11974 | 64 t = time(NULL) - (60 * mins_idle); /* subtract seconds idle from current time */ |
|
11551
78aad676fdb2
[gaim-migrate @ 13806]
Luke Schierer <lschiere@pidgin.im>
parents:
11256
diff
changeset
|
65 |
|
78aad676fdb2
[gaim-migrate @ 13806]
Luke Schierer <lschiere@pidgin.im>
parents:
11256
diff
changeset
|
66 gaim_presence_set_idle(presence, mins_idle ? TRUE : FALSE, t); |
|
78aad676fdb2
[gaim-migrate @ 13806]
Luke Schierer <lschiere@pidgin.im>
parents:
11256
diff
changeset
|
67 } |
| 4103 | 68 |
| 8986 | 69 static void |
| 70 idle_action_ok(void *ignored, GaimRequestFields *fields) | |
| 71 { | |
|
11551
78aad676fdb2
[gaim-migrate @ 13806]
Luke Schierer <lschiere@pidgin.im>
parents:
11256
diff
changeset
|
72 int tm = gaim_request_fields_get_integer(fields, "mins"); |
|
78aad676fdb2
[gaim-migrate @ 13806]
Luke Schierer <lschiere@pidgin.im>
parents:
11256
diff
changeset
|
73 GaimAccount *acct = gaim_request_fields_get_account(fields, "acct"); |
|
5587
1c55b1540e18
[gaim-migrate @ 5991]
Christian Hammond <chipx86@chipx86.com>
parents:
5530
diff
changeset
|
74 |
|
11551
78aad676fdb2
[gaim-migrate @ 13806]
Luke Schierer <lschiere@pidgin.im>
parents:
11256
diff
changeset
|
75 /* only add the account to the GList if it's not already been idled */ |
| 11754 | 76 if (!idle_filter(acct)) |
| 77 { | |
|
11551
78aad676fdb2
[gaim-migrate @ 13806]
Luke Schierer <lschiere@pidgin.im>
parents:
11256
diff
changeset
|
78 gaim_debug_misc("idle", |
|
78aad676fdb2
[gaim-migrate @ 13806]
Luke Schierer <lschiere@pidgin.im>
parents:
11256
diff
changeset
|
79 "%s hasn't been idled yet; adding to list.\n", |
|
78aad676fdb2
[gaim-migrate @ 13806]
Luke Schierer <lschiere@pidgin.im>
parents:
11256
diff
changeset
|
80 gaim_account_get_username(acct)); |
|
78aad676fdb2
[gaim-migrate @ 13806]
Luke Schierer <lschiere@pidgin.im>
parents:
11256
diff
changeset
|
81 idled_accts = g_list_append(idled_accts, acct); |
|
78aad676fdb2
[gaim-migrate @ 13806]
Luke Schierer <lschiere@pidgin.im>
parents:
11256
diff
changeset
|
82 } |
|
78aad676fdb2
[gaim-migrate @ 13806]
Luke Schierer <lschiere@pidgin.im>
parents:
11256
diff
changeset
|
83 |
|
78aad676fdb2
[gaim-migrate @ 13806]
Luke Schierer <lschiere@pidgin.im>
parents:
11256
diff
changeset
|
84 set_idle_time(acct, tm); |
|
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 |
|
78aad676fdb2
[gaim-migrate @ 13806]
Luke Schierer <lschiere@pidgin.im>
parents:
11256
diff
changeset
|
87 static void |
|
78aad676fdb2
[gaim-migrate @ 13806]
Luke Schierer <lschiere@pidgin.im>
parents:
11256
diff
changeset
|
88 unidle_action_ok(void *ignored, GaimRequestFields *fields) |
|
78aad676fdb2
[gaim-migrate @ 13806]
Luke Schierer <lschiere@pidgin.im>
parents:
11256
diff
changeset
|
89 { |
|
78aad676fdb2
[gaim-migrate @ 13806]
Luke Schierer <lschiere@pidgin.im>
parents:
11256
diff
changeset
|
90 GaimAccount *acct = gaim_request_fields_get_account(fields, "acct"); |
|
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 set_idle_time(acct, 0); /* unidle the account */ |
|
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 /* 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
|
95 idled_accts = g_list_remove(idled_accts, acct); |
| 4103 | 96 } |
| 97 | |
| 8986 | 98 |
| 99 static void | |
| 9015 | 100 idle_action(GaimPluginAction *action) |
|
6008
35679a3f2bcc
[gaim-migrate @ 6456]
Christian Hammond <chipx86@chipx86.com>
parents:
5920
diff
changeset
|
101 { |
| 8986 | 102 /* Use the super fancy request API */ |
| 4103 | 103 |
| 8986 | 104 GaimRequestFields *request; |
| 105 GaimRequestFieldGroup *group; | |
| 106 GaimRequestField *field; | |
| 107 | |
| 108 group = gaim_request_field_group_new(NULL); | |
| 4103 | 109 |
| 8994 | 110 field = gaim_request_field_account_new("acct", _("Account"), NULL); |
| 8986 | 111 gaim_request_field_account_set_show_all(field, FALSE); |
| 112 gaim_request_field_group_add_field(group, field); | |
| 11754 | 113 |
| 8994 | 114 field = gaim_request_field_int_new("mins", _("Minutes"), 10); |
| 8986 | 115 gaim_request_field_group_add_field(group, field); |
| 4103 | 116 |
| 8986 | 117 request = gaim_request_fields_new(); |
| 118 gaim_request_fields_add_group(request, group); | |
| 119 | |
| 9015 | 120 gaim_request_fields(action->plugin, |
| 8986 | 121 N_("I'dle Mak'er"), |
| 122 _("Set Account Idle Time"), | |
| 123 NULL, | |
| 124 request, | |
| 125 _("_Set"), G_CALLBACK(idle_action_ok), | |
| 126 _("_Cancel"), NULL, | |
| 127 NULL); | |
| 4103 | 128 } |
| 129 | |
|
11551
78aad676fdb2
[gaim-migrate @ 13806]
Luke Schierer <lschiere@pidgin.im>
parents:
11256
diff
changeset
|
130 static void |
|
78aad676fdb2
[gaim-migrate @ 13806]
Luke Schierer <lschiere@pidgin.im>
parents:
11256
diff
changeset
|
131 unidle_action(GaimPluginAction *action) |
|
78aad676fdb2
[gaim-migrate @ 13806]
Luke Schierer <lschiere@pidgin.im>
parents:
11256
diff
changeset
|
132 { |
|
78aad676fdb2
[gaim-migrate @ 13806]
Luke Schierer <lschiere@pidgin.im>
parents:
11256
diff
changeset
|
133 GaimRequestFields *request; |
|
78aad676fdb2
[gaim-migrate @ 13806]
Luke Schierer <lschiere@pidgin.im>
parents:
11256
diff
changeset
|
134 GaimRequestFieldGroup *group; |
|
78aad676fdb2
[gaim-migrate @ 13806]
Luke Schierer <lschiere@pidgin.im>
parents:
11256
diff
changeset
|
135 GaimRequestField *field; |
|
78aad676fdb2
[gaim-migrate @ 13806]
Luke Schierer <lschiere@pidgin.im>
parents:
11256
diff
changeset
|
136 |
| 11975 | 137 if (idled_accts == NULL) |
| 138 { | |
| 139 gaim_notify_info(NULL, NULL, _("None of your accounts are idle."), NULL); | |
| 140 return; | |
| 141 } | |
| 142 | |
|
11551
78aad676fdb2
[gaim-migrate @ 13806]
Luke Schierer <lschiere@pidgin.im>
parents:
11256
diff
changeset
|
143 group = gaim_request_field_group_new(NULL); |
|
78aad676fdb2
[gaim-migrate @ 13806]
Luke Schierer <lschiere@pidgin.im>
parents:
11256
diff
changeset
|
144 |
|
78aad676fdb2
[gaim-migrate @ 13806]
Luke Schierer <lschiere@pidgin.im>
parents:
11256
diff
changeset
|
145 field = gaim_request_field_account_new("acct", _("Account"), NULL); |
|
78aad676fdb2
[gaim-migrate @ 13806]
Luke Schierer <lschiere@pidgin.im>
parents:
11256
diff
changeset
|
146 gaim_request_field_account_set_filter(field, idle_filter); |
|
78aad676fdb2
[gaim-migrate @ 13806]
Luke Schierer <lschiere@pidgin.im>
parents:
11256
diff
changeset
|
147 gaim_request_field_account_set_show_all(field, FALSE); |
|
78aad676fdb2
[gaim-migrate @ 13806]
Luke Schierer <lschiere@pidgin.im>
parents:
11256
diff
changeset
|
148 gaim_request_field_group_add_field(group, field); |
|
78aad676fdb2
[gaim-migrate @ 13806]
Luke Schierer <lschiere@pidgin.im>
parents:
11256
diff
changeset
|
149 |
|
78aad676fdb2
[gaim-migrate @ 13806]
Luke Schierer <lschiere@pidgin.im>
parents:
11256
diff
changeset
|
150 request = gaim_request_fields_new(); |
|
78aad676fdb2
[gaim-migrate @ 13806]
Luke Schierer <lschiere@pidgin.im>
parents:
11256
diff
changeset
|
151 gaim_request_fields_add_group(request, group); |
|
78aad676fdb2
[gaim-migrate @ 13806]
Luke Schierer <lschiere@pidgin.im>
parents:
11256
diff
changeset
|
152 |
|
78aad676fdb2
[gaim-migrate @ 13806]
Luke Schierer <lschiere@pidgin.im>
parents:
11256
diff
changeset
|
153 gaim_request_fields(action->plugin, |
|
78aad676fdb2
[gaim-migrate @ 13806]
Luke Schierer <lschiere@pidgin.im>
parents:
11256
diff
changeset
|
154 N_("I'dle Mak'er"), |
|
78aad676fdb2
[gaim-migrate @ 13806]
Luke Schierer <lschiere@pidgin.im>
parents:
11256
diff
changeset
|
155 _("Unset Account Idle Time"), |
|
78aad676fdb2
[gaim-migrate @ 13806]
Luke Schierer <lschiere@pidgin.im>
parents:
11256
diff
changeset
|
156 NULL, |
|
78aad676fdb2
[gaim-migrate @ 13806]
Luke Schierer <lschiere@pidgin.im>
parents:
11256
diff
changeset
|
157 request, |
|
78aad676fdb2
[gaim-migrate @ 13806]
Luke Schierer <lschiere@pidgin.im>
parents:
11256
diff
changeset
|
158 _("_Unset"), G_CALLBACK(unidle_action_ok), |
|
78aad676fdb2
[gaim-migrate @ 13806]
Luke Schierer <lschiere@pidgin.im>
parents:
11256
diff
changeset
|
159 _("_Cancel"), NULL, |
|
78aad676fdb2
[gaim-migrate @ 13806]
Luke Schierer <lschiere@pidgin.im>
parents:
11256
diff
changeset
|
160 NULL); |
|
78aad676fdb2
[gaim-migrate @ 13806]
Luke Schierer <lschiere@pidgin.im>
parents:
11256
diff
changeset
|
161 } |
|
78aad676fdb2
[gaim-migrate @ 13806]
Luke Schierer <lschiere@pidgin.im>
parents:
11256
diff
changeset
|
162 |
|
78aad676fdb2
[gaim-migrate @ 13806]
Luke Schierer <lschiere@pidgin.im>
parents:
11256
diff
changeset
|
163 static void |
|
78aad676fdb2
[gaim-migrate @ 13806]
Luke Schierer <lschiere@pidgin.im>
parents:
11256
diff
changeset
|
164 unidle_all_action(GaimPluginAction *action) |
|
78aad676fdb2
[gaim-migrate @ 13806]
Luke Schierer <lschiere@pidgin.im>
parents:
11256
diff
changeset
|
165 { |
|
78aad676fdb2
[gaim-migrate @ 13806]
Luke Schierer <lschiere@pidgin.im>
parents:
11256
diff
changeset
|
166 GList *l; |
| 11754 | 167 |
|
11551
78aad676fdb2
[gaim-migrate @ 13806]
Luke Schierer <lschiere@pidgin.im>
parents:
11256
diff
changeset
|
168 /* 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
|
169 * after the list is freed */ |
| 11754 | 170 for (l = idled_accts; l; l = l->next) |
| 171 { | |
|
11749
7da512f06185
[gaim-migrate @ 14040]
Richard Laager <rlaager@wiktel.com>
parents:
11551
diff
changeset
|
172 GaimAccount *account = l->data; |
|
7da512f06185
[gaim-migrate @ 14040]
Richard Laager <rlaager@wiktel.com>
parents:
11551
diff
changeset
|
173 set_idle_time(account, 0); |
|
11551
78aad676fdb2
[gaim-migrate @ 13806]
Luke Schierer <lschiere@pidgin.im>
parents:
11256
diff
changeset
|
174 } |
| 11754 | 175 |
| 176 g_list_free(idled_accts); | |
| 177 idled_accts = NULL; | |
|
11551
78aad676fdb2
[gaim-migrate @ 13806]
Luke Schierer <lschiere@pidgin.im>
parents:
11256
diff
changeset
|
178 } |
| 8986 | 179 |
| 180 static GList * | |
| 9015 | 181 actions(GaimPlugin *plugin, gpointer context) |
|
5205
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
4635
diff
changeset
|
182 { |
| 8986 | 183 GList *l = NULL; |
| 9015 | 184 GaimPluginAction *act = NULL; |
| 4103 | 185 |
| 12306 | 186 act = gaim_plugin_action_new(_("Set Account Idle Time"), |
| 9015 | 187 idle_action); |
| 188 l = g_list_append(l, act); | |
| 4103 | 189 |
| 12306 | 190 act = gaim_plugin_action_new(_("Unset Account Idle Time"), |
|
11551
78aad676fdb2
[gaim-migrate @ 13806]
Luke Schierer <lschiere@pidgin.im>
parents:
11256
diff
changeset
|
191 unidle_action); |
|
78aad676fdb2
[gaim-migrate @ 13806]
Luke Schierer <lschiere@pidgin.im>
parents:
11256
diff
changeset
|
192 l = g_list_append(l, act); |
|
78aad676fdb2
[gaim-migrate @ 13806]
Luke Schierer <lschiere@pidgin.im>
parents:
11256
diff
changeset
|
193 |
|
78aad676fdb2
[gaim-migrate @ 13806]
Luke Schierer <lschiere@pidgin.im>
parents:
11256
diff
changeset
|
194 act = gaim_plugin_action_new( |
| 12306 | 195 _("Unset Idle Time for All Idled Accounts"), unidle_all_action); |
|
11551
78aad676fdb2
[gaim-migrate @ 13806]
Luke Schierer <lschiere@pidgin.im>
parents:
11256
diff
changeset
|
196 l = g_list_append(l, act); |
|
78aad676fdb2
[gaim-migrate @ 13806]
Luke Schierer <lschiere@pidgin.im>
parents:
11256
diff
changeset
|
197 |
| 8986 | 198 return l; |
| 4103 | 199 } |
|
5205
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
4635
diff
changeset
|
200 |
|
11551
78aad676fdb2
[gaim-migrate @ 13806]
Luke Schierer <lschiere@pidgin.im>
parents:
11256
diff
changeset
|
201 static gboolean |
|
78aad676fdb2
[gaim-migrate @ 13806]
Luke Schierer <lschiere@pidgin.im>
parents:
11256
diff
changeset
|
202 plugin_unload(GaimPlugin *plugin) |
|
78aad676fdb2
[gaim-migrate @ 13806]
Luke Schierer <lschiere@pidgin.im>
parents:
11256
diff
changeset
|
203 { |
| 11754 | 204 unidle_all_action(NULL); |
|
11551
78aad676fdb2
[gaim-migrate @ 13806]
Luke Schierer <lschiere@pidgin.im>
parents:
11256
diff
changeset
|
205 |
|
78aad676fdb2
[gaim-migrate @ 13806]
Luke Schierer <lschiere@pidgin.im>
parents:
11256
diff
changeset
|
206 return TRUE; |
|
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 |
|
5205
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
4635
diff
changeset
|
209 static GaimPluginInfo info = |
|
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
4635
diff
changeset
|
210 { |
| 9943 | 211 GAIM_PLUGIN_MAGIC, |
| 212 GAIM_MAJOR_VERSION, | |
| 213 GAIM_MINOR_VERSION, | |
|
5205
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
4635
diff
changeset
|
214 GAIM_PLUGIN_STANDARD, |
| 8986 | 215 NULL, |
|
5205
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
4635
diff
changeset
|
216 0, |
|
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
4635
diff
changeset
|
217 NULL, |
|
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
4635
diff
changeset
|
218 GAIM_PRIORITY_DEFAULT, |
|
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
4635
diff
changeset
|
219 IDLE_PLUGIN_ID, |
|
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
4635
diff
changeset
|
220 N_("I'dle Mak'er"), |
|
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
4635
diff
changeset
|
221 VERSION, |
|
11551
78aad676fdb2
[gaim-migrate @ 13806]
Luke Schierer <lschiere@pidgin.im>
parents:
11256
diff
changeset
|
222 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
|
223 N_("Allows you to hand-configure how long you've been idle"), |
| 6481 | 224 "Eric Warmenhoven <eric@warmenhoven.org>", |
|
6371
8f94cce8faa5
[gaim-migrate @ 6876]
Christian Hammond <chipx86@chipx86.com>
parents:
6064
diff
changeset
|
225 GAIM_WEBSITE, |
|
11256
bb0d7b719af2
[gaim-migrate @ 13430]
Gary Kramlich <grim@reaperworld.com>
parents:
11033
diff
changeset
|
226 NULL, |
|
11551
78aad676fdb2
[gaim-migrate @ 13806]
Luke Schierer <lschiere@pidgin.im>
parents:
11256
diff
changeset
|
227 plugin_unload, |
|
5205
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
4635
diff
changeset
|
228 NULL, |
| 8986 | 229 NULL, |
| 230 NULL, | |
| 231 NULL, | |
| 232 actions | |
|
5205
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
4635
diff
changeset
|
233 }; |
|
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
4635
diff
changeset
|
234 |
| 8986 | 235 |
|
5205
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
4635
diff
changeset
|
236 static void |
|
5920
7d385de2f9cd
[gaim-migrate @ 6360]
Christian Hammond <chipx86@chipx86.com>
parents:
5873
diff
changeset
|
237 init_plugin(GaimPlugin *plugin) |
|
5205
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
4635
diff
changeset
|
238 { |
|
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
4635
diff
changeset
|
239 } |
|
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
4635
diff
changeset
|
240 |
| 8986 | 241 |
| 6063 | 242 GAIM_INIT_PLUGIN(idle, init_plugin, info) |
| 8986 | 243 |
