pidgin/pidginaccountchooser.c

Sun, 10 Nov 2019 22:22:21 -0500

author
Elliott Sales de Andrade <qulogic@pidgin.im>
date
Sun, 10 Nov 2019 22:22:21 -0500
changeset 40179
83abc6732fb5
parent 39793
2a29bc06910b
child 40248
0d975f80d020
permissions
-rw-r--r--

Re-write jabber util tests to be subtest-ish.

39785
aa7e3b71802d Split pidgin_account_option_menu into its own files.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1 /* pidgin
aa7e3b71802d Split pidgin_account_option_menu into its own files.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
2 *
aa7e3b71802d Split pidgin_account_option_menu into its own files.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
3 * Pidgin is the legal property of its developers, whose names are too numerous
aa7e3b71802d Split pidgin_account_option_menu into its own files.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
4 * to list here. Please refer to the COPYRIGHT file distributed with this
aa7e3b71802d Split pidgin_account_option_menu into its own files.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
5 * source distribution.
aa7e3b71802d Split pidgin_account_option_menu into its own files.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
6 *
aa7e3b71802d Split pidgin_account_option_menu into its own files.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
7 * This program is free software; you can redistribute it and/or modify
aa7e3b71802d Split pidgin_account_option_menu into its own files.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
8 * it under the terms of the GNU General Public License as published by
aa7e3b71802d Split pidgin_account_option_menu into its own files.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
9 * the Free Software Foundation; either version 2 of the License, or
aa7e3b71802d Split pidgin_account_option_menu into its own files.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
10 * (at your option) any later version.
aa7e3b71802d Split pidgin_account_option_menu into its own files.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
11 *
aa7e3b71802d Split pidgin_account_option_menu into its own files.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
12 * This program is distributed in the hope that it will be useful,
aa7e3b71802d Split pidgin_account_option_menu into its own files.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
aa7e3b71802d Split pidgin_account_option_menu into its own files.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
aa7e3b71802d Split pidgin_account_option_menu into its own files.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
15 * GNU General Public License for more details.
aa7e3b71802d Split pidgin_account_option_menu into its own files.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
16 *
aa7e3b71802d Split pidgin_account_option_menu into its own files.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
17 * You should have received a copy of the GNU General Public License
aa7e3b71802d Split pidgin_account_option_menu into its own files.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
18 * along with this program; if not, write to the Free Software
aa7e3b71802d Split pidgin_account_option_menu into its own files.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
19 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA
aa7e3b71802d Split pidgin_account_option_menu into its own files.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
20 */
aa7e3b71802d Split pidgin_account_option_menu into its own files.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
21 #include "internal.h"
aa7e3b71802d Split pidgin_account_option_menu into its own files.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
22 #include "pidgin.h"
aa7e3b71802d Split pidgin_account_option_menu into its own files.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
23
aa7e3b71802d Split pidgin_account_option_menu into its own files.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
24 #include "gtkutils.h"
aa7e3b71802d Split pidgin_account_option_menu into its own files.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
25 #include "pidginaccountchooser.h"
aa7e3b71802d Split pidgin_account_option_menu into its own files.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
26
aa7e3b71802d Split pidgin_account_option_menu into its own files.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
27 /******************************************************************************
aa7e3b71802d Split pidgin_account_option_menu into its own files.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
28 * Enums
aa7e3b71802d Split pidgin_account_option_menu into its own files.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
29 *****************************************************************************/
aa7e3b71802d Split pidgin_account_option_menu into its own files.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
30
aa7e3b71802d Split pidgin_account_option_menu into its own files.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
31 enum
aa7e3b71802d Split pidgin_account_option_menu into its own files.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
32 {
aa7e3b71802d Split pidgin_account_option_menu into its own files.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
33 AOP_ICON_COLUMN,
aa7e3b71802d Split pidgin_account_option_menu into its own files.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
34 AOP_NAME_COLUMN,
aa7e3b71802d Split pidgin_account_option_menu into its own files.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
35 AOP_DATA_COLUMN,
aa7e3b71802d Split pidgin_account_option_menu into its own files.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
36 AOP_COLUMN_COUNT
aa7e3b71802d Split pidgin_account_option_menu into its own files.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
37 };
aa7e3b71802d Split pidgin_account_option_menu into its own files.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
38
aa7e3b71802d Split pidgin_account_option_menu into its own files.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
39 /******************************************************************************
aa7e3b71802d Split pidgin_account_option_menu into its own files.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
40 * Structs
aa7e3b71802d Split pidgin_account_option_menu into its own files.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
41 *****************************************************************************/
aa7e3b71802d Split pidgin_account_option_menu into its own files.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
42
39788
6e86cff44a34 Convert account chooser to a GObject.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39787
diff changeset
43 struct _PidginAccountChooser {
6e86cff44a34 Convert account chooser to a GObject.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39787
diff changeset
44 GtkComboBox parent;
6e86cff44a34 Convert account chooser to a GObject.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39787
diff changeset
45
6e86cff44a34 Convert account chooser to a GObject.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39787
diff changeset
46 GtkListStore *model;
39790
dd3fd44f3abb Move account chooser data into its struct.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39789
diff changeset
47
dd3fd44f3abb Move account chooser data into its struct.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39789
diff changeset
48 PurpleFilterAccountFunc filter_func;
dd3fd44f3abb Move account chooser data into its struct.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39789
diff changeset
49 gboolean show_all;
39788
6e86cff44a34 Convert account chooser to a GObject.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39787
diff changeset
50 };
39785
aa7e3b71802d Split pidgin_account_option_menu into its own files.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
51
aa7e3b71802d Split pidgin_account_option_menu into its own files.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
52 /******************************************************************************
aa7e3b71802d Split pidgin_account_option_menu into its own files.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
53 * Code
aa7e3b71802d Split pidgin_account_option_menu into its own files.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
54 *****************************************************************************/
39788
6e86cff44a34 Convert account chooser to a GObject.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39787
diff changeset
55 G_DEFINE_TYPE(PidginAccountChooser, pidgin_account_chooser, GTK_TYPE_COMBO_BOX)
6e86cff44a34 Convert account chooser to a GObject.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39787
diff changeset
56
39785
aa7e3b71802d Split pidgin_account_option_menu into its own files.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
57 static gpointer
39791
24c50cca1511 Rename account chooser bits in a more standard way.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39790
diff changeset
58 account_chooser_get_selected(PidginAccountChooser *chooser)
39785
aa7e3b71802d Split pidgin_account_option_menu into its own files.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
59 {
aa7e3b71802d Split pidgin_account_option_menu into its own files.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
60 gpointer data = NULL;
aa7e3b71802d Split pidgin_account_option_menu into its own files.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
61 GtkTreeIter iter;
aa7e3b71802d Split pidgin_account_option_menu into its own files.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
62
39791
24c50cca1511 Rename account chooser bits in a more standard way.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39790
diff changeset
63 if (gtk_combo_box_get_active_iter(GTK_COMBO_BOX(chooser), &iter)) {
39785
aa7e3b71802d Split pidgin_account_option_menu into its own files.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
64 gtk_tree_model_get(
39791
24c50cca1511 Rename account chooser bits in a more standard way.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39790
diff changeset
65 gtk_combo_box_get_model(GTK_COMBO_BOX(chooser)), &iter,
39785
aa7e3b71802d Split pidgin_account_option_menu into its own files.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
66 AOP_DATA_COLUMN, &data, -1);
aa7e3b71802d Split pidgin_account_option_menu into its own files.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
67 }
aa7e3b71802d Split pidgin_account_option_menu into its own files.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
68
aa7e3b71802d Split pidgin_account_option_menu into its own files.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
69 return data;
aa7e3b71802d Split pidgin_account_option_menu into its own files.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
70 }
aa7e3b71802d Split pidgin_account_option_menu into its own files.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
71
aa7e3b71802d Split pidgin_account_option_menu into its own files.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
72 static void
39791
24c50cca1511 Rename account chooser bits in a more standard way.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39790
diff changeset
73 account_chooser_select_by_data(GtkWidget *chooser, gpointer data)
39785
aa7e3b71802d Split pidgin_account_option_menu into its own files.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
74 {
aa7e3b71802d Split pidgin_account_option_menu into its own files.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
75 GtkTreeModel *model;
aa7e3b71802d Split pidgin_account_option_menu into its own files.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
76 GtkTreeIter iter;
aa7e3b71802d Split pidgin_account_option_menu into its own files.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
77 gpointer iter_data;
39791
24c50cca1511 Rename account chooser bits in a more standard way.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39790
diff changeset
78 model = gtk_combo_box_get_model(GTK_COMBO_BOX(chooser));
39785
aa7e3b71802d Split pidgin_account_option_menu into its own files.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
79 if (gtk_tree_model_get_iter_first(model, &iter)) {
aa7e3b71802d Split pidgin_account_option_menu into its own files.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
80 do {
aa7e3b71802d Split pidgin_account_option_menu into its own files.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
81 gtk_tree_model_get(model, &iter, AOP_DATA_COLUMN,
aa7e3b71802d Split pidgin_account_option_menu into its own files.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
82 &iter_data, -1);
aa7e3b71802d Split pidgin_account_option_menu into its own files.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
83 if (iter_data == data) {
aa7e3b71802d Split pidgin_account_option_menu into its own files.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
84 gtk_combo_box_set_active_iter(
39791
24c50cca1511 Rename account chooser bits in a more standard way.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39790
diff changeset
85 GTK_COMBO_BOX(chooser), &iter);
39785
aa7e3b71802d Split pidgin_account_option_menu into its own files.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
86 return;
aa7e3b71802d Split pidgin_account_option_menu into its own files.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
87 }
aa7e3b71802d Split pidgin_account_option_menu into its own files.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
88 } while (gtk_tree_model_iter_next(model, &iter));
aa7e3b71802d Split pidgin_account_option_menu into its own files.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
89 }
aa7e3b71802d Split pidgin_account_option_menu into its own files.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
90 }
aa7e3b71802d Split pidgin_account_option_menu into its own files.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
91
39788
6e86cff44a34 Convert account chooser to a GObject.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39787
diff changeset
92 static void
39790
dd3fd44f3abb Move account chooser data into its struct.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39789
diff changeset
93 set_account_menu(PidginAccountChooser *chooser, PurpleAccount *default_account)
39785
aa7e3b71802d Split pidgin_account_option_menu into its own files.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
94 {
aa7e3b71802d Split pidgin_account_option_menu into its own files.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
95 PurpleAccount *account;
aa7e3b71802d Split pidgin_account_option_menu into its own files.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
96 GdkPixbuf *pixbuf = NULL;
aa7e3b71802d Split pidgin_account_option_menu into its own files.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
97 GList *list;
aa7e3b71802d Split pidgin_account_option_menu into its own files.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
98 GList *p;
aa7e3b71802d Split pidgin_account_option_menu into its own files.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
99 GtkTreeIter iter;
39788
6e86cff44a34 Convert account chooser to a GObject.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39787
diff changeset
100 gint default_item = 0;
39785
aa7e3b71802d Split pidgin_account_option_menu into its own files.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
101 gint i;
aa7e3b71802d Split pidgin_account_option_menu into its own files.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
102 gchar buf[256];
aa7e3b71802d Split pidgin_account_option_menu into its own files.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
103
39790
dd3fd44f3abb Move account chooser data into its struct.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39789
diff changeset
104 if (chooser->show_all) {
39785
aa7e3b71802d Split pidgin_account_option_menu into its own files.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
105 list = purple_accounts_get_all();
aa7e3b71802d Split pidgin_account_option_menu into its own files.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
106 } else {
aa7e3b71802d Split pidgin_account_option_menu into its own files.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
107 list = purple_connections_get_all();
aa7e3b71802d Split pidgin_account_option_menu into its own files.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
108 }
aa7e3b71802d Split pidgin_account_option_menu into its own files.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
109
39788
6e86cff44a34 Convert account chooser to a GObject.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39787
diff changeset
110 gtk_list_store_clear(chooser->model);
39785
aa7e3b71802d Split pidgin_account_option_menu into its own files.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
111 for (p = list, i = 0; p != NULL; p = p->next, i++) {
39790
dd3fd44f3abb Move account chooser data into its struct.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39789
diff changeset
112 if (chooser->show_all) {
39785
aa7e3b71802d Split pidgin_account_option_menu into its own files.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
113 account = (PurpleAccount *)p->data;
aa7e3b71802d Split pidgin_account_option_menu into its own files.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
114 } else {
aa7e3b71802d Split pidgin_account_option_menu into its own files.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
115 PurpleConnection *gc = (PurpleConnection *)p->data;
aa7e3b71802d Split pidgin_account_option_menu into its own files.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
116
aa7e3b71802d Split pidgin_account_option_menu into its own files.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
117 account = purple_connection_get_account(gc);
aa7e3b71802d Split pidgin_account_option_menu into its own files.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
118 }
aa7e3b71802d Split pidgin_account_option_menu into its own files.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
119
39790
dd3fd44f3abb Move account chooser data into its struct.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39789
diff changeset
120 if (chooser->filter_func && !chooser->filter_func(account)) {
39785
aa7e3b71802d Split pidgin_account_option_menu into its own files.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
121 i--;
aa7e3b71802d Split pidgin_account_option_menu into its own files.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
122 continue;
aa7e3b71802d Split pidgin_account_option_menu into its own files.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
123 }
aa7e3b71802d Split pidgin_account_option_menu into its own files.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
124
aa7e3b71802d Split pidgin_account_option_menu into its own files.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
125 pixbuf = pidgin_create_protocol_icon(
aa7e3b71802d Split pidgin_account_option_menu into its own files.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
126 account, PIDGIN_PROTOCOL_ICON_SMALL);
aa7e3b71802d Split pidgin_account_option_menu into its own files.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
127
aa7e3b71802d Split pidgin_account_option_menu into its own files.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
128 if (pixbuf) {
aa7e3b71802d Split pidgin_account_option_menu into its own files.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
129 if (purple_account_is_disconnected(account) &&
39790
dd3fd44f3abb Move account chooser data into its struct.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39789
diff changeset
130 chooser->show_all && purple_connections_get_all()) {
39785
aa7e3b71802d Split pidgin_account_option_menu into its own files.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
131 gdk_pixbuf_saturate_and_pixelate(pixbuf, pixbuf,
aa7e3b71802d Split pidgin_account_option_menu into its own files.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
132 0.0, FALSE);
aa7e3b71802d Split pidgin_account_option_menu into its own files.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
133 }
aa7e3b71802d Split pidgin_account_option_menu into its own files.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
134 }
aa7e3b71802d Split pidgin_account_option_menu into its own files.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
135
aa7e3b71802d Split pidgin_account_option_menu into its own files.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
136 if (purple_account_get_private_alias(account)) {
aa7e3b71802d Split pidgin_account_option_menu into its own files.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
137 g_snprintf(buf, sizeof(buf), "%s (%s) (%s)",
aa7e3b71802d Split pidgin_account_option_menu into its own files.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
138 purple_account_get_username(account),
aa7e3b71802d Split pidgin_account_option_menu into its own files.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
139 purple_account_get_private_alias(account),
aa7e3b71802d Split pidgin_account_option_menu into its own files.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
140 purple_account_get_protocol_name(account));
aa7e3b71802d Split pidgin_account_option_menu into its own files.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
141 } else {
aa7e3b71802d Split pidgin_account_option_menu into its own files.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
142 g_snprintf(buf, sizeof(buf), "%s (%s)",
aa7e3b71802d Split pidgin_account_option_menu into its own files.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
143 purple_account_get_username(account),
aa7e3b71802d Split pidgin_account_option_menu into its own files.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
144 purple_account_get_protocol_name(account));
aa7e3b71802d Split pidgin_account_option_menu into its own files.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
145 }
aa7e3b71802d Split pidgin_account_option_menu into its own files.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
146
39788
6e86cff44a34 Convert account chooser to a GObject.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39787
diff changeset
147 gtk_list_store_append(chooser->model, &iter);
6e86cff44a34 Convert account chooser to a GObject.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39787
diff changeset
148 gtk_list_store_set(chooser->model, &iter, AOP_ICON_COLUMN,
6e86cff44a34 Convert account chooser to a GObject.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39787
diff changeset
149 pixbuf, AOP_NAME_COLUMN, buf,
6e86cff44a34 Convert account chooser to a GObject.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39787
diff changeset
150 AOP_DATA_COLUMN, account, -1);
39785
aa7e3b71802d Split pidgin_account_option_menu into its own files.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
151
aa7e3b71802d Split pidgin_account_option_menu into its own files.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
152 if (pixbuf) {
aa7e3b71802d Split pidgin_account_option_menu into its own files.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
153 g_object_unref(pixbuf);
aa7e3b71802d Split pidgin_account_option_menu into its own files.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
154 }
aa7e3b71802d Split pidgin_account_option_menu into its own files.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
155
aa7e3b71802d Split pidgin_account_option_menu into its own files.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
156 if (default_account && account == default_account) {
39788
6e86cff44a34 Convert account chooser to a GObject.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39787
diff changeset
157 default_item = i;
39785
aa7e3b71802d Split pidgin_account_option_menu into its own files.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
158 }
aa7e3b71802d Split pidgin_account_option_menu into its own files.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
159 }
aa7e3b71802d Split pidgin_account_option_menu into its own files.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
160
39788
6e86cff44a34 Convert account chooser to a GObject.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39787
diff changeset
161 gtk_combo_box_set_active(GTK_COMBO_BOX(chooser), default_item);
39785
aa7e3b71802d Split pidgin_account_option_menu into its own files.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
162 }
aa7e3b71802d Split pidgin_account_option_menu into its own files.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
163
aa7e3b71802d Split pidgin_account_option_menu into its own files.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
164 static void
39791
24c50cca1511 Rename account chooser bits in a more standard way.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39790
diff changeset
165 regenerate_account_menu(PidginAccountChooser *chooser)
39785
aa7e3b71802d Split pidgin_account_option_menu into its own files.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
166 {
aa7e3b71802d Split pidgin_account_option_menu into its own files.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
167 PurpleAccount *account;
aa7e3b71802d Split pidgin_account_option_menu into its own files.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
168
39791
24c50cca1511 Rename account chooser bits in a more standard way.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39790
diff changeset
169 account = (PurpleAccount *)account_chooser_get_selected(chooser);
39785
aa7e3b71802d Split pidgin_account_option_menu into its own files.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
170
39791
24c50cca1511 Rename account chooser bits in a more standard way.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39790
diff changeset
171 set_account_menu(chooser, account);
39785
aa7e3b71802d Split pidgin_account_option_menu into its own files.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
172 }
aa7e3b71802d Split pidgin_account_option_menu into its own files.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
173
aa7e3b71802d Split pidgin_account_option_menu into its own files.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
174 static void
39791
24c50cca1511 Rename account chooser bits in a more standard way.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39790
diff changeset
175 account_menu_sign_on_off_cb(PurpleConnection *gc, PidginAccountChooser *chooser)
39785
aa7e3b71802d Split pidgin_account_option_menu into its own files.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
176 {
39791
24c50cca1511 Rename account chooser bits in a more standard way.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39790
diff changeset
177 regenerate_account_menu(chooser);
39785
aa7e3b71802d Split pidgin_account_option_menu into its own files.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
178 }
aa7e3b71802d Split pidgin_account_option_menu into its own files.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
179
aa7e3b71802d Split pidgin_account_option_menu into its own files.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
180 static void
39791
24c50cca1511 Rename account chooser bits in a more standard way.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39790
diff changeset
181 account_menu_added_removed_cb(PurpleAccount *account,
24c50cca1511 Rename account chooser bits in a more standard way.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39790
diff changeset
182 PidginAccountChooser *chooser)
39785
aa7e3b71802d Split pidgin_account_option_menu into its own files.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
183 {
39791
24c50cca1511 Rename account chooser bits in a more standard way.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39790
diff changeset
184 regenerate_account_menu(chooser);
39785
aa7e3b71802d Split pidgin_account_option_menu into its own files.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
185 }
aa7e3b71802d Split pidgin_account_option_menu into its own files.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
186
aa7e3b71802d Split pidgin_account_option_menu into its own files.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
187 static gboolean
39791
24c50cca1511 Rename account chooser bits in a more standard way.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39790
diff changeset
188 account_menu_destroyed_cb(GtkWidget *chooser, GdkEvent *event, void *user_data)
39785
aa7e3b71802d Split pidgin_account_option_menu into its own files.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
189 {
39791
24c50cca1511 Rename account chooser bits in a more standard way.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39790
diff changeset
190 purple_signals_disconnect_by_handle(chooser);
39785
aa7e3b71802d Split pidgin_account_option_menu into its own files.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
191
aa7e3b71802d Split pidgin_account_option_menu into its own files.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
192 return FALSE;
aa7e3b71802d Split pidgin_account_option_menu into its own files.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
193 }
aa7e3b71802d Split pidgin_account_option_menu into its own files.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
194
39788
6e86cff44a34 Convert account chooser to a GObject.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39787
diff changeset
195 /******************************************************************************
6e86cff44a34 Convert account chooser to a GObject.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39787
diff changeset
196 * GObject implementation
6e86cff44a34 Convert account chooser to a GObject.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39787
diff changeset
197 *****************************************************************************/
6e86cff44a34 Convert account chooser to a GObject.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39787
diff changeset
198 static void
6e86cff44a34 Convert account chooser to a GObject.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39787
diff changeset
199 pidgin_account_chooser_class_init(PidginAccountChooserClass *klass)
6e86cff44a34 Convert account chooser to a GObject.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39787
diff changeset
200 {
6e86cff44a34 Convert account chooser to a GObject.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39787
diff changeset
201 GtkWidgetClass *widget_class = GTK_WIDGET_CLASS(klass);
6e86cff44a34 Convert account chooser to a GObject.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39787
diff changeset
202
6e86cff44a34 Convert account chooser to a GObject.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39787
diff changeset
203 gtk_widget_class_set_template_from_resource(
6e86cff44a34 Convert account chooser to a GObject.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39787
diff changeset
204 widget_class, "/im/pidgin/Pidgin/Accounts/chooser.ui");
6e86cff44a34 Convert account chooser to a GObject.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39787
diff changeset
205
6e86cff44a34 Convert account chooser to a GObject.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39787
diff changeset
206 gtk_widget_class_bind_template_child(widget_class, PidginAccountChooser,
6e86cff44a34 Convert account chooser to a GObject.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39787
diff changeset
207 model);
6e86cff44a34 Convert account chooser to a GObject.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39787
diff changeset
208
6e86cff44a34 Convert account chooser to a GObject.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39787
diff changeset
209 gtk_widget_class_bind_template_callback(widget_class,
6e86cff44a34 Convert account chooser to a GObject.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39787
diff changeset
210 account_menu_destroyed_cb);
6e86cff44a34 Convert account chooser to a GObject.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39787
diff changeset
211 }
6e86cff44a34 Convert account chooser to a GObject.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39787
diff changeset
212
6e86cff44a34 Convert account chooser to a GObject.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39787
diff changeset
213 static void
6e86cff44a34 Convert account chooser to a GObject.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39787
diff changeset
214 pidgin_account_chooser_init(PidginAccountChooser *chooser)
6e86cff44a34 Convert account chooser to a GObject.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39787
diff changeset
215 {
6e86cff44a34 Convert account chooser to a GObject.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39787
diff changeset
216 gtk_widget_init_template(GTK_WIDGET(chooser));
39785
aa7e3b71802d Split pidgin_account_option_menu into its own files.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
217
aa7e3b71802d Split pidgin_account_option_menu into its own files.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
218 /* Register the purple sign on/off event callbacks. */
aa7e3b71802d Split pidgin_account_option_menu into its own files.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
219 purple_signal_connect(
39788
6e86cff44a34 Convert account chooser to a GObject.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39787
diff changeset
220 purple_connections_get_handle(), "signed-on", chooser,
6e86cff44a34 Convert account chooser to a GObject.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39787
diff changeset
221 PURPLE_CALLBACK(account_menu_sign_on_off_cb), chooser);
39785
aa7e3b71802d Split pidgin_account_option_menu into its own files.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
222 purple_signal_connect(
39788
6e86cff44a34 Convert account chooser to a GObject.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39787
diff changeset
223 purple_connections_get_handle(), "signed-off", chooser,
6e86cff44a34 Convert account chooser to a GObject.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39787
diff changeset
224 PURPLE_CALLBACK(account_menu_sign_on_off_cb), chooser);
39785
aa7e3b71802d Split pidgin_account_option_menu into its own files.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
225 purple_signal_connect(
39788
6e86cff44a34 Convert account chooser to a GObject.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39787
diff changeset
226 purple_accounts_get_handle(), "account-added", chooser,
6e86cff44a34 Convert account chooser to a GObject.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39787
diff changeset
227 PURPLE_CALLBACK(account_menu_added_removed_cb), chooser);
6e86cff44a34 Convert account chooser to a GObject.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39787
diff changeset
228 purple_signal_connect(
6e86cff44a34 Convert account chooser to a GObject.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39787
diff changeset
229 purple_accounts_get_handle(), "account-removed", chooser,
6e86cff44a34 Convert account chooser to a GObject.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39787
diff changeset
230 PURPLE_CALLBACK(account_menu_added_removed_cb), chooser);
39785
aa7e3b71802d Split pidgin_account_option_menu into its own files.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
231 }
39789
7d58eccb27de Group public API for account chooser together.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39788
diff changeset
232
7d58eccb27de Group public API for account chooser together.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39788
diff changeset
233 /******************************************************************************
7d58eccb27de Group public API for account chooser together.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39788
diff changeset
234 * Public API
7d58eccb27de Group public API for account chooser together.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39788
diff changeset
235 *****************************************************************************/
7d58eccb27de Group public API for account chooser together.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39788
diff changeset
236 GtkWidget *
39793
2a29bc06910b Move account chooser filter in a separate setter.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39792
diff changeset
237 pidgin_account_chooser_new(PurpleAccount *default_account, gboolean show_all)
39789
7d58eccb27de Group public API for account chooser together.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39788
diff changeset
238 {
39790
dd3fd44f3abb Move account chooser data into its struct.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39789
diff changeset
239 PidginAccountChooser *chooser = NULL;
39789
7d58eccb27de Group public API for account chooser together.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39788
diff changeset
240
39790
dd3fd44f3abb Move account chooser data into its struct.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39789
diff changeset
241 chooser = g_object_new(PIDGIN_TYPE_ACCOUNT_CHOOSER, NULL);
dd3fd44f3abb Move account chooser data into its struct.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39789
diff changeset
242 chooser->show_all = show_all;
dd3fd44f3abb Move account chooser data into its struct.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39789
diff changeset
243 set_account_menu(PIDGIN_ACCOUNT_CHOOSER(chooser), default_account);
39789
7d58eccb27de Group public API for account chooser together.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39788
diff changeset
244
39790
dd3fd44f3abb Move account chooser data into its struct.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39789
diff changeset
245 return GTK_WIDGET(chooser);
39789
7d58eccb27de Group public API for account chooser together.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39788
diff changeset
246 }
7d58eccb27de Group public API for account chooser together.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39788
diff changeset
247
39793
2a29bc06910b Move account chooser filter in a separate setter.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39792
diff changeset
248 void
2a29bc06910b Move account chooser filter in a separate setter.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39792
diff changeset
249 pidgin_account_chooser_set_filter_func(PidginAccountChooser *chooser,
2a29bc06910b Move account chooser filter in a separate setter.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39792
diff changeset
250 PurpleFilterAccountFunc filter_func)
2a29bc06910b Move account chooser filter in a separate setter.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39792
diff changeset
251 {
2a29bc06910b Move account chooser filter in a separate setter.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39792
diff changeset
252 g_return_if_fail(PIDGIN_IS_ACCOUNT_CHOOSER(chooser));
2a29bc06910b Move account chooser filter in a separate setter.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39792
diff changeset
253
2a29bc06910b Move account chooser filter in a separate setter.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39792
diff changeset
254 chooser->filter_func = filter_func;
2a29bc06910b Move account chooser filter in a separate setter.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39792
diff changeset
255 regenerate_account_menu(chooser);
2a29bc06910b Move account chooser filter in a separate setter.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39792
diff changeset
256 }
2a29bc06910b Move account chooser filter in a separate setter.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39792
diff changeset
257
39789
7d58eccb27de Group public API for account chooser together.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39788
diff changeset
258 PurpleAccount *
39791
24c50cca1511 Rename account chooser bits in a more standard way.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39790
diff changeset
259 pidgin_account_chooser_get_selected(GtkWidget *chooser)
39789
7d58eccb27de Group public API for account chooser together.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39788
diff changeset
260 {
39792
23eb94ca54bd Add proper asserts in account chooser API.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39791
diff changeset
261 g_return_val_if_fail(PIDGIN_IS_ACCOUNT_CHOOSER(chooser), NULL);
23eb94ca54bd Add proper asserts in account chooser API.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39791
diff changeset
262
39791
24c50cca1511 Rename account chooser bits in a more standard way.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39790
diff changeset
263 return (PurpleAccount *)account_chooser_get_selected(
24c50cca1511 Rename account chooser bits in a more standard way.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39790
diff changeset
264 PIDGIN_ACCOUNT_CHOOSER(chooser));
39789
7d58eccb27de Group public API for account chooser together.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39788
diff changeset
265 }
7d58eccb27de Group public API for account chooser together.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39788
diff changeset
266
7d58eccb27de Group public API for account chooser together.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39788
diff changeset
267 void
39791
24c50cca1511 Rename account chooser bits in a more standard way.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39790
diff changeset
268 pidgin_account_chooser_set_selected(GtkWidget *chooser, PurpleAccount *account)
39789
7d58eccb27de Group public API for account chooser together.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39788
diff changeset
269 {
39792
23eb94ca54bd Add proper asserts in account chooser API.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39791
diff changeset
270 g_return_if_fail(PIDGIN_IS_ACCOUNT_CHOOSER(chooser));
23eb94ca54bd Add proper asserts in account chooser API.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39791
diff changeset
271
39791
24c50cca1511 Rename account chooser bits in a more standard way.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39790
diff changeset
272 account_chooser_select_by_data(chooser, account);
39789
7d58eccb27de Group public API for account chooser together.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39788
diff changeset
273 }

mercurial