pidgin/gtkprefs.h

Fri, 14 Sep 2007 17:55:05 +0000

author
Daniel Atallah <datallah@pidgin.im>
date
Fri, 14 Sep 2007 17:55:05 +0000
changeset 20073
dbea205441ea
parent 19859
71d37b57eff2
child 20147
66f05a854eee
permissions
-rw-r--r--

Fix proxy settings to be loaded correctly when libpurple is initialized. This was broken because it relied on the prefs being loaded after proxy initialization so that the pref callbacks would be triggered and I changed the prefs loading to happen right at the beginning to fix other issues. Fixes #3092.

5530
ba1ad464b56f [gaim-migrate @ 5930]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
1 /**
ba1ad464b56f [gaim-migrate @ 5930]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
2 * @file gtkprefs.h GTK+ Preferences
16254
eeb2bba4dc94 Rename the Doxygen group from gtkui to pidgin.
Richard Laager <rlaager@pidgin.im>
parents: 15931
diff changeset
3 * @ingroup pidgin
5530
ba1ad464b56f [gaim-migrate @ 5930]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
4 *
15931
716b5fac1895 Re-sed the copyright notices so they don't all talk about Purple.
Richard Laager <rlaager@pidgin.im>
parents: 15884
diff changeset
5 * pidgin
5530
ba1ad464b56f [gaim-migrate @ 5930]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
6 *
15572
e069b22c1fc4 headers to pidgin
Sean Egan <seanegan@pidgin.im>
parents: 15562
diff changeset
7 * Pidgin is the legal property of its developers, whose names are too numerous
8046
c581b20a47d6 [gaim-migrate @ 8730]
Sean Egan <seanegan@pidgin.im>
parents: 7987
diff changeset
8 * to list here. Please refer to the COPYRIGHT file distributed with this
c581b20a47d6 [gaim-migrate @ 8730]
Sean Egan <seanegan@pidgin.im>
parents: 7987
diff changeset
9 * source distribution.
5530
ba1ad464b56f [gaim-migrate @ 5930]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
10 *
ba1ad464b56f [gaim-migrate @ 5930]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
11 * This program is free software; you can redistribute it and/or modify
ba1ad464b56f [gaim-migrate @ 5930]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
12 * it under the terms of the GNU General Public License as published by
ba1ad464b56f [gaim-migrate @ 5930]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
13 * the Free Software Foundation; either version 2 of the License, or
ba1ad464b56f [gaim-migrate @ 5930]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
14 * (at your option) any later version.
ba1ad464b56f [gaim-migrate @ 5930]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
15 *
ba1ad464b56f [gaim-migrate @ 5930]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
16 * This program is distributed in the hope that it will be useful,
ba1ad464b56f [gaim-migrate @ 5930]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
17 * but WITHOUT ANY WARRANTY; without even the implied warranty of
ba1ad464b56f [gaim-migrate @ 5930]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
18 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
ba1ad464b56f [gaim-migrate @ 5930]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
19 * GNU General Public License for more details.
ba1ad464b56f [gaim-migrate @ 5930]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
20 *
ba1ad464b56f [gaim-migrate @ 5930]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
21 * You should have received a copy of the GNU General Public License
ba1ad464b56f [gaim-migrate @ 5930]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
22 * 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: 16254
diff changeset
23 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA
5530
ba1ad464b56f [gaim-migrate @ 5930]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
24 *
ba1ad464b56f [gaim-migrate @ 5930]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
25 */
15562
8c8249fe5e3c gaim_gtk to pidgin. I hope
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
26 #ifndef _PIDGINPREFS_H_
8c8249fe5e3c gaim_gtk to pidgin. I hope
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
27 #define _PIDGINPREFS_H_
9713
bb37562302a1 [gaim-migrate @ 10574]
Mark Doliner <markdoliner@pidgin.im>
parents: 9422
diff changeset
28
7976
fa3b5ed4ac97 [gaim-migrate @ 8653]
Daniel Atallah <datallah@pidgin.im>
parents: 7931
diff changeset
29 #include "prefs.h"
5530
ba1ad464b56f [gaim-migrate @ 5930]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
30
ba1ad464b56f [gaim-migrate @ 5930]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
31 /**
ba1ad464b56f [gaim-migrate @ 5930]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
32 * Initializes all UI-specific preferences.
ba1ad464b56f [gaim-migrate @ 5930]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
33 */
15562
8c8249fe5e3c gaim_gtk to pidgin. I hope
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
34 void pidgin_prefs_init(void);
5530
ba1ad464b56f [gaim-migrate @ 5930]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
35
ba1ad464b56f [gaim-migrate @ 5930]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
36 /**
ba1ad464b56f [gaim-migrate @ 5930]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
37 * Shows the preferences dialog.
ba1ad464b56f [gaim-migrate @ 5930]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
38 */
15562
8c8249fe5e3c gaim_gtk to pidgin. I hope
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
39 void pidgin_prefs_show(void);
5530
ba1ad464b56f [gaim-migrate @ 5930]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
40
ba1ad464b56f [gaim-migrate @ 5930]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
41 /**
7976
fa3b5ed4ac97 [gaim-migrate @ 8653]
Daniel Atallah <datallah@pidgin.im>
parents: 7931
diff changeset
42 * Add a new checkbox for a boolean preference
fa3b5ed4ac97 [gaim-migrate @ 8653]
Daniel Atallah <datallah@pidgin.im>
parents: 7931
diff changeset
43 *
fa3b5ed4ac97 [gaim-migrate @ 8653]
Daniel Atallah <datallah@pidgin.im>
parents: 7931
diff changeset
44 * @param title The text to be displayed as the checkbox label
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15572
diff changeset
45 * @param key The key of the purple bool pref that will be represented by the checkbox
7976
fa3b5ed4ac97 [gaim-migrate @ 8653]
Daniel Atallah <datallah@pidgin.im>
parents: 7931
diff changeset
46 * @param page The page to which the new checkbox will be added
fa3b5ed4ac97 [gaim-migrate @ 8653]
Daniel Atallah <datallah@pidgin.im>
parents: 7931
diff changeset
47 */
15562
8c8249fe5e3c gaim_gtk to pidgin. I hope
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
48 GtkWidget *pidgin_prefs_checkbox(const char *title, const char *key,
7987
3678cf633995 [gaim-migrate @ 8664]
Nathan Walp <nwalp@pidgin.im>
parents: 7978
diff changeset
49 GtkWidget *page);
7976
fa3b5ed4ac97 [gaim-migrate @ 8653]
Daniel Atallah <datallah@pidgin.im>
parents: 7931
diff changeset
50
fa3b5ed4ac97 [gaim-migrate @ 8653]
Daniel Atallah <datallah@pidgin.im>
parents: 7931
diff changeset
51 /**
fa3b5ed4ac97 [gaim-migrate @ 8653]
Daniel Atallah <datallah@pidgin.im>
parents: 7931
diff changeset
52 * Add a new spin button representing an int preference
fa3b5ed4ac97 [gaim-migrate @ 8653]
Daniel Atallah <datallah@pidgin.im>
parents: 7931
diff changeset
53 *
fa3b5ed4ac97 [gaim-migrate @ 8653]
Daniel Atallah <datallah@pidgin.im>
parents: 7931
diff changeset
54 * @param page The page to which the spin button will be added
fa3b5ed4ac97 [gaim-migrate @ 8653]
Daniel Atallah <datallah@pidgin.im>
parents: 7931
diff changeset
55 * @param title The text to be displayed as the spin button label
7987
3678cf633995 [gaim-migrate @ 8664]
Nathan Walp <nwalp@pidgin.im>
parents: 7978
diff changeset
56 * @param key The key of the int pref that will be represented by the spin button
7976
fa3b5ed4ac97 [gaim-migrate @ 8653]
Daniel Atallah <datallah@pidgin.im>
parents: 7931
diff changeset
57 * @param min The minimum value of the spin button
fa3b5ed4ac97 [gaim-migrate @ 8653]
Daniel Atallah <datallah@pidgin.im>
parents: 7931
diff changeset
58 * @param max The maximum value of the spin button
fa3b5ed4ac97 [gaim-migrate @ 8653]
Daniel Atallah <datallah@pidgin.im>
parents: 7931
diff changeset
59 * @param sg If not NULL, the size group to which the spin button will be added
8238
f7d22f952df5 [gaim-migrate @ 8961]
Mark Doliner <markdoliner@pidgin.im>
parents: 8046
diff changeset
60 * @return An hbox containing both the label and the spinner. Can be
8735
01248ea222d3 [gaim-migrate @ 9490]
Jonathan Champ <royanee@users.sourceforge.net>
parents: 8713
diff changeset
61 * used to set the widgets to sensitive or insensitive based on the
8238
f7d22f952df5 [gaim-migrate @ 8961]
Mark Doliner <markdoliner@pidgin.im>
parents: 8046
diff changeset
62 * value of a checkbox.
7976
fa3b5ed4ac97 [gaim-migrate @ 8653]
Daniel Atallah <datallah@pidgin.im>
parents: 7931
diff changeset
63 */
15562
8c8249fe5e3c gaim_gtk to pidgin. I hope
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
64 GtkWidget *pidgin_prefs_labeled_spin_button(GtkWidget *page,
10367
7bd4802cff7d [gaim-migrate @ 11586]
Kevin Stange <kstange@pidgin.im>
parents: 10207
diff changeset
65 const gchar *title, const char *key, int min, int max, GtkSizeGroup *sg);
7976
fa3b5ed4ac97 [gaim-migrate @ 8653]
Daniel Atallah <datallah@pidgin.im>
parents: 7931
diff changeset
66
fa3b5ed4ac97 [gaim-migrate @ 8653]
Daniel Atallah <datallah@pidgin.im>
parents: 7931
diff changeset
67 /**
9422
fda18b808f1c [gaim-migrate @ 10240]
Gary Kramlich <grim@pidgin.im>
parents: 8905
diff changeset
68 * Add a new entry representing a string preference
fda18b808f1c [gaim-migrate @ 10240]
Gary Kramlich <grim@pidgin.im>
parents: 8905
diff changeset
69 *
fda18b808f1c [gaim-migrate @ 10240]
Gary Kramlich <grim@pidgin.im>
parents: 8905
diff changeset
70 * @param page The page to which the entry will be added
fda18b808f1c [gaim-migrate @ 10240]
Gary Kramlich <grim@pidgin.im>
parents: 8905
diff changeset
71 * @param title The text to be displayed as the entry label
fda18b808f1c [gaim-migrate @ 10240]
Gary Kramlich <grim@pidgin.im>
parents: 8905
diff changeset
72 * @param key The key of the string pref that will be represented by the entry
fda18b808f1c [gaim-migrate @ 10240]
Gary Kramlich <grim@pidgin.im>
parents: 8905
diff changeset
73 * @param sg If not NULL, the size group to which the entry will be added
fda18b808f1c [gaim-migrate @ 10240]
Gary Kramlich <grim@pidgin.im>
parents: 8905
diff changeset
74 *
fda18b808f1c [gaim-migrate @ 10240]
Gary Kramlich <grim@pidgin.im>
parents: 8905
diff changeset
75 * @return An hbox containing both the label and the entry. Can be used to set
fda18b808f1c [gaim-migrate @ 10240]
Gary Kramlich <grim@pidgin.im>
parents: 8905
diff changeset
76 * the widgets to sensitive or insensitive based on the value of a
fda18b808f1c [gaim-migrate @ 10240]
Gary Kramlich <grim@pidgin.im>
parents: 8905
diff changeset
77 * checkbox.
fda18b808f1c [gaim-migrate @ 10240]
Gary Kramlich <grim@pidgin.im>
parents: 8905
diff changeset
78 */
15562
8c8249fe5e3c gaim_gtk to pidgin. I hope
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
79 GtkWidget *pidgin_prefs_labeled_entry(GtkWidget *page, const gchar *title,
10367
7bd4802cff7d [gaim-migrate @ 11586]
Kevin Stange <kstange@pidgin.im>
parents: 10207
diff changeset
80 const char *key, GtkSizeGroup *sg);
9422
fda18b808f1c [gaim-migrate @ 10240]
Gary Kramlich <grim@pidgin.im>
parents: 8905
diff changeset
81
fda18b808f1c [gaim-migrate @ 10240]
Gary Kramlich <grim@pidgin.im>
parents: 8905
diff changeset
82 /**
7976
fa3b5ed4ac97 [gaim-migrate @ 8653]
Daniel Atallah <datallah@pidgin.im>
parents: 7931
diff changeset
83 * Add a new dropdown representing a preference of the specified type
fa3b5ed4ac97 [gaim-migrate @ 8653]
Daniel Atallah <datallah@pidgin.im>
parents: 7931
diff changeset
84 *
7978
de1f34b43e0b [gaim-migrate @ 8655]
Nathan Walp <nwalp@pidgin.im>
parents: 7976
diff changeset
85 * @param page The page to which the dropdown will be added
de1f34b43e0b [gaim-migrate @ 8655]
Nathan Walp <nwalp@pidgin.im>
parents: 7976
diff changeset
86 * @param title The text to be displayed as the dropdown label
7976
fa3b5ed4ac97 [gaim-migrate @ 8653]
Daniel Atallah <datallah@pidgin.im>
parents: 7931
diff changeset
87 * @param type The type of preference to be stored in the generated dropdown
7987
3678cf633995 [gaim-migrate @ 8664]
Nathan Walp <nwalp@pidgin.im>
parents: 7978
diff changeset
88 * @param key The key of the pref that will be represented by the dropdown
8713
8a7baa8f8460 [gaim-migrate @ 9467]
Gary Kramlich <grim@pidgin.im>
parents: 8705
diff changeset
89 * @param ... The choices to be added to the dropdown, choices should be
8a7baa8f8460 [gaim-migrate @ 9467]
Gary Kramlich <grim@pidgin.im>
parents: 8705
diff changeset
90 * paired as label/value
7976
fa3b5ed4ac97 [gaim-migrate @ 8653]
Daniel Atallah <datallah@pidgin.im>
parents: 7931
diff changeset
91 */
15562
8c8249fe5e3c gaim_gtk to pidgin. I hope
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
92 GtkWidget *pidgin_prefs_dropdown(GtkWidget *page, const gchar *title,
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15572
diff changeset
93 PurplePrefType type, const char *key, ...);
7976
fa3b5ed4ac97 [gaim-migrate @ 8653]
Daniel Atallah <datallah@pidgin.im>
parents: 7931
diff changeset
94
fa3b5ed4ac97 [gaim-migrate @ 8653]
Daniel Atallah <datallah@pidgin.im>
parents: 7931
diff changeset
95 /**
fa3b5ed4ac97 [gaim-migrate @ 8653]
Daniel Atallah <datallah@pidgin.im>
parents: 7931
diff changeset
96 * Add a new dropdown representing a preference of the specified type
fa3b5ed4ac97 [gaim-migrate @ 8653]
Daniel Atallah <datallah@pidgin.im>
parents: 7931
diff changeset
97 *
7978
de1f34b43e0b [gaim-migrate @ 8655]
Nathan Walp <nwalp@pidgin.im>
parents: 7976
diff changeset
98 * @param page The page to which the dropdown will be added
de1f34b43e0b [gaim-migrate @ 8655]
Nathan Walp <nwalp@pidgin.im>
parents: 7976
diff changeset
99 * @param title The text to be displayed as the dropdown label
7987
3678cf633995 [gaim-migrate @ 8664]
Nathan Walp <nwalp@pidgin.im>
parents: 7978
diff changeset
100 * @param type The type of preference to be stored in the dropdown
3678cf633995 [gaim-migrate @ 8664]
Nathan Walp <nwalp@pidgin.im>
parents: 7978
diff changeset
101 * @param key The key of the pref that will be represented by the dropdown
8713
8a7baa8f8460 [gaim-migrate @ 9467]
Gary Kramlich <grim@pidgin.im>
parents: 8705
diff changeset
102 * @param menuitems The choices to be added to the dropdown, choices should
8a7baa8f8460 [gaim-migrate @ 9467]
Gary Kramlich <grim@pidgin.im>
parents: 8705
diff changeset
103 * be paired as label/value
7976
fa3b5ed4ac97 [gaim-migrate @ 8653]
Daniel Atallah <datallah@pidgin.im>
parents: 7931
diff changeset
104 */
15562
8c8249fe5e3c gaim_gtk to pidgin. I hope
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
105 GtkWidget *pidgin_prefs_dropdown_from_list(GtkWidget *page,
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15572
diff changeset
106 const gchar * title, PurplePrefType type, const char *key,
7987
3678cf633995 [gaim-migrate @ 8664]
Nathan Walp <nwalp@pidgin.im>
parents: 7978
diff changeset
107 GList *menuitems);
7976
fa3b5ed4ac97 [gaim-migrate @ 8653]
Daniel Atallah <datallah@pidgin.im>
parents: 7931
diff changeset
108
8905
cedfa637389f [gaim-migrate @ 9674]
Mark Doliner <markdoliner@pidgin.im>
parents: 8900
diff changeset
109 /**
cedfa637389f [gaim-migrate @ 9674]
Mark Doliner <markdoliner@pidgin.im>
parents: 8900
diff changeset
110 * Rename legacy prefs and delete some that no longer exist.
cedfa637389f [gaim-migrate @ 9674]
Mark Doliner <markdoliner@pidgin.im>
parents: 8900
diff changeset
111 */
15562
8c8249fe5e3c gaim_gtk to pidgin. I hope
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
112 void pidgin_prefs_update_old(void);
8905
cedfa637389f [gaim-migrate @ 9674]
Mark Doliner <markdoliner@pidgin.im>
parents: 8900
diff changeset
113
15562
8c8249fe5e3c gaim_gtk to pidgin. I hope
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
114 #endif /* _PIDGINPREFS_H_ */

mercurial