pidgin/prefs/pidginprefs.h

Sat, 29 Oct 2022 01:14:13 -0500

author
Gary Kramlich <grim@reaperworld.com>
date
Sat, 29 Oct 2022 01:14:13 -0500
changeset 41859
ed82ab63d15a
parent 41397
91e5ee47f5a1
child 42072
606edc665dc2
permissions
-rw-r--r--

Convert PidginProxyPrefs to Adwaita 1.2

Testing Done:
Set all the values via the ui and the config file and tested bad values in the port in both as well. Bad values in the ui will store whatever atoi returned, but bad values in the config file will fallback to the default.

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

41397
91e5ee47f5a1 Cleanup pidgin prefs
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 41197
diff changeset
1 /*
91e5ee47f5a1 Cleanup pidgin prefs
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 41197
diff changeset
2 * Pidgin - Internet Messenger
91e5ee47f5a1 Cleanup pidgin prefs
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 41197
diff changeset
3 * Copyright (C) Pidgin Developers <devel@pidgin.im>
5530
ba1ad464b56f [gaim-migrate @ 5930]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
4 *
15572
e069b22c1fc4 headers to pidgin
Sean Egan <seanegan@pidgin.im>
parents: 15562
diff changeset
5 * 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
6 * 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
7 * source distribution.
5530
ba1ad464b56f [gaim-migrate @ 5930]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
8 *
ba1ad464b56f [gaim-migrate @ 5930]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
9 * This program is free software; you can redistribute it and/or modify
ba1ad464b56f [gaim-migrate @ 5930]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
10 * 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
11 * the Free Software Foundation; either version 2 of the License, or
ba1ad464b56f [gaim-migrate @ 5930]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
12 * (at your option) any later version.
ba1ad464b56f [gaim-migrate @ 5930]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
13 *
ba1ad464b56f [gaim-migrate @ 5930]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
14 * This program is distributed in the hope that it will be useful,
ba1ad464b56f [gaim-migrate @ 5930]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
15 * but WITHOUT ANY WARRANTY; without even the implied warranty of
ba1ad464b56f [gaim-migrate @ 5930]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
16 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
ba1ad464b56f [gaim-migrate @ 5930]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
17 * GNU General Public License for more details.
ba1ad464b56f [gaim-migrate @ 5930]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
18 *
ba1ad464b56f [gaim-migrate @ 5930]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
19 * You should have received a copy of the GNU General Public License
41397
91e5ee47f5a1 Cleanup pidgin prefs
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 41197
diff changeset
20 * along with this program; if not, see <https://www.gnu.org/licenses/>.
5530
ba1ad464b56f [gaim-migrate @ 5930]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
21 */
35487
494f09f7f331 Move section blocks inside inclusion guards -- otherwise g-ir-scanner yells
Ankit Vani <a@nevitus.org>
parents: 35451
diff changeset
22
40502
875489636847 pidgin.h phase3: create pidgin.h and force its usage
Gary Kramlich <grim@reaperworld.com>
parents: 40360
diff changeset
23 #if !defined(PIDGIN_GLOBAL_HEADER_INSIDE) && !defined(PIDGIN_COMPILATION)
875489636847 pidgin.h phase3: create pidgin.h and force its usage
Gary Kramlich <grim@reaperworld.com>
parents: 40360
diff changeset
24 # error "only <pidgin.h> may be included directly"
875489636847 pidgin.h phase3: create pidgin.h and force its usage
Gary Kramlich <grim@reaperworld.com>
parents: 40360
diff changeset
25 #endif
875489636847 pidgin.h phase3: create pidgin.h and force its usage
Gary Kramlich <grim@reaperworld.com>
parents: 40360
diff changeset
26
40886
198bf5bc58ce Move Pidgin preferences code into a subdirectory.
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 40502
diff changeset
27 #ifndef PIDGIN_PREFS_H
198bf5bc58ce Move Pidgin preferences code into a subdirectory.
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 40502
diff changeset
28 #define PIDGIN_PREFS_H
35451
206524351826 Add sections for finch and re-arrange its doc index
Ankit Vani <a@nevitus.org>
parents: 35416
diff changeset
29
41397
91e5ee47f5a1 Cleanup pidgin prefs
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 41197
diff changeset
30 #include <glib.h>
40360
e21f3bbcc2a5 Update all of the pidgin code to include purple.h
Gary Kramlich <grim@reaperworld.com>
parents: 40330
diff changeset
31 #include <purple.h>
41397
91e5ee47f5a1 Cleanup pidgin prefs
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 41197
diff changeset
32 #include <gtk/gtk.h>
5530
ba1ad464b56f [gaim-migrate @ 5930]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
33
32790
b95c7c504118 Add G_BEGIN/END_DECLS to Pidgin public headers, most of which did
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 32438
diff changeset
34 G_BEGIN_DECLS
b95c7c504118 Add G_BEGIN/END_DECLS to Pidgin public headers, most of which did
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 32438
diff changeset
35
39178
53a96425ffc0 Start switching Preferences dialog to Glade.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38744
diff changeset
36 #define PIDGIN_TYPE_PREFS_WINDOW (pidgin_prefs_window_get_type())
41397
91e5ee47f5a1 Cleanup pidgin prefs
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 41197
diff changeset
37 G_DECLARE_FINAL_TYPE(PidginPrefsWindow, pidgin_prefs_window, PIDGIN,
91e5ee47f5a1 Cleanup pidgin prefs
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 41197
diff changeset
38 PREFS_WINDOW, GtkDialog)
39178
53a96425ffc0 Start switching Preferences dialog to Glade.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38744
diff changeset
39
5530
ba1ad464b56f [gaim-migrate @ 5930]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
40 /**
35416
35c615531b2a Convert docs from doxygen to gtk-doc format for gtkdebug to gtksmiley
Ankit Vani <a@nevitus.org>
parents: 35393
diff changeset
41 * pidgin_prefs_init:
35c615531b2a Convert docs from doxygen to gtk-doc format for gtkdebug to gtksmiley
Ankit Vani <a@nevitus.org>
parents: 35393
diff changeset
42 *
5530
ba1ad464b56f [gaim-migrate @ 5930]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
43 * Initializes all UI-specific preferences.
ba1ad464b56f [gaim-migrate @ 5930]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
44 */
15562
8c8249fe5e3c gaim_gtk to pidgin. I hope
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
45 void pidgin_prefs_init(void);
5530
ba1ad464b56f [gaim-migrate @ 5930]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
46
ba1ad464b56f [gaim-migrate @ 5930]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
47 /**
35416
35c615531b2a Convert docs from doxygen to gtk-doc format for gtkdebug to gtksmiley
Ankit Vani <a@nevitus.org>
parents: 35393
diff changeset
48 * pidgin_prefs_show:
35c615531b2a Convert docs from doxygen to gtk-doc format for gtkdebug to gtksmiley
Ankit Vani <a@nevitus.org>
parents: 35393
diff changeset
49 *
5530
ba1ad464b56f [gaim-migrate @ 5930]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
50 * Shows the preferences dialog.
ba1ad464b56f [gaim-migrate @ 5930]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
51 */
15562
8c8249fe5e3c gaim_gtk to pidgin. I hope
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
52 void pidgin_prefs_show(void);
5530
ba1ad464b56f [gaim-migrate @ 5930]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
53
ba1ad464b56f [gaim-migrate @ 5930]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
54 /**
35416
35c615531b2a Convert docs from doxygen to gtk-doc format for gtkdebug to gtksmiley
Ankit Vani <a@nevitus.org>
parents: 35393
diff changeset
55 * pidgin_prefs_checkbox:
35393
00f876b129bc Initial replacements for gtk-doc style comments
Ankit Vani <a@nevitus.org>
parents: 32790
diff changeset
56 * @title: The text to be displayed as the checkbox label
00f876b129bc Initial replacements for gtk-doc style comments
Ankit Vani <a@nevitus.org>
parents: 32790
diff changeset
57 * @key: The key of the purple bool pref that will be represented by the checkbox
00f876b129bc Initial replacements for gtk-doc style comments
Ankit Vani <a@nevitus.org>
parents: 32790
diff changeset
58 * @page: The page to which the new checkbox will be added
35416
35c615531b2a Convert docs from doxygen to gtk-doc format for gtkdebug to gtksmiley
Ankit Vani <a@nevitus.org>
parents: 35393
diff changeset
59 *
35c615531b2a Convert docs from doxygen to gtk-doc format for gtkdebug to gtksmiley
Ankit Vani <a@nevitus.org>
parents: 35393
diff changeset
60 * Add a new checkbox for a boolean preference
38744
48a376346964 Lots of updates for Pidgin-3.0.gir
Gary Kramlich <grim@reaperworld.com>
parents: 37094
diff changeset
61 *
48a376346964 Lots of updates for Pidgin-3.0.gir
Gary Kramlich <grim@reaperworld.com>
parents: 37094
diff changeset
62 * Returns: (transfer full): The new 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_checkbox(const char *title, const char *key,
7987
3678cf633995 [gaim-migrate @ 8664]
Nathan Walp <nwalp@pidgin.im>
parents: 7978
diff changeset
65 GtkWidget *page);
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 /**
35416
35c615531b2a Convert docs from doxygen to gtk-doc format for gtkdebug to gtksmiley
Ankit Vani <a@nevitus.org>
parents: 35393
diff changeset
68 * pidgin_prefs_labeled_spin_button:
35393
00f876b129bc Initial replacements for gtk-doc style comments
Ankit Vani <a@nevitus.org>
parents: 32790
diff changeset
69 * @page: The page to which the spin button will be added
00f876b129bc Initial replacements for gtk-doc style comments
Ankit Vani <a@nevitus.org>
parents: 32790
diff changeset
70 * @title: The text to be displayed as the spin button label
00f876b129bc Initial replacements for gtk-doc style comments
Ankit Vani <a@nevitus.org>
parents: 32790
diff changeset
71 * @key: The key of the int pref that will be represented by the spin button
00f876b129bc Initial replacements for gtk-doc style comments
Ankit Vani <a@nevitus.org>
parents: 32790
diff changeset
72 * @min: The minimum value of the spin button
00f876b129bc Initial replacements for gtk-doc style comments
Ankit Vani <a@nevitus.org>
parents: 32790
diff changeset
73 * @max: The maximum value of the spin button
00f876b129bc Initial replacements for gtk-doc style comments
Ankit Vani <a@nevitus.org>
parents: 32790
diff changeset
74 * @sg: If not NULL, the size group to which the spin button will be added
35416
35c615531b2a Convert docs from doxygen to gtk-doc format for gtkdebug to gtksmiley
Ankit Vani <a@nevitus.org>
parents: 35393
diff changeset
75 *
35c615531b2a Convert docs from doxygen to gtk-doc format for gtkdebug to gtksmiley
Ankit Vani <a@nevitus.org>
parents: 35393
diff changeset
76 * Add a new spin button representing an int preference
35c615531b2a Convert docs from doxygen to gtk-doc format for gtkdebug to gtksmiley
Ankit Vani <a@nevitus.org>
parents: 35393
diff changeset
77 *
38744
48a376346964 Lots of updates for Pidgin-3.0.gir
Gary Kramlich <grim@reaperworld.com>
parents: 37094
diff changeset
78 * Returns: (transfer full): An hbox containing both the label and the spinner. Can be
48a376346964 Lots of updates for Pidgin-3.0.gir
Gary Kramlich <grim@reaperworld.com>
parents: 37094
diff changeset
79 * used to set the widgets to sensitive or insensitive based on the
48a376346964 Lots of updates for Pidgin-3.0.gir
Gary Kramlich <grim@reaperworld.com>
parents: 37094
diff changeset
80 * value of a checkbox.
7976
fa3b5ed4ac97 [gaim-migrate @ 8653]
Daniel Atallah <datallah@pidgin.im>
parents: 7931
diff changeset
81 */
15562
8c8249fe5e3c gaim_gtk to pidgin. I hope
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
82 GtkWidget *pidgin_prefs_labeled_spin_button(GtkWidget *page,
10367
7bd4802cff7d [gaim-migrate @ 11586]
Kevin Stange <kstange@pidgin.im>
parents: 10207
diff changeset
83 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
84
fa3b5ed4ac97 [gaim-migrate @ 8653]
Daniel Atallah <datallah@pidgin.im>
parents: 7931
diff changeset
85 /**
35416
35c615531b2a Convert docs from doxygen to gtk-doc format for gtkdebug to gtksmiley
Ankit Vani <a@nevitus.org>
parents: 35393
diff changeset
86 * pidgin_prefs_dropdown:
35393
00f876b129bc Initial replacements for gtk-doc style comments
Ankit Vani <a@nevitus.org>
parents: 32790
diff changeset
87 * @page: The page to which the dropdown will be added
00f876b129bc Initial replacements for gtk-doc style comments
Ankit Vani <a@nevitus.org>
parents: 32790
diff changeset
88 * @title: The text to be displayed as the dropdown label
00f876b129bc Initial replacements for gtk-doc style comments
Ankit Vani <a@nevitus.org>
parents: 32790
diff changeset
89 * @type: The type of preference to be stored in the generated dropdown
00f876b129bc Initial replacements for gtk-doc style comments
Ankit Vani <a@nevitus.org>
parents: 32790
diff changeset
90 * @key: The key of the pref that will be represented by the dropdown
00f876b129bc Initial replacements for gtk-doc style comments
Ankit Vani <a@nevitus.org>
parents: 32790
diff changeset
91 * @...: The choices to be added to the dropdown, choices should be
8713
8a7baa8f8460 [gaim-migrate @ 9467]
Gary Kramlich <grim@pidgin.im>
parents: 8705
diff changeset
92 * paired as label/value
35416
35c615531b2a Convert docs from doxygen to gtk-doc format for gtkdebug to gtksmiley
Ankit Vani <a@nevitus.org>
parents: 35393
diff changeset
93 *
35c615531b2a Convert docs from doxygen to gtk-doc format for gtkdebug to gtksmiley
Ankit Vani <a@nevitus.org>
parents: 35393
diff changeset
94 * Add a new dropdown representing a preference of the specified type
38744
48a376346964 Lots of updates for Pidgin-3.0.gir
Gary Kramlich <grim@reaperworld.com>
parents: 37094
diff changeset
95 *
48a376346964 Lots of updates for Pidgin-3.0.gir
Gary Kramlich <grim@reaperworld.com>
parents: 37094
diff changeset
96 * Returns: (transfer full): The new dropdown.
7976
fa3b5ed4ac97 [gaim-migrate @ 8653]
Daniel Atallah <datallah@pidgin.im>
parents: 7931
diff changeset
97 */
15562
8c8249fe5e3c gaim_gtk to pidgin. I hope
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
98 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
99 PurplePrefType type, const char *key, ...);
7976
fa3b5ed4ac97 [gaim-migrate @ 8653]
Daniel Atallah <datallah@pidgin.im>
parents: 7931
diff changeset
100
fa3b5ed4ac97 [gaim-migrate @ 8653]
Daniel Atallah <datallah@pidgin.im>
parents: 7931
diff changeset
101 /**
35416
35c615531b2a Convert docs from doxygen to gtk-doc format for gtkdebug to gtksmiley
Ankit Vani <a@nevitus.org>
parents: 35393
diff changeset
102 * pidgin_prefs_dropdown_from_list:
35393
00f876b129bc Initial replacements for gtk-doc style comments
Ankit Vani <a@nevitus.org>
parents: 32790
diff changeset
103 * @page: The page to which the dropdown will be added
00f876b129bc Initial replacements for gtk-doc style comments
Ankit Vani <a@nevitus.org>
parents: 32790
diff changeset
104 * @title: The text to be displayed as the dropdown label
00f876b129bc Initial replacements for gtk-doc style comments
Ankit Vani <a@nevitus.org>
parents: 32790
diff changeset
105 * @type: The type of preference to be stored in the dropdown
00f876b129bc Initial replacements for gtk-doc style comments
Ankit Vani <a@nevitus.org>
parents: 32790
diff changeset
106 * @key: The key of the pref that will be represented by the dropdown
40330
5311cf2ae115 Replace PurpleNamedValue with PurpleKeyValuePair in GTK-Doc comments
qarkai <qarkai@gmail.com>
parents: 40326
diff changeset
107 * @menuitems: (element-type PurpleKeyValuePair): The choices to be added to the dropdown, choices should
38744
48a376346964 Lots of updates for Pidgin-3.0.gir
Gary Kramlich <grim@reaperworld.com>
parents: 37094
diff changeset
108 * be paired as label/value
35416
35c615531b2a Convert docs from doxygen to gtk-doc format for gtkdebug to gtksmiley
Ankit Vani <a@nevitus.org>
parents: 35393
diff changeset
109 *
35c615531b2a Convert docs from doxygen to gtk-doc format for gtkdebug to gtksmiley
Ankit Vani <a@nevitus.org>
parents: 35393
diff changeset
110 * Add a new dropdown representing a preference of the specified type
38744
48a376346964 Lots of updates for Pidgin-3.0.gir
Gary Kramlich <grim@reaperworld.com>
parents: 37094
diff changeset
111 *
48a376346964 Lots of updates for Pidgin-3.0.gir
Gary Kramlich <grim@reaperworld.com>
parents: 37094
diff changeset
112 * Returns: (transfer full): The new dropdown.
7976
fa3b5ed4ac97 [gaim-migrate @ 8653]
Daniel Atallah <datallah@pidgin.im>
parents: 7931
diff changeset
113 */
15562
8c8249fe5e3c gaim_gtk to pidgin. I hope
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
114 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
115 const gchar * title, PurplePrefType type, const char *key,
7987
3678cf633995 [gaim-migrate @ 8664]
Nathan Walp <nwalp@pidgin.im>
parents: 7978
diff changeset
116 GList *menuitems);
7976
fa3b5ed4ac97 [gaim-migrate @ 8653]
Daniel Atallah <datallah@pidgin.im>
parents: 7931
diff changeset
117
8905
cedfa637389f [gaim-migrate @ 9674]
Mark Doliner <markdoliner@pidgin.im>
parents: 8900
diff changeset
118 /**
35416
35c615531b2a Convert docs from doxygen to gtk-doc format for gtkdebug to gtksmiley
Ankit Vani <a@nevitus.org>
parents: 35393
diff changeset
119 * pidgin_prefs_update_old:
35c615531b2a Convert docs from doxygen to gtk-doc format for gtkdebug to gtksmiley
Ankit Vani <a@nevitus.org>
parents: 35393
diff changeset
120 *
8905
cedfa637389f [gaim-migrate @ 9674]
Mark Doliner <markdoliner@pidgin.im>
parents: 8900
diff changeset
121 * Rename legacy prefs and delete some that no longer exist.
cedfa637389f [gaim-migrate @ 9674]
Mark Doliner <markdoliner@pidgin.im>
parents: 8900
diff changeset
122 */
15562
8c8249fe5e3c gaim_gtk to pidgin. I hope
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
123 void pidgin_prefs_update_old(void);
8905
cedfa637389f [gaim-migrate @ 9674]
Mark Doliner <markdoliner@pidgin.im>
parents: 8900
diff changeset
124
32790
b95c7c504118 Add G_BEGIN/END_DECLS to Pidgin public headers, most of which did
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 32438
diff changeset
125 G_END_DECLS
b95c7c504118 Add G_BEGIN/END_DECLS to Pidgin public headers, most of which did
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 32438
diff changeset
126
40886
198bf5bc58ce Move Pidgin preferences code into a subdirectory.
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 40502
diff changeset
127 #endif /* PIDGIN_PREFS_H */

mercurial