libpurple/purplemenu.h

Fri, 10 Mar 2023 16:37:41 -0600

author
Elliott Sales de Andrade <quantum.analyst@gmail.com>
date
Fri, 10 Mar 2023 16:37:41 -0600
changeset 42139
c053558f1236
parent 41984
2ed9994ba315
child 42387
d9350cda1556
permissions
-rw-r--r--

Make PurpleRequestFieldChoice into a GObject

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.

I wonder if this should implement `GListModel`, but the values are currently arbitrary pointers, so it won't work right now.

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

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

41403
0186ae21071f Add purple_menu_populate_dynamic_targets to dynamically update GMenu's
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
1 /*
0186ae21071f Add purple_menu_populate_dynamic_targets to dynamically update GMenu's
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
2 * Purple - Internet Messaging Library
0186ae21071f Add purple_menu_populate_dynamic_targets to dynamically update GMenu's
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
3 * Copyright (C) Pidgin Developers <devel@pidgin.im>
0186ae21071f Add purple_menu_populate_dynamic_targets to dynamically update GMenu's
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
4 *
0186ae21071f Add purple_menu_populate_dynamic_targets to dynamically update GMenu's
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
5 * Purple is the legal property of its developers, whose names are too numerous
0186ae21071f Add purple_menu_populate_dynamic_targets to dynamically update GMenu's
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
6 * to list here. Please refer to the COPYRIGHT file distributed with this
0186ae21071f Add purple_menu_populate_dynamic_targets to dynamically update GMenu's
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
7 * source distribution.
0186ae21071f Add purple_menu_populate_dynamic_targets to dynamically update GMenu's
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
8 *
0186ae21071f Add purple_menu_populate_dynamic_targets to dynamically update GMenu's
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
9 * This program is free software; you can redistribute it and/or modify
0186ae21071f Add purple_menu_populate_dynamic_targets to dynamically update GMenu's
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
10 * it under the terms of the GNU General Public License as published by
0186ae21071f Add purple_menu_populate_dynamic_targets to dynamically update GMenu's
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
11 * the Free Software Foundation; either version 2 of the License, or
0186ae21071f Add purple_menu_populate_dynamic_targets to dynamically update GMenu's
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
12 * (at your option) any later version.
0186ae21071f Add purple_menu_populate_dynamic_targets to dynamically update GMenu's
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
13 *
0186ae21071f Add purple_menu_populate_dynamic_targets to dynamically update GMenu's
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
14 * This program is distributed in the hope that it will be useful,
0186ae21071f Add purple_menu_populate_dynamic_targets to dynamically update GMenu's
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
15 * but WITHOUT ANY WARRANTY; without even the implied warranty of
0186ae21071f Add purple_menu_populate_dynamic_targets to dynamically update GMenu's
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
16 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
0186ae21071f Add purple_menu_populate_dynamic_targets to dynamically update GMenu's
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
17 * GNU General Public License for more details.
0186ae21071f Add purple_menu_populate_dynamic_targets to dynamically update GMenu's
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
18 *
0186ae21071f Add purple_menu_populate_dynamic_targets to dynamically update GMenu's
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
19 * You should have received a copy of the GNU General Public License
0186ae21071f Add purple_menu_populate_dynamic_targets to dynamically update GMenu's
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
20 * along with this program; if not, see <https://www.gnu.org/licenses/>.
0186ae21071f Add purple_menu_populate_dynamic_targets to dynamically update GMenu's
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
21 */
0186ae21071f Add purple_menu_populate_dynamic_targets to dynamically update GMenu's
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
22
0186ae21071f Add purple_menu_populate_dynamic_targets to dynamically update GMenu's
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
23 #if !defined(PURPLE_GLOBAL_HEADER_INSIDE) && !defined(PURPLE_COMPILATION)
0186ae21071f Add purple_menu_populate_dynamic_targets to dynamically update GMenu's
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
24 # error "only <purple.h> may be included directly"
0186ae21071f Add purple_menu_populate_dynamic_targets to dynamically update GMenu's
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
25 #endif
0186ae21071f Add purple_menu_populate_dynamic_targets to dynamically update GMenu's
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
26
0186ae21071f Add purple_menu_populate_dynamic_targets to dynamically update GMenu's
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
27 #ifndef PURPLE_MENU_H
0186ae21071f Add purple_menu_populate_dynamic_targets to dynamically update GMenu's
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
28 #define PURPLE_MENU_H
0186ae21071f Add purple_menu_populate_dynamic_targets to dynamically update GMenu's
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
29
0186ae21071f Add purple_menu_populate_dynamic_targets to dynamically update GMenu's
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
30 #include <glib.h>
0186ae21071f Add purple_menu_populate_dynamic_targets to dynamically update GMenu's
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
31 #include <gio/gio.h>
0186ae21071f Add purple_menu_populate_dynamic_targets to dynamically update GMenu's
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
32
0186ae21071f Add purple_menu_populate_dynamic_targets to dynamically update GMenu's
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
33 G_BEGIN_DECLS
0186ae21071f Add purple_menu_populate_dynamic_targets to dynamically update GMenu's
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
34
0186ae21071f Add purple_menu_populate_dynamic_targets to dynamically update GMenu's
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
35 #define PURPLE_MENU_ATTRIBUTE_DYNAMIC_TARGET "dynamic-target"
0186ae21071f Add purple_menu_populate_dynamic_targets to dynamically update GMenu's
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
36
0186ae21071f Add purple_menu_populate_dynamic_targets to dynamically update GMenu's
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
37 /**
0186ae21071f Add purple_menu_populate_dynamic_targets to dynamically update GMenu's
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
38 * PurpleMenuWalkFunc:
0186ae21071f Add purple_menu_populate_dynamic_targets to dynamically update GMenu's
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
39 * @model: The current [class@Gio.MenuModel] being walked.
0186ae21071f Add purple_menu_populate_dynamic_targets to dynamically update GMenu's
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
40 * @index: The index of the item.
0186ae21071f Add purple_menu_populate_dynamic_targets to dynamically update GMenu's
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
41 * @data: User data.
0186ae21071f Add purple_menu_populate_dynamic_targets to dynamically update GMenu's
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
42 *
0186ae21071f Add purple_menu_populate_dynamic_targets to dynamically update GMenu's
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
43 * Used as a parameter to [func@Purple.menu_walk]. While walking, @model will
0186ae21071f Add purple_menu_populate_dynamic_targets to dynamically update GMenu's
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
44 * be updated to point to the current section or submenu and will only be the
0186ae21071f Add purple_menu_populate_dynamic_targets to dynamically update GMenu's
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
45 * model that was passed to [func@Purple.menu_walk] for its immediate
0186ae21071f Add purple_menu_populate_dynamic_targets to dynamically update GMenu's
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
46 * children.
0186ae21071f Add purple_menu_populate_dynamic_targets to dynamically update GMenu's
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
47 *
0186ae21071f Add purple_menu_populate_dynamic_targets to dynamically update GMenu's
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
48 * Since: 3.0.0
0186ae21071f Add purple_menu_populate_dynamic_targets to dynamically update GMenu's
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
49 */
0186ae21071f Add purple_menu_populate_dynamic_targets to dynamically update GMenu's
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
50 typedef void (*PurpleMenuWalkFunc)(GMenuModel *model, gint index, gpointer data);
0186ae21071f Add purple_menu_populate_dynamic_targets to dynamically update GMenu's
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
51
0186ae21071f Add purple_menu_populate_dynamic_targets to dynamically update GMenu's
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
52 /**
0186ae21071f Add purple_menu_populate_dynamic_targets to dynamically update GMenu's
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
53 * purple_menu_walk:
0186ae21071f Add purple_menu_populate_dynamic_targets to dynamically update GMenu's
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
54 * @model: A [class@Gio.MenuModel] to walk.
0186ae21071f Add purple_menu_populate_dynamic_targets to dynamically update GMenu's
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
55 * @func: (scope call): The function to call.
0186ae21071f Add purple_menu_populate_dynamic_targets to dynamically update GMenu's
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
56 * @data: User data to pass for func.
0186ae21071f Add purple_menu_populate_dynamic_targets to dynamically update GMenu's
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
57 *
0186ae21071f Add purple_menu_populate_dynamic_targets to dynamically update GMenu's
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
58 * Recursively calls @func for each item in @model and all of its children.
0186ae21071f Add purple_menu_populate_dynamic_targets to dynamically update GMenu's
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
59 *
0186ae21071f Add purple_menu_populate_dynamic_targets to dynamically update GMenu's
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
60 * Since: 3.0.0
0186ae21071f Add purple_menu_populate_dynamic_targets to dynamically update GMenu's
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
61 */
0186ae21071f Add purple_menu_populate_dynamic_targets to dynamically update GMenu's
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
62 void purple_menu_walk(GMenuModel *model, PurpleMenuWalkFunc func, gpointer data);
0186ae21071f Add purple_menu_populate_dynamic_targets to dynamically update GMenu's
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
63
0186ae21071f Add purple_menu_populate_dynamic_targets to dynamically update GMenu's
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
64 /**
0186ae21071f Add purple_menu_populate_dynamic_targets to dynamically update GMenu's
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
65 * purple_menu_populate_dynamic_targets:
0186ae21071f Add purple_menu_populate_dynamic_targets to dynamically update GMenu's
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
66 * @menu: The menu instance to modify.
0186ae21071f Add purple_menu_populate_dynamic_targets to dynamically update GMenu's
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
67 * @first_property: The name of the first property of dynamic targets to
0186ae21071f Add purple_menu_populate_dynamic_targets to dynamically update GMenu's
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
68 * replace.
0186ae21071f Add purple_menu_populate_dynamic_targets to dynamically update GMenu's
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
69 * @...: The value of the first property, followed optionally by more
0186ae21071f Add purple_menu_populate_dynamic_targets to dynamically update GMenu's
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
70 * name/value pairs, followed by %NULL.
0186ae21071f Add purple_menu_populate_dynamic_targets to dynamically update GMenu's
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
71 *
0186ae21071f Add purple_menu_populate_dynamic_targets to dynamically update GMenu's
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
72 * Updates @menu by adding a target property when an item with an attribute
0186ae21071f Add purple_menu_populate_dynamic_targets to dynamically update GMenu's
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
73 * named "dynamic-target" is found.
0186ae21071f Add purple_menu_populate_dynamic_targets to dynamically update GMenu's
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
74 *
0186ae21071f Add purple_menu_populate_dynamic_targets to dynamically update GMenu's
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
75 * The value for the target is set to the matching value from the passed in
0186ae21071f Add purple_menu_populate_dynamic_targets to dynamically update GMenu's
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
76 * parameters.
0186ae21071f Add purple_menu_populate_dynamic_targets to dynamically update GMenu's
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
77 *
0186ae21071f Add purple_menu_populate_dynamic_targets to dynamically update GMenu's
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
78 * For example, if you need to set the target to an account, you would set
0186ae21071f Add purple_menu_populate_dynamic_targets to dynamically update GMenu's
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
79 * the "dynamic-target" attribute of your menu item to "account" and then
0186ae21071f Add purple_menu_populate_dynamic_targets to dynamically update GMenu's
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
80 * call purple_menu_populate_dynamic_targets() with a property pair of
41984
2ed9994ba315 Remove the deprecated account api
Gary Kramlich <grim@reaperworld.com>
parents: 41757
diff changeset
81 * "account" and [method@Purple.ContactInfo.get_id].
41403
0186ae21071f Add purple_menu_populate_dynamic_targets to dynamically update GMenu's
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
82 *
0186ae21071f Add purple_menu_populate_dynamic_targets to dynamically update GMenu's
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
83 * Since: 3.0.0
0186ae21071f Add purple_menu_populate_dynamic_targets to dynamically update GMenu's
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
84 */
0186ae21071f Add purple_menu_populate_dynamic_targets to dynamically update GMenu's
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
85 void purple_menu_populate_dynamic_targets(GMenu *menu, const gchar *first_property, ...) G_GNUC_NULL_TERMINATED;
0186ae21071f Add purple_menu_populate_dynamic_targets to dynamically update GMenu's
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
86
41457
f0e7534a555d Convert PidginAccountsEnabledMenu from a menu controller to a GMenuModel
Gary Kramlich <grim@reaperworld.com>
parents: 41403
diff changeset
87 /**
41757
bb7e68da6d21 Add a hash table variant of purple_menu_populate_dynamic_targets
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 41457
diff changeset
88 * purple_menu_populate_dynamic_targetsv: (rename-to purple_menu_populate_dynamic_targets):
bb7e68da6d21 Add a hash table variant of purple_menu_populate_dynamic_targets
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 41457
diff changeset
89 * @menu: The menu instance to modify.
bb7e68da6d21 Add a hash table variant of purple_menu_populate_dynamic_targets
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 41457
diff changeset
90 * @properties: (element-type utf8 utf8): A hash table where the keys are the
bb7e68da6d21 Add a hash table variant of purple_menu_populate_dynamic_targets
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 41457
diff changeset
91 * names of the properties of dynamic targets to be replaced, and
bb7e68da6d21 Add a hash table variant of purple_menu_populate_dynamic_targets
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 41457
diff changeset
92 * the values are the replacements.
bb7e68da6d21 Add a hash table variant of purple_menu_populate_dynamic_targets
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 41457
diff changeset
93 *
bb7e68da6d21 Add a hash table variant of purple_menu_populate_dynamic_targets
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 41457
diff changeset
94 * Updates @menu by adding a target property when an item with an attribute
bb7e68da6d21 Add a hash table variant of purple_menu_populate_dynamic_targets
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 41457
diff changeset
95 * named "dynamic-target" is found.
bb7e68da6d21 Add a hash table variant of purple_menu_populate_dynamic_targets
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 41457
diff changeset
96 *
bb7e68da6d21 Add a hash table variant of purple_menu_populate_dynamic_targets
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 41457
diff changeset
97 * The value for the target is set to the matching value from @properties.
bb7e68da6d21 Add a hash table variant of purple_menu_populate_dynamic_targets
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 41457
diff changeset
98 *
bb7e68da6d21 Add a hash table variant of purple_menu_populate_dynamic_targets
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 41457
diff changeset
99 * For example, if you need to set the target to an account, you would set the
bb7e68da6d21 Add a hash table variant of purple_menu_populate_dynamic_targets
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 41457
diff changeset
100 * "dynamic-target" attribute of your menu item to "account" and then call
bb7e68da6d21 Add a hash table variant of purple_menu_populate_dynamic_targets
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 41457
diff changeset
101 * [func@Purple.menu_populate_dynamic_targetsv] with a hash table containing
41984
2ed9994ba315 Remove the deprecated account api
Gary Kramlich <grim@reaperworld.com>
parents: 41757
diff changeset
102 * the key `"account"` and value from [method@Purple.ContactInfo.get_id].
41757
bb7e68da6d21 Add a hash table variant of purple_menu_populate_dynamic_targets
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 41457
diff changeset
103 *
bb7e68da6d21 Add a hash table variant of purple_menu_populate_dynamic_targets
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 41457
diff changeset
104 * Since: 3.0.0
bb7e68da6d21 Add a hash table variant of purple_menu_populate_dynamic_targets
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 41457
diff changeset
105 */
bb7e68da6d21 Add a hash table variant of purple_menu_populate_dynamic_targets
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 41457
diff changeset
106 void purple_menu_populate_dynamic_targetsv(GMenu *menu, GHashTable *properties);
bb7e68da6d21 Add a hash table variant of purple_menu_populate_dynamic_targets
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 41457
diff changeset
107
bb7e68da6d21 Add a hash table variant of purple_menu_populate_dynamic_targets
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 41457
diff changeset
108 /**
41457
f0e7534a555d Convert PidginAccountsEnabledMenu from a menu controller to a GMenuModel
Gary Kramlich <grim@reaperworld.com>
parents: 41403
diff changeset
109 * purple_menu_copy:
f0e7534a555d Convert PidginAccountsEnabledMenu from a menu controller to a GMenuModel
Gary Kramlich <grim@reaperworld.com>
parents: 41403
diff changeset
110 * @model: The [class@Gio.MenuModel] instance to copy.
f0e7534a555d Convert PidginAccountsEnabledMenu from a menu controller to a GMenuModel
Gary Kramlich <grim@reaperworld.com>
parents: 41403
diff changeset
111 *
f0e7534a555d Convert PidginAccountsEnabledMenu from a menu controller to a GMenuModel
Gary Kramlich <grim@reaperworld.com>
parents: 41403
diff changeset
112 * Creates a full copy of @model as a new [class@Gio.Menu]. If @model was not
f0e7534a555d Convert PidginAccountsEnabledMenu from a menu controller to a GMenuModel
Gary Kramlich <grim@reaperworld.com>
parents: 41403
diff changeset
113 * a [class@Gio.Menu] instance, any additional functionality will be lost.
f0e7534a555d Convert PidginAccountsEnabledMenu from a menu controller to a GMenuModel
Gary Kramlich <grim@reaperworld.com>
parents: 41403
diff changeset
114 *
f0e7534a555d Convert PidginAccountsEnabledMenu from a menu controller to a GMenuModel
Gary Kramlich <grim@reaperworld.com>
parents: 41403
diff changeset
115 * Returns: (transfer full): The new menu.
f0e7534a555d Convert PidginAccountsEnabledMenu from a menu controller to a GMenuModel
Gary Kramlich <grim@reaperworld.com>
parents: 41403
diff changeset
116 *
f0e7534a555d Convert PidginAccountsEnabledMenu from a menu controller to a GMenuModel
Gary Kramlich <grim@reaperworld.com>
parents: 41403
diff changeset
117 * Since: 3.0.0
f0e7534a555d Convert PidginAccountsEnabledMenu from a menu controller to a GMenuModel
Gary Kramlich <grim@reaperworld.com>
parents: 41403
diff changeset
118 */
f0e7534a555d Convert PidginAccountsEnabledMenu from a menu controller to a GMenuModel
Gary Kramlich <grim@reaperworld.com>
parents: 41403
diff changeset
119 GMenu *purple_menu_copy(GMenuModel *model);
f0e7534a555d Convert PidginAccountsEnabledMenu from a menu controller to a GMenuModel
Gary Kramlich <grim@reaperworld.com>
parents: 41403
diff changeset
120
41403
0186ae21071f Add purple_menu_populate_dynamic_targets to dynamically update GMenu's
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
121 G_END_DECLS
0186ae21071f Add purple_menu_populate_dynamic_targets to dynamically update GMenu's
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
122
0186ae21071f Add purple_menu_populate_dynamic_targets to dynamically update GMenu's
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
123 #endif /* PURPLE_MENU_H */

mercurial