pidgin/pidginaccountchooser.h

Sun, 21 Jun 2020 04:16:15 -0500

author
Gary Kramlich <grim@reaperworld.com>
date
Sun, 21 Jun 2020 04:16:15 -0500
changeset 40474
1341be8e3402
parent 40248
0d975f80d020
child 40496
6941fece679b
permissions
-rw-r--r--

Make it so only libpurple can directly include libpurple header files.

This is part of our on going effort to make it easier to develop against libpurple as well as making our filenames not part of our api.

Make it so only libpurple can directly include libpurple header files.

Testing Done:
Just a normal compile to make sure everything builds again.

Reviewed at https://reviews.imfreedom.org/r/8/

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
aa7e3b71802d Split pidgin_account_option_menu into its own files.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
22 #ifndef PIDGIN_ACCOUNT_CHOOSER_H
aa7e3b71802d Split pidgin_account_option_menu into its own files.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
23 #define PIDGIN_ACCOUNT_CHOOSER_H
aa7e3b71802d Split pidgin_account_option_menu into its own files.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
24 /**
40233
0c7b2c569028 Add missing files to Pidgin API docs.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 40186
diff changeset
25 * SECTION:pidginaccountchooser
39785
aa7e3b71802d Split pidgin_account_option_menu into its own files.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
26 * @section_id: pidgin-account-chooser
40233
0c7b2c569028 Add missing files to Pidgin API docs.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 40186
diff changeset
27 * @short_description: A #GtkComboBox for choosing accounts
39786
7800f52d0ae6 Rename pidgin_account_option_menu_* to pidgin_account_chooser_*.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39785
diff changeset
28 * @title: Pidgin Account Chooser Combo Box Widget
39785
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
39788
6e86cff44a34 Convert account chooser to a GObject.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39787
diff changeset
31 #include <gtk/gtk.h>
6e86cff44a34 Convert account chooser to a GObject.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39787
diff changeset
32
40474
1341be8e3402 Make it so only libpurple can directly include libpurple header files.
Gary Kramlich <grim@reaperworld.com>
parents: 40248
diff changeset
33 #include <purple.h>
39785
aa7e3b71802d Split pidgin_account_option_menu into its own files.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
34
40474
1341be8e3402 Make it so only libpurple can directly include libpurple header files.
Gary Kramlich <grim@reaperworld.com>
parents: 40248
diff changeset
35 #include "pidgin.h"
39785
aa7e3b71802d Split pidgin_account_option_menu into its own files.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
36
aa7e3b71802d Split pidgin_account_option_menu into its own files.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
37 G_BEGIN_DECLS
aa7e3b71802d Split pidgin_account_option_menu into its own files.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
38
39788
6e86cff44a34 Convert account chooser to a GObject.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39787
diff changeset
39 #define PIDGIN_TYPE_ACCOUNT_CHOOSER (pidgin_account_chooser_get_type())
6e86cff44a34 Convert account chooser to a GObject.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39787
diff changeset
40
6e86cff44a34 Convert account chooser to a GObject.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39787
diff changeset
41 G_DECLARE_FINAL_TYPE(PidginAccountChooser, pidgin_account_chooser, PIDGIN,
6e86cff44a34 Convert account chooser to a GObject.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39787
diff changeset
42 ACCOUNT_CHOOSER, GtkComboBox)
6e86cff44a34 Convert account chooser to a GObject.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39787
diff changeset
43
39785
aa7e3b71802d Split pidgin_account_option_menu into its own files.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
44 /**
39786
7800f52d0ae6 Rename pidgin_account_option_menu_* to pidgin_account_chooser_*.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39785
diff changeset
45 * pidgin_account_chooser_new:
39785
aa7e3b71802d Split pidgin_account_option_menu into its own files.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
46 * @default_account: The account to select by default.
39786
7800f52d0ae6 Rename pidgin_account_option_menu_* to pidgin_account_chooser_*.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39785
diff changeset
47 * @show_all: Whether or not to show all accounts, or just active accounts.
39785
aa7e3b71802d Split pidgin_account_option_menu into its own files.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
48 *
39795
5b9c99c1378d Fix some more account chooser doc errors.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39793
diff changeset
49 * Creates a combo box filled with accounts.
39785
aa7e3b71802d Split pidgin_account_option_menu into its own files.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
50 *
39786
7800f52d0ae6 Rename pidgin_account_option_menu_* to pidgin_account_chooser_*.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39785
diff changeset
51 * Returns: (transfer full): The account chooser combo box.
7800f52d0ae6 Rename pidgin_account_option_menu_* to pidgin_account_chooser_*.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39785
diff changeset
52 *
7800f52d0ae6 Rename pidgin_account_option_menu_* to pidgin_account_chooser_*.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39785
diff changeset
53 * Since: 3.0.0
39785
aa7e3b71802d Split pidgin_account_option_menu into its own files.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
54 */
39786
7800f52d0ae6 Rename pidgin_account_option_menu_* to pidgin_account_chooser_*.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39785
diff changeset
55 GtkWidget *pidgin_account_chooser_new(PurpleAccount *default_account,
39793
2a29bc06910b Move account chooser filter in a separate setter.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39788
diff changeset
56 gboolean show_all);
2a29bc06910b Move account chooser filter in a separate setter.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39788
diff changeset
57
2a29bc06910b Move account chooser filter in a separate setter.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39788
diff changeset
58 /**
2a29bc06910b Move account chooser filter in a separate setter.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39788
diff changeset
59 * pidgin_account_chooser_set_filter_func:
2a29bc06910b Move account chooser filter in a separate setter.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39788
diff changeset
60 * @chooser: The account chooser combo box.
40186
d7e2aba4d9f4 Fix some g-ir-scanner warnings
qarkai <qarkai@gmail.com>
parents: 39795
diff changeset
61 * @filter_func: (scope notified): A function for checking if an account should be shown. This
39793
2a29bc06910b Move account chooser filter in a separate setter.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39788
diff changeset
62 * can be %NULL to remove any filter.
2a29bc06910b Move account chooser filter in a separate setter.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39788
diff changeset
63 *
2a29bc06910b Move account chooser filter in a separate setter.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39788
diff changeset
64 * Set the filter function used to determine which accounts to show.
2a29bc06910b Move account chooser filter in a separate setter.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39788
diff changeset
65 *
2a29bc06910b Move account chooser filter in a separate setter.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39788
diff changeset
66 * Since: 3.0.0
2a29bc06910b Move account chooser filter in a separate setter.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39788
diff changeset
67 */
2a29bc06910b Move account chooser filter in a separate setter.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39788
diff changeset
68 void pidgin_account_chooser_set_filter_func(
2a29bc06910b Move account chooser filter in a separate setter.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39788
diff changeset
69 PidginAccountChooser *chooser, PurpleFilterAccountFunc filter_func);
39785
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 /**
39786
7800f52d0ae6 Rename pidgin_account_option_menu_* to pidgin_account_chooser_*.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39785
diff changeset
72 * pidgin_account_chooser_get_selected:
7800f52d0ae6 Rename pidgin_account_option_menu_* to pidgin_account_chooser_*.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39785
diff changeset
73 * @chooser: The chooser created by pidgin_account_chooser_new().
7800f52d0ae6 Rename pidgin_account_option_menu_* to pidgin_account_chooser_*.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39785
diff changeset
74 *
7800f52d0ae6 Rename pidgin_account_option_menu_* to pidgin_account_chooser_*.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39785
diff changeset
75 * Gets the currently selected account from an account combo box.
39785
aa7e3b71802d Split pidgin_account_option_menu into its own files.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
76 *
39786
7800f52d0ae6 Rename pidgin_account_option_menu_* to pidgin_account_chooser_*.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39785
diff changeset
77 * Returns: (transfer none): Returns the #PurpleAccount that is currently
7800f52d0ae6 Rename pidgin_account_option_menu_* to pidgin_account_chooser_*.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39785
diff changeset
78 * selected.
39785
aa7e3b71802d Split pidgin_account_option_menu into its own files.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
79 *
39786
7800f52d0ae6 Rename pidgin_account_option_menu_* to pidgin_account_chooser_*.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39785
diff changeset
80 * Since: 3.0.0
39785
aa7e3b71802d Split pidgin_account_option_menu into its own files.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
81 */
39786
7800f52d0ae6 Rename pidgin_account_option_menu_* to pidgin_account_chooser_*.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39785
diff changeset
82 PurpleAccount *pidgin_account_chooser_get_selected(GtkWidget *chooser);
39785
aa7e3b71802d Split pidgin_account_option_menu into its own files.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
83
aa7e3b71802d Split pidgin_account_option_menu into its own files.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
84 /**
39786
7800f52d0ae6 Rename pidgin_account_option_menu_* to pidgin_account_chooser_*.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39785
diff changeset
85 * pidgin_account_chooser_set_selected:
39795
5b9c99c1378d Fix some more account chooser doc errors.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39793
diff changeset
86 * @chooser: The chooser created by pidgin_account_chooser_new().
5b9c99c1378d Fix some more account chooser doc errors.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39793
diff changeset
87 * @account: The #PurpleAccount to select.
39785
aa7e3b71802d Split pidgin_account_option_menu into its own files.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
88 *
39786
7800f52d0ae6 Rename pidgin_account_option_menu_* to pidgin_account_chooser_*.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39785
diff changeset
89 * Sets the currently selected account for an account combo box.
7800f52d0ae6 Rename pidgin_account_option_menu_* to pidgin_account_chooser_*.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39785
diff changeset
90 *
7800f52d0ae6 Rename pidgin_account_option_menu_* to pidgin_account_chooser_*.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39785
diff changeset
91 * Since: 3.0.0
39785
aa7e3b71802d Split pidgin_account_option_menu into its own files.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
92 */
39786
7800f52d0ae6 Rename pidgin_account_option_menu_* to pidgin_account_chooser_*.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39785
diff changeset
93 void pidgin_account_chooser_set_selected(GtkWidget *chooser,
7800f52d0ae6 Rename pidgin_account_option_menu_* to pidgin_account_chooser_*.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39785
diff changeset
94 PurpleAccount *account);
39785
aa7e3b71802d Split pidgin_account_option_menu into its own files.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
95
40248
0d975f80d020 Add account/show-all properties to PidginAccountChooser.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 40233
diff changeset
96 /**
0d975f80d020 Add account/show-all properties to PidginAccountChooser.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 40233
diff changeset
97 * pidgin_account_chooser_get_show_all:
0d975f80d020 Add account/show-all properties to PidginAccountChooser.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 40233
diff changeset
98 * @chooser: The chooser created by pidgin_account_chooser_new().
0d975f80d020 Add account/show-all properties to PidginAccountChooser.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 40233
diff changeset
99 *
0d975f80d020 Add account/show-all properties to PidginAccountChooser.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 40233
diff changeset
100 * Returns whether to show all accounts.
0d975f80d020 Add account/show-all properties to PidginAccountChooser.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 40233
diff changeset
101 *
0d975f80d020 Add account/show-all properties to PidginAccountChooser.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 40233
diff changeset
102 * Returns: Whether or not to show all accounts, or just active accounts.
0d975f80d020 Add account/show-all properties to PidginAccountChooser.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 40233
diff changeset
103 *
0d975f80d020 Add account/show-all properties to PidginAccountChooser.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 40233
diff changeset
104 * Since: 3.0.0
0d975f80d020 Add account/show-all properties to PidginAccountChooser.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 40233
diff changeset
105 */
0d975f80d020 Add account/show-all properties to PidginAccountChooser.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 40233
diff changeset
106 gboolean pidgin_account_chooser_get_show_all(GtkWidget *chooser);
0d975f80d020 Add account/show-all properties to PidginAccountChooser.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 40233
diff changeset
107
39785
aa7e3b71802d Split pidgin_account_option_menu into its own files.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
108 G_END_DECLS
aa7e3b71802d Split pidgin_account_option_menu into its own files.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
109
aa7e3b71802d Split pidgin_account_option_menu into its own files.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
110 #endif /* PIDGIN_ACCOUNT_CHOOSER_H */

mercurial