finch/gntaccount.c

Sat, 31 Dec 2022 20:46:09 -0600

author
Gary Kramlich <grim@reaperworld.com>
date
Sat, 31 Dec 2022 20:46:09 -0600
branch
release-2.x.y
changeset 41988
010d58407f0e
parent 39653
d42791a830df
permissions
-rw-r--r--

Update translations for 2.14.11

14620
90d599495d65 [gaim-migrate @ 17281]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14484
diff changeset
1 /**
90d599495d65 [gaim-migrate @ 17281]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14484
diff changeset
2 * @file gntaccount.c GNT Account API
16255
fa61ee19f526 Rename the Doxygen group from gntui to finch and define the finch group
Richard Laager <rlaager@pidgin.im>
parents: 15931
diff changeset
3 * @ingroup finch
20147
66f05a854eee applied changes from 8a731bbd0197fbcc91a705c2d8f528154216defa
Richard Laager <rlaager@pidgin.im>
parents: 19969
diff changeset
4 */
66f05a854eee applied changes from 8a731bbd0197fbcc91a705c2d8f528154216defa
Richard Laager <rlaager@pidgin.im>
parents: 19969
diff changeset
5
66f05a854eee applied changes from 8a731bbd0197fbcc91a705c2d8f528154216defa
Richard Laager <rlaager@pidgin.im>
parents: 19969
diff changeset
6 /* finch
14620
90d599495d65 [gaim-migrate @ 17281]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14484
diff changeset
7 *
15931
716b5fac1895 Re-sed the copyright notices so they don't all talk about Purple.
Richard Laager <rlaager@pidgin.im>
parents: 15906
diff changeset
8 * Finch is the legal property of its developers, whose names are too numerous
14620
90d599495d65 [gaim-migrate @ 17281]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14484
diff changeset
9 * to list here. Please refer to the COPYRIGHT file distributed with this
90d599495d65 [gaim-migrate @ 17281]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14484
diff changeset
10 * source distribution.
90d599495d65 [gaim-migrate @ 17281]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14484
diff changeset
11 *
90d599495d65 [gaim-migrate @ 17281]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14484
diff changeset
12 * This program is free software; you can redistribute it and/or modify
90d599495d65 [gaim-migrate @ 17281]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14484
diff changeset
13 * it under the terms of the GNU General Public License as published by
90d599495d65 [gaim-migrate @ 17281]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14484
diff changeset
14 * the Free Software Foundation; either version 2 of the License, or
90d599495d65 [gaim-migrate @ 17281]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14484
diff changeset
15 * (at your option) any later version.
90d599495d65 [gaim-migrate @ 17281]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14484
diff changeset
16 *
90d599495d65 [gaim-migrate @ 17281]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14484
diff changeset
17 * This program is distributed in the hope that it will be useful,
90d599495d65 [gaim-migrate @ 17281]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14484
diff changeset
18 * but WITHOUT ANY WARRANTY; without even the implied warranty of
90d599495d65 [gaim-migrate @ 17281]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14484
diff changeset
19 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
90d599495d65 [gaim-migrate @ 17281]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14484
diff changeset
20 * GNU General Public License for more details.
90d599495d65 [gaim-migrate @ 17281]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14484
diff changeset
21 *
90d599495d65 [gaim-migrate @ 17281]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14484
diff changeset
22 * You should have received a copy of the GNU General Public License
90d599495d65 [gaim-migrate @ 17281]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14484
diff changeset
23 * 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: 19572
diff changeset
24 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA
14620
90d599495d65 [gaim-migrate @ 17281]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14484
diff changeset
25 */
29106
51c7b2177e42 Fix all the remaining files for which internal.h doesn't end up being the first include.
Paul Aurich <darkrain42@pidgin.im>
parents: 28587
diff changeset
26 #include <internal.h>
51c7b2177e42 Fix all the remaining files for which internal.h doesn't end up being the first include.
Paul Aurich <darkrain42@pidgin.im>
parents: 28587
diff changeset
27
13969
0541f389442e [gaim-migrate @ 16402]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
28 #include <gnt.h>
0541f389442e [gaim-migrate @ 16402]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
29 #include <gntbox.h>
0541f389442e [gaim-migrate @ 16402]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
30 #include <gntbutton.h>
14041
6afba85cfc30 [gaim-migrate @ 16540]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
31 #include <gntcheckbox.h>
14005
198d1658b390 [gaim-migrate @ 16480]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13996
diff changeset
32 #include <gntcombobox.h>
198d1658b390 [gaim-migrate @ 16480]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13996
diff changeset
33 #include <gntentry.h>
13969
0541f389442e [gaim-migrate @ 16402]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
34 #include <gntlabel.h>
14005
198d1658b390 [gaim-migrate @ 16480]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13996
diff changeset
35 #include <gntline.h>
13969
0541f389442e [gaim-migrate @ 16402]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
36 #include <gnttree.h>
18763
7731e1028071 Add utility function to trigger some button when some key is pressed with
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 18611
diff changeset
37 #include <gntutils.h>
17845
8ac5337e8f6d Show information about the user requesting authorization.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 17164
diff changeset
38 #include <gntwindow.h>
13969
0541f389442e [gaim-migrate @ 16402]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
39
18273
e61c53184c52 #include reorganizations to allow compiling with glib < 2.8 using the
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 18122
diff changeset
40 #include "finch.h"
e61c53184c52 #include reorganizations to allow compiling with glib < 2.8 using the
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 18122
diff changeset
41
14005
198d1658b390 [gaim-migrate @ 16480]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13996
diff changeset
42 #include <account.h>
198d1658b390 [gaim-migrate @ 16480]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13996
diff changeset
43 #include <accountopt.h>
13969
0541f389442e [gaim-migrate @ 16402]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
44 #include <connection.h>
0541f389442e [gaim-migrate @ 16402]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
45 #include <notify.h>
14005
198d1658b390 [gaim-migrate @ 16480]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13996
diff changeset
46 #include <plugin.h>
13969
0541f389442e [gaim-migrate @ 16402]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
47 #include <request.h>
23250
f02a5d93cf17 Allow account registration in a new account dialog.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 22942
diff changeset
48 #include <savedstatuses.h>
13969
0541f389442e [gaim-migrate @ 16402]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
49
0541f389442e [gaim-migrate @ 16402]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
50 #include "gntaccount.h"
17845
8ac5337e8f6d Show information about the user requesting authorization.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 17164
diff changeset
51 #include "gntblist.h"
13969
0541f389442e [gaim-migrate @ 16402]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
52
14041
6afba85cfc30 [gaim-migrate @ 16540]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
53 #include <string.h>
6afba85cfc30 [gaim-migrate @ 16540]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
54
13969
0541f389442e [gaim-migrate @ 16402]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
55 typedef struct
0541f389442e [gaim-migrate @ 16402]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
56 {
0541f389442e [gaim-migrate @ 16402]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
57 GntWidget *window;
0541f389442e [gaim-migrate @ 16402]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
58 GntWidget *tree;
15878
f52832b611fe renamed gaim-text to finch
Sean Egan <seanegan@pidgin.im>
parents: 15829
diff changeset
59 } FinchAccountList;
13969
0541f389442e [gaim-migrate @ 16402]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
60
15878
f52832b611fe renamed gaim-text to finch
Sean Egan <seanegan@pidgin.im>
parents: 15829
diff changeset
61 static FinchAccountList accounts;
13969
0541f389442e [gaim-migrate @ 16402]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
62
14005
198d1658b390 [gaim-migrate @ 16480]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13996
diff changeset
63 typedef struct
198d1658b390 [gaim-migrate @ 16480]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13996
diff changeset
64 {
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15878
diff changeset
65 PurpleAccount *account; /* NULL for a new account */
14005
198d1658b390 [gaim-migrate @ 16480]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13996
diff changeset
66
198d1658b390 [gaim-migrate @ 16480]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13996
diff changeset
67 GntWidget *window;
198d1658b390 [gaim-migrate @ 16480]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13996
diff changeset
68
198d1658b390 [gaim-migrate @ 16480]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13996
diff changeset
69 GntWidget *protocol;
25889
26d9ca30335c Change "screen name" to "username" or "buddy name" in a whole bunch of
Mark Doliner <markdoliner@pidgin.im>
parents: 24861
diff changeset
70 GntWidget *username;
14005
198d1658b390 [gaim-migrate @ 16480]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13996
diff changeset
71 GntWidget *password;
198d1658b390 [gaim-migrate @ 16480]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13996
diff changeset
72 GntWidget *alias;
23250
f02a5d93cf17 Allow account registration in a new account dialog.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 22942
diff changeset
73
14005
198d1658b390 [gaim-migrate @ 16480]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13996
diff changeset
74 GntWidget *splits;
198d1658b390 [gaim-migrate @ 16480]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13996
diff changeset
75 GList *split_entries;
14041
6afba85cfc30 [gaim-migrate @ 16540]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
76
6afba85cfc30 [gaim-migrate @ 16540]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
77 GList *prpl_entries;
6afba85cfc30 [gaim-migrate @ 16540]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
78 GntWidget *prpls;
6afba85cfc30 [gaim-migrate @ 16540]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
79
6afba85cfc30 [gaim-migrate @ 16540]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
80 GntWidget *newmail;
6afba85cfc30 [gaim-migrate @ 16540]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
81 GntWidget *remember;
23250
f02a5d93cf17 Allow account registration in a new account dialog.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 22942
diff changeset
82 GntWidget *regserver;
14005
198d1658b390 [gaim-migrate @ 16480]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13996
diff changeset
83 } AccountEditDialog;
198d1658b390 [gaim-migrate @ 16480]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13996
diff changeset
84
14103
bcac61d40461 [gaim-migrate @ 16647]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14086
diff changeset
85 /* This is necessary to close an edit-dialog when an account is deleted */
bcac61d40461 [gaim-migrate @ 16647]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14086
diff changeset
86 static GList *accountdialogs;
bcac61d40461 [gaim-migrate @ 16647]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14086
diff changeset
87
14005
198d1658b390 [gaim-migrate @ 16480]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13996
diff changeset
88 static void
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15878
diff changeset
89 account_add(PurpleAccount *account)
14041
6afba85cfc30 [gaim-migrate @ 16540]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
90 {
6afba85cfc30 [gaim-migrate @ 16540]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
91 gnt_tree_add_choice(GNT_TREE(accounts.tree), account,
6afba85cfc30 [gaim-migrate @ 16540]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
92 gnt_tree_create_row(GNT_TREE(accounts.tree),
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15878
diff changeset
93 purple_account_get_username(account),
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15878
diff changeset
94 purple_account_get_protocol_name(account)),
14041
6afba85cfc30 [gaim-migrate @ 16540]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
95 NULL, NULL);
6afba85cfc30 [gaim-migrate @ 16540]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
96 gnt_tree_set_choice(GNT_TREE(accounts.tree), account,
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15878
diff changeset
97 purple_account_get_enabled(account, FINCH_UI));
14041
6afba85cfc30 [gaim-migrate @ 16540]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
98 }
6afba85cfc30 [gaim-migrate @ 16540]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
99
6afba85cfc30 [gaim-migrate @ 16540]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
100 static void
14005
198d1658b390 [gaim-migrate @ 16480]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13996
diff changeset
101 edit_dialog_destroy(AccountEditDialog *dialog)
198d1658b390 [gaim-migrate @ 16480]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13996
diff changeset
102 {
14103
bcac61d40461 [gaim-migrate @ 16647]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14086
diff changeset
103 accountdialogs = g_list_remove(accountdialogs, dialog);
14041
6afba85cfc30 [gaim-migrate @ 16540]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
104 g_list_free(dialog->prpl_entries);
6afba85cfc30 [gaim-migrate @ 16540]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
105 g_list_free(dialog->split_entries);
14005
198d1658b390 [gaim-migrate @ 16480]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13996
diff changeset
106 g_free(dialog);
198d1658b390 [gaim-migrate @ 16480]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13996
diff changeset
107 }
198d1658b390 [gaim-migrate @ 16480]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13996
diff changeset
108
198d1658b390 [gaim-migrate @ 16480]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13996
diff changeset
109 static void
198d1658b390 [gaim-migrate @ 16480]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13996
diff changeset
110 save_account_cb(AccountEditDialog *dialog)
198d1658b390 [gaim-migrate @ 16480]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13996
diff changeset
111 {
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15878
diff changeset
112 PurpleAccount *account;
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15878
diff changeset
113 PurplePlugin *plugin;
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15878
diff changeset
114 PurplePluginProtocolInfo *prplinfo;
14041
6afba85cfc30 [gaim-migrate @ 16540]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
115 const char *value;
6afba85cfc30 [gaim-migrate @ 16540]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
116 GString *username;
6afba85cfc30 [gaim-migrate @ 16540]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
117
6afba85cfc30 [gaim-migrate @ 16540]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
118 /* XXX: Do some error checking first. */
6afba85cfc30 [gaim-migrate @ 16540]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
119
6afba85cfc30 [gaim-migrate @ 16540]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
120 plugin = gnt_combo_box_get_selected_data(GNT_COMBO_BOX(dialog->protocol));
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15878
diff changeset
121 prplinfo = PURPLE_PLUGIN_PROTOCOL_INFO(plugin);
14041
6afba85cfc30 [gaim-migrate @ 16540]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
122
25889
26d9ca30335c Change "screen name" to "username" or "buddy name" in a whole bunch of
Mark Doliner <markdoliner@pidgin.im>
parents: 24861
diff changeset
123 /* Username && user-splits */
26d9ca30335c Change "screen name" to "username" or "buddy name" in a whole bunch of
Mark Doliner <markdoliner@pidgin.im>
parents: 24861
diff changeset
124 value = gnt_entry_get_text(GNT_ENTRY(dialog->username));
14041
6afba85cfc30 [gaim-migrate @ 16540]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
125
6afba85cfc30 [gaim-migrate @ 16540]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
126 if (value == NULL || *value == '\0')
6afba85cfc30 [gaim-migrate @ 16540]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
127 {
30496
2f0380d2a282 Some updates to the account window.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 29106
diff changeset
128 purple_notify_error(NULL, _("Error"),
2f0380d2a282 Some updates to the account window.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 29106
diff changeset
129 dialog->account ? _("Account was not modified") : _("Account was not added"),
22942
2bf494f8e2a4 Change the string "screen name" to "username" everywhere. I think most
Mark Doliner <markdoliner@pidgin.im>
parents: 22385
diff changeset
130 _("Username of an account must be non-empty."));
14041
6afba85cfc30 [gaim-migrate @ 16540]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
131 return;
6afba85cfc30 [gaim-migrate @ 16540]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
132 }
23250
f02a5d93cf17 Allow account registration in a new account dialog.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 22942
diff changeset
133
14041
6afba85cfc30 [gaim-migrate @ 16540]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
134 username = g_string_new(value);
6afba85cfc30 [gaim-migrate @ 16540]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
135
6afba85cfc30 [gaim-migrate @ 16540]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
136 if (prplinfo != NULL)
6afba85cfc30 [gaim-migrate @ 16540]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
137 {
6afba85cfc30 [gaim-migrate @ 16540]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
138 GList *iter, *entries;
6afba85cfc30 [gaim-migrate @ 16540]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
139 for (iter = prplinfo->user_splits, entries = dialog->split_entries;
6afba85cfc30 [gaim-migrate @ 16540]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
140 iter && entries; iter = iter->next, entries = entries->next)
6afba85cfc30 [gaim-migrate @ 16540]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
141 {
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15878
diff changeset
142 PurpleAccountUserSplit *split = iter->data;
14041
6afba85cfc30 [gaim-migrate @ 16540]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
143 GntWidget *entry = entries->data;
6afba85cfc30 [gaim-migrate @ 16540]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
144
6afba85cfc30 [gaim-migrate @ 16540]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
145 value = gnt_entry_get_text(GNT_ENTRY(entry));
6afba85cfc30 [gaim-migrate @ 16540]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
146 if (value == NULL || *value == '\0')
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15878
diff changeset
147 value = purple_account_user_split_get_default_value(split);
14041
6afba85cfc30 [gaim-migrate @ 16540]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
148 g_string_append_printf(username, "%c%s",
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15878
diff changeset
149 purple_account_user_split_get_separator(split),
14041
6afba85cfc30 [gaim-migrate @ 16540]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
150 value);
6afba85cfc30 [gaim-migrate @ 16540]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
151 }
6afba85cfc30 [gaim-migrate @ 16540]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
152 }
6afba85cfc30 [gaim-migrate @ 16540]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
153
6afba85cfc30 [gaim-migrate @ 16540]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
154 if (dialog->account == NULL)
6afba85cfc30 [gaim-migrate @ 16540]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
155 {
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15878
diff changeset
156 account = purple_account_new(username->str, purple_plugin_get_id(plugin));
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15878
diff changeset
157 purple_accounts_add(account);
14041
6afba85cfc30 [gaim-migrate @ 16540]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
158 }
6afba85cfc30 [gaim-migrate @ 16540]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
159 else
6afba85cfc30 [gaim-migrate @ 16540]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
160 {
6afba85cfc30 [gaim-migrate @ 16540]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
161 account = dialog->account;
6afba85cfc30 [gaim-migrate @ 16540]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
162
6afba85cfc30 [gaim-migrate @ 16540]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
163 /* Protocol */
30496
2f0380d2a282 Some updates to the account window.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 29106
diff changeset
164 if (purple_account_is_disconnected(account)) {
2f0380d2a282 Some updates to the account window.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 29106
diff changeset
165 purple_account_set_protocol_id(account, purple_plugin_get_id(plugin));
2f0380d2a282 Some updates to the account window.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 29106
diff changeset
166 purple_account_set_username(account, username->str);
2f0380d2a282 Some updates to the account window.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 29106
diff changeset
167 } else {
2f0380d2a282 Some updates to the account window.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 29106
diff changeset
168 const char *old = purple_account_get_protocol_id(account);
2f0380d2a282 Some updates to the account window.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 29106
diff changeset
169 char *oldprpl;
38259
c593fc9f5438 Replace strcmp() with purple_strequal()
qarkai <qarkai@gmail.com>
parents: 38256
diff changeset
170 if (!purple_strequal(old, purple_plugin_get_id(plugin))) {
30496
2f0380d2a282 Some updates to the account window.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 29106
diff changeset
171 purple_notify_error(NULL, _("Error"), _("Account was not modified"),
2f0380d2a282 Some updates to the account window.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 29106
diff changeset
172 _("The account's protocol cannot be changed while it is connected to the server."));
2f0380d2a282 Some updates to the account window.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 29106
diff changeset
173 return;
2f0380d2a282 Some updates to the account window.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 29106
diff changeset
174 }
2f0380d2a282 Some updates to the account window.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 29106
diff changeset
175
2f0380d2a282 Some updates to the account window.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 29106
diff changeset
176 oldprpl = g_strdup(purple_normalize(account, purple_account_get_username(account)));
2f0380d2a282 Some updates to the account window.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 29106
diff changeset
177 if (g_utf8_collate(oldprpl, purple_normalize(account, username->str))) {
2f0380d2a282 Some updates to the account window.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 29106
diff changeset
178 purple_notify_error(NULL, _("Error"), _("Account was not modified"),
2f0380d2a282 Some updates to the account window.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 29106
diff changeset
179 _("The account's username cannot be changed while it is connected to the server."));
2f0380d2a282 Some updates to the account window.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 29106
diff changeset
180 g_free(oldprpl);
2f0380d2a282 Some updates to the account window.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 29106
diff changeset
181 return;
2f0380d2a282 Some updates to the account window.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 29106
diff changeset
182 }
2f0380d2a282 Some updates to the account window.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 29106
diff changeset
183 g_free(oldprpl);
2f0380d2a282 Some updates to the account window.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 29106
diff changeset
184 purple_account_set_username(account, username->str);
2f0380d2a282 Some updates to the account window.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 29106
diff changeset
185 }
14041
6afba85cfc30 [gaim-migrate @ 16540]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
186 }
6afba85cfc30 [gaim-migrate @ 16540]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
187 g_string_free(username, TRUE);
6afba85cfc30 [gaim-migrate @ 16540]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
188
6afba85cfc30 [gaim-migrate @ 16540]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
189 /* Alias */
6afba85cfc30 [gaim-migrate @ 16540]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
190 value = gnt_entry_get_text(GNT_ENTRY(dialog->alias));
28587
881b57ee507a Allow unsetting account alias in finch.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 28115
diff changeset
191 purple_account_set_alias(account, value);
14041
6afba85cfc30 [gaim-migrate @ 16540]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
192
6afba85cfc30 [gaim-migrate @ 16540]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
193 /* Remember password and password */
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15878
diff changeset
194 purple_account_set_remember_password(account,
14041
6afba85cfc30 [gaim-migrate @ 16540]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
195 gnt_check_box_get_checked(GNT_CHECK_BOX(dialog->remember)));
6afba85cfc30 [gaim-migrate @ 16540]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
196 value = gnt_entry_get_text(GNT_ENTRY(dialog->password));
19935
d298e61cdb68 Don't prompt for the password again if the user entered it once in the account window.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 19859
diff changeset
197 if (value && *value)
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15878
diff changeset
198 purple_account_set_password(account, value);
14041
6afba85cfc30 [gaim-migrate @ 16540]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
199 else
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15878
diff changeset
200 purple_account_set_password(account, NULL);
14041
6afba85cfc30 [gaim-migrate @ 16540]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
201
6afba85cfc30 [gaim-migrate @ 16540]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
202 /* Mail notification */
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15878
diff changeset
203 purple_account_set_check_mail(account,
14041
6afba85cfc30 [gaim-migrate @ 16540]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
204 gnt_check_box_get_checked(GNT_CHECK_BOX(dialog->newmail)));
6afba85cfc30 [gaim-migrate @ 16540]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
205
6afba85cfc30 [gaim-migrate @ 16540]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
206 /* Protocol options */
6afba85cfc30 [gaim-migrate @ 16540]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
207 if (prplinfo)
6afba85cfc30 [gaim-migrate @ 16540]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
208 {
6afba85cfc30 [gaim-migrate @ 16540]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
209 GList *iter, *entries;
23250
f02a5d93cf17 Allow account registration in a new account dialog.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 22942
diff changeset
210
14041
6afba85cfc30 [gaim-migrate @ 16540]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
211 for (iter = prplinfo->protocol_options, entries = dialog->prpl_entries;
6afba85cfc30 [gaim-migrate @ 16540]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
212 iter && entries; iter = iter->next, entries = entries->next)
6afba85cfc30 [gaim-migrate @ 16540]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
213 {
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15878
diff changeset
214 PurpleAccountOption *option = iter->data;
14041
6afba85cfc30 [gaim-migrate @ 16540]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
215 GntWidget *entry = entries->data;
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15878
diff changeset
216 PurplePrefType type = purple_account_option_get_type(option);
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15878
diff changeset
217 const char *setting = purple_account_option_get_setting(option);
14041
6afba85cfc30 [gaim-migrate @ 16540]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
218
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15878
diff changeset
219 if (type == PURPLE_PREF_STRING)
14041
6afba85cfc30 [gaim-migrate @ 16540]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
220 {
6afba85cfc30 [gaim-migrate @ 16540]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
221 const char *value = gnt_entry_get_text(GNT_ENTRY(entry));
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15878
diff changeset
222 purple_account_set_string(account, setting, value);
14041
6afba85cfc30 [gaim-migrate @ 16540]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
223 }
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15878
diff changeset
224 else if (type == PURPLE_PREF_INT)
14041
6afba85cfc30 [gaim-migrate @ 16540]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
225 {
6afba85cfc30 [gaim-migrate @ 16540]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
226 const char *str = gnt_entry_get_text(GNT_ENTRY(entry));
6afba85cfc30 [gaim-migrate @ 16540]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
227 int value = 0;
6afba85cfc30 [gaim-migrate @ 16540]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
228 if (str)
6afba85cfc30 [gaim-migrate @ 16540]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
229 value = atoi(str);
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15878
diff changeset
230 purple_account_set_int(account, setting, value);
14041
6afba85cfc30 [gaim-migrate @ 16540]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
231 }
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15878
diff changeset
232 else if (type == PURPLE_PREF_BOOLEAN)
14041
6afba85cfc30 [gaim-migrate @ 16540]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
233 {
6afba85cfc30 [gaim-migrate @ 16540]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
234 gboolean value = gnt_check_box_get_checked(GNT_CHECK_BOX(entry));
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15878
diff changeset
235 purple_account_set_bool(account, setting, value);
14041
6afba85cfc30 [gaim-migrate @ 16540]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
236 }
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15878
diff changeset
237 else if (type == PURPLE_PREF_STRING_LIST)
14041
6afba85cfc30 [gaim-migrate @ 16540]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
238 {
30725
4aa8ed98e52a finch: Add support for string lists as account options
Paul Aurich <darkrain42@pidgin.im>
parents: 30496
diff changeset
239 gchar *value = gnt_combo_box_get_selected_data(GNT_COMBO_BOX(entry));
4aa8ed98e52a finch: Add support for string lists as account options
Paul Aurich <darkrain42@pidgin.im>
parents: 30496
diff changeset
240 purple_account_set_string(account, setting, value);
14041
6afba85cfc30 [gaim-migrate @ 16540]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
241 }
6afba85cfc30 [gaim-migrate @ 16540]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
242 else
6afba85cfc30 [gaim-migrate @ 16540]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
243 {
6afba85cfc30 [gaim-migrate @ 16540]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
244 g_assert_not_reached();
6afba85cfc30 [gaim-migrate @ 16540]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
245 }
6afba85cfc30 [gaim-migrate @ 16540]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
246 }
6afba85cfc30 [gaim-migrate @ 16540]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
247 }
6afba85cfc30 [gaim-migrate @ 16540]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
248
6afba85cfc30 [gaim-migrate @ 16540]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
249 /* XXX: Proxy options */
6afba85cfc30 [gaim-migrate @ 16540]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
250
19572
52e2313b38f8 Focus the modified/created account in the accounts window after modifying/
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 19125
diff changeset
251 if (accounts.window && accounts.tree) {
52e2313b38f8 Focus the modified/created account in the accounts window after modifying/
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 19125
diff changeset
252 gnt_tree_set_selected(GNT_TREE(accounts.tree), account);
52e2313b38f8 Focus the modified/created account in the accounts window after modifying/
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 19125
diff changeset
253 gnt_box_give_focus_to_child(GNT_BOX(accounts.window), accounts.tree);
52e2313b38f8 Focus the modified/created account in the accounts window after modifying/
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 19125
diff changeset
254 }
52e2313b38f8 Focus the modified/created account in the accounts window after modifying/
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 19125
diff changeset
255
23250
f02a5d93cf17 Allow account registration in a new account dialog.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 22942
diff changeset
256 if (prplinfo && prplinfo->register_user &&
f02a5d93cf17 Allow account registration in a new account dialog.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 22942
diff changeset
257 gnt_check_box_get_checked(GNT_CHECK_BOX(dialog->regserver))) {
f02a5d93cf17 Allow account registration in a new account dialog.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 22942
diff changeset
258 purple_account_register(account);
f02a5d93cf17 Allow account registration in a new account dialog.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 22942
diff changeset
259 } else if (dialog->account == NULL) {
f02a5d93cf17 Allow account registration in a new account dialog.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 22942
diff changeset
260 /* This is a new account. Set it to the current status. */
f02a5d93cf17 Allow account registration in a new account dialog.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 22942
diff changeset
261 /* Xerox from gtkaccount.c :D */
f02a5d93cf17 Allow account registration in a new account dialog.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 22942
diff changeset
262 const PurpleSavedStatus *saved_status;
f02a5d93cf17 Allow account registration in a new account dialog.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 22942
diff changeset
263 saved_status = purple_savedstatus_get_current();
f02a5d93cf17 Allow account registration in a new account dialog.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 22942
diff changeset
264 if (saved_status != NULL) {
f02a5d93cf17 Allow account registration in a new account dialog.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 22942
diff changeset
265 purple_savedstatus_activate_for_account(saved_status, account);
f02a5d93cf17 Allow account registration in a new account dialog.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 22942
diff changeset
266 purple_account_set_enabled(account, FINCH_UI, TRUE);
f02a5d93cf17 Allow account registration in a new account dialog.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 22942
diff changeset
267 }
f02a5d93cf17 Allow account registration in a new account dialog.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 22942
diff changeset
268 }
f02a5d93cf17 Allow account registration in a new account dialog.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 22942
diff changeset
269
30496
2f0380d2a282 Some updates to the account window.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 29106
diff changeset
270 /* In case of a new account, the 'Accounts' window is updated from the account-added
2f0380d2a282 Some updates to the account window.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 29106
diff changeset
271 * callback. In case of changes in an existing account, we need to explicitly do it
2f0380d2a282 Some updates to the account window.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 29106
diff changeset
272 * here.
2f0380d2a282 Some updates to the account window.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 29106
diff changeset
273 */
2f0380d2a282 Some updates to the account window.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 29106
diff changeset
274 if (dialog->account != NULL && accounts.window) {
2f0380d2a282 Some updates to the account window.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 29106
diff changeset
275 gnt_tree_change_text(GNT_TREE(accounts.tree), dialog->account,
2f0380d2a282 Some updates to the account window.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 29106
diff changeset
276 0, purple_account_get_username(dialog->account));
2f0380d2a282 Some updates to the account window.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 29106
diff changeset
277 gnt_tree_change_text(GNT_TREE(accounts.tree), dialog->account,
2f0380d2a282 Some updates to the account window.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 29106
diff changeset
278 1, purple_account_get_protocol_name(dialog->account));
2f0380d2a282 Some updates to the account window.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 29106
diff changeset
279 }
2f0380d2a282 Some updates to the account window.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 29106
diff changeset
280
14041
6afba85cfc30 [gaim-migrate @ 16540]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
281 gnt_widget_destroy(dialog->window);
14005
198d1658b390 [gaim-migrate @ 16480]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13996
diff changeset
282 }
198d1658b390 [gaim-migrate @ 16480]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13996
diff changeset
283
198d1658b390 [gaim-migrate @ 16480]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13996
diff changeset
284 static void
198d1658b390 [gaim-migrate @ 16480]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13996
diff changeset
285 update_user_splits(AccountEditDialog *dialog)
198d1658b390 [gaim-migrate @ 16480]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13996
diff changeset
286 {
198d1658b390 [gaim-migrate @ 16480]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13996
diff changeset
287 GntWidget *hbox;
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15878
diff changeset
288 PurplePlugin *plugin;
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15878
diff changeset
289 PurplePluginProtocolInfo *prplinfo;
14041
6afba85cfc30 [gaim-migrate @ 16540]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
290 GList *iter, *entries;
14005
198d1658b390 [gaim-migrate @ 16480]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13996
diff changeset
291 char *username = NULL;
198d1658b390 [gaim-migrate @ 16480]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13996
diff changeset
292
198d1658b390 [gaim-migrate @ 16480]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13996
diff changeset
293 if (dialog->splits)
198d1658b390 [gaim-migrate @ 16480]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13996
diff changeset
294 {
198d1658b390 [gaim-migrate @ 16480]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13996
diff changeset
295 gnt_box_remove_all(GNT_BOX(dialog->splits));
198d1658b390 [gaim-migrate @ 16480]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13996
diff changeset
296 g_list_free(dialog->split_entries);
198d1658b390 [gaim-migrate @ 16480]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13996
diff changeset
297 }
198d1658b390 [gaim-migrate @ 16480]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13996
diff changeset
298 else
198d1658b390 [gaim-migrate @ 16480]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13996
diff changeset
299 {
14121
3d8804b82150 [gaim-migrate @ 16674]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14103
diff changeset
300 dialog->splits = gnt_vbox_new(FALSE);
14005
198d1658b390 [gaim-migrate @ 16480]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13996
diff changeset
301 gnt_box_set_pad(GNT_BOX(dialog->splits), 0);
14121
3d8804b82150 [gaim-migrate @ 16674]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14103
diff changeset
302 gnt_box_set_fill(GNT_BOX(dialog->splits), TRUE);
14005
198d1658b390 [gaim-migrate @ 16480]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13996
diff changeset
303 }
198d1658b390 [gaim-migrate @ 16480]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13996
diff changeset
304
198d1658b390 [gaim-migrate @ 16480]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13996
diff changeset
305 dialog->split_entries = NULL;
198d1658b390 [gaim-migrate @ 16480]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13996
diff changeset
306
198d1658b390 [gaim-migrate @ 16480]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13996
diff changeset
307 plugin = gnt_combo_box_get_selected_data(GNT_COMBO_BOX(dialog->protocol));
198d1658b390 [gaim-migrate @ 16480]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13996
diff changeset
308 if (!plugin)
198d1658b390 [gaim-migrate @ 16480]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13996
diff changeset
309 return;
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15878
diff changeset
310 prplinfo = PURPLE_PLUGIN_PROTOCOL_INFO(plugin);
31294
73607ab89c6f Remove trailing whitespace
Richard Laager <rlaager@pidgin.im>
parents: 30725
diff changeset
311
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15878
diff changeset
312 username = dialog->account ? g_strdup(purple_account_get_username(dialog->account)) : NULL;
14005
198d1658b390 [gaim-migrate @ 16480]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13996
diff changeset
313
198d1658b390 [gaim-migrate @ 16480]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13996
diff changeset
314 for (iter = prplinfo->user_splits; iter; iter = iter->next)
198d1658b390 [gaim-migrate @ 16480]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13996
diff changeset
315 {
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15878
diff changeset
316 PurpleAccountUserSplit *split = iter->data;
14005
198d1658b390 [gaim-migrate @ 16480]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13996
diff changeset
317 GntWidget *entry;
198d1658b390 [gaim-migrate @ 16480]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13996
diff changeset
318 char *buf;
198d1658b390 [gaim-migrate @ 16480]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13996
diff changeset
319
14121
3d8804b82150 [gaim-migrate @ 16674]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14103
diff changeset
320 hbox = gnt_hbox_new(TRUE);
14005
198d1658b390 [gaim-migrate @ 16480]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13996
diff changeset
321 gnt_box_add_widget(GNT_BOX(dialog->splits), hbox);
198d1658b390 [gaim-migrate @ 16480]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13996
diff changeset
322
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15878
diff changeset
323 buf = g_strdup_printf("%s:", purple_account_user_split_get_text(split));
14005
198d1658b390 [gaim-migrate @ 16480]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13996
diff changeset
324 gnt_box_add_widget(GNT_BOX(hbox), gnt_label_new(buf));
198d1658b390 [gaim-migrate @ 16480]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13996
diff changeset
325
198d1658b390 [gaim-migrate @ 16480]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13996
diff changeset
326 entry = gnt_entry_new(NULL);
198d1658b390 [gaim-migrate @ 16480]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13996
diff changeset
327 gnt_box_add_widget(GNT_BOX(hbox), entry);
198d1658b390 [gaim-migrate @ 16480]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13996
diff changeset
328
198d1658b390 [gaim-migrate @ 16480]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13996
diff changeset
329 dialog->split_entries = g_list_append(dialog->split_entries, entry);
198d1658b390 [gaim-migrate @ 16480]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13996
diff changeset
330 g_free(buf);
198d1658b390 [gaim-migrate @ 16480]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13996
diff changeset
331 }
198d1658b390 [gaim-migrate @ 16480]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13996
diff changeset
332
14041
6afba85cfc30 [gaim-migrate @ 16540]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
333 for (iter = g_list_last(prplinfo->user_splits), entries = g_list_last(dialog->split_entries);
6afba85cfc30 [gaim-migrate @ 16540]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
334 iter && entries; iter = iter->prev, entries = entries->prev)
6afba85cfc30 [gaim-migrate @ 16540]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
335 {
6afba85cfc30 [gaim-migrate @ 16540]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
336 GntWidget *entry = entries->data;
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15878
diff changeset
337 PurpleAccountUserSplit *split = iter->data;
14041
6afba85cfc30 [gaim-migrate @ 16540]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
338 const char *value = NULL;
6afba85cfc30 [gaim-migrate @ 16540]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
339 char *s;
6afba85cfc30 [gaim-migrate @ 16540]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
340
6afba85cfc30 [gaim-migrate @ 16540]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
341 if (dialog->account)
6afba85cfc30 [gaim-migrate @ 16540]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
342 {
18099
f38988d232f7 jabber can contain @ symbols and / in the resource, so we have to look for
Nathan Walp <nwalp@pidgin.im>
parents: 17401
diff changeset
343 if(purple_account_user_split_get_reverse(split))
f38988d232f7 jabber can contain @ symbols and / in the resource, so we have to look for
Nathan Walp <nwalp@pidgin.im>
parents: 17401
diff changeset
344 s = strrchr(username, purple_account_user_split_get_separator(split));
f38988d232f7 jabber can contain @ symbols and / in the resource, so we have to look for
Nathan Walp <nwalp@pidgin.im>
parents: 17401
diff changeset
345 else
f38988d232f7 jabber can contain @ symbols and / in the resource, so we have to look for
Nathan Walp <nwalp@pidgin.im>
parents: 17401
diff changeset
346 s = strchr(username, purple_account_user_split_get_separator(split));
f38988d232f7 jabber can contain @ symbols and / in the resource, so we have to look for
Nathan Walp <nwalp@pidgin.im>
parents: 17401
diff changeset
347
14041
6afba85cfc30 [gaim-migrate @ 16540]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
348 if (s != NULL)
6afba85cfc30 [gaim-migrate @ 16540]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
349 {
6afba85cfc30 [gaim-migrate @ 16540]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
350 *s = '\0';
6afba85cfc30 [gaim-migrate @ 16540]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
351 s++;
6afba85cfc30 [gaim-migrate @ 16540]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
352 value = s;
6afba85cfc30 [gaim-migrate @ 16540]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
353 }
6afba85cfc30 [gaim-migrate @ 16540]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
354 }
6afba85cfc30 [gaim-migrate @ 16540]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
355 if (value == NULL)
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15878
diff changeset
356 value = purple_account_user_split_get_default_value(split);
14041
6afba85cfc30 [gaim-migrate @ 16540]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
357
6afba85cfc30 [gaim-migrate @ 16540]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
358 if (value != NULL)
6afba85cfc30 [gaim-migrate @ 16540]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
359 gnt_entry_set_text(GNT_ENTRY(entry), value);
6afba85cfc30 [gaim-migrate @ 16540]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
360 }
6afba85cfc30 [gaim-migrate @ 16540]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
361
6afba85cfc30 [gaim-migrate @ 16540]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
362 if (username != NULL)
25889
26d9ca30335c Change "screen name" to "username" or "buddy name" in a whole bunch of
Mark Doliner <markdoliner@pidgin.im>
parents: 24861
diff changeset
363 gnt_entry_set_text(GNT_ENTRY(dialog->username), username);
14041
6afba85cfc30 [gaim-migrate @ 16540]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
364
14005
198d1658b390 [gaim-migrate @ 16480]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13996
diff changeset
365 g_free(username);
198d1658b390 [gaim-migrate @ 16480]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13996
diff changeset
366 }
198d1658b390 [gaim-migrate @ 16480]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13996
diff changeset
367
198d1658b390 [gaim-migrate @ 16480]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13996
diff changeset
368 static void
14041
6afba85cfc30 [gaim-migrate @ 16540]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
369 add_protocol_options(AccountEditDialog *dialog)
6afba85cfc30 [gaim-migrate @ 16540]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
370 {
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15878
diff changeset
371 PurplePlugin *plugin;
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15878
diff changeset
372 PurplePluginProtocolInfo *prplinfo;
14041
6afba85cfc30 [gaim-migrate @ 16540]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
373 GList *iter;
6afba85cfc30 [gaim-migrate @ 16540]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
374 GntWidget *vbox, *box;
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15878
diff changeset
375 PurpleAccount *account;
14041
6afba85cfc30 [gaim-migrate @ 16540]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
376
6afba85cfc30 [gaim-migrate @ 16540]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
377 if (dialog->prpls)
6afba85cfc30 [gaim-migrate @ 16540]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
378 gnt_box_remove_all(GNT_BOX(dialog->prpls));
6afba85cfc30 [gaim-migrate @ 16540]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
379 else
6afba85cfc30 [gaim-migrate @ 16540]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
380 {
6afba85cfc30 [gaim-migrate @ 16540]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
381 dialog->prpls = vbox = gnt_vbox_new(FALSE);
6afba85cfc30 [gaim-migrate @ 16540]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
382 gnt_box_set_pad(GNT_BOX(vbox), 0);
6afba85cfc30 [gaim-migrate @ 16540]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
383 gnt_box_set_alignment(GNT_BOX(vbox), GNT_ALIGN_LEFT);
6afba85cfc30 [gaim-migrate @ 16540]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
384 gnt_box_set_fill(GNT_BOX(vbox), TRUE);
6afba85cfc30 [gaim-migrate @ 16540]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
385 }
6afba85cfc30 [gaim-migrate @ 16540]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
386
6afba85cfc30 [gaim-migrate @ 16540]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
387 if (dialog->prpl_entries)
6afba85cfc30 [gaim-migrate @ 16540]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
388 {
6afba85cfc30 [gaim-migrate @ 16540]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
389 g_list_free(dialog->prpl_entries);
6afba85cfc30 [gaim-migrate @ 16540]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
390 dialog->prpl_entries = NULL;
6afba85cfc30 [gaim-migrate @ 16540]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
391 }
6afba85cfc30 [gaim-migrate @ 16540]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
392
6afba85cfc30 [gaim-migrate @ 16540]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
393 vbox = dialog->prpls;
6afba85cfc30 [gaim-migrate @ 16540]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
394
6afba85cfc30 [gaim-migrate @ 16540]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
395 plugin = gnt_combo_box_get_selected_data(GNT_COMBO_BOX(dialog->protocol));
6afba85cfc30 [gaim-migrate @ 16540]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
396 if (!plugin)
6afba85cfc30 [gaim-migrate @ 16540]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
397 return;
6afba85cfc30 [gaim-migrate @ 16540]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
398
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15878
diff changeset
399 prplinfo = PURPLE_PLUGIN_PROTOCOL_INFO(plugin);
14041
6afba85cfc30 [gaim-migrate @ 16540]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
400
6afba85cfc30 [gaim-migrate @ 16540]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
401 account = dialog->account;
6afba85cfc30 [gaim-migrate @ 16540]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
402
6afba85cfc30 [gaim-migrate @ 16540]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
403 for (iter = prplinfo->protocol_options; iter; iter = iter->next)
6afba85cfc30 [gaim-migrate @ 16540]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
404 {
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15878
diff changeset
405 PurpleAccountOption *option = iter->data;
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15878
diff changeset
406 PurplePrefType type = purple_account_option_get_type(option);
14041
6afba85cfc30 [gaim-migrate @ 16540]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
407
6afba85cfc30 [gaim-migrate @ 16540]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
408 box = gnt_hbox_new(TRUE);
6afba85cfc30 [gaim-migrate @ 16540]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
409 gnt_box_set_pad(GNT_BOX(box), 0);
6afba85cfc30 [gaim-migrate @ 16540]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
410 gnt_box_add_widget(GNT_BOX(vbox), box);
6afba85cfc30 [gaim-migrate @ 16540]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
411
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15878
diff changeset
412 if (type == PURPLE_PREF_BOOLEAN)
14041
6afba85cfc30 [gaim-migrate @ 16540]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
413 {
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15878
diff changeset
414 GntWidget *widget = gnt_check_box_new(purple_account_option_get_text(option));
14041
6afba85cfc30 [gaim-migrate @ 16540]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
415 gnt_box_add_widget(GNT_BOX(box), widget);
6afba85cfc30 [gaim-migrate @ 16540]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
416 dialog->prpl_entries = g_list_append(dialog->prpl_entries, widget);
6afba85cfc30 [gaim-migrate @ 16540]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
417
6afba85cfc30 [gaim-migrate @ 16540]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
418 if (account)
6afba85cfc30 [gaim-migrate @ 16540]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
419 gnt_check_box_set_checked(GNT_CHECK_BOX(widget),
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15878
diff changeset
420 purple_account_get_bool(account,
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15878
diff changeset
421 purple_account_option_get_setting(option),
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15878
diff changeset
422 purple_account_option_get_default_bool(option)));
14041
6afba85cfc30 [gaim-migrate @ 16540]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
423 else
6afba85cfc30 [gaim-migrate @ 16540]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
424 gnt_check_box_set_checked(GNT_CHECK_BOX(widget),
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15878
diff changeset
425 purple_account_option_get_default_bool(option));
14041
6afba85cfc30 [gaim-migrate @ 16540]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
426 }
6afba85cfc30 [gaim-migrate @ 16540]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
427 else
6afba85cfc30 [gaim-migrate @ 16540]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
428 {
6afba85cfc30 [gaim-migrate @ 16540]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
429 gnt_box_add_widget(GNT_BOX(box),
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15878
diff changeset
430 gnt_label_new(purple_account_option_get_text(option)));
14041
6afba85cfc30 [gaim-migrate @ 16540]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
431
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15878
diff changeset
432 if (type == PURPLE_PREF_STRING_LIST)
14041
6afba85cfc30 [gaim-migrate @ 16540]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
433 {
30725
4aa8ed98e52a finch: Add support for string lists as account options
Paul Aurich <darkrain42@pidgin.im>
parents: 30496
diff changeset
434 GntWidget *combo = gnt_combo_box_new();
4aa8ed98e52a finch: Add support for string lists as account options
Paul Aurich <darkrain42@pidgin.im>
parents: 30496
diff changeset
435 GList *opt_iter = purple_account_option_get_list(option);
4aa8ed98e52a finch: Add support for string lists as account options
Paul Aurich <darkrain42@pidgin.im>
parents: 30496
diff changeset
436 const char *dv = purple_account_option_get_default_list_value(option);
4aa8ed98e52a finch: Add support for string lists as account options
Paul Aurich <darkrain42@pidgin.im>
parents: 30496
diff changeset
437 const char *active = dv;
4aa8ed98e52a finch: Add support for string lists as account options
Paul Aurich <darkrain42@pidgin.im>
parents: 30496
diff changeset
438
4aa8ed98e52a finch: Add support for string lists as account options
Paul Aurich <darkrain42@pidgin.im>
parents: 30496
diff changeset
439 if (account)
4aa8ed98e52a finch: Add support for string lists as account options
Paul Aurich <darkrain42@pidgin.im>
parents: 30496
diff changeset
440 active = purple_account_get_string(account,
4aa8ed98e52a finch: Add support for string lists as account options
Paul Aurich <darkrain42@pidgin.im>
parents: 30496
diff changeset
441 purple_account_option_get_setting(option), dv);
4aa8ed98e52a finch: Add support for string lists as account options
Paul Aurich <darkrain42@pidgin.im>
parents: 30496
diff changeset
442
4aa8ed98e52a finch: Add support for string lists as account options
Paul Aurich <darkrain42@pidgin.im>
parents: 30496
diff changeset
443 gnt_box_add_widget(GNT_BOX(box), combo);
4aa8ed98e52a finch: Add support for string lists as account options
Paul Aurich <darkrain42@pidgin.im>
parents: 30496
diff changeset
444 dialog->prpl_entries = g_list_append(dialog->prpl_entries, combo);
4aa8ed98e52a finch: Add support for string lists as account options
Paul Aurich <darkrain42@pidgin.im>
parents: 30496
diff changeset
445
4aa8ed98e52a finch: Add support for string lists as account options
Paul Aurich <darkrain42@pidgin.im>
parents: 30496
diff changeset
446 for ( ; opt_iter; opt_iter = opt_iter->next)
4aa8ed98e52a finch: Add support for string lists as account options
Paul Aurich <darkrain42@pidgin.im>
parents: 30496
diff changeset
447 {
4aa8ed98e52a finch: Add support for string lists as account options
Paul Aurich <darkrain42@pidgin.im>
parents: 30496
diff changeset
448 PurpleKeyValuePair *kvp = opt_iter->data;
4aa8ed98e52a finch: Add support for string lists as account options
Paul Aurich <darkrain42@pidgin.im>
parents: 30496
diff changeset
449 gnt_combo_box_add_data(GNT_COMBO_BOX(combo), kvp->value, kvp->key);
4aa8ed98e52a finch: Add support for string lists as account options
Paul Aurich <darkrain42@pidgin.im>
parents: 30496
diff changeset
450
38256
035f00c4fd87 Replace misused g_str_equal() with purple_strequal()
qarkai <qarkai@gmail.com>
parents: 31294
diff changeset
451 if (purple_strequal(kvp->value, active))
30725
4aa8ed98e52a finch: Add support for string lists as account options
Paul Aurich <darkrain42@pidgin.im>
parents: 30496
diff changeset
452 gnt_combo_box_set_selected(GNT_COMBO_BOX(combo), kvp->value);
4aa8ed98e52a finch: Add support for string lists as account options
Paul Aurich <darkrain42@pidgin.im>
parents: 30496
diff changeset
453 }
14041
6afba85cfc30 [gaim-migrate @ 16540]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
454 }
6afba85cfc30 [gaim-migrate @ 16540]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
455 else
6afba85cfc30 [gaim-migrate @ 16540]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
456 {
6afba85cfc30 [gaim-migrate @ 16540]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
457 GntWidget *entry = gnt_entry_new(NULL);
6afba85cfc30 [gaim-migrate @ 16540]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
458 gnt_box_add_widget(GNT_BOX(box), entry);
6afba85cfc30 [gaim-migrate @ 16540]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
459 dialog->prpl_entries = g_list_append(dialog->prpl_entries, entry);
6afba85cfc30 [gaim-migrate @ 16540]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
460
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15878
diff changeset
461 if (type == PURPLE_PREF_STRING)
14041
6afba85cfc30 [gaim-migrate @ 16540]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
462 {
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15878
diff changeset
463 const char *dv = purple_account_option_get_default_string(option);
14041
6afba85cfc30 [gaim-migrate @ 16540]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
464
6afba85cfc30 [gaim-migrate @ 16540]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
465 if (account)
6afba85cfc30 [gaim-migrate @ 16540]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
466 gnt_entry_set_text(GNT_ENTRY(entry),
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15878
diff changeset
467 purple_account_get_string(account,
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15878
diff changeset
468 purple_account_option_get_setting(option), dv));
14041
6afba85cfc30 [gaim-migrate @ 16540]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
469 else
6afba85cfc30 [gaim-migrate @ 16540]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
470 gnt_entry_set_text(GNT_ENTRY(entry), dv);
6afba85cfc30 [gaim-migrate @ 16540]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
471 }
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15878
diff changeset
472 else if (type == PURPLE_PREF_INT)
14041
6afba85cfc30 [gaim-migrate @ 16540]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
473 {
6afba85cfc30 [gaim-migrate @ 16540]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
474 char str[32];
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15878
diff changeset
475 int value = purple_account_option_get_default_int(option);
14041
6afba85cfc30 [gaim-migrate @ 16540]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
476 if (account)
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15878
diff changeset
477 value = purple_account_get_int(account,
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15878
diff changeset
478 purple_account_option_get_setting(option), value);
14041
6afba85cfc30 [gaim-migrate @ 16540]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
479 snprintf(str, sizeof(str), "%d", value);
6afba85cfc30 [gaim-migrate @ 16540]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
480 gnt_entry_set_flag(GNT_ENTRY(entry), GNT_ENTRY_FLAG_INT);
6afba85cfc30 [gaim-migrate @ 16540]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
481 gnt_entry_set_text(GNT_ENTRY(entry), str);
6afba85cfc30 [gaim-migrate @ 16540]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
482 }
6afba85cfc30 [gaim-migrate @ 16540]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
483 else
6afba85cfc30 [gaim-migrate @ 16540]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
484 {
6afba85cfc30 [gaim-migrate @ 16540]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
485 g_assert_not_reached();
6afba85cfc30 [gaim-migrate @ 16540]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
486 }
6afba85cfc30 [gaim-migrate @ 16540]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
487 }
6afba85cfc30 [gaim-migrate @ 16540]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
488 }
6afba85cfc30 [gaim-migrate @ 16540]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
489 }
23250
f02a5d93cf17 Allow account registration in a new account dialog.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 22942
diff changeset
490
f02a5d93cf17 Allow account registration in a new account dialog.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 22942
diff changeset
491 /* Show the registration checkbox only in a new account dialog,
f02a5d93cf17 Allow account registration in a new account dialog.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 22942
diff changeset
492 * and when the selected prpl has the support for it. */
f02a5d93cf17 Allow account registration in a new account dialog.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 22942
diff changeset
493 gnt_widget_set_visible(dialog->regserver, account == NULL &&
f02a5d93cf17 Allow account registration in a new account dialog.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 22942
diff changeset
494 prplinfo->register_user != NULL);
14041
6afba85cfc30 [gaim-migrate @ 16540]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
495 }
6afba85cfc30 [gaim-migrate @ 16540]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
496
6afba85cfc30 [gaim-migrate @ 16540]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
497 static void
6afba85cfc30 [gaim-migrate @ 16540]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
498 update_user_options(AccountEditDialog *dialog)
6afba85cfc30 [gaim-migrate @ 16540]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
499 {
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15878
diff changeset
500 PurplePlugin *plugin;
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15878
diff changeset
501 PurplePluginProtocolInfo *prplinfo;
14041
6afba85cfc30 [gaim-migrate @ 16540]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
502
6afba85cfc30 [gaim-migrate @ 16540]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
503 plugin = gnt_combo_box_get_selected_data(GNT_COMBO_BOX(dialog->protocol));
6afba85cfc30 [gaim-migrate @ 16540]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
504 if (!plugin)
6afba85cfc30 [gaim-migrate @ 16540]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
505 return;
6afba85cfc30 [gaim-migrate @ 16540]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
506
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15878
diff changeset
507 prplinfo = PURPLE_PLUGIN_PROTOCOL_INFO(plugin);
14041
6afba85cfc30 [gaim-migrate @ 16540]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
508
6afba85cfc30 [gaim-migrate @ 16540]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
509 if (dialog->newmail == NULL)
6afba85cfc30 [gaim-migrate @ 16540]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
510 dialog->newmail = gnt_check_box_new(_("New mail notifications"));
6afba85cfc30 [gaim-migrate @ 16540]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
511 if (dialog->account)
6afba85cfc30 [gaim-migrate @ 16540]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
512 gnt_check_box_set_checked(GNT_CHECK_BOX(dialog->newmail),
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15878
diff changeset
513 purple_account_get_check_mail(dialog->account));
14042
71aaaf85aead [gaim-migrate @ 16542]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14041
diff changeset
514 if (!prplinfo || !(prplinfo->options & OPT_PROTO_MAIL_CHECK))
71aaaf85aead [gaim-migrate @ 16542]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14041
diff changeset
515 gnt_widget_set_visible(dialog->newmail, FALSE);
71aaaf85aead [gaim-migrate @ 16542]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14041
diff changeset
516 else
71aaaf85aead [gaim-migrate @ 16542]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14041
diff changeset
517 gnt_widget_set_visible(dialog->newmail, TRUE);
14041
6afba85cfc30 [gaim-migrate @ 16540]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
518
6afba85cfc30 [gaim-migrate @ 16540]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
519 if (dialog->remember == NULL)
6afba85cfc30 [gaim-migrate @ 16540]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
520 dialog->remember = gnt_check_box_new(_("Remember password"));
6afba85cfc30 [gaim-migrate @ 16540]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
521 if (dialog->account)
6afba85cfc30 [gaim-migrate @ 16540]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
522 gnt_check_box_set_checked(GNT_CHECK_BOX(dialog->remember),
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15878
diff changeset
523 purple_account_get_remember_password(dialog->account));
14041
6afba85cfc30 [gaim-migrate @ 16540]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
524 }
6afba85cfc30 [gaim-migrate @ 16540]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
525
6afba85cfc30 [gaim-migrate @ 16540]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
526 static void
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15878
diff changeset
527 prpl_changed_cb(GntWidget *combo, PurplePlugin *old, PurplePlugin *new, AccountEditDialog *dialog)
14005
198d1658b390 [gaim-migrate @ 16480]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13996
diff changeset
528 {
198d1658b390 [gaim-migrate @ 16480]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13996
diff changeset
529 update_user_splits(dialog);
14041
6afba85cfc30 [gaim-migrate @ 16540]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
530 add_protocol_options(dialog);
6afba85cfc30 [gaim-migrate @ 16540]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
531 update_user_options(dialog); /* This may not be necessary here */
14005
198d1658b390 [gaim-migrate @ 16480]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13996
diff changeset
532 gnt_box_readjust(GNT_BOX(dialog->window));
198d1658b390 [gaim-migrate @ 16480]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13996
diff changeset
533 gnt_widget_draw(dialog->window);
198d1658b390 [gaim-migrate @ 16480]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13996
diff changeset
534 }
198d1658b390 [gaim-migrate @ 16480]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13996
diff changeset
535
198d1658b390 [gaim-migrate @ 16480]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13996
diff changeset
536 static void
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15878
diff changeset
537 edit_account(PurpleAccount *account)
14005
198d1658b390 [gaim-migrate @ 16480]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13996
diff changeset
538 {
198d1658b390 [gaim-migrate @ 16480]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13996
diff changeset
539 GntWidget *window, *hbox;
198d1658b390 [gaim-migrate @ 16480]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13996
diff changeset
540 GntWidget *combo, *button, *entry;
198d1658b390 [gaim-migrate @ 16480]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13996
diff changeset
541 GList *list, *iter;
198d1658b390 [gaim-migrate @ 16480]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13996
diff changeset
542 AccountEditDialog *dialog;
28115
da3d8cf3f2ab Don't crash trying to modify the settings for an account where the prpl is
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 27829
diff changeset
543 PurplePlugin *plugin;
14005
198d1658b390 [gaim-migrate @ 16480]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13996
diff changeset
544
14103
bcac61d40461 [gaim-migrate @ 16647]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14086
diff changeset
545 if (account)
bcac61d40461 [gaim-migrate @ 16647]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14086
diff changeset
546 {
bcac61d40461 [gaim-migrate @ 16647]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14086
diff changeset
547 GList *iter;
bcac61d40461 [gaim-migrate @ 16647]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14086
diff changeset
548 for (iter = accountdialogs; iter; iter = iter->next)
bcac61d40461 [gaim-migrate @ 16647]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14086
diff changeset
549 {
bcac61d40461 [gaim-migrate @ 16647]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14086
diff changeset
550 AccountEditDialog *dlg = iter->data;
bcac61d40461 [gaim-migrate @ 16647]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14086
diff changeset
551 if (dlg->account == account)
bcac61d40461 [gaim-migrate @ 16647]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14086
diff changeset
552 return;
bcac61d40461 [gaim-migrate @ 16647]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14086
diff changeset
553 }
bcac61d40461 [gaim-migrate @ 16647]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14086
diff changeset
554 }
bcac61d40461 [gaim-migrate @ 16647]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14086
diff changeset
555
18611
03e6a4f7514b Do not crash when people run finch without 'make install'ing first.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 18400
diff changeset
556 list = purple_plugins_get_protocols();
03e6a4f7514b Do not crash when people run finch without 'make install'ing first.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 18400
diff changeset
557 if (list == NULL) {
03e6a4f7514b Do not crash when people run finch without 'make install'ing first.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 18400
diff changeset
558 purple_notify_error(NULL, _("Error"),
24250
15804a3ac8c4 datallah reminds me that my strings suck
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 24227
diff changeset
559 _("There are no protocol plugins installed."),
18611
03e6a4f7514b Do not crash when people run finch without 'make install'ing first.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 18400
diff changeset
560 _("(You probably forgot to 'make install'.)"));
03e6a4f7514b Do not crash when people run finch without 'make install'ing first.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 18400
diff changeset
561 return;
03e6a4f7514b Do not crash when people run finch without 'make install'ing first.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 18400
diff changeset
562 }
03e6a4f7514b Do not crash when people run finch without 'make install'ing first.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 18400
diff changeset
563
14005
198d1658b390 [gaim-migrate @ 16480]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13996
diff changeset
564 dialog = g_new0(AccountEditDialog, 1);
14103
bcac61d40461 [gaim-migrate @ 16647]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14086
diff changeset
565 accountdialogs = g_list_prepend(accountdialogs, dialog);
14005
198d1658b390 [gaim-migrate @ 16480]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13996
diff changeset
566
14121
3d8804b82150 [gaim-migrate @ 16674]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14103
diff changeset
567 dialog->window = window = gnt_vbox_new(FALSE);
14041
6afba85cfc30 [gaim-migrate @ 16540]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
568 dialog->account = account;
14005
198d1658b390 [gaim-migrate @ 16480]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13996
diff changeset
569 gnt_box_set_toplevel(GNT_BOX(window), TRUE);
14041
6afba85cfc30 [gaim-migrate @ 16540]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
570 gnt_box_set_title(GNT_BOX(window), account ? _("Modify Account") : _("New Account"));
14005
198d1658b390 [gaim-migrate @ 16480]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13996
diff changeset
571 gnt_box_set_alignment(GNT_BOX(window), GNT_ALIGN_MID);
198d1658b390 [gaim-migrate @ 16480]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13996
diff changeset
572 gnt_box_set_pad(GNT_BOX(window), 0);
14121
3d8804b82150 [gaim-migrate @ 16674]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14103
diff changeset
573 gnt_widget_set_name(window, "edit-account");
3d8804b82150 [gaim-migrate @ 16674]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14103
diff changeset
574 gnt_box_set_fill(GNT_BOX(window), TRUE);
14005
198d1658b390 [gaim-migrate @ 16480]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13996
diff changeset
575
14121
3d8804b82150 [gaim-migrate @ 16674]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14103
diff changeset
576 hbox = gnt_hbox_new(TRUE);
3d8804b82150 [gaim-migrate @ 16674]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14103
diff changeset
577 gnt_box_set_pad(GNT_BOX(hbox), 0);
14005
198d1658b390 [gaim-migrate @ 16480]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13996
diff changeset
578 gnt_box_add_widget(GNT_BOX(window), hbox);
198d1658b390 [gaim-migrate @ 16480]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13996
diff changeset
579
198d1658b390 [gaim-migrate @ 16480]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13996
diff changeset
580 dialog->protocol = combo = gnt_combo_box_new();
198d1658b390 [gaim-migrate @ 16480]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13996
diff changeset
581 for (iter = list; iter; iter = iter->next)
198d1658b390 [gaim-migrate @ 16480]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13996
diff changeset
582 {
198d1658b390 [gaim-migrate @ 16480]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13996
diff changeset
583 gnt_combo_box_add_data(GNT_COMBO_BOX(combo), iter->data,
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15878
diff changeset
584 ((PurplePlugin*)iter->data)->info->name);
14005
198d1658b390 [gaim-migrate @ 16480]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13996
diff changeset
585 }
14121
3d8804b82150 [gaim-migrate @ 16674]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14103
diff changeset
586
28115
da3d8cf3f2ab Don't crash trying to modify the settings for an account where the prpl is
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 27829
diff changeset
587 plugin = purple_plugins_find_with_id(purple_account_get_protocol_id(account));
da3d8cf3f2ab Don't crash trying to modify the settings for an account where the prpl is
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 27829
diff changeset
588
da3d8cf3f2ab Don't crash trying to modify the settings for an account where the prpl is
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 27829
diff changeset
589 if (account && plugin)
da3d8cf3f2ab Don't crash trying to modify the settings for an account where the prpl is
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 27829
diff changeset
590 gnt_combo_box_set_selected(GNT_COMBO_BOX(combo), plugin);
14041
6afba85cfc30 [gaim-migrate @ 16540]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
591 else
6afba85cfc30 [gaim-migrate @ 16540]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
592 gnt_combo_box_set_selected(GNT_COMBO_BOX(combo), list->data);
6afba85cfc30 [gaim-migrate @ 16540]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
593
14005
198d1658b390 [gaim-migrate @ 16480]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13996
diff changeset
594 g_signal_connect(G_OBJECT(combo), "selection-changed", G_CALLBACK(prpl_changed_cb), dialog);
14121
3d8804b82150 [gaim-migrate @ 16674]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14103
diff changeset
595
14005
198d1658b390 [gaim-migrate @ 16480]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13996
diff changeset
596 gnt_box_add_widget(GNT_BOX(hbox), gnt_label_new(_("Protocol:")));
198d1658b390 [gaim-migrate @ 16480]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13996
diff changeset
597 gnt_box_add_widget(GNT_BOX(hbox), combo);
198d1658b390 [gaim-migrate @ 16480]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13996
diff changeset
598
14121
3d8804b82150 [gaim-migrate @ 16674]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14103
diff changeset
599 hbox = gnt_hbox_new(TRUE);
3d8804b82150 [gaim-migrate @ 16674]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14103
diff changeset
600 gnt_box_set_pad(GNT_BOX(hbox), 0);
14005
198d1658b390 [gaim-migrate @ 16480]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13996
diff changeset
601 gnt_box_add_widget(GNT_BOX(window), hbox);
198d1658b390 [gaim-migrate @ 16480]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13996
diff changeset
602
25889
26d9ca30335c Change "screen name" to "username" or "buddy name" in a whole bunch of
Mark Doliner <markdoliner@pidgin.im>
parents: 24861
diff changeset
603 dialog->username = entry = gnt_entry_new(NULL);
22942
2bf494f8e2a4 Change the string "screen name" to "username" everywhere. I think most
Mark Doliner <markdoliner@pidgin.im>
parents: 22385
diff changeset
604 gnt_box_add_widget(GNT_BOX(hbox), gnt_label_new(_("Username:")));
14005
198d1658b390 [gaim-migrate @ 16480]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13996
diff changeset
605 gnt_box_add_widget(GNT_BOX(hbox), entry);
198d1658b390 [gaim-migrate @ 16480]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13996
diff changeset
606
198d1658b390 [gaim-migrate @ 16480]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13996
diff changeset
607 /* User splits */
198d1658b390 [gaim-migrate @ 16480]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13996
diff changeset
608 update_user_splits(dialog);
198d1658b390 [gaim-migrate @ 16480]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13996
diff changeset
609 gnt_box_add_widget(GNT_BOX(window), dialog->splits);
198d1658b390 [gaim-migrate @ 16480]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13996
diff changeset
610
14121
3d8804b82150 [gaim-migrate @ 16674]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14103
diff changeset
611 hbox = gnt_hbox_new(TRUE);
3d8804b82150 [gaim-migrate @ 16674]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14103
diff changeset
612 gnt_box_set_pad(GNT_BOX(hbox), 0);
14005
198d1658b390 [gaim-migrate @ 16480]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13996
diff changeset
613 gnt_box_add_widget(GNT_BOX(window), hbox);
198d1658b390 [gaim-migrate @ 16480]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13996
diff changeset
614
198d1658b390 [gaim-migrate @ 16480]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13996
diff changeset
615 dialog->password = entry = gnt_entry_new(NULL);
14041
6afba85cfc30 [gaim-migrate @ 16540]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
616 gnt_entry_set_masked(GNT_ENTRY(entry), TRUE);
14005
198d1658b390 [gaim-migrate @ 16480]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13996
diff changeset
617 gnt_box_add_widget(GNT_BOX(hbox), gnt_label_new(_("Password:")));
198d1658b390 [gaim-migrate @ 16480]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13996
diff changeset
618 gnt_box_add_widget(GNT_BOX(hbox), entry);
14041
6afba85cfc30 [gaim-migrate @ 16540]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
619 if (account)
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15878
diff changeset
620 gnt_entry_set_text(GNT_ENTRY(entry), purple_account_get_password(account));
14005
198d1658b390 [gaim-migrate @ 16480]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13996
diff changeset
621
14121
3d8804b82150 [gaim-migrate @ 16674]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14103
diff changeset
622 hbox = gnt_hbox_new(TRUE);
3d8804b82150 [gaim-migrate @ 16674]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14103
diff changeset
623 gnt_box_set_pad(GNT_BOX(hbox), 0);
14005
198d1658b390 [gaim-migrate @ 16480]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13996
diff changeset
624 gnt_box_add_widget(GNT_BOX(window), hbox);
198d1658b390 [gaim-migrate @ 16480]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13996
diff changeset
625
198d1658b390 [gaim-migrate @ 16480]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13996
diff changeset
626 dialog->alias = entry = gnt_entry_new(NULL);
198d1658b390 [gaim-migrate @ 16480]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13996
diff changeset
627 gnt_box_add_widget(GNT_BOX(hbox), gnt_label_new(_("Alias:")));
198d1658b390 [gaim-migrate @ 16480]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13996
diff changeset
628 gnt_box_add_widget(GNT_BOX(hbox), entry);
14041
6afba85cfc30 [gaim-migrate @ 16540]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
629 if (account)
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15878
diff changeset
630 gnt_entry_set_text(GNT_ENTRY(entry), purple_account_get_alias(account));
14041
6afba85cfc30 [gaim-migrate @ 16540]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
631
6afba85cfc30 [gaim-migrate @ 16540]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
632 /* User options */
6afba85cfc30 [gaim-migrate @ 16540]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
633 update_user_options(dialog);
6afba85cfc30 [gaim-migrate @ 16540]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
634 gnt_box_add_widget(GNT_BOX(window), dialog->remember);
6afba85cfc30 [gaim-migrate @ 16540]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
635 gnt_box_add_widget(GNT_BOX(window), dialog->newmail);
14005
198d1658b390 [gaim-migrate @ 16480]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13996
diff changeset
636
23250
f02a5d93cf17 Allow account registration in a new account dialog.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 22942
diff changeset
637 /* Register checkbox */
f02a5d93cf17 Allow account registration in a new account dialog.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 22942
diff changeset
638 dialog->regserver = gnt_check_box_new(_("Create this account on the server"));
f02a5d93cf17 Allow account registration in a new account dialog.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 22942
diff changeset
639 gnt_box_add_widget(GNT_BOX(window), dialog->regserver);
f02a5d93cf17 Allow account registration in a new account dialog.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 22942
diff changeset
640
14005
198d1658b390 [gaim-migrate @ 16480]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13996
diff changeset
641 gnt_box_add_widget(GNT_BOX(window), gnt_line_new(FALSE));
14041
6afba85cfc30 [gaim-migrate @ 16540]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
642
6afba85cfc30 [gaim-migrate @ 16540]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
643 /* The advanced box */
6afba85cfc30 [gaim-migrate @ 16540]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
644 add_protocol_options(dialog);
6afba85cfc30 [gaim-migrate @ 16540]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
645 gnt_box_add_widget(GNT_BOX(window), dialog->prpls);
6afba85cfc30 [gaim-migrate @ 16540]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
646
6afba85cfc30 [gaim-migrate @ 16540]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
647 /* TODO: Add proxy options */
6afba85cfc30 [gaim-migrate @ 16540]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
648
6afba85cfc30 [gaim-migrate @ 16540]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
649 /* The button box */
14121
3d8804b82150 [gaim-migrate @ 16674]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14103
diff changeset
650 hbox = gnt_hbox_new(FALSE);
14005
198d1658b390 [gaim-migrate @ 16480]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13996
diff changeset
651 gnt_box_add_widget(GNT_BOX(window), hbox);
14121
3d8804b82150 [gaim-migrate @ 16674]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14103
diff changeset
652 gnt_box_set_alignment(GNT_BOX(hbox), GNT_ALIGN_MID);
14005
198d1658b390 [gaim-migrate @ 16480]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13996
diff changeset
653
198d1658b390 [gaim-migrate @ 16480]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13996
diff changeset
654 button = gnt_button_new(_("Cancel"));
198d1658b390 [gaim-migrate @ 16480]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13996
diff changeset
655 gnt_box_add_widget(GNT_BOX(hbox), button);
198d1658b390 [gaim-migrate @ 16480]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13996
diff changeset
656 g_signal_connect_swapped(G_OBJECT(button), "activate", G_CALLBACK(gnt_widget_destroy), window);
30496
2f0380d2a282 Some updates to the account window.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 29106
diff changeset
657
14005
198d1658b390 [gaim-migrate @ 16480]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13996
diff changeset
658 button = gnt_button_new(_("Save"));
198d1658b390 [gaim-migrate @ 16480]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13996
diff changeset
659 gnt_box_add_widget(GNT_BOX(hbox), button);
198d1658b390 [gaim-migrate @ 16480]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13996
diff changeset
660 g_signal_connect_swapped(G_OBJECT(button), "activate", G_CALLBACK(save_account_cb), dialog);
198d1658b390 [gaim-migrate @ 16480]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13996
diff changeset
661
198d1658b390 [gaim-migrate @ 16480]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13996
diff changeset
662 g_signal_connect_swapped(G_OBJECT(window), "destroy", G_CALLBACK(edit_dialog_destroy), dialog);
198d1658b390 [gaim-migrate @ 16480]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13996
diff changeset
663
198d1658b390 [gaim-migrate @ 16480]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13996
diff changeset
664 gnt_widget_show(window);
14041
6afba85cfc30 [gaim-migrate @ 16540]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
665 gnt_box_readjust(GNT_BOX(window));
6afba85cfc30 [gaim-migrate @ 16540]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
666 gnt_widget_draw(window);
6afba85cfc30 [gaim-migrate @ 16540]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
667 }
6afba85cfc30 [gaim-migrate @ 16540]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
668
6afba85cfc30 [gaim-migrate @ 16540]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
669 static void
6afba85cfc30 [gaim-migrate @ 16540]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
670 add_account_cb(GntWidget *widget, gpointer null)
6afba85cfc30 [gaim-migrate @ 16540]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
671 {
6afba85cfc30 [gaim-migrate @ 16540]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
672 edit_account(NULL);
6afba85cfc30 [gaim-migrate @ 16540]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
673 }
6afba85cfc30 [gaim-migrate @ 16540]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
674
6afba85cfc30 [gaim-migrate @ 16540]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
675 static void
6afba85cfc30 [gaim-migrate @ 16540]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
676 modify_account_cb(GntWidget *widget, GntTree *tree)
6afba85cfc30 [gaim-migrate @ 16540]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
677 {
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15878
diff changeset
678 PurpleAccount *account = gnt_tree_get_selection_data(tree);
14041
6afba85cfc30 [gaim-migrate @ 16540]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
679 if (!account)
6afba85cfc30 [gaim-migrate @ 16540]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
680 return;
6afba85cfc30 [gaim-migrate @ 16540]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
681 edit_account(account);
6afba85cfc30 [gaim-migrate @ 16540]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
682 }
6afba85cfc30 [gaim-migrate @ 16540]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
683
6afba85cfc30 [gaim-migrate @ 16540]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
684 static void
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15878
diff changeset
685 really_delete_account(PurpleAccount *account)
14103
bcac61d40461 [gaim-migrate @ 16647]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14086
diff changeset
686 {
bcac61d40461 [gaim-migrate @ 16647]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14086
diff changeset
687 GList *iter;
bcac61d40461 [gaim-migrate @ 16647]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14086
diff changeset
688 for (iter = accountdialogs; iter; iter = iter->next)
bcac61d40461 [gaim-migrate @ 16647]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14086
diff changeset
689 {
bcac61d40461 [gaim-migrate @ 16647]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14086
diff changeset
690 AccountEditDialog *dlg = iter->data;
bcac61d40461 [gaim-migrate @ 16647]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14086
diff changeset
691 if (dlg->account == account)
bcac61d40461 [gaim-migrate @ 16647]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14086
diff changeset
692 {
bcac61d40461 [gaim-migrate @ 16647]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14086
diff changeset
693 gnt_widget_destroy(dlg->window);
bcac61d40461 [gaim-migrate @ 16647]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14086
diff changeset
694 break;
bcac61d40461 [gaim-migrate @ 16647]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14086
diff changeset
695 }
bcac61d40461 [gaim-migrate @ 16647]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14086
diff changeset
696 }
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15878
diff changeset
697 purple_request_close_with_handle(account); /* Close any other opened delete window */
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15878
diff changeset
698 purple_accounts_delete(account);
14103
bcac61d40461 [gaim-migrate @ 16647]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14086
diff changeset
699 }
bcac61d40461 [gaim-migrate @ 16647]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14086
diff changeset
700
bcac61d40461 [gaim-migrate @ 16647]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14086
diff changeset
701 static void
14041
6afba85cfc30 [gaim-migrate @ 16540]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
702 delete_account_cb(GntWidget *widget, GntTree *tree)
6afba85cfc30 [gaim-migrate @ 16540]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
703 {
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15878
diff changeset
704 PurpleAccount *account;
14103
bcac61d40461 [gaim-migrate @ 16647]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14086
diff changeset
705 char *prompt;
bcac61d40461 [gaim-migrate @ 16647]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14086
diff changeset
706
bcac61d40461 [gaim-migrate @ 16647]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14086
diff changeset
707 account = gnt_tree_get_selection_data(tree);
bcac61d40461 [gaim-migrate @ 16647]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14086
diff changeset
708 if (!account)
bcac61d40461 [gaim-migrate @ 16647]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14086
diff changeset
709 return;
bcac61d40461 [gaim-migrate @ 16647]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14086
diff changeset
710
bcac61d40461 [gaim-migrate @ 16647]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14086
diff changeset
711 prompt = g_strdup_printf(_("Are you sure you want to delete %s?"),
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15878
diff changeset
712 purple_account_get_username(account));
14103
bcac61d40461 [gaim-migrate @ 16647]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14086
diff changeset
713
22385
d14ac3ae2007 The Gnome Human Interface Guidelines say, "if pressing this button by
Mark Doliner <markdoliner@pidgin.im>
parents: 22335
diff changeset
714 purple_request_action(account, _("Delete Account"), prompt, NULL,
d14ac3ae2007 The Gnome Human Interface Guidelines say, "if pressing this button by
Mark Doliner <markdoliner@pidgin.im>
parents: 22335
diff changeset
715 PURPLE_DEFAULT_ACTION_NONE,
21653
621c47778132 merge of '73ae9aeda3c58fbf8437421da68d19d06f93e686'
Evan Schoenberg <evands@pidgin.im>
parents: 21233
diff changeset
716 account, NULL, NULL, account, 2,
16509
efe3b26f7eaf Fix a warning introduced with the request api changes.
Gary Kramlich <grim@reaperworld.com>
parents: 16490
diff changeset
717 _("Delete"), really_delete_account,
efe3b26f7eaf Fix a warning introduced with the request api changes.
Gary Kramlich <grim@reaperworld.com>
parents: 16490
diff changeset
718 _("Cancel"), NULL);
14103
bcac61d40461 [gaim-migrate @ 16647]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14086
diff changeset
719 g_free(prompt);
14005
198d1658b390 [gaim-migrate @ 16480]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13996
diff changeset
720 }
198d1658b390 [gaim-migrate @ 16480]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13996
diff changeset
721
13969
0541f389442e [gaim-migrate @ 16402]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
722 static void
0541f389442e [gaim-migrate @ 16402]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
723 account_toggled(GntWidget *widget, void *key, gpointer null)
0541f389442e [gaim-migrate @ 16402]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
724 {
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15878
diff changeset
725 PurpleAccount *account = key;
26719
314682a2c762 Activate the current status for an account being enabled
Richard Nelson <wabz@pidgin.im>
parents: 26477
diff changeset
726 gboolean enabled = gnt_tree_get_choice(GNT_TREE(widget), key);
13969
0541f389442e [gaim-migrate @ 16402]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
727
26719
314682a2c762 Activate the current status for an account being enabled
Richard Nelson <wabz@pidgin.im>
parents: 26477
diff changeset
728 if (enabled)
314682a2c762 Activate the current status for an account being enabled
Richard Nelson <wabz@pidgin.im>
parents: 26477
diff changeset
729 purple_savedstatus_activate_for_account(purple_savedstatus_get_current(),
314682a2c762 Activate the current status for an account being enabled
Richard Nelson <wabz@pidgin.im>
parents: 26477
diff changeset
730 account);
314682a2c762 Activate the current status for an account being enabled
Richard Nelson <wabz@pidgin.im>
parents: 26477
diff changeset
731
314682a2c762 Activate the current status for an account being enabled
Richard Nelson <wabz@pidgin.im>
parents: 26477
diff changeset
732 purple_account_set_enabled(account, FINCH_UI, enabled);
13969
0541f389442e [gaim-migrate @ 16402]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
733 }
0541f389442e [gaim-migrate @ 16402]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
734
24227
bd2641bf0dec Press - or = in the accounts list to reorder accounts.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 23250
diff changeset
735 static gboolean
bd2641bf0dec Press - or = in the accounts list to reorder accounts.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 23250
diff changeset
736 account_list_key_pressed_cb(GntWidget *widget, const char *text, gpointer null)
bd2641bf0dec Press - or = in the accounts list to reorder accounts.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 23250
diff changeset
737 {
bd2641bf0dec Press - or = in the accounts list to reorder accounts.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 23250
diff changeset
738 GntTree *tree = GNT_TREE(widget);
bd2641bf0dec Press - or = in the accounts list to reorder accounts.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 23250
diff changeset
739 PurpleAccount *account = gnt_tree_get_selection_data(tree);
bd2641bf0dec Press - or = in the accounts list to reorder accounts.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 23250
diff changeset
740 int move, pos, count;
bd2641bf0dec Press - or = in the accounts list to reorder accounts.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 23250
diff changeset
741 GList *accounts;
bd2641bf0dec Press - or = in the accounts list to reorder accounts.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 23250
diff changeset
742
bd2641bf0dec Press - or = in the accounts list to reorder accounts.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 23250
diff changeset
743 if (!account)
bd2641bf0dec Press - or = in the accounts list to reorder accounts.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 23250
diff changeset
744 return FALSE;
bd2641bf0dec Press - or = in the accounts list to reorder accounts.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 23250
diff changeset
745
bd2641bf0dec Press - or = in the accounts list to reorder accounts.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 23250
diff changeset
746 switch (text[0]) {
bd2641bf0dec Press - or = in the accounts list to reorder accounts.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 23250
diff changeset
747 case '-':
bd2641bf0dec Press - or = in the accounts list to reorder accounts.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 23250
diff changeset
748 move = -1;
bd2641bf0dec Press - or = in the accounts list to reorder accounts.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 23250
diff changeset
749 break;
bd2641bf0dec Press - or = in the accounts list to reorder accounts.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 23250
diff changeset
750 case '=':
bd2641bf0dec Press - or = in the accounts list to reorder accounts.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 23250
diff changeset
751 move = 2; /* XXX: This seems to be a bug in libpurple */
bd2641bf0dec Press - or = in the accounts list to reorder accounts.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 23250
diff changeset
752 break;
bd2641bf0dec Press - or = in the accounts list to reorder accounts.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 23250
diff changeset
753 default:
bd2641bf0dec Press - or = in the accounts list to reorder accounts.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 23250
diff changeset
754 return FALSE;
bd2641bf0dec Press - or = in the accounts list to reorder accounts.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 23250
diff changeset
755 }
bd2641bf0dec Press - or = in the accounts list to reorder accounts.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 23250
diff changeset
756
bd2641bf0dec Press - or = in the accounts list to reorder accounts.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 23250
diff changeset
757 accounts = purple_accounts_get_all();
bd2641bf0dec Press - or = in the accounts list to reorder accounts.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 23250
diff changeset
758 count = g_list_length(accounts);
bd2641bf0dec Press - or = in the accounts list to reorder accounts.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 23250
diff changeset
759 pos = g_list_index(accounts, account);
bd2641bf0dec Press - or = in the accounts list to reorder accounts.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 23250
diff changeset
760 pos = (move + pos + count + 1) % (count + 1);
bd2641bf0dec Press - or = in the accounts list to reorder accounts.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 23250
diff changeset
761 purple_accounts_reorder(account, pos);
bd2641bf0dec Press - or = in the accounts list to reorder accounts.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 23250
diff changeset
762
bd2641bf0dec Press - or = in the accounts list to reorder accounts.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 23250
diff changeset
763 /* I don't like this, but recreating the entire list seems to be
bd2641bf0dec Press - or = in the accounts list to reorder accounts.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 23250
diff changeset
764 * the easiest way of doing it */
bd2641bf0dec Press - or = in the accounts list to reorder accounts.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 23250
diff changeset
765 gnt_tree_remove_all(tree);
bd2641bf0dec Press - or = in the accounts list to reorder accounts.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 23250
diff changeset
766 accounts = purple_accounts_get_all();
bd2641bf0dec Press - or = in the accounts list to reorder accounts.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 23250
diff changeset
767 for (; accounts; accounts = accounts->next)
bd2641bf0dec Press - or = in the accounts list to reorder accounts.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 23250
diff changeset
768 account_add(accounts->data);
bd2641bf0dec Press - or = in the accounts list to reorder accounts.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 23250
diff changeset
769 gnt_tree_set_selected(tree, account);
bd2641bf0dec Press - or = in the accounts list to reorder accounts.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 23250
diff changeset
770
bd2641bf0dec Press - or = in the accounts list to reorder accounts.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 23250
diff changeset
771 return TRUE;
bd2641bf0dec Press - or = in the accounts list to reorder accounts.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 23250
diff changeset
772 }
bd2641bf0dec Press - or = in the accounts list to reorder accounts.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 23250
diff changeset
773
14086
732c14687955 [gaim-migrate @ 16622]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14047
diff changeset
774 static void
732c14687955 [gaim-migrate @ 16622]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14047
diff changeset
775 reset_accounts_win(GntWidget *widget, gpointer null)
732c14687955 [gaim-migrate @ 16622]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14047
diff changeset
776 {
732c14687955 [gaim-migrate @ 16622]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14047
diff changeset
777 accounts.window = NULL;
732c14687955 [gaim-migrate @ 16622]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14047
diff changeset
778 accounts.tree = NULL;
732c14687955 [gaim-migrate @ 16622]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14047
diff changeset
779 }
732c14687955 [gaim-migrate @ 16622]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14047
diff changeset
780
15878
f52832b611fe renamed gaim-text to finch
Sean Egan <seanegan@pidgin.im>
parents: 15829
diff changeset
781 void finch_accounts_show_all()
13969
0541f389442e [gaim-migrate @ 16402]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
782 {
18122
9bf9970c1b6a disapproval of revision '2d8ea56b90971e7851442d96b7d74ecb4f052126'
Richard Laager <rlaager@pidgin.im>
parents: 18121
diff changeset
783 GList *iter;
13969
0541f389442e [gaim-migrate @ 16402]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
784 GntWidget *box, *button;
0541f389442e [gaim-migrate @ 16402]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
785
18400
549820f4725c If the action-windows are already there, then bring them to front when
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 18273
diff changeset
786 if (accounts.window) {
549820f4725c If the action-windows are already there, then bring them to front when
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 18273
diff changeset
787 gnt_window_present(accounts.window);
14388
15a44e361ac4 [gaim-migrate @ 17021]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14121
diff changeset
788 return;
18400
549820f4725c If the action-windows are already there, then bring them to front when
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 18273
diff changeset
789 }
14388
15a44e361ac4 [gaim-migrate @ 17021]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14121
diff changeset
790
14121
3d8804b82150 [gaim-migrate @ 16674]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14103
diff changeset
791 accounts.window = gnt_vbox_new(FALSE);
13969
0541f389442e [gaim-migrate @ 16402]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
792 gnt_box_set_toplevel(GNT_BOX(accounts.window), TRUE);
0541f389442e [gaim-migrate @ 16402]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
793 gnt_box_set_title(GNT_BOX(accounts.window), _("Accounts"));
13996
fa46d71780ff [gaim-migrate @ 16462]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13978
diff changeset
794 gnt_box_set_pad(GNT_BOX(accounts.window), 0);
14005
198d1658b390 [gaim-migrate @ 16480]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13996
diff changeset
795 gnt_box_set_alignment(GNT_BOX(accounts.window), GNT_ALIGN_MID);
13969
0541f389442e [gaim-migrate @ 16402]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
796 gnt_widget_set_name(accounts.window, "accounts");
0541f389442e [gaim-migrate @ 16402]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
797
0541f389442e [gaim-migrate @ 16402]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
798 gnt_box_add_widget(GNT_BOX(accounts.window),
13978
70d7030b7f26 [gaim-migrate @ 16418]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13969
diff changeset
799 gnt_label_new(_("You can enable/disable accounts from the following list.")));
13969
0541f389442e [gaim-migrate @ 16402]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
800
14005
198d1658b390 [gaim-migrate @ 16480]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13996
diff changeset
801 gnt_box_add_widget(GNT_BOX(accounts.window), gnt_line_new(FALSE));
198d1658b390 [gaim-migrate @ 16480]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13996
diff changeset
802
14026
ad91ce0effe2 [gaim-migrate @ 16520]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14005
diff changeset
803 accounts.tree = gnt_tree_new_with_columns(2);
39644
54ed9db5e2ff Use GntWidget flag accessor functions.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38259
diff changeset
804 gnt_widget_set_has_border(accounts.tree, FALSE);
13969
0541f389442e [gaim-migrate @ 16402]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
805
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15878
diff changeset
806 for (iter = purple_accounts_get_all(); iter; iter = iter->next)
13969
0541f389442e [gaim-migrate @ 16402]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
807 {
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15878
diff changeset
808 PurpleAccount *account = iter->data;
14041
6afba85cfc30 [gaim-migrate @ 16540]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
809 account_add(account);
13969
0541f389442e [gaim-migrate @ 16402]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
810 }
0541f389442e [gaim-migrate @ 16402]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
811
0541f389442e [gaim-migrate @ 16402]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
812 g_signal_connect(G_OBJECT(accounts.tree), "toggled", G_CALLBACK(account_toggled), NULL);
24227
bd2641bf0dec Press - or = in the accounts list to reorder accounts.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 23250
diff changeset
813 g_signal_connect(G_OBJECT(accounts.tree), "key_pressed", G_CALLBACK(account_list_key_pressed_cb), NULL);
22335
f6715418a9a8 Update finch to not touch the internals of PurpleAccount. This also includes a change I made to reduce the Cyclomatic Complexity of one of the functions.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 22104
diff changeset
814
14026
ad91ce0effe2 [gaim-migrate @ 16520]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14005
diff changeset
815 gnt_tree_set_col_width(GNT_TREE(accounts.tree), 0, 40);
ad91ce0effe2 [gaim-migrate @ 16520]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14005
diff changeset
816 gnt_tree_set_col_width(GNT_TREE(accounts.tree), 1, 10);
13969
0541f389442e [gaim-migrate @ 16402]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
817 gnt_box_add_widget(GNT_BOX(accounts.window), accounts.tree);
0541f389442e [gaim-migrate @ 16402]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
818
14005
198d1658b390 [gaim-migrate @ 16480]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13996
diff changeset
819 gnt_box_add_widget(GNT_BOX(accounts.window), gnt_line_new(FALSE));
198d1658b390 [gaim-migrate @ 16480]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13996
diff changeset
820
14121
3d8804b82150 [gaim-migrate @ 16674]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14103
diff changeset
821 box = gnt_hbox_new(FALSE);
13969
0541f389442e [gaim-migrate @ 16402]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
822
0541f389442e [gaim-migrate @ 16402]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
823 button = gnt_button_new(_("Add"));
0541f389442e [gaim-migrate @ 16402]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
824 gnt_box_add_widget(GNT_BOX(box), button);
18763
7731e1028071 Add utility function to trigger some button when some key is pressed with
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 18611
diff changeset
825 gnt_util_set_trigger_widget(GNT_WIDGET(accounts.tree), GNT_KEY_INS, button);
14041
6afba85cfc30 [gaim-migrate @ 16540]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
826 g_signal_connect(G_OBJECT(button), "activate", G_CALLBACK(add_account_cb), NULL);
13969
0541f389442e [gaim-migrate @ 16402]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
827
0541f389442e [gaim-migrate @ 16402]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
828 button = gnt_button_new(_("Modify"));
0541f389442e [gaim-migrate @ 16402]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
829 gnt_box_add_widget(GNT_BOX(box), button);
14041
6afba85cfc30 [gaim-migrate @ 16540]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
830 g_signal_connect(G_OBJECT(button), "activate", G_CALLBACK(modify_account_cb), accounts.tree);
13969
0541f389442e [gaim-migrate @ 16402]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
831
0541f389442e [gaim-migrate @ 16402]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
832 button = gnt_button_new(_("Delete"));
0541f389442e [gaim-migrate @ 16402]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
833 gnt_box_add_widget(GNT_BOX(box), button);
18763
7731e1028071 Add utility function to trigger some button when some key is pressed with
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 18611
diff changeset
834 gnt_util_set_trigger_widget(GNT_WIDGET(accounts.tree), GNT_KEY_DEL, button);
14041
6afba85cfc30 [gaim-migrate @ 16540]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
835 g_signal_connect(G_OBJECT(button), "activate", G_CALLBACK(delete_account_cb), accounts.tree);
22335
f6715418a9a8 Update finch to not touch the internals of PurpleAccount. This also includes a change I made to reduce the Cyclomatic Complexity of one of the functions.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 22104
diff changeset
836
13969
0541f389442e [gaim-migrate @ 16402]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
837 gnt_box_add_widget(GNT_BOX(accounts.window), box);
14086
732c14687955 [gaim-migrate @ 16622]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14047
diff changeset
838
732c14687955 [gaim-migrate @ 16622]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14047
diff changeset
839 g_signal_connect(G_OBJECT(accounts.window), "destroy", G_CALLBACK(reset_accounts_win), NULL);
22335
f6715418a9a8 Update finch to not touch the internals of PurpleAccount. This also includes a change I made to reduce the Cyclomatic Complexity of one of the functions.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 22104
diff changeset
840
13969
0541f389442e [gaim-migrate @ 16402]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
841 gnt_widget_show(accounts.window);
0541f389442e [gaim-migrate @ 16402]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
842 }
0541f389442e [gaim-migrate @ 16402]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
843
19969
53aca1037b2c Instead of just notifying the user about a connection error, give him options
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 19935
diff changeset
844 void finch_account_dialog_show(PurpleAccount *account)
53aca1037b2c Instead of just notifying the user about a connection error, give him options
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 19935
diff changeset
845 {
53aca1037b2c Instead of just notifying the user about a connection error, give him options
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 19935
diff changeset
846 edit_account(account);
53aca1037b2c Instead of just notifying the user about a connection error, give him options
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 19935
diff changeset
847 }
53aca1037b2c Instead of just notifying the user about a connection error, give him options
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 19935
diff changeset
848
14041
6afba85cfc30 [gaim-migrate @ 16540]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
849 static gpointer
22104
56970903b8e9 Probe for -Wstrict-prototypes to get some more warnings. I then cleaned up
Richard Laager <rlaager@pidgin.im>
parents: 21653
diff changeset
850 finch_accounts_get_handle(void)
14041
6afba85cfc30 [gaim-migrate @ 16540]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
851 {
6afba85cfc30 [gaim-migrate @ 16540]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
852 static int handle;
6afba85cfc30 [gaim-migrate @ 16540]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
853
6afba85cfc30 [gaim-migrate @ 16540]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
854 return &handle;
6afba85cfc30 [gaim-migrate @ 16540]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
855 }
6afba85cfc30 [gaim-migrate @ 16540]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
856
6afba85cfc30 [gaim-migrate @ 16540]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
857 static void
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15878
diff changeset
858 account_added_callback(PurpleAccount *account)
14041
6afba85cfc30 [gaim-migrate @ 16540]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
859 {
6afba85cfc30 [gaim-migrate @ 16540]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
860 if (accounts.window == NULL)
6afba85cfc30 [gaim-migrate @ 16540]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
861 return;
6afba85cfc30 [gaim-migrate @ 16540]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
862 account_add(account);
6afba85cfc30 [gaim-migrate @ 16540]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
863 gnt_widget_draw(accounts.tree);
6afba85cfc30 [gaim-migrate @ 16540]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
864 }
6afba85cfc30 [gaim-migrate @ 16540]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
865
6afba85cfc30 [gaim-migrate @ 16540]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
866 static void
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15878
diff changeset
867 account_removed_callback(PurpleAccount *account)
14041
6afba85cfc30 [gaim-migrate @ 16540]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
868 {
6afba85cfc30 [gaim-migrate @ 16540]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
869 if (accounts.window == NULL)
6afba85cfc30 [gaim-migrate @ 16540]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
870 return;
6afba85cfc30 [gaim-migrate @ 16540]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
871
6afba85cfc30 [gaim-migrate @ 16540]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
872 gnt_tree_remove(GNT_TREE(accounts.tree), account);
6afba85cfc30 [gaim-migrate @ 16540]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
873 }
6afba85cfc30 [gaim-migrate @ 16540]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
874
17401
4db9d9d3e928 Finch autoreconnecting (largely copy/paste from pidgin)
Richard Nelson <wabz@pidgin.im>
parents: 17164
diff changeset
875 static void
4db9d9d3e928 Finch autoreconnecting (largely copy/paste from pidgin)
Richard Nelson <wabz@pidgin.im>
parents: 17164
diff changeset
876 account_abled_cb(PurpleAccount *account, gpointer user_data)
4db9d9d3e928 Finch autoreconnecting (largely copy/paste from pidgin)
Richard Nelson <wabz@pidgin.im>
parents: 17164
diff changeset
877 {
4db9d9d3e928 Finch autoreconnecting (largely copy/paste from pidgin)
Richard Nelson <wabz@pidgin.im>
parents: 17164
diff changeset
878 if (accounts.window == NULL)
4db9d9d3e928 Finch autoreconnecting (largely copy/paste from pidgin)
Richard Nelson <wabz@pidgin.im>
parents: 17164
diff changeset
879 return;
4db9d9d3e928 Finch autoreconnecting (largely copy/paste from pidgin)
Richard Nelson <wabz@pidgin.im>
parents: 17164
diff changeset
880 gnt_tree_set_choice(GNT_TREE(accounts.tree), account,
4db9d9d3e928 Finch autoreconnecting (largely copy/paste from pidgin)
Richard Nelson <wabz@pidgin.im>
parents: 17164
diff changeset
881 GPOINTER_TO_INT(user_data));
4db9d9d3e928 Finch autoreconnecting (largely copy/paste from pidgin)
Richard Nelson <wabz@pidgin.im>
parents: 17164
diff changeset
882 }
4db9d9d3e928 Finch autoreconnecting (largely copy/paste from pidgin)
Richard Nelson <wabz@pidgin.im>
parents: 17164
diff changeset
883
15878
f52832b611fe renamed gaim-text to finch
Sean Egan <seanegan@pidgin.im>
parents: 15829
diff changeset
884 void finch_accounts_init()
14041
6afba85cfc30 [gaim-migrate @ 16540]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
885 {
18122
9bf9970c1b6a disapproval of revision '2d8ea56b90971e7851442d96b7d74ecb4f052126'
Richard Laager <rlaager@pidgin.im>
parents: 18121
diff changeset
886 GList *iter;
14484
68626467b639 [gaim-migrate @ 17130]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14388
diff changeset
887
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15878
diff changeset
888 purple_signal_connect(purple_accounts_get_handle(), "account-added",
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15878
diff changeset
889 finch_accounts_get_handle(), PURPLE_CALLBACK(account_added_callback),
14041
6afba85cfc30 [gaim-migrate @ 16540]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
890 NULL);
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15878
diff changeset
891 purple_signal_connect(purple_accounts_get_handle(), "account-removed",
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15878
diff changeset
892 finch_accounts_get_handle(), PURPLE_CALLBACK(account_removed_callback),
14041
6afba85cfc30 [gaim-migrate @ 16540]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
893 NULL);
17401
4db9d9d3e928 Finch autoreconnecting (largely copy/paste from pidgin)
Richard Nelson <wabz@pidgin.im>
parents: 17164
diff changeset
894 purple_signal_connect(purple_accounts_get_handle(), "account-disabled",
4db9d9d3e928 Finch autoreconnecting (largely copy/paste from pidgin)
Richard Nelson <wabz@pidgin.im>
parents: 17164
diff changeset
895 finch_accounts_get_handle(),
4db9d9d3e928 Finch autoreconnecting (largely copy/paste from pidgin)
Richard Nelson <wabz@pidgin.im>
parents: 17164
diff changeset
896 PURPLE_CALLBACK(account_abled_cb), GINT_TO_POINTER(FALSE));
4db9d9d3e928 Finch autoreconnecting (largely copy/paste from pidgin)
Richard Nelson <wabz@pidgin.im>
parents: 17164
diff changeset
897 purple_signal_connect(purple_accounts_get_handle(), "account-enabled",
4db9d9d3e928 Finch autoreconnecting (largely copy/paste from pidgin)
Richard Nelson <wabz@pidgin.im>
parents: 17164
diff changeset
898 finch_accounts_get_handle(),
4db9d9d3e928 Finch autoreconnecting (largely copy/paste from pidgin)
Richard Nelson <wabz@pidgin.im>
parents: 17164
diff changeset
899 PURPLE_CALLBACK(account_abled_cb), GINT_TO_POINTER(TRUE));
4db9d9d3e928 Finch autoreconnecting (largely copy/paste from pidgin)
Richard Nelson <wabz@pidgin.im>
parents: 17164
diff changeset
900
17857
bc85241727f8 If there's no account at startup, sohw the 'New Account' dialog too.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 17848
diff changeset
901 iter = purple_accounts_get_all();
bc85241727f8 If there's no account at startup, sohw the 'New Account' dialog too.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 17848
diff changeset
902 if (iter) {
bc85241727f8 If there's no account at startup, sohw the 'New Account' dialog too.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 17848
diff changeset
903 for (; iter; iter = iter->next) {
bc85241727f8 If there's no account at startup, sohw the 'New Account' dialog too.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 17848
diff changeset
904 if (purple_account_get_enabled(iter->data, FINCH_UI))
bc85241727f8 If there's no account at startup, sohw the 'New Account' dialog too.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 17848
diff changeset
905 break;
bc85241727f8 If there's no account at startup, sohw the 'New Account' dialog too.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 17848
diff changeset
906 }
bc85241727f8 If there's no account at startup, sohw the 'New Account' dialog too.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 17848
diff changeset
907 if (!iter)
bc85241727f8 If there's no account at startup, sohw the 'New Account' dialog too.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 17848
diff changeset
908 finch_accounts_show_all();
bc85241727f8 If there's no account at startup, sohw the 'New Account' dialog too.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 17848
diff changeset
909 } else {
bc85241727f8 If there's no account at startup, sohw the 'New Account' dialog too.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 17848
diff changeset
910 edit_account(NULL);
bc85241727f8 If there's no account at startup, sohw the 'New Account' dialog too.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 17848
diff changeset
911 finch_accounts_show_all();
14484
68626467b639 [gaim-migrate @ 17130]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14388
diff changeset
912 }
14041
6afba85cfc30 [gaim-migrate @ 16540]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
913 }
6afba85cfc30 [gaim-migrate @ 16540]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14026
diff changeset
914
15878
f52832b611fe renamed gaim-text to finch
Sean Egan <seanegan@pidgin.im>
parents: 15829
diff changeset
915 void finch_accounts_uninit()
13969
0541f389442e [gaim-migrate @ 16402]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
916 {
14086
732c14687955 [gaim-migrate @ 16622]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14047
diff changeset
917 if (accounts.window)
732c14687955 [gaim-migrate @ 16622]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14047
diff changeset
918 gnt_widget_destroy(accounts.window);
13969
0541f389442e [gaim-migrate @ 16402]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
919 }
0541f389442e [gaim-migrate @ 16402]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
920
0541f389442e [gaim-migrate @ 16402]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
921 /* The following uiops stuff are copied from gtkaccount.c */
0541f389442e [gaim-migrate @ 16402]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
922 typedef struct
0541f389442e [gaim-migrate @ 16402]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
923 {
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15878
diff changeset
924 PurpleAccount *account;
13969
0541f389442e [gaim-migrate @ 16402]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
925 char *username;
0541f389442e [gaim-migrate @ 16402]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
926 char *alias;
0541f389442e [gaim-migrate @ 16402]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
927 } AddUserData;
0541f389442e [gaim-migrate @ 16402]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
928
0541f389442e [gaim-migrate @ 16402]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
929 static char *
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15878
diff changeset
930 make_info(PurpleAccount *account, PurpleConnection *gc, const char *remote_user,
13969
0541f389442e [gaim-migrate @ 16402]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
931 const char *id, const char *alias, const char *msg)
0541f389442e [gaim-migrate @ 16402]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
932 {
0541f389442e [gaim-migrate @ 16402]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
933 if (msg != NULL && *msg == '\0')
0541f389442e [gaim-migrate @ 16402]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
934 msg = NULL;
0541f389442e [gaim-migrate @ 16402]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
935
0541f389442e [gaim-migrate @ 16402]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
936 return g_strdup_printf(_("%s%s%s%s has made %s his or her buddy%s%s"),
0541f389442e [gaim-migrate @ 16402]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
937 remote_user,
0541f389442e [gaim-migrate @ 16402]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
938 (alias != NULL ? " (" : ""),
0541f389442e [gaim-migrate @ 16402]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
939 (alias != NULL ? alias : ""),
0541f389442e [gaim-migrate @ 16402]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
940 (alias != NULL ? ")" : ""),
0541f389442e [gaim-migrate @ 16402]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
941 (id != NULL
0541f389442e [gaim-migrate @ 16402]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
942 ? id
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15878
diff changeset
943 : (purple_connection_get_display_name(gc) != NULL
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15878
diff changeset
944 ? purple_connection_get_display_name(gc)
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15878
diff changeset
945 : purple_account_get_username(account))),
13969
0541f389442e [gaim-migrate @ 16402]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
946 (msg != NULL ? ": " : "."),
0541f389442e [gaim-migrate @ 16402]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
947 (msg != NULL ? msg : ""));
0541f389442e [gaim-migrate @ 16402]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
948 }
0541f389442e [gaim-migrate @ 16402]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
949
0541f389442e [gaim-migrate @ 16402]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
950 static void
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15878
diff changeset
951 notify_added(PurpleAccount *account, const char *remote_user,
13969
0541f389442e [gaim-migrate @ 16402]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
952 const char *id, const char *alias,
0541f389442e [gaim-migrate @ 16402]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
953 const char *msg)
0541f389442e [gaim-migrate @ 16402]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
954 {
0541f389442e [gaim-migrate @ 16402]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
955 char *buffer;
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15878
diff changeset
956 PurpleConnection *gc;
13969
0541f389442e [gaim-migrate @ 16402]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
957
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15878
diff changeset
958 gc = purple_account_get_connection(account);
13969
0541f389442e [gaim-migrate @ 16402]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
959
0541f389442e [gaim-migrate @ 16402]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
960 buffer = make_info(account, gc, remote_user, id, alias, msg);
0541f389442e [gaim-migrate @ 16402]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
961
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15878
diff changeset
962 purple_notify_info(NULL, NULL, buffer, NULL);
13969
0541f389442e [gaim-migrate @ 16402]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
963
0541f389442e [gaim-migrate @ 16402]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
964 g_free(buffer);
0541f389442e [gaim-migrate @ 16402]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
965 }
0541f389442e [gaim-migrate @ 16402]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
966
0541f389442e [gaim-migrate @ 16402]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
967 static void
14047
764a70ebfdc5 [gaim-migrate @ 16555]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14042
diff changeset
968 free_add_user_data(AddUserData *data)
764a70ebfdc5 [gaim-migrate @ 16555]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14042
diff changeset
969 {
764a70ebfdc5 [gaim-migrate @ 16555]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14042
diff changeset
970 g_free(data->username);
764a70ebfdc5 [gaim-migrate @ 16555]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14042
diff changeset
971
764a70ebfdc5 [gaim-migrate @ 16555]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14042
diff changeset
972 if (data->alias != NULL)
764a70ebfdc5 [gaim-migrate @ 16555]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14042
diff changeset
973 g_free(data->alias);
764a70ebfdc5 [gaim-migrate @ 16555]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14042
diff changeset
974
764a70ebfdc5 [gaim-migrate @ 16555]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14042
diff changeset
975 g_free(data);
764a70ebfdc5 [gaim-migrate @ 16555]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14042
diff changeset
976 }
764a70ebfdc5 [gaim-migrate @ 16555]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14042
diff changeset
977
764a70ebfdc5 [gaim-migrate @ 16555]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14042
diff changeset
978 static void
764a70ebfdc5 [gaim-migrate @ 16555]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14042
diff changeset
979 add_user_cb(AddUserData *data)
764a70ebfdc5 [gaim-migrate @ 16555]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14042
diff changeset
980 {
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15878
diff changeset
981 PurpleConnection *gc = purple_account_get_connection(data->account);
14047
764a70ebfdc5 [gaim-migrate @ 16555]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14042
diff changeset
982
18122
9bf9970c1b6a disapproval of revision '2d8ea56b90971e7851442d96b7d74ecb4f052126'
Richard Laager <rlaager@pidgin.im>
parents: 18121
diff changeset
983 if (g_list_find(purple_connections_get_all(), gc))
14047
764a70ebfdc5 [gaim-migrate @ 16555]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14042
diff changeset
984 {
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15878
diff changeset
985 purple_blist_request_add_buddy(data->account, data->username,
14047
764a70ebfdc5 [gaim-migrate @ 16555]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14042
diff changeset
986 NULL, data->alias);
764a70ebfdc5 [gaim-migrate @ 16555]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14042
diff changeset
987 }
764a70ebfdc5 [gaim-migrate @ 16555]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14042
diff changeset
988
764a70ebfdc5 [gaim-migrate @ 16555]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14042
diff changeset
989 free_add_user_data(data);
764a70ebfdc5 [gaim-migrate @ 16555]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14042
diff changeset
990 }
764a70ebfdc5 [gaim-migrate @ 16555]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14042
diff changeset
991
764a70ebfdc5 [gaim-migrate @ 16555]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14042
diff changeset
992 static void
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15878
diff changeset
993 request_add(PurpleAccount *account, const char *remote_user,
13969
0541f389442e [gaim-migrate @ 16402]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
994 const char *id, const char *alias,
0541f389442e [gaim-migrate @ 16402]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
995 const char *msg)
0541f389442e [gaim-migrate @ 16402]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
996 {
0541f389442e [gaim-migrate @ 16402]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
997 char *buffer;
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15878
diff changeset
998 PurpleConnection *gc;
13969
0541f389442e [gaim-migrate @ 16402]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
999 AddUserData *data;
0541f389442e [gaim-migrate @ 16402]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
1000
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15878
diff changeset
1001 gc = purple_account_get_connection(account);
13969
0541f389442e [gaim-migrate @ 16402]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
1002
0541f389442e [gaim-migrate @ 16402]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
1003 data = g_new0(AddUserData, 1);
0541f389442e [gaim-migrate @ 16402]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
1004 data->account = account;
0541f389442e [gaim-migrate @ 16402]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
1005 data->username = g_strdup(remote_user);
0541f389442e [gaim-migrate @ 16402]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
1006 data->alias = (alias != NULL ? g_strdup(alias) : NULL);
0541f389442e [gaim-migrate @ 16402]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
1007
0541f389442e [gaim-migrate @ 16402]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
1008 buffer = make_info(account, gc, remote_user, id, alias, msg);
21653
621c47778132 merge of '73ae9aeda3c58fbf8437421da68d19d06f93e686'
Evan Schoenberg <evands@pidgin.im>
parents: 21233
diff changeset
1009 purple_request_action(NULL, NULL, _("Add buddy to your list?"),
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: 16255
diff changeset
1010 buffer, PURPLE_DEFAULT_ACTION_NONE,
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: 16255
diff changeset
1011 account, remote_user, NULL,
21653
621c47778132 merge of '73ae9aeda3c58fbf8437421da68d19d06f93e686'
Evan Schoenberg <evands@pidgin.im>
parents: 21233
diff changeset
1012 data, 2,
13969
0541f389442e [gaim-migrate @ 16402]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
1013 _("Add"), G_CALLBACK(add_user_cb),
0541f389442e [gaim-migrate @ 16402]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
1014 _("Cancel"), G_CALLBACK(free_add_user_data));
0541f389442e [gaim-migrate @ 16402]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
1015 g_free(buffer);
0541f389442e [gaim-migrate @ 16402]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
1016 }
0541f389442e [gaim-migrate @ 16402]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
1017
15829
ee5af14dc815 Add request_authorize to gaim-text's account ui ops
Richard Nelson <wabz@pidgin.im>
parents: 15781
diff changeset
1018 /* Copied from gtkaccount.c */
ee5af14dc815 Add request_authorize to gaim-text's account ui ops
Richard Nelson <wabz@pidgin.im>
parents: 15781
diff changeset
1019 typedef struct {
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15878
diff changeset
1020 PurpleAccountRequestAuthorizationCb auth_cb;
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15878
diff changeset
1021 PurpleAccountRequestAuthorizationCb deny_cb;
15829
ee5af14dc815 Add request_authorize to gaim-text's account ui ops
Richard Nelson <wabz@pidgin.im>
parents: 15781
diff changeset
1022 void *data;
ee5af14dc815 Add request_authorize to gaim-text's account ui ops
Richard Nelson <wabz@pidgin.im>
parents: 15781
diff changeset
1023 char *username;
ee5af14dc815 Add request_authorize to gaim-text's account ui ops
Richard Nelson <wabz@pidgin.im>
parents: 15781
diff changeset
1024 char *alias;
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15878
diff changeset
1025 PurpleAccount *account;
15829
ee5af14dc815 Add request_authorize to gaim-text's account ui ops
Richard Nelson <wabz@pidgin.im>
parents: 15781
diff changeset
1026 } auth_and_add;
ee5af14dc815 Add request_authorize to gaim-text's account ui ops
Richard Nelson <wabz@pidgin.im>
parents: 15781
diff changeset
1027
ee5af14dc815 Add request_authorize to gaim-text's account ui ops
Richard Nelson <wabz@pidgin.im>
parents: 15781
diff changeset
1028 static void
17845
8ac5337e8f6d Show information about the user requesting authorization.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 17164
diff changeset
1029 free_auth_and_add(auth_and_add *aa)
15829
ee5af14dc815 Add request_authorize to gaim-text's account ui ops
Richard Nelson <wabz@pidgin.im>
parents: 15781
diff changeset
1030 {
ee5af14dc815 Add request_authorize to gaim-text's account ui ops
Richard Nelson <wabz@pidgin.im>
parents: 15781
diff changeset
1031 g_free(aa->username);
ee5af14dc815 Add request_authorize to gaim-text's account ui ops
Richard Nelson <wabz@pidgin.im>
parents: 15781
diff changeset
1032 g_free(aa->alias);
ee5af14dc815 Add request_authorize to gaim-text's account ui ops
Richard Nelson <wabz@pidgin.im>
parents: 15781
diff changeset
1033 g_free(aa);
ee5af14dc815 Add request_authorize to gaim-text's account ui ops
Richard Nelson <wabz@pidgin.im>
parents: 15781
diff changeset
1034 }
ee5af14dc815 Add request_authorize to gaim-text's account ui ops
Richard Nelson <wabz@pidgin.im>
parents: 15781
diff changeset
1035
ee5af14dc815 Add request_authorize to gaim-text's account ui ops
Richard Nelson <wabz@pidgin.im>
parents: 15781
diff changeset
1036 static void
17845
8ac5337e8f6d Show information about the user requesting authorization.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 17164
diff changeset
1037 authorize_and_add_cb(auth_and_add *aa)
8ac5337e8f6d Show information about the user requesting authorization.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 17164
diff changeset
1038 {
8ac5337e8f6d Show information about the user requesting authorization.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 17164
diff changeset
1039 aa->auth_cb(aa->data);
8ac5337e8f6d Show information about the user requesting authorization.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 17164
diff changeset
1040 purple_blist_request_add_buddy(aa->account, aa->username,
8ac5337e8f6d Show information about the user requesting authorization.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 17164
diff changeset
1041 NULL, aa->alias);
8ac5337e8f6d Show information about the user requesting authorization.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 17164
diff changeset
1042 }
8ac5337e8f6d Show information about the user requesting authorization.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 17164
diff changeset
1043
8ac5337e8f6d Show information about the user requesting authorization.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 17164
diff changeset
1044 static void
15829
ee5af14dc815 Add request_authorize to gaim-text's account ui ops
Richard Nelson <wabz@pidgin.im>
parents: 15781
diff changeset
1045 deny_no_add_cb(auth_and_add *aa)
ee5af14dc815 Add request_authorize to gaim-text's account ui ops
Richard Nelson <wabz@pidgin.im>
parents: 15781
diff changeset
1046 {
ee5af14dc815 Add request_authorize to gaim-text's account ui ops
Richard Nelson <wabz@pidgin.im>
parents: 15781
diff changeset
1047 aa->deny_cb(aa->data);
ee5af14dc815 Add request_authorize to gaim-text's account ui ops
Richard Nelson <wabz@pidgin.im>
parents: 15781
diff changeset
1048 }
ee5af14dc815 Add request_authorize to gaim-text's account ui ops
Richard Nelson <wabz@pidgin.im>
parents: 15781
diff changeset
1049
ee5af14dc815 Add request_authorize to gaim-text's account ui ops
Richard Nelson <wabz@pidgin.im>
parents: 15781
diff changeset
1050 static void *
19125
d92cd58cc6ba Correct the types of the authorize_cb and deny_cb parameters of
Will Thompson <resiak@pidgin.im>
parents: 18768
diff changeset
1051 finch_request_authorize(PurpleAccount *account,
d92cd58cc6ba Correct the types of the authorize_cb and deny_cb parameters of
Will Thompson <resiak@pidgin.im>
parents: 18768
diff changeset
1052 const char *remote_user,
d92cd58cc6ba Correct the types of the authorize_cb and deny_cb parameters of
Will Thompson <resiak@pidgin.im>
parents: 18768
diff changeset
1053 const char *id,
d92cd58cc6ba Correct the types of the authorize_cb and deny_cb parameters of
Will Thompson <resiak@pidgin.im>
parents: 18768
diff changeset
1054 const char *alias,
d92cd58cc6ba Correct the types of the authorize_cb and deny_cb parameters of
Will Thompson <resiak@pidgin.im>
parents: 18768
diff changeset
1055 const char *message,
d92cd58cc6ba Correct the types of the authorize_cb and deny_cb parameters of
Will Thompson <resiak@pidgin.im>
parents: 18768
diff changeset
1056 gboolean on_list,
d92cd58cc6ba Correct the types of the authorize_cb and deny_cb parameters of
Will Thompson <resiak@pidgin.im>
parents: 18768
diff changeset
1057 PurpleAccountRequestAuthorizationCb auth_cb,
d92cd58cc6ba Correct the types of the authorize_cb and deny_cb parameters of
Will Thompson <resiak@pidgin.im>
parents: 18768
diff changeset
1058 PurpleAccountRequestAuthorizationCb deny_cb,
d92cd58cc6ba Correct the types of the authorize_cb and deny_cb parameters of
Will Thompson <resiak@pidgin.im>
parents: 18768
diff changeset
1059 void *user_data)
15829
ee5af14dc815 Add request_authorize to gaim-text's account ui ops
Richard Nelson <wabz@pidgin.im>
parents: 15781
diff changeset
1060 {
ee5af14dc815 Add request_authorize to gaim-text's account ui ops
Richard Nelson <wabz@pidgin.im>
parents: 15781
diff changeset
1061 char *buffer;
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15878
diff changeset
1062 PurpleConnection *gc;
15829
ee5af14dc815 Add request_authorize to gaim-text's account ui ops
Richard Nelson <wabz@pidgin.im>
parents: 15781
diff changeset
1063 void *uihandle;
ee5af14dc815 Add request_authorize to gaim-text's account ui ops
Richard Nelson <wabz@pidgin.im>
parents: 15781
diff changeset
1064
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15878
diff changeset
1065 gc = purple_account_get_connection(account);
15829
ee5af14dc815 Add request_authorize to gaim-text's account ui ops
Richard Nelson <wabz@pidgin.im>
parents: 15781
diff changeset
1066 if (message != NULL && *message == '\0')
ee5af14dc815 Add request_authorize to gaim-text's account ui ops
Richard Nelson <wabz@pidgin.im>
parents: 15781
diff changeset
1067 message = NULL;
ee5af14dc815 Add request_authorize to gaim-text's account ui ops
Richard Nelson <wabz@pidgin.im>
parents: 15781
diff changeset
1068
18768
c8ae7c5d1ad0 I changed a string during a string freeze\! Sorry\!
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 18763
diff changeset
1069 buffer = g_strdup_printf(_("%s%s%s%s wants to add %s to his or her buddy list%s%s"),
15829
ee5af14dc815 Add request_authorize to gaim-text's account ui ops
Richard Nelson <wabz@pidgin.im>
parents: 15781
diff changeset
1070 remote_user,
ee5af14dc815 Add request_authorize to gaim-text's account ui ops
Richard Nelson <wabz@pidgin.im>
parents: 15781
diff changeset
1071 (alias != NULL ? " (" : ""),
ee5af14dc815 Add request_authorize to gaim-text's account ui ops
Richard Nelson <wabz@pidgin.im>
parents: 15781
diff changeset
1072 (alias != NULL ? alias : ""),
ee5af14dc815 Add request_authorize to gaim-text's account ui ops
Richard Nelson <wabz@pidgin.im>
parents: 15781
diff changeset
1073 (alias != NULL ? ")" : ""),
ee5af14dc815 Add request_authorize to gaim-text's account ui ops
Richard Nelson <wabz@pidgin.im>
parents: 15781
diff changeset
1074 (id != NULL
ee5af14dc815 Add request_authorize to gaim-text's account ui ops
Richard Nelson <wabz@pidgin.im>
parents: 15781
diff changeset
1075 ? id
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15878
diff changeset
1076 : (purple_connection_get_display_name(gc) != NULL
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15878
diff changeset
1077 ? purple_connection_get_display_name(gc)
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15878
diff changeset
1078 : purple_account_get_username(account))),
18768
c8ae7c5d1ad0 I changed a string during a string freeze\! Sorry\!
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 18763
diff changeset
1079 (message != NULL ? ": " : "."),
15829
ee5af14dc815 Add request_authorize to gaim-text's account ui ops
Richard Nelson <wabz@pidgin.im>
parents: 15781
diff changeset
1080 (message != NULL ? message : ""));
ee5af14dc815 Add request_authorize to gaim-text's account ui ops
Richard Nelson <wabz@pidgin.im>
parents: 15781
diff changeset
1081 if (!on_list) {
17846
e8ee63f71029 Remove the confusing 'OK' button from the auth dialog.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 17845
diff changeset
1082 GntWidget *widget;
e8ee63f71029 Remove the confusing 'OK' button from the auth dialog.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 17845
diff changeset
1083 GList *iter;
15829
ee5af14dc815 Add request_authorize to gaim-text's account ui ops
Richard Nelson <wabz@pidgin.im>
parents: 15781
diff changeset
1084 auth_and_add *aa = g_new(auth_and_add, 1);
17846
e8ee63f71029 Remove the confusing 'OK' button from the auth dialog.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 17845
diff changeset
1085
19125
d92cd58cc6ba Correct the types of the authorize_cb and deny_cb parameters of
Will Thompson <resiak@pidgin.im>
parents: 18768
diff changeset
1086 aa->auth_cb = auth_cb;
d92cd58cc6ba Correct the types of the authorize_cb and deny_cb parameters of
Will Thompson <resiak@pidgin.im>
parents: 18768
diff changeset
1087 aa->deny_cb = deny_cb;
15829
ee5af14dc815 Add request_authorize to gaim-text's account ui ops
Richard Nelson <wabz@pidgin.im>
parents: 15781
diff changeset
1088 aa->data = user_data;
ee5af14dc815 Add request_authorize to gaim-text's account ui ops
Richard Nelson <wabz@pidgin.im>
parents: 15781
diff changeset
1089 aa->username = g_strdup(remote_user);
ee5af14dc815 Add request_authorize to gaim-text's account ui ops
Richard Nelson <wabz@pidgin.im>
parents: 15781
diff changeset
1090 aa->alias = g_strdup(alias);
ee5af14dc815 Add request_authorize to gaim-text's account ui ops
Richard Nelson <wabz@pidgin.im>
parents: 15781
diff changeset
1091 aa->account = account;
17845
8ac5337e8f6d Show information about the user requesting authorization.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 17164
diff changeset
1092
8ac5337e8f6d Show information about the user requesting authorization.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 17164
diff changeset
1093 uihandle = gnt_vwindow_new(FALSE);
8ac5337e8f6d Show information about the user requesting authorization.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 17164
diff changeset
1094 gnt_box_set_title(GNT_BOX(uihandle), _("Authorize buddy?"));
8ac5337e8f6d Show information about the user requesting authorization.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 17164
diff changeset
1095 gnt_box_set_pad(GNT_BOX(uihandle), 0);
8ac5337e8f6d Show information about the user requesting authorization.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 17164
diff changeset
1096
21653
621c47778132 merge of '73ae9aeda3c58fbf8437421da68d19d06f93e686'
Evan Schoenberg <evands@pidgin.im>
parents: 21233
diff changeset
1097 widget = purple_request_action(NULL, _("Authorize buddy?"), buffer, 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: 16255
diff changeset
1098 PURPLE_DEFAULT_ACTION_NONE,
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: 16255
diff changeset
1099 account, remote_user, NULL,
21653
621c47778132 merge of '73ae9aeda3c58fbf8437421da68d19d06f93e686'
Evan Schoenberg <evands@pidgin.im>
parents: 21233
diff changeset
1100 aa, 2,
15829
ee5af14dc815 Add request_authorize to gaim-text's account ui ops
Richard Nelson <wabz@pidgin.im>
parents: 15781
diff changeset
1101 _("Authorize"), authorize_and_add_cb,
ee5af14dc815 Add request_authorize to gaim-text's account ui ops
Richard Nelson <wabz@pidgin.im>
parents: 15781
diff changeset
1102 _("Deny"), deny_no_add_cb);
39653
d42791a830df Avoid using internal gnt_screen_release.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39651
diff changeset
1103 /* Since GntWindow is a GntBox, hide it so it's unmapped, then
d42791a830df Avoid using internal gnt_screen_release.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39651
diff changeset
1104 * add it to the outer window, and make it visible again. */
d42791a830df Avoid using internal gnt_screen_release.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39651
diff changeset
1105 gnt_widget_hide(widget);
17845
8ac5337e8f6d Show information about the user requesting authorization.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 17164
diff changeset
1106 gnt_box_set_toplevel(GNT_BOX(widget), FALSE);
8ac5337e8f6d Show information about the user requesting authorization.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 17164
diff changeset
1107 gnt_box_add_widget(GNT_BOX(uihandle), widget);
39653
d42791a830df Avoid using internal gnt_screen_release.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39651
diff changeset
1108 gnt_widget_set_visible(widget, TRUE);
17845
8ac5337e8f6d Show information about the user requesting authorization.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 17164
diff changeset
1109
8ac5337e8f6d Show information about the user requesting authorization.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 17164
diff changeset
1110 gnt_box_add_widget(GNT_BOX(uihandle), gnt_hline_new());
8ac5337e8f6d Show information about the user requesting authorization.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 17164
diff changeset
1111
22335
f6715418a9a8 Update finch to not touch the internals of PurpleAccount. This also includes a change I made to reduce the Cyclomatic Complexity of one of the functions.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 22104
diff changeset
1112 widget = finch_retrieve_user_info(purple_account_get_connection(account), remote_user);
39651
4295bcadc936 Use new gnt_box_get_children.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39644
diff changeset
1113 for (iter = gnt_box_get_children(GNT_BOX(widget)); iter;
4295bcadc936 Use new gnt_box_get_children.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39644
diff changeset
1114 iter = g_list_delete_link(iter, iter)) {
17846
e8ee63f71029 Remove the confusing 'OK' button from the auth dialog.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 17845
diff changeset
1115 if (GNT_IS_BUTTON(iter->data)) {
e8ee63f71029 Remove the confusing 'OK' button from the auth dialog.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 17845
diff changeset
1116 gnt_widget_destroy(iter->data);
e8ee63f71029 Remove the confusing 'OK' button from the auth dialog.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 17845
diff changeset
1117 gnt_box_remove(GNT_BOX(widget), iter->data);
39651
4295bcadc936 Use new gnt_box_get_children.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39644
diff changeset
1118 g_list_free(iter);
17846
e8ee63f71029 Remove the confusing 'OK' button from the auth dialog.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 17845
diff changeset
1119 break;
e8ee63f71029 Remove the confusing 'OK' button from the auth dialog.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 17845
diff changeset
1120 }
e8ee63f71029 Remove the confusing 'OK' button from the auth dialog.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 17845
diff changeset
1121 }
39653
d42791a830df Avoid using internal gnt_screen_release.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39651
diff changeset
1122 /* Since GntWindow is a GntBox, hide it so it's unmapped, then
d42791a830df Avoid using internal gnt_screen_release.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39651
diff changeset
1123 * add it to the outer window, and make it visible again. */
d42791a830df Avoid using internal gnt_screen_release.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39651
diff changeset
1124 gnt_widget_hide(widget);
17845
8ac5337e8f6d Show information about the user requesting authorization.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 17164
diff changeset
1125 gnt_box_set_toplevel(GNT_BOX(widget), FALSE);
8ac5337e8f6d Show information about the user requesting authorization.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 17164
diff changeset
1126 gnt_box_add_widget(GNT_BOX(uihandle), widget);
39653
d42791a830df Avoid using internal gnt_screen_release.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39651
diff changeset
1127 gnt_widget_set_visible(widget, TRUE);
d42791a830df Avoid using internal gnt_screen_release.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39651
diff changeset
1128
17845
8ac5337e8f6d Show information about the user requesting authorization.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 17164
diff changeset
1129 gnt_widget_show(uihandle);
8ac5337e8f6d Show information about the user requesting authorization.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 17164
diff changeset
1130
8ac5337e8f6d Show information about the user requesting authorization.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 17164
diff changeset
1131 g_signal_connect_swapped(G_OBJECT(uihandle), "destroy", G_CALLBACK(free_auth_and_add), aa);
15829
ee5af14dc815 Add request_authorize to gaim-text's account ui ops
Richard Nelson <wabz@pidgin.im>
parents: 15781
diff changeset
1132 } else {
21653
621c47778132 merge of '73ae9aeda3c58fbf8437421da68d19d06f93e686'
Evan Schoenberg <evands@pidgin.im>
parents: 21233
diff changeset
1133 uihandle = purple_request_action(NULL, _("Authorize buddy?"), buffer, 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: 16255
diff changeset
1134 PURPLE_DEFAULT_ACTION_NONE,
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: 16255
diff changeset
1135 account, remote_user, NULL,
21653
621c47778132 merge of '73ae9aeda3c58fbf8437421da68d19d06f93e686'
Evan Schoenberg <evands@pidgin.im>
parents: 21233
diff changeset
1136 user_data, 2,
15829
ee5af14dc815 Add request_authorize to gaim-text's account ui ops
Richard Nelson <wabz@pidgin.im>
parents: 15781
diff changeset
1137 _("Authorize"), auth_cb,
ee5af14dc815 Add request_authorize to gaim-text's account ui ops
Richard Nelson <wabz@pidgin.im>
parents: 15781
diff changeset
1138 _("Deny"), deny_cb);
ee5af14dc815 Add request_authorize to gaim-text's account ui ops
Richard Nelson <wabz@pidgin.im>
parents: 15781
diff changeset
1139 }
24861
482524bb3e81 A patch to clean up authorization request related stuff. Fixes #7695.
Paul Aurich <darkrain42@pidgin.im>
parents: 24250
diff changeset
1140 g_signal_connect(G_OBJECT(uihandle), "destroy",
482524bb3e81 A patch to clean up authorization request related stuff. Fixes #7695.
Paul Aurich <darkrain42@pidgin.im>
parents: 24250
diff changeset
1141 G_CALLBACK(purple_account_request_close), NULL);
15829
ee5af14dc815 Add request_authorize to gaim-text's account ui ops
Richard Nelson <wabz@pidgin.im>
parents: 15781
diff changeset
1142 g_free(buffer);
ee5af14dc815 Add request_authorize to gaim-text's account ui ops
Richard Nelson <wabz@pidgin.im>
parents: 15781
diff changeset
1143 return uihandle;
ee5af14dc815 Add request_authorize to gaim-text's account ui ops
Richard Nelson <wabz@pidgin.im>
parents: 15781
diff changeset
1144 }
ee5af14dc815 Add request_authorize to gaim-text's account ui ops
Richard Nelson <wabz@pidgin.im>
parents: 15781
diff changeset
1145
ee5af14dc815 Add request_authorize to gaim-text's account ui ops
Richard Nelson <wabz@pidgin.im>
parents: 15781
diff changeset
1146 static void
15878
f52832b611fe renamed gaim-text to finch
Sean Egan <seanegan@pidgin.im>
parents: 15829
diff changeset
1147 finch_request_close(void *uihandle)
15829
ee5af14dc815 Add request_authorize to gaim-text's account ui ops
Richard Nelson <wabz@pidgin.im>
parents: 15781
diff changeset
1148 {
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15878
diff changeset
1149 purple_request_close(PURPLE_REQUEST_ACTION, uihandle);
15829
ee5af14dc815 Add request_authorize to gaim-text's account ui ops
Richard Nelson <wabz@pidgin.im>
parents: 15781
diff changeset
1150 }
ee5af14dc815 Add request_authorize to gaim-text's account ui ops
Richard Nelson <wabz@pidgin.im>
parents: 15781
diff changeset
1151
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15878
diff changeset
1152 static PurpleAccountUiOps ui_ops =
13969
0541f389442e [gaim-migrate @ 16402]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
1153 {
17164
3a005b9e8f28 Death to more futuristic struct initialization. This should be the last.
Richard Laager <rlaager@pidgin.im>
parents: 16509
diff changeset
1154 notify_added,
3a005b9e8f28 Death to more futuristic struct initialization. This should be the last.
Richard Laager <rlaager@pidgin.im>
parents: 16509
diff changeset
1155 NULL,
3a005b9e8f28 Death to more futuristic struct initialization. This should be the last.
Richard Laager <rlaager@pidgin.im>
parents: 16509
diff changeset
1156 request_add,
3a005b9e8f28 Death to more futuristic struct initialization. This should be the last.
Richard Laager <rlaager@pidgin.im>
parents: 16509
diff changeset
1157 finch_request_authorize,
3a005b9e8f28 Death to more futuristic struct initialization. This should be the last.
Richard Laager <rlaager@pidgin.im>
parents: 16509
diff changeset
1158 finch_request_close,
3a005b9e8f28 Death to more futuristic struct initialization. This should be the last.
Richard Laager <rlaager@pidgin.im>
parents: 16509
diff changeset
1159 NULL,
3a005b9e8f28 Death to more futuristic struct initialization. This should be the last.
Richard Laager <rlaager@pidgin.im>
parents: 16509
diff changeset
1160 NULL,
3a005b9e8f28 Death to more futuristic struct initialization. This should be the last.
Richard Laager <rlaager@pidgin.im>
parents: 16509
diff changeset
1161 NULL,
3a005b9e8f28 Death to more futuristic struct initialization. This should be the last.
Richard Laager <rlaager@pidgin.im>
parents: 16509
diff changeset
1162 NULL
13969
0541f389442e [gaim-migrate @ 16402]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
1163 };
0541f389442e [gaim-migrate @ 16402]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
1164
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15878
diff changeset
1165 PurpleAccountUiOps *finch_accounts_get_ui_ops()
13969
0541f389442e [gaim-migrate @ 16402]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
1166 {
0541f389442e [gaim-migrate @ 16402]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
1167 return &ui_ops;
0541f389442e [gaim-migrate @ 16402]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
1168 }
0541f389442e [gaim-migrate @ 16402]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
1169

mercurial