Sat, 25 Nov 2017 21:42:28 +0800
jabber.c: fix #17270, ignore STARTTLS when using BOSH.
Pidgin wants to establish a TLS connection with a STARTTLS request, but
it doesn't make any sense, since the XMPP stream is proxied by the BOSH
connection, which is already encrypted by HTTPS. It is impossible to
STARTTLS with BOSH.
According to XEP-0206: The client SHOULD ignore any Transport Layer Security
(TLS) feature since BOSH channel encryption SHOULD be negotiated at the HTTP
layer.
Failing to do it causes Pidgin fails to create any connection with BOSH to any
XMPP server with STARTTLS enabled.
https://developer.pidgin.im/ticket/17270
|
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 | 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 | 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 | 93 | purple_account_get_username(account), |
| 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 | 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 | 112 | PurpleAccount *account; |
| 113 | PurplePlugin *plugin; | |
| 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 | 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 | 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 | 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 | 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 | 156 | account = purple_account_new(username->str, purple_plugin_get_id(plugin)); |
| 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 | 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 | 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 | 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 | 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 | 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 | 216 | PurplePrefType type = purple_account_option_get_type(option); |
| 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 288 | PurplePlugin *plugin; |
| 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 | 310 | prplinfo = PURPLE_PLUGIN_PROTOCOL_INFO(plugin); |
|
31294
73607ab89c6f
Remove trailing whitespace
Richard Laager <rlaager@pidgin.im>
parents:
30725
diff
changeset
|
311 | |
| 15884 | 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 | 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 | 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 | 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 | 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 | 371 | PurplePlugin *plugin; |
| 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 | 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 | 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 | 405 | PurpleAccountOption *option = iter->data; |
| 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 | 412 | if (type == PURPLE_PREF_BOOLEAN) |
|
14041
6afba85cfc30
[gaim-migrate @ 16540]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14026
diff
changeset
|
413 | { |
| 15884 | 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 | 420 | purple_account_get_bool(account, |
| 421 | purple_account_option_get_setting(option), | |
| 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 | 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 | 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 | 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 | 461 | if (type == PURPLE_PREF_STRING) |
|
14041
6afba85cfc30
[gaim-migrate @ 16540]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14026
diff
changeset
|
462 | { |
| 15884 | 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 | 467 | purple_account_get_string(account, |
| 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 | 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 | 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 | 477 | value = purple_account_get_int(account, |
| 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 | 500 | PurplePlugin *plugin; |
| 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 697 | purple_request_close_with_handle(account); /* Close any other opened delete window */ |
| 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 | 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 | 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 | 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); |
|
13969
0541f389442e
[gaim-migrate @ 16402]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
804 | GNT_WIDGET_SET_FLAGS(accounts.tree, GNT_WIDGET_NO_BORDER); |
|
0541f389442e
[gaim-migrate @ 16402]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
805 | |
| 15884 | 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 | 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 | 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 | 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 | 888 | purple_signal_connect(purple_accounts_get_handle(), "account-added", |
| 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 | 891 | purple_signal_connect(purple_accounts_get_handle(), "account-removed", |
| 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 | 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 | 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 | 943 | : (purple_connection_get_display_name(gc) != NULL |
| 944 | ? purple_connection_get_display_name(gc) | |
| 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 | 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 | 956 | PurpleConnection *gc; |
|
13969
0541f389442e
[gaim-migrate @ 16402]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
957 | |
| 15884 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 1020 | PurpleAccountRequestAuthorizationCb auth_cb; |
| 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 | 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 | 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 | 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 | 1076 | : (purple_connection_get_display_name(gc) != NULL |
| 1077 | ? purple_connection_get_display_name(gc) | |
| 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); |
|
17845
8ac5337e8f6d
Show information about the user requesting authorization.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
17164
diff
changeset
|
1103 | gnt_screen_release(widget); |
|
8ac5337e8f6d
Show information about the user requesting authorization.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
17164
diff
changeset
|
1104 | 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
|
1105 | gnt_box_add_widget(GNT_BOX(uihandle), widget); |
|
8ac5337e8f6d
Show information about the user requesting authorization.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
17164
diff
changeset
|
1106 | |
|
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), gnt_hline_new()); |
|
8ac5337e8f6d
Show information about the user requesting authorization.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
17164
diff
changeset
|
1108 | |
|
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
|
1109 | widget = finch_retrieve_user_info(purple_account_get_connection(account), remote_user); |
|
17846
e8ee63f71029
Remove the confusing 'OK' button from the auth dialog.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
17845
diff
changeset
|
1110 | for (iter = GNT_BOX(widget)->list; iter; iter = iter->next) { |
|
e8ee63f71029
Remove the confusing 'OK' button from the auth dialog.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
17845
diff
changeset
|
1111 | 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
|
1112 | 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
|
1113 | gnt_box_remove(GNT_BOX(widget), iter->data); |
|
e8ee63f71029
Remove the confusing 'OK' button from the auth dialog.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
17845
diff
changeset
|
1114 | break; |
|
e8ee63f71029
Remove the confusing 'OK' button from the auth dialog.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
17845
diff
changeset
|
1115 | } |
|
e8ee63f71029
Remove the confusing 'OK' button from the auth dialog.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
17845
diff
changeset
|
1116 | } |
|
17845
8ac5337e8f6d
Show information about the user requesting authorization.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
17164
diff
changeset
|
1117 | 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
|
1118 | gnt_screen_release(widget); |
|
8ac5337e8f6d
Show information about the user requesting authorization.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
17164
diff
changeset
|
1119 | gnt_box_add_widget(GNT_BOX(uihandle), widget); |
|
8ac5337e8f6d
Show information about the user requesting authorization.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
17164
diff
changeset
|
1120 | gnt_widget_show(uihandle); |
|
8ac5337e8f6d
Show information about the user requesting authorization.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
17164
diff
changeset
|
1121 | |
|
8ac5337e8f6d
Show information about the user requesting authorization.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
17164
diff
changeset
|
1122 | 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
|
1123 | } else { |
|
21653
621c47778132
merge of '73ae9aeda3c58fbf8437421da68d19d06f93e686'
Evan Schoenberg <evands@pidgin.im>
parents:
21233
diff
changeset
|
1124 | 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
|
1125 | 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
|
1126 | account, remote_user, NULL, |
|
21653
621c47778132
merge of '73ae9aeda3c58fbf8437421da68d19d06f93e686'
Evan Schoenberg <evands@pidgin.im>
parents:
21233
diff
changeset
|
1127 | user_data, 2, |
|
15829
ee5af14dc815
Add request_authorize to gaim-text's account ui ops
Richard Nelson <wabz@pidgin.im>
parents:
15781
diff
changeset
|
1128 | _("Authorize"), auth_cb, |
|
ee5af14dc815
Add request_authorize to gaim-text's account ui ops
Richard Nelson <wabz@pidgin.im>
parents:
15781
diff
changeset
|
1129 | _("Deny"), deny_cb); |
|
ee5af14dc815
Add request_authorize to gaim-text's account ui ops
Richard Nelson <wabz@pidgin.im>
parents:
15781
diff
changeset
|
1130 | } |
|
24861
482524bb3e81
A patch to clean up authorization request related stuff. Fixes #7695.
Paul Aurich <darkrain42@pidgin.im>
parents:
24250
diff
changeset
|
1131 | 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
|
1132 | 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
|
1133 | g_free(buffer); |
|
ee5af14dc815
Add request_authorize to gaim-text's account ui ops
Richard Nelson <wabz@pidgin.im>
parents:
15781
diff
changeset
|
1134 | return uihandle; |
|
ee5af14dc815
Add request_authorize to gaim-text's account ui ops
Richard Nelson <wabz@pidgin.im>
parents:
15781
diff
changeset
|
1135 | } |
|
ee5af14dc815
Add request_authorize to gaim-text's account ui ops
Richard Nelson <wabz@pidgin.im>
parents:
15781
diff
changeset
|
1136 | |
|
ee5af14dc815
Add request_authorize to gaim-text's account ui ops
Richard Nelson <wabz@pidgin.im>
parents:
15781
diff
changeset
|
1137 | static void |
|
15878
f52832b611fe
renamed gaim-text to finch
Sean Egan <seanegan@pidgin.im>
parents:
15829
diff
changeset
|
1138 | 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
|
1139 | { |
| 15884 | 1140 | 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
|
1141 | } |
|
ee5af14dc815
Add request_authorize to gaim-text's account ui ops
Richard Nelson <wabz@pidgin.im>
parents:
15781
diff
changeset
|
1142 | |
| 15884 | 1143 | static PurpleAccountUiOps ui_ops = |
|
13969
0541f389442e
[gaim-migrate @ 16402]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
1144 | { |
|
17164
3a005b9e8f28
Death to more futuristic struct initialization. This should be the last.
Richard Laager <rlaager@pidgin.im>
parents:
16509
diff
changeset
|
1145 | notify_added, |
|
3a005b9e8f28
Death to more futuristic struct initialization. This should be the last.
Richard Laager <rlaager@pidgin.im>
parents:
16509
diff
changeset
|
1146 | NULL, |
|
3a005b9e8f28
Death to more futuristic struct initialization. This should be the last.
Richard Laager <rlaager@pidgin.im>
parents:
16509
diff
changeset
|
1147 | request_add, |
|
3a005b9e8f28
Death to more futuristic struct initialization. This should be the last.
Richard Laager <rlaager@pidgin.im>
parents:
16509
diff
changeset
|
1148 | finch_request_authorize, |
|
3a005b9e8f28
Death to more futuristic struct initialization. This should be the last.
Richard Laager <rlaager@pidgin.im>
parents:
16509
diff
changeset
|
1149 | finch_request_close, |
|
3a005b9e8f28
Death to more futuristic struct initialization. This should be the last.
Richard Laager <rlaager@pidgin.im>
parents:
16509
diff
changeset
|
1150 | NULL, |
|
3a005b9e8f28
Death to more futuristic struct initialization. This should be the last.
Richard Laager <rlaager@pidgin.im>
parents:
16509
diff
changeset
|
1151 | NULL, |
|
3a005b9e8f28
Death to more futuristic struct initialization. This should be the last.
Richard Laager <rlaager@pidgin.im>
parents:
16509
diff
changeset
|
1152 | NULL, |
|
3a005b9e8f28
Death to more futuristic struct initialization. This should be the last.
Richard Laager <rlaager@pidgin.im>
parents:
16509
diff
changeset
|
1153 | NULL |
|
13969
0541f389442e
[gaim-migrate @ 16402]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
1154 | }; |
|
0541f389442e
[gaim-migrate @ 16402]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
1155 | |
| 15884 | 1156 | PurpleAccountUiOps *finch_accounts_get_ui_ops() |
|
13969
0541f389442e
[gaim-migrate @ 16402]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
1157 | { |
|
0541f389442e
[gaim-migrate @ 16402]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
1158 | return &ui_ops; |
|
0541f389442e
[gaim-migrate @ 16402]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
1159 | } |
|
0541f389442e
[gaim-migrate @ 16402]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
1160 |