pidgin/prefs/pidginprefs.h

Fri, 10 Mar 2023 01:16:40 -0600

author
Elliott Sales de Andrade <quantum.analyst@gmail.com>
date
Fri, 10 Mar 2023 01:16:40 -0600
changeset 42135
1a89a067a0d5
parent 42072
606edc665dc2
child 42192
82dbf36ac6db
permissions
-rw-r--r--

Add a PurpleRequestFieldString subclass

This also does an `hg cp`, though with all the renaming of the parameter names, maybe that wasn't as useful for tracking the diff.

Note, I didn't bother re-indenting some of the blocks, because they'll all eventually be moved when everything is subclassed.

Testing Done:
Compiled and opened Request Fields from the Demo protocol.

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

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_checkbox:
35393
00f876b129bc Initial replacements for gtk-doc style comments
Ankit Vani <a@nevitus.org>
parents: 32790
diff changeset
49 * @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
50 * @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
51 * @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
52 *
35c615531b2a Convert docs from doxygen to gtk-doc format for gtkdebug to gtksmiley
Ankit Vani <a@nevitus.org>
parents: 35393
diff changeset
53 * 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
54 *
48a376346964 Lots of updates for Pidgin-3.0.gir
Gary Kramlich <grim@reaperworld.com>
parents: 37094
diff changeset
55 * Returns: (transfer full): The new checkbox
7976
fa3b5ed4ac97 [gaim-migrate @ 8653]
Daniel Atallah <datallah@pidgin.im>
parents: 7931
diff changeset
56 */
15562
8c8249fe5e3c gaim_gtk to pidgin. I hope
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
57 GtkWidget *pidgin_prefs_checkbox(const char *title, const char *key,
7987
3678cf633995 [gaim-migrate @ 8664]
Nathan Walp <nwalp@pidgin.im>
parents: 7978
diff changeset
58 GtkWidget *page);
7976
fa3b5ed4ac97 [gaim-migrate @ 8653]
Daniel Atallah <datallah@pidgin.im>
parents: 7931
diff changeset
59
fa3b5ed4ac97 [gaim-migrate @ 8653]
Daniel Atallah <datallah@pidgin.im>
parents: 7931
diff changeset
60 /**
35416
35c615531b2a Convert docs from doxygen to gtk-doc format for gtkdebug to gtksmiley
Ankit Vani <a@nevitus.org>
parents: 35393
diff changeset
61 * pidgin_prefs_labeled_spin_button:
35393
00f876b129bc Initial replacements for gtk-doc style comments
Ankit Vani <a@nevitus.org>
parents: 32790
diff changeset
62 * @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
63 * @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
64 * @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
65 * @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
66 * @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
67 * @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
68 *
35c615531b2a Convert docs from doxygen to gtk-doc format for gtkdebug to gtksmiley
Ankit Vani <a@nevitus.org>
parents: 35393
diff changeset
69 * 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
70 *
38744
48a376346964 Lots of updates for Pidgin-3.0.gir
Gary Kramlich <grim@reaperworld.com>
parents: 37094
diff changeset
71 * 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
72 * 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
73 * value of a checkbox.
7976
fa3b5ed4ac97 [gaim-migrate @ 8653]
Daniel Atallah <datallah@pidgin.im>
parents: 7931
diff changeset
74 */
15562
8c8249fe5e3c gaim_gtk to pidgin. I hope
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
75 GtkWidget *pidgin_prefs_labeled_spin_button(GtkWidget *page,
10367
7bd4802cff7d [gaim-migrate @ 11586]
Kevin Stange <kstange@pidgin.im>
parents: 10207
diff changeset
76 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
77
fa3b5ed4ac97 [gaim-migrate @ 8653]
Daniel Atallah <datallah@pidgin.im>
parents: 7931
diff changeset
78 /**
35416
35c615531b2a Convert docs from doxygen to gtk-doc format for gtkdebug to gtksmiley
Ankit Vani <a@nevitus.org>
parents: 35393
diff changeset
79 * pidgin_prefs_dropdown:
35393
00f876b129bc Initial replacements for gtk-doc style comments
Ankit Vani <a@nevitus.org>
parents: 32790
diff changeset
80 * @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
81 * @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
82 * @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
83 * @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
84 * @...: 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
85 * 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
86 *
35c615531b2a Convert docs from doxygen to gtk-doc format for gtkdebug to gtksmiley
Ankit Vani <a@nevitus.org>
parents: 35393
diff changeset
87 * 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
88 *
48a376346964 Lots of updates for Pidgin-3.0.gir
Gary Kramlich <grim@reaperworld.com>
parents: 37094
diff changeset
89 * Returns: (transfer full): The new dropdown.
7976
fa3b5ed4ac97 [gaim-migrate @ 8653]
Daniel Atallah <datallah@pidgin.im>
parents: 7931
diff changeset
90 */
15562
8c8249fe5e3c gaim_gtk to pidgin. I hope
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
91 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
92 PurplePrefType type, const char *key, ...);
7976
fa3b5ed4ac97 [gaim-migrate @ 8653]
Daniel Atallah <datallah@pidgin.im>
parents: 7931
diff changeset
93
fa3b5ed4ac97 [gaim-migrate @ 8653]
Daniel Atallah <datallah@pidgin.im>
parents: 7931
diff changeset
94 /**
35416
35c615531b2a Convert docs from doxygen to gtk-doc format for gtkdebug to gtksmiley
Ankit Vani <a@nevitus.org>
parents: 35393
diff changeset
95 * pidgin_prefs_dropdown_from_list:
35393
00f876b129bc Initial replacements for gtk-doc style comments
Ankit Vani <a@nevitus.org>
parents: 32790
diff changeset
96 * @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
97 * @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
98 * @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
99 * @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
100 * @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
101 * 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
102 *
35c615531b2a Convert docs from doxygen to gtk-doc format for gtkdebug to gtksmiley
Ankit Vani <a@nevitus.org>
parents: 35393
diff changeset
103 * 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
104 *
48a376346964 Lots of updates for Pidgin-3.0.gir
Gary Kramlich <grim@reaperworld.com>
parents: 37094
diff changeset
105 * Returns: (transfer full): The new dropdown.
7976
fa3b5ed4ac97 [gaim-migrate @ 8653]
Daniel Atallah <datallah@pidgin.im>
parents: 7931
diff changeset
106 */
15562
8c8249fe5e3c gaim_gtk to pidgin. I hope
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
107 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
108 const gchar * title, PurplePrefType type, const char *key,
7987
3678cf633995 [gaim-migrate @ 8664]
Nathan Walp <nwalp@pidgin.im>
parents: 7978
diff changeset
109 GList *menuitems);
7976
fa3b5ed4ac97 [gaim-migrate @ 8653]
Daniel Atallah <datallah@pidgin.im>
parents: 7931
diff changeset
110
8905
cedfa637389f [gaim-migrate @ 9674]
Mark Doliner <markdoliner@pidgin.im>
parents: 8900
diff changeset
111 /**
35416
35c615531b2a Convert docs from doxygen to gtk-doc format for gtkdebug to gtksmiley
Ankit Vani <a@nevitus.org>
parents: 35393
diff changeset
112 * 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
113 *
8905
cedfa637389f [gaim-migrate @ 9674]
Mark Doliner <markdoliner@pidgin.im>
parents: 8900
diff changeset
114 * Rename legacy prefs and delete some that no longer exist.
cedfa637389f [gaim-migrate @ 9674]
Mark Doliner <markdoliner@pidgin.im>
parents: 8900
diff changeset
115 */
15562
8c8249fe5e3c gaim_gtk to pidgin. I hope
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
116 void pidgin_prefs_update_old(void);
8905
cedfa637389f [gaim-migrate @ 9674]
Mark Doliner <markdoliner@pidgin.im>
parents: 8900
diff changeset
117
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
118 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
119
40886
198bf5bc58ce Move Pidgin preferences code into a subdirectory.
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 40502
diff changeset
120 #endif /* PIDGIN_PREFS_H */

mercurial