src/pluginpref.h

Fri, 18 Nov 2005 16:37:51 +0000

author
Kevin Stange <kstange@pidgin.im>
date
Fri, 18 Nov 2005 16:37:51 +0000
changeset 12136
027b7ebee256
parent 10414
6b10b76933e1
child 12323
f52908fb23b0
permissions
-rw-r--r--

[gaim-migrate @ 14436]
SF Patch #1356575 from Kevin Stange (SimGuy)

"This patch moves buddy pounces out of the menu and into
a new dialog, as suggested by Sean. I'm not ready to
say this is finished, but it's a solid starting point
and it does work.

I changed the namespacing a little from gaim_gtkpounce
to gaim_gtk_pounce to be consistent with the rest of Gaim.

I wanted to try to get more information into the pounce
manager, but I wasn't sure how to display it. I
thought perhaps a column containing a row of icons
representing which events are being watched (so the
user can see which of several pounces for the same
buddy are which), however, while I know how to do this,
there aren't icons in Gaim suitable for representing
all the events. Like "returned from away" and
"idle/unidle", as far as I can see. I'm not sure what
else could be shown to make the manager dialog more
"informative."

The dialog updates automatically to show pounces only
for connected accounts and updates when a pounce is
added, changed, or removed in some other way than the
dialog.

I'd like to get feedback on it if anyone has anything
they think I should change or fix, I'll do that and
update this patch. Otherwise, feel free to commit. :)"

As ridingpigs commented in the tracker, this is "far better than the current menu thing."

I made a few small changes to this. I believe most of them were related to adding hooks to disable things if there were no accounts connected. I also sorte
d the Tools menu a bit and updated the docklet to match.

I wish the plugin action code could sort the items it added.

committer: Richard Laager <rlaager@pidgin.im>

