libpurple/plugins/idle.c

Mon, 24 Nov 2008 00:40:57 +0000

author
Florian Quèze <florian@instantbird.org>
date
Mon, 24 Nov 2008 00:40:57 +0000
changeset 24759
9f88e2d42845
parent 21630
591a79c1b295
child 30706
612b36b49058
permissions
-rw-r--r--

Prevent the Buddy State Notification plugin from printing duplicate
notifications when the same buddy is in multiple groups on protocols which
support it. Also prevent autolinkification of JID's, MSN passport addresses,
etc. in the notification messages. Fixes #7609.


committer: John Bailey <rekkanoryo@rekkanoryo.org>

11551
ba20005d8f78 [gaim-migrate @ 13806]
Luke Schierer <lschiere@pidgin.im>
parents: 11256
diff changeset
1 /*
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
2 * idle.c - I'dle Mak'er plugin for Purple
11551
ba20005d8f78 [gaim-migrate @ 13806]
Luke Schierer <lschiere@pidgin.im>
parents: 11256
diff changeset
3 *
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
4 * This file is part of Purple.
11551
ba20005d8f78 [gaim-migrate @ 13806]
Luke Schierer <lschiere@pidgin.im>
parents: 11256
diff changeset
5 *
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
6 * Purple is the legal property of its developers, whose names are too numerous
11551
ba20005d8f78 [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
ba20005d8f78 [gaim-migrate @ 13806]
Luke Schierer <lschiere@pidgin.im>
parents: 11256
diff changeset
8 * source distribution.
ba20005d8f78 [gaim-migrate @ 13806]
Luke Schierer <lschiere@pidgin.im>
parents: 11256
diff changeset
9 *
ba20005d8f78 [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
ba20005d8f78 [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
ba20005d8f78 [gaim-migrate @ 13806]
Luke Schierer <lschiere@pidgin.im>
parents: 11256
diff changeset
12 * the Free Software Foundation; either version 2 of the License, or
ba20005d8f78 [gaim-migrate @ 13806]
Luke Schierer <lschiere@pidgin.im>
parents: 11256
diff changeset
13 * (at your option) any later version.
ba20005d8f78 [gaim-migrate @ 13806]
Luke Schierer <lschiere@pidgin.im>
parents: 11256
diff changeset
14 *
ba20005d8f78 [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,
ba20005d8f78 [gaim-migrate @ 13806]
Luke Schierer <lschiere@pidgin.im>
parents: 11256
diff changeset
16 * but WITHOUT ANY WARRANTY; without even the implied warranty of
ba20005d8f78 [gaim-migrate @ 13806]
Luke Schierer <lschiere@pidgin.im>
parents: 11256
diff changeset
17 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
ba20005d8f78 [gaim-migrate @ 13806]
Luke Schierer <lschiere@pidgin.im>
parents: 11256
diff changeset
18 * GNU General Public License for more details.
ba20005d8f78 [gaim-migrate @ 13806]
Luke Schierer <lschiere@pidgin.im>
parents: 11256
diff changeset
19 *
ba20005d8f78 [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
ba20005d8f78 [gaim-migrate @ 13806]
Luke Schierer <lschiere@pidgin.im>
parents: 11256
diff changeset
21 * along with this program; if not, write to the Free Software
19859
71d37b57eff2 The FSF changed its address a while ago; our files were out of date.
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 16745
diff changeset
22 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA
4103
a74e571fb3a4 [gaim-migrate @ 4318]
Ashaman TU
parents:
diff changeset
23 */
a74e571fb3a4 [gaim-migrate @ 4318]
Ashaman TU
parents:
diff changeset
24
5872
754c63f29b77 [gaim-migrate @ 6304]
Christian Hammond <chipx86@chipx86.com>
parents: 5614
diff changeset
25 #include "internal.h"
754c63f29b77 [gaim-migrate @ 6304]
Christian Hammond <chipx86@chipx86.com>
parents: 5614
diff changeset
26
754c63f29b77 [gaim-migrate @ 6304]
Christian Hammond <chipx86@chipx86.com>
parents: 5614
diff changeset
27 #include "connection.h"
754c63f29b77 [gaim-migrate @ 6304]
Christian Hammond <chipx86@chipx86.com>
parents: 5614
diff changeset
28 #include "debug.h"
11975
0abdd0c63f0f [gaim-migrate @ 14268]
Mark Doliner <markdoliner@pidgin.im>
parents: 11974
diff changeset
29 #include "notify.h"
8986
30ba617356bb [gaim-migrate @ 9761]
Christopher O'Brien <siege@pidgin.im>
parents: 8749
diff changeset
30 #include "plugin.h"
30ba617356bb [gaim-migrate @ 9761]
Christopher O'Brien <siege@pidgin.im>
parents: 8749
diff changeset
31 #include "request.h"
5872
754c63f29b77 [gaim-migrate @ 6304]
Christian Hammond <chipx86@chipx86.com>
parents: 5614
diff changeset
32 #include "server.h"
11551
ba20005d8f78 [gaim-migrate @ 13806]
Luke Schierer <lschiere@pidgin.im>
parents: 11256
diff changeset
33 #include "status.h"
9943
b54a762f60fa [gaim-migrate @ 10835]
Nathan Walp <nwalp@pidgin.im>
parents: 9015
diff changeset
34 #include "version.h"
5872
754c63f29b77 [gaim-migrate @ 6304]
Christian Hammond <chipx86@chipx86.com>
parents: 5614
diff changeset
35
11754
a1e9b517aa5e [gaim-migrate @ 14045]
Mark Doliner <markdoliner@pidgin.im>
parents: 11749
diff changeset
36 /* This plugin no longer depends on gtk */
a1e9b517aa5e [gaim-migrate @ 14045]
Mark Doliner <markdoliner@pidgin.im>
parents: 11749
diff changeset
37 #define IDLE_PLUGIN_ID "core-idle"
5205
242b8aa81328 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents: 4635
diff changeset
38
11754
a1e9b517aa5e [gaim-migrate @ 14045]
Mark Doliner <markdoliner@pidgin.im>
parents: 11749
diff changeset
39 static GList *idled_accts = NULL;
11551
ba20005d8f78 [gaim-migrate @ 13806]
Luke Schierer <lschiere@pidgin.im>
parents: 11256
diff changeset
40
ba20005d8f78 [gaim-migrate @ 13806]
Luke Schierer <lschiere@pidgin.im>
parents: 11256
diff changeset
41 static gboolean
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
42 unidle_filter(PurpleAccount *acct)
11551
ba20005d8f78 [gaim-migrate @ 13806]
Luke Schierer <lschiere@pidgin.im>
parents: 11256
diff changeset
43 {
11754
a1e9b517aa5e [gaim-migrate @ 14045]
Mark Doliner <markdoliner@pidgin.im>
parents: 11749
diff changeset
44 if (g_list_find(idled_accts, acct))
11551
ba20005d8f78 [gaim-migrate @ 13806]
Luke Schierer <lschiere@pidgin.im>
parents: 11256
diff changeset
45 return TRUE;
ba20005d8f78 [gaim-migrate @ 13806]
Luke Schierer <lschiere@pidgin.im>
parents: 11256
diff changeset
46
ba20005d8f78 [gaim-migrate @ 13806]
Luke Schierer <lschiere@pidgin.im>
parents: 11256
diff changeset
47 return FALSE;
ba20005d8f78 [gaim-migrate @ 13806]
Luke Schierer <lschiere@pidgin.im>
parents: 11256
diff changeset
48 }
ba20005d8f78 [gaim-migrate @ 13806]
Luke Schierer <lschiere@pidgin.im>
parents: 11256
diff changeset
49
12775
697b674e0db4 [gaim-migrate @ 15122]
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 12764
diff changeset
50 static gboolean
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
51 idleable_filter(PurpleAccount *account)
12775
697b674e0db4 [gaim-migrate @ 15122]
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 12764
diff changeset
52 {
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
53 PurplePlugin *prpl;
12775
697b674e0db4 [gaim-migrate @ 15122]
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 12764
diff changeset
54
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
55 prpl = purple_find_prpl(purple_account_get_protocol_id(account));
12776
574564498637 [gaim-migrate @ 15123]
Richard Laager <rlaager@pidgin.im>
parents: 12775
diff changeset
56 g_return_val_if_fail(prpl != NULL, FALSE);
574564498637 [gaim-migrate @ 15123]
Richard Laager <rlaager@pidgin.im>
parents: 12775
diff changeset
57
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
58 return (PURPLE_PLUGIN_PROTOCOL_INFO(prpl)->set_idle != NULL);
12775
697b674e0db4 [gaim-migrate @ 15122]
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 12764
diff changeset
59 }
697b674e0db4 [gaim-migrate @ 15122]
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 12764
diff changeset
60
11551
ba20005d8f78 [gaim-migrate @ 13806]
Luke Schierer <lschiere@pidgin.im>
parents: 11256
diff changeset
61 static void
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
62 set_idle_time(PurpleAccount *acct, int mins_idle)
11551
ba20005d8f78 [gaim-migrate @ 13806]
Luke Schierer <lschiere@pidgin.im>
parents: 11256
diff changeset
63 {
11972
23ac6d9de1fa [gaim-migrate @ 14265]
Mark Doliner <markdoliner@pidgin.im>
parents: 11754
diff changeset
64 time_t t;
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
65 PurpleConnection *gc = purple_account_get_connection(acct);
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
66 PurplePresence *presence = purple_account_get_presence(acct);
11551
ba20005d8f78 [gaim-migrate @ 13806]
Luke Schierer <lschiere@pidgin.im>
parents: 11256
diff changeset
67
11749
3aa3ccce97bd [gaim-migrate @ 14040]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 11551
diff changeset
68 if (!gc)
3aa3ccce97bd [gaim-migrate @ 14040]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 11551
diff changeset
69 return;
3aa3ccce97bd [gaim-migrate @ 14040]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 11551
diff changeset
70
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
71 purple_debug_info("idle",
11551
ba20005d8f78 [gaim-migrate @ 13806]
Luke Schierer <lschiere@pidgin.im>
parents: 11256
diff changeset
72 "setting idle time for %s to %d\n",
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
73 purple_account_get_username(acct), mins_idle);
11551
ba20005d8f78 [gaim-migrate @ 13806]
Luke Schierer <lschiere@pidgin.im>
parents: 11256
diff changeset
74
13659
13d0d6abc1d3 [gaim-migrate @ 16060]
Evan Schoenberg <evands@pidgin.im>
parents: 12844
diff changeset
75 if (mins_idle)
13d0d6abc1d3 [gaim-migrate @ 16060]
Evan Schoenberg <evands@pidgin.im>
parents: 12844
diff changeset
76 t = time(NULL) - (60 * mins_idle); /* subtract seconds idle from current time */
13d0d6abc1d3 [gaim-migrate @ 16060]
Evan Schoenberg <evands@pidgin.im>
parents: 12844
diff changeset
77 else
13d0d6abc1d3 [gaim-migrate @ 16060]
Evan Schoenberg <evands@pidgin.im>
parents: 12844
diff changeset
78 t = 0; /* time idle is irrelevant */
11551
ba20005d8f78 [gaim-migrate @ 13806]
Luke Schierer <lschiere@pidgin.im>
parents: 11256
diff changeset
79
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
80 purple_presence_set_idle(presence, mins_idle ? TRUE : FALSE, t);
11551
ba20005d8f78 [gaim-migrate @ 13806]
Luke Schierer <lschiere@pidgin.im>
parents: 11256
diff changeset
81 }
4103
a74e571fb3a4 [gaim-migrate @ 4318]
Ashaman TU
parents:
diff changeset
82
8986
30ba617356bb [gaim-migrate @ 9761]
Christopher O'Brien <siege@pidgin.im>
parents: 8749
diff changeset
83 static void
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
84 idle_action_ok(void *ignored, PurpleRequestFields *fields)
8986
30ba617356bb [gaim-migrate @ 9761]
Christopher O'Brien <siege@pidgin.im>
parents: 8749
diff changeset
85 {
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
86 int tm = purple_request_fields_get_integer(fields, "mins");
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
87 PurpleAccount *acct = purple_request_fields_get_account(fields, "acct");
5587
22cb9fe4798a [gaim-migrate @ 5991]
Christian Hammond <chipx86@chipx86.com>
parents: 5530
diff changeset
88
11551
ba20005d8f78 [gaim-migrate @ 13806]
Luke Schierer <lschiere@pidgin.im>
parents: 11256
diff changeset
89 /* only add the account to the GList if it's not already been idled */
12775
697b674e0db4 [gaim-migrate @ 15122]
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 12764
diff changeset
90 if (!unidle_filter(acct))
11754
a1e9b517aa5e [gaim-migrate @ 14045]
Mark Doliner <markdoliner@pidgin.im>
parents: 11749
diff changeset
91 {
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
92 purple_debug_misc("idle",
11551
ba20005d8f78 [gaim-migrate @ 13806]
Luke Schierer <lschiere@pidgin.im>
parents: 11256
diff changeset
93 "%s hasn't been idled yet; adding to list.\n",
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
94 purple_account_get_username(acct));
11551
ba20005d8f78 [gaim-migrate @ 13806]
Luke Schierer <lschiere@pidgin.im>
parents: 11256
diff changeset
95 idled_accts = g_list_append(idled_accts, acct);
ba20005d8f78 [gaim-migrate @ 13806]
Luke Schierer <lschiere@pidgin.im>
parents: 11256
diff changeset
96 }
ba20005d8f78 [gaim-migrate @ 13806]
Luke Schierer <lschiere@pidgin.im>
parents: 11256
diff changeset
97
ba20005d8f78 [gaim-migrate @ 13806]
Luke Schierer <lschiere@pidgin.im>
parents: 11256
diff changeset
98 set_idle_time(acct, tm);
ba20005d8f78 [gaim-migrate @ 13806]
Luke Schierer <lschiere@pidgin.im>
parents: 11256
diff changeset
99 }
ba20005d8f78 [gaim-migrate @ 13806]
Luke Schierer <lschiere@pidgin.im>
parents: 11256
diff changeset
100
ba20005d8f78 [gaim-migrate @ 13806]
Luke Schierer <lschiere@pidgin.im>
parents: 11256
diff changeset
101 static void
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
102 idle_all_action_ok(void *ignored, PurpleRequestFields *fields)
12775
697b674e0db4 [gaim-migrate @ 15122]
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 12764
diff changeset
103 {
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
104 PurpleAccount *acct = NULL;
13835
86dea5f9cffa [gaim-migrate @ 16282]
Yosef Radchenko
parents: 13702
diff changeset
105 GList *list, *iter;
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
106 int tm = purple_request_fields_get_integer(fields, "mins");
12775
697b674e0db4 [gaim-migrate @ 15122]
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 12764
diff changeset
107 const char *prpl_id = NULL;
697b674e0db4 [gaim-migrate @ 15122]
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 12764
diff changeset
108
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
109 list = purple_accounts_get_all_active();
13835
86dea5f9cffa [gaim-migrate @ 16282]
Yosef Radchenko
parents: 13702
diff changeset
110 for(iter = list; iter; iter = iter->next) {
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
111 acct = (PurpleAccount *)(iter->data);
12775
697b674e0db4 [gaim-migrate @ 15122]
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 12764
diff changeset
112
697b674e0db4 [gaim-migrate @ 15122]
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 12764
diff changeset
113 if(acct)
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
114 prpl_id = purple_account_get_protocol_id(acct);
12775
697b674e0db4 [gaim-migrate @ 15122]
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 12764
diff changeset
115
697b674e0db4 [gaim-migrate @ 15122]
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 12764
diff changeset
116 if(acct && idleable_filter(acct)) {
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
117 purple_debug_misc("idle", "Idling %s.\n",
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
118 purple_account_get_username(acct));
12775
697b674e0db4 [gaim-migrate @ 15122]
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 12764
diff changeset
119
697b674e0db4 [gaim-migrate @ 15122]
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 12764
diff changeset
120 set_idle_time(acct, tm);
697b674e0db4 [gaim-migrate @ 15122]
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 12764
diff changeset
121
697b674e0db4 [gaim-migrate @ 15122]
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 12764
diff changeset
122 if(!g_list_find(idled_accts, acct))
697b674e0db4 [gaim-migrate @ 15122]
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 12764
diff changeset
123 idled_accts = g_list_append(idled_accts, acct);
697b674e0db4 [gaim-migrate @ 15122]
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 12764
diff changeset
124 }
697b674e0db4 [gaim-migrate @ 15122]
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 12764
diff changeset
125 }
13835
86dea5f9cffa [gaim-migrate @ 16282]
Yosef Radchenko
parents: 13702
diff changeset
126
86dea5f9cffa [gaim-migrate @ 16282]
Yosef Radchenko
parents: 13702
diff changeset
127 g_list_free(list);
12775
697b674e0db4 [gaim-migrate @ 15122]
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 12764
diff changeset
128 }
697b674e0db4 [gaim-migrate @ 15122]
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 12764
diff changeset
129
697b674e0db4 [gaim-migrate @ 15122]
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 12764
diff changeset
130 static void
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
131 unidle_action_ok(void *ignored, PurpleRequestFields *fields)
11551
ba20005d8f78 [gaim-migrate @ 13806]
Luke Schierer <lschiere@pidgin.im>
parents: 11256
diff changeset
132 {
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
133 PurpleAccount *acct = purple_request_fields_get_account(fields, "acct");
11551
ba20005d8f78 [gaim-migrate @ 13806]
Luke Schierer <lschiere@pidgin.im>
parents: 11256
diff changeset
134
ba20005d8f78 [gaim-migrate @ 13806]
Luke Schierer <lschiere@pidgin.im>
parents: 11256
diff changeset
135 set_idle_time(acct, 0); /* unidle the account */
ba20005d8f78 [gaim-migrate @ 13806]
Luke Schierer <lschiere@pidgin.im>
parents: 11256
diff changeset
136
ba20005d8f78 [gaim-migrate @ 13806]
Luke Schierer <lschiere@pidgin.im>
parents: 11256
diff changeset
137 /* once the account has been unidled it shouldn't be in the list */
11749
3aa3ccce97bd [gaim-migrate @ 14040]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 11551
diff changeset
138 idled_accts = g_list_remove(idled_accts, acct);
4103
a74e571fb3a4 [gaim-migrate @ 4318]
Ashaman TU
parents:
diff changeset
139 }
a74e571fb3a4 [gaim-migrate @ 4318]
Ashaman TU
parents:
diff changeset
140
8986
30ba617356bb [gaim-migrate @ 9761]
Christopher O'Brien <siege@pidgin.im>
parents: 8749
diff changeset
141
30ba617356bb [gaim-migrate @ 9761]
Christopher O'Brien <siege@pidgin.im>
parents: 8749
diff changeset
142 static void
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
143 idle_action(PurplePluginAction *action)
6008
052096edd56b [gaim-migrate @ 6456]
Christian Hammond <chipx86@chipx86.com>
parents: 5920
diff changeset
144 {
8986
30ba617356bb [gaim-migrate @ 9761]
Christopher O'Brien <siege@pidgin.im>
parents: 8749
diff changeset
145 /* Use the super fancy request API */
4103
a74e571fb3a4 [gaim-migrate @ 4318]
Ashaman TU
parents:
diff changeset
146
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
147 PurpleRequestFields *request;
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
148 PurpleRequestFieldGroup *group;
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
149 PurpleRequestField *field;
8986
30ba617356bb [gaim-migrate @ 9761]
Christopher O'Brien <siege@pidgin.im>
parents: 8749
diff changeset
150
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
151 group = purple_request_field_group_new(NULL);
4103
a74e571fb3a4 [gaim-migrate @ 4318]
Ashaman TU
parents:
diff changeset
152
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
153 field = purple_request_field_account_new("acct", _("Account"), NULL);
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
154 purple_request_field_account_set_filter(field, idleable_filter);
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
155 purple_request_field_account_set_show_all(field, FALSE);
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
156 purple_request_field_group_add_field(group, field);
11754
a1e9b517aa5e [gaim-migrate @ 14045]
Mark Doliner <markdoliner@pidgin.im>
parents: 11749
diff changeset
157
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
158 field = purple_request_field_int_new("mins", _("Minutes"), 10);
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
159 purple_request_field_group_add_field(group, field);
4103
a74e571fb3a4 [gaim-migrate @ 4318]
Ashaman TU
parents:
diff changeset
160
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
161 request = purple_request_fields_new();
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
162 purple_request_fields_add_group(request, group);
8986
30ba617356bb [gaim-migrate @ 9761]
Christopher O'Brien <siege@pidgin.im>
parents: 8749
diff changeset
163
21175
c6d76b49c206 disapproval of revision '8ba833993a115415727bb1b70362e0bd1603c169'
Richard Laager <rlaager@pidgin.im>
parents: 21174
diff changeset
164 purple_request_fields(action->plugin,
8986
30ba617356bb [gaim-migrate @ 9761]
Christopher O'Brien <siege@pidgin.im>
parents: 8749
diff changeset
165 N_("I'dle Mak'er"),
30ba617356bb [gaim-migrate @ 9761]
Christopher O'Brien <siege@pidgin.im>
parents: 8749
diff changeset
166 _("Set Account Idle Time"),
30ba617356bb [gaim-migrate @ 9761]
Christopher O'Brien <siege@pidgin.im>
parents: 8749
diff changeset
167 NULL,
30ba617356bb [gaim-migrate @ 9761]
Christopher O'Brien <siege@pidgin.im>
parents: 8749
diff changeset
168 request,
30ba617356bb [gaim-migrate @ 9761]
Christopher O'Brien <siege@pidgin.im>
parents: 8749
diff changeset
169 _("_Set"), G_CALLBACK(idle_action_ok),
30ba617356bb [gaim-migrate @ 9761]
Christopher O'Brien <siege@pidgin.im>
parents: 8749
diff changeset
170 _("_Cancel"), NULL,
16490
68c22924d66b Added account, who, and conversation parameters to the request API calls, and updated all code to match. I can't compile the Perl module, so I'd appreciate it if someone who knows it would verify that this doesn't break Perl.
Evan Schoenberg <evands@pidgin.im>
parents: 15884
diff changeset
171 NULL, NULL, NULL,
21175
c6d76b49c206 disapproval of revision '8ba833993a115415727bb1b70362e0bd1603c169'
Richard Laager <rlaager@pidgin.im>
parents: 21174
diff changeset
172 NULL);
4103
a74e571fb3a4 [gaim-migrate @ 4318]
Ashaman TU
parents:
diff changeset
173 }
a74e571fb3a4 [gaim-migrate @ 4318]
Ashaman TU
parents:
diff changeset
174
11551
ba20005d8f78 [gaim-migrate @ 13806]
Luke Schierer <lschiere@pidgin.im>
parents: 11256
diff changeset
175 static void
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
176 unidle_action(PurplePluginAction *action)
11551
ba20005d8f78 [gaim-migrate @ 13806]
Luke Schierer <lschiere@pidgin.im>
parents: 11256
diff changeset
177 {
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
178 PurpleRequestFields *request;
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
179 PurpleRequestFieldGroup *group;
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
180 PurpleRequestField *field;
11551
ba20005d8f78 [gaim-migrate @ 13806]
Luke Schierer <lschiere@pidgin.im>
parents: 11256
diff changeset
181
11975
0abdd0c63f0f [gaim-migrate @ 14268]
Mark Doliner <markdoliner@pidgin.im>
parents: 11974
diff changeset
182 if (idled_accts == NULL)
0abdd0c63f0f [gaim-migrate @ 14268]
Mark Doliner <markdoliner@pidgin.im>
parents: 11974
diff changeset
183 {
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
184 purple_notify_info(NULL, NULL, _("None of your accounts are idle."), NULL);
11975
0abdd0c63f0f [gaim-migrate @ 14268]
Mark Doliner <markdoliner@pidgin.im>
parents: 11974
diff changeset
185 return;
0abdd0c63f0f [gaim-migrate @ 14268]
Mark Doliner <markdoliner@pidgin.im>
parents: 11974
diff changeset
186 }
0abdd0c63f0f [gaim-migrate @ 14268]
Mark Doliner <markdoliner@pidgin.im>
parents: 11974
diff changeset
187
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
188 group = purple_request_field_group_new(NULL);
11551
ba20005d8f78 [gaim-migrate @ 13806]
Luke Schierer <lschiere@pidgin.im>
parents: 11256
diff changeset
189
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
190 field = purple_request_field_account_new("acct", _("Account"), NULL);
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
191 purple_request_field_account_set_filter(field, unidle_filter);
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
192 purple_request_field_account_set_show_all(field, FALSE);
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
193 purple_request_field_group_add_field(group, field);
11551
ba20005d8f78 [gaim-migrate @ 13806]
Luke Schierer <lschiere@pidgin.im>
parents: 11256
diff changeset
194
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
195 request = purple_request_fields_new();
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
196 purple_request_fields_add_group(request, group);
11551
ba20005d8f78 [gaim-migrate @ 13806]
Luke Schierer <lschiere@pidgin.im>
parents: 11256
diff changeset
197
21175
c6d76b49c206 disapproval of revision '8ba833993a115415727bb1b70362e0bd1603c169'
Richard Laager <rlaager@pidgin.im>
parents: 21174
diff changeset
198 purple_request_fields(action->plugin,
11551
ba20005d8f78 [gaim-migrate @ 13806]
Luke Schierer <lschiere@pidgin.im>
parents: 11256
diff changeset
199 N_("I'dle Mak'er"),
ba20005d8f78 [gaim-migrate @ 13806]
Luke Schierer <lschiere@pidgin.im>
parents: 11256
diff changeset
200 _("Unset Account Idle Time"),
ba20005d8f78 [gaim-migrate @ 13806]
Luke Schierer <lschiere@pidgin.im>
parents: 11256
diff changeset
201 NULL,
ba20005d8f78 [gaim-migrate @ 13806]
Luke Schierer <lschiere@pidgin.im>
parents: 11256
diff changeset
202 request,
ba20005d8f78 [gaim-migrate @ 13806]
Luke Schierer <lschiere@pidgin.im>
parents: 11256
diff changeset
203 _("_Unset"), G_CALLBACK(unidle_action_ok),
ba20005d8f78 [gaim-migrate @ 13806]
Luke Schierer <lschiere@pidgin.im>
parents: 11256
diff changeset
204 _("_Cancel"), NULL,
16490
68c22924d66b Added account, who, and conversation parameters to the request API calls, and updated all code to match. I can't compile the Perl module, so I'd appreciate it if someone who knows it would verify that this doesn't break Perl.
Evan Schoenberg <evands@pidgin.im>
parents: 15884
diff changeset
205 NULL, NULL, NULL,
21175
c6d76b49c206 disapproval of revision '8ba833993a115415727bb1b70362e0bd1603c169'
Richard Laager <rlaager@pidgin.im>
parents: 21174
diff changeset
206 NULL);
11551
ba20005d8f78 [gaim-migrate @ 13806]
Luke Schierer <lschiere@pidgin.im>
parents: 11256
diff changeset
207 }
ba20005d8f78 [gaim-migrate @ 13806]
Luke Schierer <lschiere@pidgin.im>
parents: 11256
diff changeset
208
ba20005d8f78 [gaim-migrate @ 13806]
Luke Schierer <lschiere@pidgin.im>
parents: 11256
diff changeset
209 static void
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
210 idle_all_action(PurplePluginAction *action)
12775
697b674e0db4 [gaim-migrate @ 15122]
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 12764
diff changeset
211 {
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
212 PurpleRequestFields *request;
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
213 PurpleRequestFieldGroup *group;
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
214 PurpleRequestField *field;
12775
697b674e0db4 [gaim-migrate @ 15122]
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 12764
diff changeset
215
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
216 group = purple_request_field_group_new(NULL);
12775
697b674e0db4 [gaim-migrate @ 15122]
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 12764
diff changeset
217
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
218 field = purple_request_field_int_new("mins", _("Minutes"), 10);
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
219 purple_request_field_group_add_field(group, field);
12775
697b674e0db4 [gaim-migrate @ 15122]
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 12764
diff changeset
220
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
221 request = purple_request_fields_new();
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
222 purple_request_fields_add_group(request, group);
12775
697b674e0db4 [gaim-migrate @ 15122]
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 12764
diff changeset
223
21175
c6d76b49c206 disapproval of revision '8ba833993a115415727bb1b70362e0bd1603c169'
Richard Laager <rlaager@pidgin.im>
parents: 21174
diff changeset
224 purple_request_fields(action->plugin,
12775
697b674e0db4 [gaim-migrate @ 15122]
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 12764
diff changeset
225 N_("I'dle Mak'er"),
697b674e0db4 [gaim-migrate @ 15122]
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 12764
diff changeset
226 _("Set Idle Time for All Accounts"),
697b674e0db4 [gaim-migrate @ 15122]
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 12764
diff changeset
227 NULL,
697b674e0db4 [gaim-migrate @ 15122]
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 12764
diff changeset
228 request,
697b674e0db4 [gaim-migrate @ 15122]
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 12764
diff changeset
229 _("_Set"), G_CALLBACK(idle_all_action_ok),
697b674e0db4 [gaim-migrate @ 15122]
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 12764
diff changeset
230 _("_Cancel"), NULL,
16490
68c22924d66b Added account, who, and conversation parameters to the request API calls, and updated all code to match. I can't compile the Perl module, so I'd appreciate it if someone who knows it would verify that this doesn't break Perl.
Evan Schoenberg <evands@pidgin.im>
parents: 15884
diff changeset
231 NULL, NULL, NULL,
21175
c6d76b49c206 disapproval of revision '8ba833993a115415727bb1b70362e0bd1603c169'
Richard Laager <rlaager@pidgin.im>
parents: 21174
diff changeset
232 NULL);
12775
697b674e0db4 [gaim-migrate @ 15122]
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 12764
diff changeset
233 }
697b674e0db4 [gaim-migrate @ 15122]
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 12764
diff changeset
234
697b674e0db4 [gaim-migrate @ 15122]
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 12764
diff changeset
235 static void
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
236 unidle_all_action(PurplePluginAction *action)
11551
ba20005d8f78 [gaim-migrate @ 13806]
Luke Schierer <lschiere@pidgin.im>
parents: 11256
diff changeset
237 {
ba20005d8f78 [gaim-migrate @ 13806]
Luke Schierer <lschiere@pidgin.im>
parents: 11256
diff changeset
238 GList *l;
11754
a1e9b517aa5e [gaim-migrate @ 14045]
Mark Doliner <markdoliner@pidgin.im>
parents: 11749
diff changeset
239
11551
ba20005d8f78 [gaim-migrate @ 13806]
Luke Schierer <lschiere@pidgin.im>
parents: 11256
diff changeset
240 /* freeing the list here will cause segfaults if the user idles an account
ba20005d8f78 [gaim-migrate @ 13806]
Luke Schierer <lschiere@pidgin.im>
parents: 11256
diff changeset
241 * after the list is freed */
11754
a1e9b517aa5e [gaim-migrate @ 14045]
Mark Doliner <markdoliner@pidgin.im>
parents: 11749
diff changeset
242 for (l = idled_accts; l; l = l->next)
a1e9b517aa5e [gaim-migrate @ 14045]
Mark Doliner <markdoliner@pidgin.im>
parents: 11749
diff changeset
243 {
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
244 PurpleAccount *account = l->data;
11749
3aa3ccce97bd [gaim-migrate @ 14040]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 11551
diff changeset
245 set_idle_time(account, 0);
11551
ba20005d8f78 [gaim-migrate @ 13806]
Luke Schierer <lschiere@pidgin.im>
parents: 11256
diff changeset
246 }
11754
a1e9b517aa5e [gaim-migrate @ 14045]
Mark Doliner <markdoliner@pidgin.im>
parents: 11749
diff changeset
247
a1e9b517aa5e [gaim-migrate @ 14045]
Mark Doliner <markdoliner@pidgin.im>
parents: 11749
diff changeset
248 g_list_free(idled_accts);
a1e9b517aa5e [gaim-migrate @ 14045]
Mark Doliner <markdoliner@pidgin.im>
parents: 11749
diff changeset
249 idled_accts = NULL;
11551
ba20005d8f78 [gaim-migrate @ 13806]
Luke Schierer <lschiere@pidgin.im>
parents: 11256
diff changeset
250 }
8986
30ba617356bb [gaim-migrate @ 9761]
Christopher O'Brien <siege@pidgin.im>
parents: 8749
diff changeset
251
30ba617356bb [gaim-migrate @ 9761]
Christopher O'Brien <siege@pidgin.im>
parents: 8749
diff changeset
252 static GList *
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
253 actions(PurplePlugin *plugin, gpointer context)
5205
242b8aa81328 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents: 4635
diff changeset
254 {
8986
30ba617356bb [gaim-migrate @ 9761]
Christopher O'Brien <siege@pidgin.im>
parents: 8749
diff changeset
255 GList *l = NULL;
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
256 PurplePluginAction *act = NULL;
4103
a74e571fb3a4 [gaim-migrate @ 4318]
Ashaman TU
parents:
diff changeset
257
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
258 act = purple_plugin_action_new(_("Set Account Idle Time"),
9015
3c27e9074fa2 [gaim-migrate @ 9791]
Christopher O'Brien <siege@pidgin.im>
parents: 8994
diff changeset
259 idle_action);
3c27e9074fa2 [gaim-migrate @ 9791]
Christopher O'Brien <siege@pidgin.im>
parents: 8994
diff changeset
260 l = g_list_append(l, act);
4103
a74e571fb3a4 [gaim-migrate @ 4318]
Ashaman TU
parents:
diff changeset
261
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
262 act = purple_plugin_action_new(_("Unset Account Idle Time"),
11551
ba20005d8f78 [gaim-migrate @ 13806]
Luke Schierer <lschiere@pidgin.im>
parents: 11256
diff changeset
263 unidle_action);
ba20005d8f78 [gaim-migrate @ 13806]
Luke Schierer <lschiere@pidgin.im>
parents: 11256
diff changeset
264 l = g_list_append(l, act);
ba20005d8f78 [gaim-migrate @ 13806]
Luke Schierer <lschiere@pidgin.im>
parents: 11256
diff changeset
265
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
266 act = purple_plugin_action_new(_("Set Idle Time for All Accounts"),
12775
697b674e0db4 [gaim-migrate @ 15122]
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 12764
diff changeset
267 idle_all_action);
697b674e0db4 [gaim-migrate @ 15122]
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 12764
diff changeset
268 l = g_list_append(l, act);
697b674e0db4 [gaim-migrate @ 15122]
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 12764
diff changeset
269
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
270 act = purple_plugin_action_new(
12306
dc4b64a7e528 [gaim-migrate @ 14610]
Mark Doliner <markdoliner@pidgin.im>
parents: 12272
diff changeset
271 _("Unset Idle Time for All Idled Accounts"), unidle_all_action);
11551
ba20005d8f78 [gaim-migrate @ 13806]
Luke Schierer <lschiere@pidgin.im>
parents: 11256
diff changeset
272 l = g_list_append(l, act);
ba20005d8f78 [gaim-migrate @ 13806]
Luke Schierer <lschiere@pidgin.im>
parents: 11256
diff changeset
273
8986
30ba617356bb [gaim-migrate @ 9761]
Christopher O'Brien <siege@pidgin.im>
parents: 8749
diff changeset
274 return l;
4103
a74e571fb3a4 [gaim-migrate @ 4318]
Ashaman TU
parents:
diff changeset
275 }
5205
242b8aa81328 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents: 4635
diff changeset
276
12839
748f30ed8c9d [gaim-migrate @ 15187]
Richard Laager <rlaager@pidgin.im>
parents: 12826
diff changeset
277 static void
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
278 signing_off_cb(PurpleConnection *gc, void *data)
12839
748f30ed8c9d [gaim-migrate @ 15187]
Richard Laager <rlaager@pidgin.im>
parents: 12826
diff changeset
279 {
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
280 PurpleAccount *account;
12839
748f30ed8c9d [gaim-migrate @ 15187]
Richard Laager <rlaager@pidgin.im>
parents: 12826
diff changeset
281
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
282 account = purple_connection_get_account(gc);
12839
748f30ed8c9d [gaim-migrate @ 15187]
Richard Laager <rlaager@pidgin.im>
parents: 12826
diff changeset
283 idled_accts = g_list_remove(idled_accts, account);
748f30ed8c9d [gaim-migrate @ 15187]
Richard Laager <rlaager@pidgin.im>
parents: 12826
diff changeset
284 }
748f30ed8c9d [gaim-migrate @ 15187]
Richard Laager <rlaager@pidgin.im>
parents: 12826
diff changeset
285
748f30ed8c9d [gaim-migrate @ 15187]
Richard Laager <rlaager@pidgin.im>
parents: 12826
diff changeset
286 static gboolean
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
287 plugin_load(PurplePlugin *plugin)
12839
748f30ed8c9d [gaim-migrate @ 15187]
Richard Laager <rlaager@pidgin.im>
parents: 12826
diff changeset
288 {
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
289 purple_signal_connect(purple_connections_get_handle(), "signing-off",
12839
748f30ed8c9d [gaim-migrate @ 15187]
Richard Laager <rlaager@pidgin.im>
parents: 12826
diff changeset
290 plugin,
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
291 PURPLE_CALLBACK(signing_off_cb), NULL);
12844
e989f8d36628 [gaim-migrate @ 15192]
Mark Doliner <markdoliner@pidgin.im>
parents: 12839
diff changeset
292
e989f8d36628 [gaim-migrate @ 15192]
Mark Doliner <markdoliner@pidgin.im>
parents: 12839
diff changeset
293 return TRUE;
12839
748f30ed8c9d [gaim-migrate @ 15187]
Richard Laager <rlaager@pidgin.im>
parents: 12826
diff changeset
294 }
748f30ed8c9d [gaim-migrate @ 15187]
Richard Laager <rlaager@pidgin.im>
parents: 12826
diff changeset
295
11551
ba20005d8f78 [gaim-migrate @ 13806]
Luke Schierer <lschiere@pidgin.im>
parents: 11256
diff changeset
296 static gboolean
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
297 plugin_unload(PurplePlugin *plugin)
11551
ba20005d8f78 [gaim-migrate @ 13806]
Luke Schierer <lschiere@pidgin.im>
parents: 11256
diff changeset
298 {
11754
a1e9b517aa5e [gaim-migrate @ 14045]
Mark Doliner <markdoliner@pidgin.im>
parents: 11749
diff changeset
299 unidle_all_action(NULL);
11551
ba20005d8f78 [gaim-migrate @ 13806]
Luke Schierer <lschiere@pidgin.im>
parents: 11256
diff changeset
300
ba20005d8f78 [gaim-migrate @ 13806]
Luke Schierer <lschiere@pidgin.im>
parents: 11256
diff changeset
301 return TRUE;
ba20005d8f78 [gaim-migrate @ 13806]
Luke Schierer <lschiere@pidgin.im>
parents: 11256
diff changeset
302 }
ba20005d8f78 [gaim-migrate @ 13806]
Luke Schierer <lschiere@pidgin.im>
parents: 11256
diff changeset
303
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
304 static PurplePluginInfo info =
5205
242b8aa81328 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents: 4635
diff changeset
305 {
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
306 PURPLE_PLUGIN_MAGIC,
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
307 PURPLE_MAJOR_VERSION,
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
308 PURPLE_MINOR_VERSION,
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
309 PURPLE_PLUGIN_STANDARD,
8986
30ba617356bb [gaim-migrate @ 9761]
Christopher O'Brien <siege@pidgin.im>
parents: 8749
diff changeset
310 NULL,
5205
242b8aa81328 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents: 4635
diff changeset
311 0,
242b8aa81328 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents: 4635
diff changeset
312 NULL,
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
313 PURPLE_PRIORITY_DEFAULT,
5205
242b8aa81328 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents: 4635
diff changeset
314 IDLE_PLUGIN_ID,
13702
35310965f38a [gaim-migrate @ 16103]
Richard Laager <rlaager@pidgin.im>
parents: 13659
diff changeset
315
35310965f38a [gaim-migrate @ 16103]
Richard Laager <rlaager@pidgin.im>
parents: 13659
diff changeset
316 /* This is a cultural reference. Dy'er Mak'er is a song by Led Zeppelin.
35310965f38a [gaim-migrate @ 16103]
Richard Laager <rlaager@pidgin.im>
parents: 13659
diff changeset
317 If that doesn't translate well into your language, drop the 's before translating. */
5205
242b8aa81328 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents: 4635
diff changeset
318 N_("I'dle Mak'er"),
20288
5ca925a094e2 applied changes from 03b709ec2a153e7e82719df0ba4635108bb1d3c6
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 19859
diff changeset
319 DISPLAY_VERSION,
11551
ba20005d8f78 [gaim-migrate @ 13806]
Luke Schierer <lschiere@pidgin.im>
parents: 11256
diff changeset
320 N_("Allows you to hand-configure how long you've been idle"),
ba20005d8f78 [gaim-migrate @ 13806]
Luke Schierer <lschiere@pidgin.im>
parents: 11256
diff changeset
321 N_("Allows you to hand-configure how long you've been idle"),
6481
f8d7460aab30 [gaim-migrate @ 6995]
Mark Doliner <markdoliner@pidgin.im>
parents: 6371
diff changeset
322 "Eric Warmenhoven <eric@warmenhoven.org>",
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
323 PURPLE_WEBSITE,
12839
748f30ed8c9d [gaim-migrate @ 15187]
Richard Laager <rlaager@pidgin.im>
parents: 12826
diff changeset
324 plugin_load,
11551
ba20005d8f78 [gaim-migrate @ 13806]
Luke Schierer <lschiere@pidgin.im>
parents: 11256
diff changeset
325 plugin_unload,
5205
242b8aa81328 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents: 4635
diff changeset
326 NULL,
8986
30ba617356bb [gaim-migrate @ 9761]
Christopher O'Brien <siege@pidgin.im>
parents: 8749
diff changeset
327 NULL,
30ba617356bb [gaim-migrate @ 9761]
Christopher O'Brien <siege@pidgin.im>
parents: 8749
diff changeset
328 NULL,
30ba617356bb [gaim-migrate @ 9761]
Christopher O'Brien <siege@pidgin.im>
parents: 8749
diff changeset
329 NULL,
16745
df2c3d6b609a And the rest of the plugins that are compiling for me by default...
Gary Kramlich <grim@reaperworld.com>
parents: 16490
diff changeset
330 actions,
df2c3d6b609a And the rest of the plugins that are compiling for me by default...
Gary Kramlich <grim@reaperworld.com>
parents: 16490
diff changeset
331
df2c3d6b609a And the rest of the plugins that are compiling for me by default...
Gary Kramlich <grim@reaperworld.com>
parents: 16490
diff changeset
332 /* padding */
df2c3d6b609a And the rest of the plugins that are compiling for me by default...
Gary Kramlich <grim@reaperworld.com>
parents: 16490
diff changeset
333 NULL,
df2c3d6b609a And the rest of the plugins that are compiling for me by default...
Gary Kramlich <grim@reaperworld.com>
parents: 16490
diff changeset
334 NULL,
df2c3d6b609a And the rest of the plugins that are compiling for me by default...
Gary Kramlich <grim@reaperworld.com>
parents: 16490
diff changeset
335 NULL,
df2c3d6b609a And the rest of the plugins that are compiling for me by default...
Gary Kramlich <grim@reaperworld.com>
parents: 16490
diff changeset
336 NULL
5205
242b8aa81328 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents: 4635
diff changeset
337 };
242b8aa81328 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents: 4635
diff changeset
338
12826
db09ce2774a8 [gaim-migrate @ 15174]
Mark Doliner <markdoliner@pidgin.im>
parents: 12776
diff changeset
339 static void
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
340 init_plugin(PurplePlugin *plugin)
5205
242b8aa81328 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents: 4635
diff changeset
341 {
242b8aa81328 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents: 4635
diff changeset
342 }
242b8aa81328 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents: 4635
diff changeset
343
8986
30ba617356bb [gaim-migrate @ 9761]
Christopher O'Brien <siege@pidgin.im>
parents: 8749
diff changeset
344
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
345 PURPLE_INIT_PLUGIN(idle, init_plugin, info)
8986
30ba617356bb [gaim-migrate @ 9761]
Christopher O'Brien <siege@pidgin.im>
parents: 8749
diff changeset
346

mercurial