8713
8a7baa8f8460 [gaim-migrate @ 9467]
Gary Kramlich <grim@pidgin.im>
parents:
diff changeset
1 /**
8a7baa8f8460 [gaim-migrate @ 9467]
Gary Kramlich <grim@pidgin.im>
parents:
diff changeset
2 * @file pluginpref.h Plugin Preferences API
8a7baa8f8460 [gaim-migrate @ 9467]
Gary Kramlich <grim@pidgin.im>
parents:
diff changeset
3 * @ingroup core
8a7baa8f8460 [gaim-migrate @ 9467]
Gary Kramlich <grim@pidgin.im>
parents:
diff changeset
4 *
8a7baa8f8460 [gaim-migrate @ 9467]
Gary Kramlich <grim@pidgin.im>
parents:
diff changeset
5 * gaim
8a7baa8f8460 [gaim-migrate @ 9467]
Gary Kramlich <grim@pidgin.im>
parents:
diff changeset
6 *
8a7baa8f8460 [gaim-migrate @ 9467]
Gary Kramlich <grim@pidgin.im>
parents:
diff changeset
7 * Gaim is the legal property of its developers, whose names are too numerous
8a7baa8f8460 [gaim-migrate @ 9467]
Gary Kramlich <grim@pidgin.im>
parents:
diff changeset
8 * to list here. Please refer to the COPYRIGHT file distributed with this
8a7baa8f8460 [gaim-migrate @ 9467]
Gary Kramlich <grim@pidgin.im>
parents:
diff changeset
9 * source distribution.
8a7baa8f8460 [gaim-migrate @ 9467]
Gary Kramlich <grim@pidgin.im>
parents:
diff changeset
10 *
8a7baa8f8460 [gaim-migrate @ 9467]
Gary Kramlich <grim@pidgin.im>
parents:
diff changeset
11 * This program is free software; you can redistribute it and/or modify
8a7baa8f8460 [gaim-migrate @ 9467]
Gary Kramlich <grim@pidgin.im>
parents:
diff changeset
12 * it under the terms of the GNU General Public License as published by
8a7baa8f8460 [gaim-migrate @ 9467]
Gary Kramlich <grim@pidgin.im>
parents:
diff changeset
13 * the Free Software Foundation; either version 2 of the License, or
8a7baa8f8460 [gaim-migrate @ 9467]
Gary Kramlich <grim@pidgin.im>
parents:
diff changeset
14 * (at your option) any later version.
8a7baa8f8460 [gaim-migrate @ 9467]
Gary Kramlich <grim@pidgin.im>
parents:
diff changeset
15 *
8a7baa8f8460 [gaim-migrate @ 9467]
Gary Kramlich <grim@pidgin.im>
parents:
diff changeset
16 * This program is distributed in the hope that it will be useful,
8a7baa8f8460 [gaim-migrate @ 9467]
Gary Kramlich <grim@pidgin.im>
parents:
diff changeset
17 * but WITHOUT ANY WARRANTY; without even the implied warranty of
8a7baa8f8460 [gaim-migrate @ 9467]
Gary Kramlich <grim@pidgin.im>
parents:
diff changeset
18 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
8a7baa8f8460 [gaim-migrate @ 9467]
Gary Kramlich <grim@pidgin.im>
parents:
diff changeset
19 * GNU General Public License for more details.
8a7baa8f8460 [gaim-migrate @ 9467]
Gary Kramlich <grim@pidgin.im>
parents:
diff changeset
20 *
8a7baa8f8460 [gaim-migrate @ 9467]
Gary Kramlich <grim@pidgin.im>
parents:
diff changeset
21 * You should have received a copy of the GNU General Public License
8a7baa8f8460 [gaim-migrate @ 9467]
Gary Kramlich <grim@pidgin.im>
parents:
diff changeset
22 * along with this program; if not, write to the Free Software
8a7baa8f8460 [gaim-migrate @ 9467]
Gary Kramlich <grim@pidgin.im>
parents:
diff changeset
23 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
8a7baa8f8460 [gaim-migrate @ 9467]
Gary Kramlich <grim@pidgin.im>
parents:
diff changeset
24 *
8a7baa8f8460 [gaim-migrate @ 9467]
Gary Kramlich <grim@pidgin.im>
parents:
diff changeset
25 */
9713
bb37562302a1 [gaim-migrate @ 10574]
Mark Doliner <markdoliner@pidgin.im>
parents: 9529
diff changeset
26 #ifndef _GAIM_PLUGINPREF_H_
bb37562302a1 [gaim-migrate @ 10574]
Mark Doliner <markdoliner@pidgin.im>
parents: 9529
diff changeset
27 #define _GAIM_PLUGINPREF_H_
8713
8a7baa8f8460 [gaim-migrate @ 9467]
Gary Kramlich <grim@pidgin.im>
parents:
diff changeset
28
8a7baa8f8460 [gaim-migrate @ 9467]
Gary Kramlich <grim@pidgin.im>
parents:
diff changeset
29 typedef struct _GaimPluginPrefFrame GaimPluginPrefFrame;
8a7baa8f8460 [gaim-migrate @ 9467]
Gary Kramlich <grim@pidgin.im>
parents:
diff changeset
30 typedef struct _GaimPluginPref GaimPluginPref;
8a7baa8f8460 [gaim-migrate @ 9467]
Gary Kramlich <grim@pidgin.im>
parents:
diff changeset
31
8a7baa8f8460 [gaim-migrate @ 9467]
Gary Kramlich <grim@pidgin.im>
parents:
diff changeset
32 typedef enum {
8a7baa8f8460 [gaim-migrate @ 9467]
Gary Kramlich <grim@pidgin.im>
parents:
diff changeset
33 GAIM_PLUGIN_PREF_NONE,
9529
377b70382202 [gaim-migrate @ 10356]
Christopher O'Brien <siege@pidgin.im>
parents: 9000
diff changeset
34 GAIM_PLUGIN_PREF_CHOICE,
377b70382202 [gaim-migrate @ 10356]
Christopher O'Brien <siege@pidgin.im>
parents: 9000
diff changeset
35 GAIM_PLUGIN_PREF_INFO, /**< no-value label */
8713
8a7baa8f8460 [gaim-migrate @ 9467]
Gary Kramlich <grim@pidgin.im>
parents:
diff changeset
36 } GaimPluginPrefType;
8a7baa8f8460 [gaim-migrate @ 9467]
Gary Kramlich <grim@pidgin.im>
parents:
diff changeset
37
8a7baa8f8460 [gaim-migrate @ 9467]
Gary Kramlich <grim@pidgin.im>
parents:
diff changeset
38 #include <glib.h>
8a7baa8f8460 [gaim-migrate @ 9467]
Gary Kramlich <grim@pidgin.im>
parents:
diff changeset
39 #include "prefs.h"
8a7baa8f8460 [gaim-migrate @ 9467]
Gary Kramlich <grim@pidgin.im>
parents:
diff changeset
40
8a7baa8f8460 [gaim-migrate @ 9467]
Gary Kramlich <grim@pidgin.im>
parents:
diff changeset
41 #ifdef __cplusplus
8a7baa8f8460 [gaim-migrate @ 9467]
Gary Kramlich <grim@pidgin.im>
parents:
diff changeset
42 extern "C" {
8a7baa8f8460 [gaim-migrate @ 9467]
Gary Kramlich <grim@pidgin.im>
parents:
diff changeset
43 #endif
8a7baa8f8460 [gaim-migrate @ 9467]
Gary Kramlich <grim@pidgin.im>
parents:
diff changeset
44
8a7baa8f8460 [gaim-migrate @ 9467]
Gary Kramlich <grim@pidgin.im>
parents:
diff changeset
45 /**************************************************************************/
8a7baa8f8460 [gaim-migrate @ 9467]
Gary Kramlich <grim@pidgin.im>
parents:
diff changeset
46 /** @name Plugin Preference API */
8a7baa8f8460 [gaim-migrate @ 9467]
Gary Kramlich <grim@pidgin.im>
parents:
diff changeset
47 /**************************************************************************/
8a7baa8f8460 [gaim-migrate @ 9467]
Gary Kramlich <grim@pidgin.im>
parents:
diff changeset
48 /*@{*/
8a7baa8f8460 [gaim-migrate @ 9467]
Gary Kramlich <grim@pidgin.im>
parents:
diff changeset
49
8a7baa8f8460 [gaim-migrate @ 9467]
Gary Kramlich <grim@pidgin.im>
parents:
diff changeset
50 /**
8a7baa8f8460 [gaim-migrate @ 9467]
Gary Kramlich <grim@pidgin.im>
parents:
diff changeset
51 * Create a new plugin preference frame
8a7baa8f8460 [gaim-migrate @ 9467]
Gary Kramlich <grim@pidgin.im>
parents:
diff changeset
52 *
8a7baa8f8460 [gaim-migrate @ 9467]
Gary Kramlich <grim@pidgin.im>
parents:
diff changeset
53 * @return a new GaimPluginPrefFrame
8a7baa8f8460 [gaim-migrate @ 9467]
Gary Kramlich <grim@pidgin.im>
parents:
diff changeset
54 */
8a7baa8f8460 [gaim-migrate @ 9467]
Gary Kramlich <grim@pidgin.im>
parents:
diff changeset
55 GaimPluginPrefFrame *gaim_plugin_pref_frame_new();
8a7baa8f8460 [gaim-migrate @ 9467]
Gary Kramlich <grim@pidgin.im>
parents:
diff changeset
56
8a7baa8f8460 [gaim-migrate @ 9467]
Gary Kramlich <grim@pidgin.im>
parents:
diff changeset
57 /**
8a7baa8f8460 [gaim-migrate @ 9467]
Gary Kramlich <grim@pidgin.im>
parents:
diff changeset
58 * Destroy a plugin preference frame
8a7baa8f8460 [gaim-migrate @ 9467]
Gary Kramlich <grim@pidgin.im>
parents:
diff changeset
59 *
8a7baa8f8460 [gaim-migrate @ 9467]
Gary Kramlich <grim@pidgin.im>
parents:
diff changeset
60 * @param frame The plugin frame to destroy
8a7baa8f8460 [gaim-migrate @ 9467]
Gary Kramlich <grim@pidgin.im>
parents:
diff changeset
61 */
8a7baa8f8460 [gaim-migrate @ 9467]
Gary Kramlich <grim@pidgin.im>
parents:
diff changeset
62 void gaim_plugin_pref_frame_destroy(GaimPluginPrefFrame *frame);
8a7baa8f8460 [gaim-migrate @ 9467]
Gary Kramlich <grim@pidgin.im>
parents:
diff changeset
63
8a7baa8f8460 [gaim-migrate @ 9467]
Gary Kramlich <grim@pidgin.im>
parents:
diff changeset
64 /**
8a7baa8f8460 [gaim-migrate @ 9467]
Gary Kramlich <grim@pidgin.im>
parents:
diff changeset
65 * Adds a plugin preference to a plugin preference frame
8a7baa8f8460 [gaim-migrate @ 9467]
Gary Kramlich <grim@pidgin.im>
parents:
diff changeset
66 *
8a7baa8f8460 [gaim-migrate @ 9467]
Gary Kramlich <grim@pidgin.im>
parents:
diff changeset
67 * @param frame The plugin frame to add the preference to
8a7baa8f8460 [gaim-migrate @ 9467]
Gary Kramlich <grim@pidgin.im>
parents:
diff changeset
68 * @param pref The preference to add to the frame
8a7baa8f8460 [gaim-migrate @ 9467]
Gary Kramlich <grim@pidgin.im>
parents:
diff changeset
69 */
8a7baa8f8460 [gaim-migrate @ 9467]
Gary Kramlich <grim@pidgin.im>
parents:
diff changeset
70 void gaim_plugin_pref_frame_add(GaimPluginPrefFrame *frame, GaimPluginPref *pref);
8a7baa8f8460 [gaim-migrate @ 9467]
Gary Kramlich <grim@pidgin.im>
parents:
diff changeset
71
8a7baa8f8460 [gaim-migrate @ 9467]
Gary Kramlich <grim@pidgin.im>
parents:
diff changeset
72 /**
8a7baa8f8460 [gaim-migrate @ 9467]
Gary Kramlich <grim@pidgin.im>
parents:
diff changeset
73 * Get the plugin preferences from a plugin preference frame
8a7baa8f8460 [gaim-migrate @ 9467]
Gary Kramlich <grim@pidgin.im>
parents:
diff changeset
74 *
8a7baa8f8460 [gaim-migrate @ 9467]
Gary Kramlich <grim@pidgin.im>
parents:
diff changeset
75 * @param frame The plugin frame to get the plugin preferences from
8a7baa8f8460 [gaim-migrate @ 9467]
Gary Kramlich <grim@pidgin.im>
parents:
diff changeset
76 * @return a GList of plugin preferences
8a7baa8f8460 [gaim-migrate @ 9467]
Gary Kramlich <grim@pidgin.im>
parents:
diff changeset
77 */
8a7baa8f8460 [gaim-migrate @ 9467]
Gary Kramlich <grim@pidgin.im>
parents:
diff changeset
78 GList *gaim_plugin_pref_frame_get_prefs(GaimPluginPrefFrame *frame);
10414
6b10b76933e1 [gaim-migrate @ 11664]
Mark Doliner <markdoliner@pidgin.im>
parents: 9939
diff changeset
79
8713
8a7baa8f8460 [gaim-migrate @ 9467]
Gary Kramlich <grim@pidgin.im>
parents:
diff changeset
80 /**
8a7baa8f8460 [gaim-migrate @ 9467]
Gary Kramlich <grim@pidgin.im>
parents:
diff changeset
81 * Create a new plugin preference
8a7baa8f8460 [gaim-migrate @ 9467]
Gary Kramlich <grim@pidgin.im>
parents:
diff changeset
82 *
8a7baa8f8460 [gaim-migrate @ 9467]
Gary Kramlich <grim@pidgin.im>
parents:
diff changeset
83 * @return a new GaimPluginPref
8a7baa8f8460 [gaim-migrate @ 9467]
Gary Kramlich <grim@pidgin.im>
parents:
diff changeset
84 */
8a7baa8f8460 [gaim-migrate @ 9467]
Gary Kramlich <grim@pidgin.im>
parents:
diff changeset
85 GaimPluginPref *gaim_plugin_pref_new();
8a7baa8f8460 [gaim-migrate @ 9467]
Gary Kramlich <grim@pidgin.im>
parents:
diff changeset
86
8a7baa8f8460 [gaim-migrate @ 9467]
Gary Kramlich <grim@pidgin.im>
parents:
diff changeset
87 /**
8a7baa8f8460 [gaim-migrate @ 9467]
Gary Kramlich <grim@pidgin.im>
parents:
diff changeset
88 * Create a new plugin preference with name
8a7baa8f8460 [gaim-migrate @ 9467]
Gary Kramlich <grim@pidgin.im>
parents:
diff changeset
89 *
8a7baa8f8460 [gaim-migrate @ 9467]
Gary Kramlich <grim@pidgin.im>
parents:
diff changeset
90 * @param name The name of the pref
8a7baa8f8460 [gaim-migrate @ 9467]
Gary Kramlich <grim@pidgin.im>
parents:
diff changeset
91 * @return a new GaimPluginPref
8a7baa8f8460 [gaim-migrate @ 9467]
Gary Kramlich <grim@pidgin.im>
parents:
diff changeset
92 */
8a7baa8f8460 [gaim-migrate @ 9467]
Gary Kramlich <grim@pidgin.im>
parents:
diff changeset
93 GaimPluginPref *gaim_plugin_pref_new_with_name(char *name);
8a7baa8f8460 [gaim-migrate @ 9467]
Gary Kramlich <grim@pidgin.im>
parents:
diff changeset
94
8a7baa8f8460 [gaim-migrate @ 9467]
Gary Kramlich <grim@pidgin.im>
parents:
diff changeset
95 /**
8a7baa8f8460 [gaim-migrate @ 9467]
Gary Kramlich <grim@pidgin.im>
parents:
diff changeset
96 * Create a new plugin preference with label
8a7baa8f8460 [gaim-migrate @ 9467]
Gary Kramlich <grim@pidgin.im>
parents:
diff changeset
97 *
8a7baa8f8460 [gaim-migrate @ 9467]
Gary Kramlich <grim@pidgin.im>
parents:
diff changeset
98 * @param label The label to be displayed
8a7baa8f8460 [gaim-migrate @ 9467]
Gary Kramlich <grim@pidgin.im>
parents:
diff changeset
99 * @return a new GaimPluginPref
8a7baa8f8460 [gaim-migrate @ 9467]
Gary Kramlich <grim@pidgin.im>
parents:
diff changeset
100 */
8a7baa8f8460 [gaim-migrate @ 9467]
Gary Kramlich <grim@pidgin.im>
parents:
diff changeset
101 GaimPluginPref *gaim_plugin_pref_new_with_label(char *label);
8a7baa8f8460 [gaim-migrate @ 9467]
Gary Kramlich <grim@pidgin.im>
parents:
diff changeset
102
8a7baa8f8460 [gaim-migrate @ 9467]
Gary Kramlich <grim@pidgin.im>
parents:
diff changeset
103 /**
8a7baa8f8460 [gaim-migrate @ 9467]
Gary Kramlich <grim@pidgin.im>
parents:
diff changeset
104 * Create a new plugin preference with name and label
8a7baa8f8460 [gaim-migrate @ 9467]
Gary Kramlich <grim@pidgin.im>
parents:
diff changeset
105 *
8a7baa8f8460 [gaim-migrate @ 9467]
Gary Kramlich <grim@pidgin.im>
parents:
diff changeset
106 * @param name The name of the pref
8a7baa8f8460 [gaim-migrate @ 9467]
Gary Kramlich <grim@pidgin.im>
parents:
diff changeset
107 * @param label The label to be displayed
8a7baa8f8460 [gaim-migrate @ 9467]
Gary Kramlich <grim@pidgin.im>
parents:
diff changeset
108 * @return a new GaimPluginPref
8a7baa8f8460 [gaim-migrate @ 9467]
Gary Kramlich <grim@pidgin.im>
parents:
diff changeset
109 */
8a7baa8f8460 [gaim-migrate @ 9467]
Gary Kramlich <grim@pidgin.im>
parents:
diff changeset
110 GaimPluginPref *gaim_plugin_pref_new_with_name_and_label(char *name, char *label);
8a7baa8f8460 [gaim-migrate @ 9467]
Gary Kramlich <grim@pidgin.im>
parents:
diff changeset
111
8a7baa8f8460 [gaim-migrate @ 9467]
Gary Kramlich <grim@pidgin.im>
parents:
diff changeset
112 /**
8a7baa8f8460 [gaim-migrate @ 9467]
Gary Kramlich <grim@pidgin.im>
parents:
diff changeset
113 * Destroy a plugin preference
8a7baa8f8460 [gaim-migrate @ 9467]
Gary Kramlich <grim@pidgin.im>
parents:
diff changeset
114 *
8a7baa8f8460 [gaim-migrate @ 9467]
Gary Kramlich <grim@pidgin.im>
parents:
diff changeset
115 * @param pref The preference to destroy
8a7baa8f8460 [gaim-migrate @ 9467]
Gary Kramlich <grim@pidgin.im>
parents:
diff changeset
116 */
8a7baa8f8460 [gaim-migrate @ 9467]
Gary Kramlich <grim@pidgin.im>
parents:
diff changeset
117 void gaim_plugin_pref_destroy(GaimPluginPref *pref);
8a7baa8f8460 [gaim-migrate @ 9467]
Gary Kramlich <grim@pidgin.im>
parents:
diff changeset
118
8a7baa8f8460 [gaim-migrate @ 9467]
Gary Kramlich <grim@pidgin.im>
parents:
diff changeset
119 /**
8a7baa8f8460 [gaim-migrate @ 9467]
Gary Kramlich <grim@pidgin.im>
parents:
diff changeset
120 * Set a plugin pref name
8a7baa8f8460 [gaim-migrate @ 9467]
Gary Kramlich <grim@pidgin.im>
parents:
diff changeset
121 *
8a7baa8f8460 [gaim-migrate @ 9467]
Gary Kramlich <grim@pidgin.im>
parents:
diff changeset
122 * @param pref The plugin pref
8a7baa8f8460 [gaim-migrate @ 9467]
Gary Kramlich <grim@pidgin.im>
parents:
diff changeset
123 * @param name The name of the pref
8a7baa8f8460 [gaim-migrate @ 9467]
Gary Kramlich <grim@pidgin.im>
parents:
diff changeset
124 */
8a7baa8f8460 [gaim-migrate @ 9467]
Gary Kramlich <grim@pidgin.im>
parents:
diff changeset
125 void gaim_plugin_pref_set_name(GaimPluginPref *pref, char *name);
8a7baa8f8460 [gaim-migrate @ 9467]
Gary Kramlich <grim@pidgin.im>
parents:
diff changeset
126
8a7baa8f8460 [gaim-migrate @ 9467]
Gary Kramlich <grim@pidgin.im>
parents:
diff changeset
127 /**
8a7baa8f8460 [gaim-migrate @ 9467]
Gary Kramlich <grim@pidgin.im>
parents:
diff changeset
128 * Get a plugin pref name
8a7baa8f8460 [gaim-migrate @ 9467]
Gary Kramlich <grim@pidgin.im>
parents:
diff changeset
129 *
8a7baa8f8460 [gaim-migrate @ 9467]
Gary Kramlich <grim@pidgin.im>
parents:
diff changeset
130 * @param pref The plugin pref
8a7baa8f8460 [gaim-migrate @ 9467]
Gary Kramlich <grim@pidgin.im>
parents:
diff changeset
131 * @return The name of the pref
8a7baa8f8460 [gaim-migrate @ 9467]
Gary Kramlich <grim@pidgin.im>
parents:
diff changeset
132 */
8a7baa8f8460 [gaim-migrate @ 9467]
Gary Kramlich <grim@pidgin.im>
parents:
diff changeset
133 char *gaim_plugin_pref_get_name(GaimPluginPref *pref);
8a7baa8f8460 [gaim-migrate @ 9467]
Gary Kramlich <grim@pidgin.im>
parents:
diff changeset
134
8a7baa8f8460 [gaim-migrate @ 9467]
Gary Kramlich <grim@pidgin.im>
parents:
diff changeset
135 /**
8a7baa8f8460 [gaim-migrate @ 9467]
Gary Kramlich <grim@pidgin.im>
parents:
diff changeset
136 * Set a plugin pref label
8a7baa8f8460 [gaim-migrate @ 9467]
Gary Kramlich <grim@pidgin.im>
parents:
diff changeset
137 *
8a7baa8f8460 [gaim-migrate @ 9467]
Gary Kramlich <grim@pidgin.im>
parents:
diff changeset
138 * @param pref The plugin pref
8a7baa8f8460 [gaim-migrate @ 9467]
Gary Kramlich <grim@pidgin.im>
parents:
diff changeset
139 * @param label The label for the plugin pref
8a7baa8f8460 [gaim-migrate @ 9467]
Gary Kramlich <grim@pidgin.im>
parents:
diff changeset
140 */
8a7baa8f8460 [gaim-migrate @ 9467]
Gary Kramlich <grim@pidgin.im>
parents:
diff changeset
141 void gaim_plugin_pref_set_label(GaimPluginPref *pref, char *label);
8a7baa8f8460 [gaim-migrate @ 9467]
Gary Kramlich <grim@pidgin.im>
parents:
diff changeset
142
8a7baa8f8460 [gaim-migrate @ 9467]
Gary Kramlich <grim@pidgin.im>
parents:
diff changeset
143 /**
8a7baa8f8460 [gaim-migrate @ 9467]
Gary Kramlich <grim@pidgin.im>
parents:
diff changeset
144 * Get a plugin pref label
8a7baa8f8460 [gaim-migrate @ 9467]
Gary Kramlich <grim@pidgin.im>
parents:
diff changeset
145 *
8a7baa8f8460 [gaim-migrate @ 9467]
Gary Kramlich <grim@pidgin.im>
parents:
diff changeset
146 * @param pref The plugin pref
8a7baa8f8460 [gaim-migrate @ 9467]
Gary Kramlich <grim@pidgin.im>
parents:
diff changeset
147 * @return The label for the plugin pref
8a7baa8f8460 [gaim-migrate @ 9467]
Gary Kramlich <grim@pidgin.im>
parents:
diff changeset
148 */
8a7baa8f8460 [gaim-migrate @ 9467]
Gary Kramlich <grim@pidgin.im>
parents:
diff changeset
149 char *gaim_plugin_pref_get_label(GaimPluginPref *pref);
8a7baa8f8460 [gaim-migrate @ 9467]
Gary Kramlich <grim@pidgin.im>
parents:
diff changeset
150
8a7baa8f8460 [gaim-migrate @ 9467]
Gary Kramlich <grim@pidgin.im>
parents:
diff changeset
151 /**
8a7baa8f8460 [gaim-migrate @ 9467]
Gary Kramlich <grim@pidgin.im>
parents:
diff changeset
152 * Set the bounds for an integer pref
8a7baa8f8460 [gaim-migrate @ 9467]
Gary Kramlich <grim@pidgin.im>
parents:
diff changeset
153 *
8a7baa8f8460 [gaim-migrate @ 9467]
Gary Kramlich <grim@pidgin.im>
parents:
diff changeset
154 * @param pref The plugin pref
8a7baa8f8460 [gaim-migrate @ 9467]
Gary Kramlich <grim@pidgin.im>
parents:
diff changeset
155 * @param min The min value
8a7baa8f8460 [gaim-migrate @ 9467]
Gary Kramlich <grim@pidgin.im>
parents:
diff changeset
156 * @param max The max value
8a7baa8f8460 [gaim-migrate @ 9467]
Gary Kramlich <grim@pidgin.im>
parents:
diff changeset
157 */
8a7baa8f8460 [gaim-migrate @ 9467]
Gary Kramlich <grim@pidgin.im>
parents:
diff changeset
158 void gaim_plugin_pref_set_bounds(GaimPluginPref *pref, int min, int max);
8a7baa8f8460 [gaim-migrate @ 9467]
Gary Kramlich <grim@pidgin.im>
parents:
diff changeset
159
8a7baa8f8460 [gaim-migrate @ 9467]
Gary Kramlich <grim@pidgin.im>
parents:
diff changeset
160 /**
8a7baa8f8460 [gaim-migrate @ 9467]
Gary Kramlich <grim@pidgin.im>
parents:
diff changeset
161 * Get the bounds for an integer pref
8a7baa8f8460 [gaim-migrate @ 9467]
Gary Kramlich <grim@pidgin.im>
parents:
diff changeset
162 *
8a7baa8f8460 [gaim-migrate @ 9467]
Gary Kramlich <grim@pidgin.im>
parents:
diff changeset
163 * @param pref The plugin pref
8a7baa8f8460 [gaim-migrate @ 9467]
Gary Kramlich <grim@pidgin.im>
parents:
diff changeset
164 * @param min The min value
8a7baa8f8460 [gaim-migrate @ 9467]
Gary Kramlich <grim@pidgin.im>
parents:
diff changeset
165 * @param max The max value
8a7baa8f8460 [gaim-migrate @ 9467]
Gary Kramlich <grim@pidgin.im>
parents:
diff changeset
166 */
8a7baa8f8460 [gaim-migrate @ 9467]
Gary Kramlich <grim@pidgin.im>
parents:
diff changeset
167 void gaim_plugin_pref_get_bounds(GaimPluginPref *pref, int *min, int *max);
8a7baa8f8460 [gaim-migrate @ 9467]
Gary Kramlich <grim@pidgin.im>
parents:
diff changeset
168
8a7baa8f8460 [gaim-migrate @ 9467]
Gary Kramlich <grim@pidgin.im>
parents:
diff changeset
169 /**
8a7baa8f8460 [gaim-migrate @ 9467]
Gary Kramlich <grim@pidgin.im>
parents:
diff changeset
170 * Set the type of a plugin pref
8a7baa8f8460 [gaim-migrate @ 9467]
Gary Kramlich <grim@pidgin.im>
parents:
diff changeset
171 *
8a7baa8f8460 [gaim-migrate @ 9467]
Gary Kramlich <grim@pidgin.im>
parents:
diff changeset
172 * @param pref The plugin pref
8a7baa8f8460 [gaim-migrate @ 9467]
Gary Kramlich <grim@pidgin.im>
parents:
diff changeset
173 * @param type The type
8a7baa8f8460 [gaim-migrate @ 9467]
Gary Kramlich <grim@pidgin.im>
parents:
diff changeset
174 */
8a7baa8f8460 [gaim-migrate @ 9467]
Gary Kramlich <grim@pidgin.im>
parents:
diff changeset
175 void gaim_plugin_pref_set_type(GaimPluginPref *pref, GaimPluginPrefType type);
8a7baa8f8460 [gaim-migrate @ 9467]
Gary Kramlich <grim@pidgin.im>
parents:
diff changeset
176
8a7baa8f8460 [gaim-migrate @ 9467]
Gary Kramlich <grim@pidgin.im>
parents:
diff changeset
177 /**
8a7baa8f8460 [gaim-migrate @ 9467]
Gary Kramlich <grim@pidgin.im>
parents:
diff changeset
178 * Get the type of a plugin pref
8a7baa8f8460 [gaim-migrate @ 9467]
Gary Kramlich <grim@pidgin.im>
parents:
diff changeset
179 *
8a7baa8f8460 [gaim-migrate @ 9467]
Gary Kramlich <grim@pidgin.im>
parents:
diff changeset
180 * @param pref The plugin pref
8a7baa8f8460 [gaim-migrate @ 9467]
Gary Kramlich <grim@pidgin.im>
parents:
diff changeset
181 * @return The type
8a7baa8f8460 [gaim-migrate @ 9467]
Gary Kramlich <grim@pidgin.im>
parents:
diff changeset
182 */
8a7baa8f8460 [gaim-migrate @ 9467]
Gary Kramlich <grim@pidgin.im>
parents:
diff changeset
183 GaimPluginPrefType gaim_plugin_pref_get_type(GaimPluginPref *pref);
8a7baa8f8460 [gaim-migrate @ 9467]
Gary Kramlich <grim@pidgin.im>
parents:
diff changeset
184
8a7baa8f8460 [gaim-migrate @ 9467]
Gary Kramlich <grim@pidgin.im>
parents:
diff changeset
185 /**
8a7baa8f8460 [gaim-migrate @ 9467]
Gary Kramlich <grim@pidgin.im>
parents:
diff changeset
186 * Set the choices for a choices plugin pref
8a7baa8f8460 [gaim-migrate @ 9467]
Gary Kramlich <grim@pidgin.im>
parents:
diff changeset
187 *
8a7baa8f8460 [gaim-migrate @ 9467]
Gary Kramlich <grim@pidgin.im>
parents:
diff changeset
188 * @param pref The plugin pref
8a7baa8f8460 [gaim-migrate @ 9467]
Gary Kramlich <grim@pidgin.im>
parents:
diff changeset
189 * @param label The label for the choice
8a7baa8f8460 [gaim-migrate @ 9467]
Gary Kramlich <grim@pidgin.im>
parents:
diff changeset
190 * @param choice A gpointer of the choice
8a7baa8f8460 [gaim-migrate @ 9467]
Gary Kramlich <grim@pidgin.im>
parents:
diff changeset
191 */
8a7baa8f8460 [gaim-migrate @ 9467]
Gary Kramlich <grim@pidgin.im>
parents:
diff changeset
192 void gaim_plugin_pref_add_choice(GaimPluginPref *pref, char *label, gpointer choice);
8a7baa8f8460 [gaim-migrate @ 9467]
Gary Kramlich <grim@pidgin.im>
parents:
diff changeset
193
8a7baa8f8460 [gaim-migrate @ 9467]
Gary Kramlich <grim@pidgin.im>
parents:
diff changeset
194 /**
8a7baa8f8460 [gaim-migrate @ 9467]
Gary Kramlich <grim@pidgin.im>
parents:
diff changeset
195 * Get the choices for a choices plugin pref
8a7baa8f8460 [gaim-migrate @ 9467]
Gary Kramlich <grim@pidgin.im>
parents:
diff changeset
196 *
8a7baa8f8460 [gaim-migrate @ 9467]
Gary Kramlich <grim@pidgin.im>
parents:
diff changeset
197 * @param pref The plugin pref
8a7baa8f8460 [gaim-migrate @ 9467]
Gary Kramlich <grim@pidgin.im>
parents:
diff changeset
198 * @return GList of the choices
8a7baa8f8460 [gaim-migrate @ 9467]
Gary Kramlich <grim@pidgin.im>
parents:
diff changeset
199 */
8a7baa8f8460 [gaim-migrate @ 9467]
Gary Kramlich <grim@pidgin.im>
parents:
diff changeset
200 GList *gaim_plugin_pref_get_choices(GaimPluginPref *pref);
8a7baa8f8460 [gaim-migrate @ 9467]
Gary Kramlich <grim@pidgin.im>
parents:
diff changeset
201
8a7baa8f8460 [gaim-migrate @ 9467]
Gary Kramlich <grim@pidgin.im>
parents:
diff changeset
202 /**
8a7baa8f8460 [gaim-migrate @ 9467]
Gary Kramlich <grim@pidgin.im>
parents:
diff changeset
203 * Set the max length for a string plugin pref
8a7baa8f8460 [gaim-migrate @ 9467]
Gary Kramlich <grim@pidgin.im>
parents:
diff changeset
204 *
9000
ff260ac20c29 [gaim-migrate @ 9775]
Gary Kramlich <grim@pidgin.im>
parents: 8713
diff changeset
205 * @param pref The plugin pref
ff260ac20c29 [gaim-migrate @ 9775]
Gary Kramlich <grim@pidgin.im>
parents: 8713
diff changeset
206 * @param max_length The max length of the string
8713
8a7baa8f8460 [gaim-migrate @ 9467]
Gary Kramlich <grim@pidgin.im>
parents:
diff changeset
207 */
8a7baa8f8460 [gaim-migrate @ 9467]
Gary Kramlich <grim@pidgin.im>
parents:
diff changeset
208 void gaim_plugin_pref_set_max_length(GaimPluginPref *pref, unsigned int max_length);
8a7baa8f8460 [gaim-migrate @ 9467]
Gary Kramlich <grim@pidgin.im>
parents:
diff changeset
209
8a7baa8f8460 [gaim-migrate @ 9467]
Gary Kramlich <grim@pidgin.im>
parents:
diff changeset
210 /**
8a7baa8f8460 [gaim-migrate @ 9467]
Gary Kramlich <grim@pidgin.im>
parents:
diff changeset
211 * Get the max length for a string plugin pref
8a7baa8f8460 [gaim-migrate @ 9467]
Gary Kramlich <grim@pidgin.im>
parents:
diff changeset
212 *
8a7baa8f8460 [gaim-migrate @ 9467]
Gary Kramlich <grim@pidgin.im>
parents:
diff changeset
213 * @param pref The plugin pref
8a7baa8f8460 [gaim-migrate @ 9467]
Gary Kramlich <grim@pidgin.im>
parents:
diff changeset
214 * @return the max length
8a7baa8f8460 [gaim-migrate @ 9467]
Gary Kramlich <grim@pidgin.im>
parents:
diff changeset
215 */
8a7baa8f8460 [gaim-migrate @ 9467]
Gary Kramlich <grim@pidgin.im>
parents:
diff changeset
216 unsigned int gaim_plugin_pref_get_max_length(GaimPluginPref *pref);
8a7baa8f8460 [gaim-migrate @ 9467]
Gary Kramlich <grim@pidgin.im>
parents:
diff changeset
217
9841
85d43ade3a7a [gaim-migrate @ 10718]
Gary Kramlich <grim@pidgin.im>
parents: 9713
diff changeset
218 /**
85d43ade3a7a [gaim-migrate @ 10718]
Gary Kramlich <grim@pidgin.im>
parents: 9713
diff changeset
219 * Sets the masking of a string plugin pref
85d43ade3a7a [gaim-migrate @ 10718]
Gary Kramlich <grim@pidgin.im>
parents: 9713
diff changeset
220 *
9939
9a2960bb4600 [gaim-migrate @ 10831]
Gary Kramlich <grim@pidgin.im>
parents: 9841
diff changeset
221 * @param pref The plugin pref
9a2960bb4600 [gaim-migrate @ 10831]
Gary Kramlich <grim@pidgin.im>
parents: 9841
diff changeset
222 * @param mask The value to set
9841
85d43ade3a7a [gaim-migrate @ 10718]
Gary Kramlich <grim@pidgin.im>
parents: 9713
diff changeset
223 */
85d43ade3a7a [gaim-migrate @ 10718]
Gary Kramlich <grim@pidgin.im>
parents: 9713
diff changeset
224 void gaim_plugin_pref_set_masked(GaimPluginPref *pref, gboolean mask);
85d43ade3a7a [gaim-migrate @ 10718]
Gary Kramlich <grim@pidgin.im>
parents: 9713
diff changeset
225
85d43ade3a7a [gaim-migrate @ 10718]
Gary Kramlich <grim@pidgin.im>
parents: 9713
diff changeset
226 /**
85d43ade3a7a [gaim-migrate @ 10718]
Gary Kramlich <grim@pidgin.im>
parents: 9713
diff changeset
227 * Gets the masking of a string plugin pref
85d43ade3a7a [gaim-migrate @ 10718]
Gary Kramlich <grim@pidgin.im>
parents: 9713
diff changeset
228 *
85d43ade3a7a [gaim-migrate @ 10718]
Gary Kramlich <grim@pidgin.im>
parents: 9713
diff changeset
229 * @param pref The plugin pref
85d43ade3a7a [gaim-migrate @ 10718]
Gary Kramlich <grim@pidgin.im>
parents: 9713
diff changeset
230 * @return The masking
85d43ade3a7a [gaim-migrate @ 10718]
Gary Kramlich <grim@pidgin.im>
parents: 9713
diff changeset
231 */
85d43ade3a7a [gaim-migrate @ 10718]
Gary Kramlich <grim@pidgin.im>
parents: 9713
diff changeset
232 gboolean gaim_plugin_pref_get_masked(GaimPluginPref *pref);
85d43ade3a7a [gaim-migrate @ 10718]
Gary Kramlich <grim@pidgin.im>
parents: 9713
diff changeset
233
8713
8a7baa8f8460 [gaim-migrate @ 9467]
Gary Kramlich <grim@pidgin.im>
parents:
diff changeset
234 /*@}*/
8a7baa8f8460 [gaim-migrate @ 9467]
Gary Kramlich <grim@pidgin.im>
parents:
diff changeset
235
8a7baa8f8460 [gaim-migrate @ 9467]
Gary Kramlich <grim@pidgin.im>
parents:
diff changeset
236 #ifdef __cplusplus
8a7baa8f8460 [gaim-migrate @ 9467]
Gary Kramlich <grim@pidgin.im>
parents:
diff changeset
237 }
8a7baa8f8460 [gaim-migrate @ 9467]
Gary Kramlich <grim@pidgin.im>
parents:
diff changeset
238 #endif
8a7baa8f8460 [gaim-migrate @ 9467]
Gary Kramlich <grim@pidgin.im>
parents:
diff changeset
239
9713
bb37562302a1 [gaim-migrate @ 10574]
Mark Doliner <markdoliner@pidgin.im>
parents: 9529
diff changeset
240 #endif /* _GAIM_PLUGINPREF_H_ */

mercurial