finch/libgnt/gntmenuitem.c

Wed, 13 May 2009 20:29:03 +0000

author
Marcus Lundblad <malu@pidgin.im>
date
Wed, 13 May 2009 20:29:03 +0000
changeset 27110
05ca719b901b
parent 21246
1e4738b18075
child 29049
ea3c1e7d47f4
permissions
-rw-r--r--

Support custom smileys in MUCs (when all participants support BoB and a maximum
of 10 participants are in the chat).
Always announce support for BoB, since disable custom smileys will still turn
off fetching them, and BoB can be used for other purposes further on.

17586
5beb8d987e84 applied changes from 016401bd409e6229fae0ab1e80d9fef9365511b3
Eric Polino <aluink@pidgin.im>
parents: 15991
diff changeset
1 /**
5beb8d987e84 applied changes from 016401bd409e6229fae0ab1e80d9fef9365511b3
Eric Polino <aluink@pidgin.im>
parents: 15991
diff changeset
2 * GNT - The GLib Ncurses Toolkit
5beb8d987e84 applied changes from 016401bd409e6229fae0ab1e80d9fef9365511b3
Eric Polino <aluink@pidgin.im>
parents: 15991
diff changeset
3 *
5beb8d987e84 applied changes from 016401bd409e6229fae0ab1e80d9fef9365511b3
Eric Polino <aluink@pidgin.im>
parents: 15991
diff changeset
4 * GNT is the legal property of its developers, whose names are too numerous
5beb8d987e84 applied changes from 016401bd409e6229fae0ab1e80d9fef9365511b3
Eric Polino <aluink@pidgin.im>
parents: 15991
diff changeset
5 * to list here. Please refer to the COPYRIGHT file distributed with this
5beb8d987e84 applied changes from 016401bd409e6229fae0ab1e80d9fef9365511b3
Eric Polino <aluink@pidgin.im>
parents: 15991
diff changeset
6 * source distribution.
5beb8d987e84 applied changes from 016401bd409e6229fae0ab1e80d9fef9365511b3
Eric Polino <aluink@pidgin.im>
parents: 15991
diff changeset
7 *
5beb8d987e84 applied changes from 016401bd409e6229fae0ab1e80d9fef9365511b3
Eric Polino <aluink@pidgin.im>
parents: 15991
diff changeset
8 * This library is free software; you can redistribute it and/or modify
5beb8d987e84 applied changes from 016401bd409e6229fae0ab1e80d9fef9365511b3
Eric Polino <aluink@pidgin.im>
parents: 15991
diff changeset
9 * it under the terms of the GNU General Public License as published by
5beb8d987e84 applied changes from 016401bd409e6229fae0ab1e80d9fef9365511b3
Eric Polino <aluink@pidgin.im>
parents: 15991
diff changeset
10 * the Free Software Foundation; either version 2 of the License, or
5beb8d987e84 applied changes from 016401bd409e6229fae0ab1e80d9fef9365511b3
Eric Polino <aluink@pidgin.im>
parents: 15991
diff changeset
11 * (at your option) any later version.
5beb8d987e84 applied changes from 016401bd409e6229fae0ab1e80d9fef9365511b3
Eric Polino <aluink@pidgin.im>
parents: 15991
diff changeset
12 *
5beb8d987e84 applied changes from 016401bd409e6229fae0ab1e80d9fef9365511b3
Eric Polino <aluink@pidgin.im>
parents: 15991
diff changeset
13 * This program is distributed in the hope that it will be useful,
5beb8d987e84 applied changes from 016401bd409e6229fae0ab1e80d9fef9365511b3
Eric Polino <aluink@pidgin.im>
parents: 15991
diff changeset
14 * but WITHOUT ANY WARRANTY; without even the implied warranty of
5beb8d987e84 applied changes from 016401bd409e6229fae0ab1e80d9fef9365511b3
Eric Polino <aluink@pidgin.im>
parents: 15991
diff changeset
15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
5beb8d987e84 applied changes from 016401bd409e6229fae0ab1e80d9fef9365511b3
Eric Polino <aluink@pidgin.im>
parents: 15991
diff changeset
16 * GNU General Public License for more details.
5beb8d987e84 applied changes from 016401bd409e6229fae0ab1e80d9fef9365511b3
Eric Polino <aluink@pidgin.im>
parents: 15991
diff changeset
17 *
5beb8d987e84 applied changes from 016401bd409e6229fae0ab1e80d9fef9365511b3
Eric Polino <aluink@pidgin.im>
parents: 15991
diff changeset
18 * You should have received a copy of the GNU General Public License
5beb8d987e84 applied changes from 016401bd409e6229fae0ab1e80d9fef9365511b3
Eric Polino <aluink@pidgin.im>
parents: 15991
diff changeset
19 * along with this program; if not, write to the Free Software
19859
71d37b57eff2 The FSF changed its address a while ago; our files were out of date.
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 18624
diff changeset
20 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA
17586
5beb8d987e84 applied changes from 016401bd409e6229fae0ab1e80d9fef9365511b3
Eric Polino <aluink@pidgin.im>
parents: 15991
diff changeset
21 */
5beb8d987e84 applied changes from 016401bd409e6229fae0ab1e80d9fef9365511b3
Eric Polino <aluink@pidgin.im>
parents: 15991
diff changeset
22
14675
be8af28d1980 [gaim-migrate @ 17341]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
23 #include "gntmenu.h"
be8af28d1980 [gaim-migrate @ 17341]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
24 #include "gntmenuitem.h"
be8af28d1980 [gaim-migrate @ 17341]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
25
21246
1e4738b18075 Add gnt_menuitem_activate, and 'activate' signal for GntMenuItem.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 20821
diff changeset
26 enum
1e4738b18075 Add gnt_menuitem_activate, and 'activate' signal for GntMenuItem.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 20821
diff changeset
27 {
1e4738b18075 Add gnt_menuitem_activate, and 'activate' signal for GntMenuItem.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 20821
diff changeset
28 SIG_ACTIVATE,
1e4738b18075 Add gnt_menuitem_activate, and 'activate' signal for GntMenuItem.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 20821
diff changeset
29 SIGS
1e4738b18075 Add gnt_menuitem_activate, and 'activate' signal for GntMenuItem.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 20821
diff changeset
30 };
1e4738b18075 Add gnt_menuitem_activate, and 'activate' signal for GntMenuItem.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 20821
diff changeset
31 static guint signals[SIGS] = { 0 };
1e4738b18075 Add gnt_menuitem_activate, and 'activate' signal for GntMenuItem.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 20821
diff changeset
32
14675
be8af28d1980 [gaim-migrate @ 17341]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
33 static GObjectClass *parent_class = NULL;
be8af28d1980 [gaim-migrate @ 17341]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
34
be8af28d1980 [gaim-migrate @ 17341]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
35 static void
be8af28d1980 [gaim-migrate @ 17341]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
36 gnt_menuitem_destroy(GObject *obj)
be8af28d1980 [gaim-migrate @ 17341]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
37 {
15991
1efb6bd8ba3f Some define changes. This helps in generating the python bindings.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 15886
diff changeset
38 GntMenuItem *item = GNT_MENU_ITEM(obj);
14675
be8af28d1980 [gaim-migrate @ 17341]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
39 g_free(item->text);
be8af28d1980 [gaim-migrate @ 17341]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
40 item->text = NULL;
be8af28d1980 [gaim-migrate @ 17341]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
41 if (item->submenu)
be8af28d1980 [gaim-migrate @ 17341]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
42 gnt_widget_destroy(GNT_WIDGET(item->submenu));
20821
51bd63176b50 Allow binding key-shortcuts to menuitems.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 19859
diff changeset
43 g_free(item->priv.id);
14962
abfaa2e03ac7 [gaim-migrate @ 17672]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14945
diff changeset
44 parent_class->dispose(obj);
14675
be8af28d1980 [gaim-migrate @ 17341]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
45 }
be8af28d1980 [gaim-migrate @ 17341]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
46
be8af28d1980 [gaim-migrate @ 17341]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
47 static void
be8af28d1980 [gaim-migrate @ 17341]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
48 gnt_menuitem_class_init(GntMenuItemClass *klass)
be8af28d1980 [gaim-migrate @ 17341]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
49 {
14962
abfaa2e03ac7 [gaim-migrate @ 17672]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14945
diff changeset
50 GObjectClass *obj_class = G_OBJECT_CLASS(klass);
abfaa2e03ac7 [gaim-migrate @ 17672]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14945
diff changeset
51 parent_class = g_type_class_peek_parent(klass);
14675
be8af28d1980 [gaim-migrate @ 17341]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
52
14962
abfaa2e03ac7 [gaim-migrate @ 17672]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14945
diff changeset
53 obj_class->dispose = gnt_menuitem_destroy;
21246
1e4738b18075 Add gnt_menuitem_activate, and 'activate' signal for GntMenuItem.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 20821
diff changeset
54
1e4738b18075 Add gnt_menuitem_activate, and 'activate' signal for GntMenuItem.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 20821
diff changeset
55 signals[SIG_ACTIVATE] =
1e4738b18075 Add gnt_menuitem_activate, and 'activate' signal for GntMenuItem.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 20821
diff changeset
56 g_signal_new("activate",
1e4738b18075 Add gnt_menuitem_activate, and 'activate' signal for GntMenuItem.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 20821
diff changeset
57 G_TYPE_FROM_CLASS(klass),
1e4738b18075 Add gnt_menuitem_activate, and 'activate' signal for GntMenuItem.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 20821
diff changeset
58 G_SIGNAL_RUN_LAST,
1e4738b18075 Add gnt_menuitem_activate, and 'activate' signal for GntMenuItem.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 20821
diff changeset
59 0, NULL, NULL,
1e4738b18075 Add gnt_menuitem_activate, and 'activate' signal for GntMenuItem.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 20821
diff changeset
60 g_cclosure_marshal_VOID__VOID,
1e4738b18075 Add gnt_menuitem_activate, and 'activate' signal for GntMenuItem.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 20821
diff changeset
61 G_TYPE_NONE, 0);
14675
be8af28d1980 [gaim-migrate @ 17341]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
62 }
be8af28d1980 [gaim-migrate @ 17341]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
63
be8af28d1980 [gaim-migrate @ 17341]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
64 static void
21246
1e4738b18075 Add gnt_menuitem_activate, and 'activate' signal for GntMenuItem.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 20821
diff changeset
65 gnt_menuitem_init(GTypeInstance *instance, gpointer klass)
14675
be8af28d1980 [gaim-migrate @ 17341]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
66 {
be8af28d1980 [gaim-migrate @ 17341]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
67 }
be8af28d1980 [gaim-migrate @ 17341]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
68
be8af28d1980 [gaim-migrate @ 17341]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
69 /******************************************************************************
be8af28d1980 [gaim-migrate @ 17341]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
70 * GntMenuItem API
be8af28d1980 [gaim-migrate @ 17341]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
71 *****************************************************************************/
be8af28d1980 [gaim-migrate @ 17341]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
72 GType
be8af28d1980 [gaim-migrate @ 17341]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
73 gnt_menuitem_get_gtype(void)
be8af28d1980 [gaim-migrate @ 17341]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
74 {
be8af28d1980 [gaim-migrate @ 17341]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
75 static GType type = 0;
be8af28d1980 [gaim-migrate @ 17341]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
76
be8af28d1980 [gaim-migrate @ 17341]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
77 if(type == 0)
be8af28d1980 [gaim-migrate @ 17341]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
78 {
be8af28d1980 [gaim-migrate @ 17341]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
79 static const GTypeInfo info = {
be8af28d1980 [gaim-migrate @ 17341]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
80 sizeof(GntMenuItemClass),
be8af28d1980 [gaim-migrate @ 17341]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
81 NULL, /* base_init */
be8af28d1980 [gaim-migrate @ 17341]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
82 NULL, /* base_finalize */
be8af28d1980 [gaim-migrate @ 17341]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
83 (GClassInitFunc)gnt_menuitem_class_init,
be8af28d1980 [gaim-migrate @ 17341]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
84 NULL, /* class_finalize */
be8af28d1980 [gaim-migrate @ 17341]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
85 NULL, /* class_data */
be8af28d1980 [gaim-migrate @ 17341]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
86 sizeof(GntMenuItem),
be8af28d1980 [gaim-migrate @ 17341]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
87 0, /* n_preallocs */
be8af28d1980 [gaim-migrate @ 17341]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
88 gnt_menuitem_init, /* instance_init */
15874
46df7421a1b5 Enable DEBUG_CFLAGS in libgnt and fix up a number of compile warnings and
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 14962
diff changeset
89 NULL /* value_table */
14675
be8af28d1980 [gaim-migrate @ 17341]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
90 };
be8af28d1980 [gaim-migrate @ 17341]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
91
be8af28d1980 [gaim-migrate @ 17341]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
92 type = g_type_register_static(G_TYPE_OBJECT,
be8af28d1980 [gaim-migrate @ 17341]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
93 "GntMenuItem",
be8af28d1980 [gaim-migrate @ 17341]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
94 &info, 0);
be8af28d1980 [gaim-migrate @ 17341]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
95 }
be8af28d1980 [gaim-migrate @ 17341]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
96
be8af28d1980 [gaim-migrate @ 17341]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
97 return type;
be8af28d1980 [gaim-migrate @ 17341]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
98 }
be8af28d1980 [gaim-migrate @ 17341]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
99
14678
97f57691faab [gaim-migrate @ 17344]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14675
diff changeset
100 GntMenuItem *gnt_menuitem_new(const char *text)
14675
be8af28d1980 [gaim-migrate @ 17341]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
101 {
15991
1efb6bd8ba3f Some define changes. This helps in generating the python bindings.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 15886
diff changeset
102 GObject *item = g_object_new(GNT_TYPE_MENU_ITEM, NULL);
1efb6bd8ba3f Some define changes. This helps in generating the python bindings.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 15886
diff changeset
103 GntMenuItem *menuitem = GNT_MENU_ITEM(item);
14675
be8af28d1980 [gaim-migrate @ 17341]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
104
be8af28d1980 [gaim-migrate @ 17341]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
105 menuitem->text = g_strdup(text);
be8af28d1980 [gaim-migrate @ 17341]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
106
14678
97f57691faab [gaim-migrate @ 17344]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14675
diff changeset
107 return menuitem;
14675
be8af28d1980 [gaim-migrate @ 17341]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
108 }
be8af28d1980 [gaim-migrate @ 17341]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
109
be8af28d1980 [gaim-migrate @ 17341]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
110 void gnt_menuitem_set_callback(GntMenuItem *item, GntMenuItemCallback callback, gpointer data)
be8af28d1980 [gaim-migrate @ 17341]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
111 {
be8af28d1980 [gaim-migrate @ 17341]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
112 item->callback = callback;
be8af28d1980 [gaim-migrate @ 17341]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
113 item->callbackdata = data;
be8af28d1980 [gaim-migrate @ 17341]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
114 }
be8af28d1980 [gaim-migrate @ 17341]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
115
be8af28d1980 [gaim-migrate @ 17341]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
116 void gnt_menuitem_set_submenu(GntMenuItem *item, GntMenu *menu)
be8af28d1980 [gaim-migrate @ 17341]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
117 {
14945
4cd7dbf2933b [gaim-migrate @ 17652]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14678
diff changeset
118 if (item->submenu)
14962
abfaa2e03ac7 [gaim-migrate @ 17672]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14945
diff changeset
119 gnt_widget_destroy(GNT_WIDGET(item->submenu));
14675
be8af28d1980 [gaim-migrate @ 17341]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
120 item->submenu = menu;
be8af28d1980 [gaim-migrate @ 17341]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
121 }
be8af28d1980 [gaim-migrate @ 17341]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
122
20821
51bd63176b50 Allow binding key-shortcuts to menuitems.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 19859
diff changeset
123 GntMenu *gnt_menuitem_get_submenu(GntMenuItem *item)
51bd63176b50 Allow binding key-shortcuts to menuitems.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 19859
diff changeset
124 {
51bd63176b50 Allow binding key-shortcuts to menuitems.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 19859
diff changeset
125 return item->submenu;
51bd63176b50 Allow binding key-shortcuts to menuitems.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 19859
diff changeset
126 }
51bd63176b50 Allow binding key-shortcuts to menuitems.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 19859
diff changeset
127
18624
03d4eb6b6684 Allow trigger keys for menuitems.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 17586
diff changeset
128 void gnt_menuitem_set_trigger(GntMenuItem *item, char trigger)
03d4eb6b6684 Allow trigger keys for menuitems.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 17586
diff changeset
129 {
03d4eb6b6684 Allow trigger keys for menuitems.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 17586
diff changeset
130 item->priv.trigger = trigger;
03d4eb6b6684 Allow trigger keys for menuitems.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 17586
diff changeset
131 }
03d4eb6b6684 Allow trigger keys for menuitems.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 17586
diff changeset
132
03d4eb6b6684 Allow trigger keys for menuitems.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 17586
diff changeset
133 char gnt_menuitem_get_trigger(GntMenuItem *item)
03d4eb6b6684 Allow trigger keys for menuitems.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 17586
diff changeset
134 {
03d4eb6b6684 Allow trigger keys for menuitems.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 17586
diff changeset
135 return item->priv.trigger;
03d4eb6b6684 Allow trigger keys for menuitems.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 17586
diff changeset
136 }
03d4eb6b6684 Allow trigger keys for menuitems.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 17586
diff changeset
137
20821
51bd63176b50 Allow binding key-shortcuts to menuitems.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 19859
diff changeset
138 void gnt_menuitem_set_id(GntMenuItem *item, const char *id)
51bd63176b50 Allow binding key-shortcuts to menuitems.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 19859
diff changeset
139 {
51bd63176b50 Allow binding key-shortcuts to menuitems.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 19859
diff changeset
140 g_free(item->priv.id);
51bd63176b50 Allow binding key-shortcuts to menuitems.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 19859
diff changeset
141 item->priv.id = g_strdup(id);
51bd63176b50 Allow binding key-shortcuts to menuitems.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 19859
diff changeset
142 }
51bd63176b50 Allow binding key-shortcuts to menuitems.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 19859
diff changeset
143
51bd63176b50 Allow binding key-shortcuts to menuitems.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 19859
diff changeset
144 const char * gnt_menuitem_get_id(GntMenuItem *item)
51bd63176b50 Allow binding key-shortcuts to menuitems.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 19859
diff changeset
145 {
51bd63176b50 Allow binding key-shortcuts to menuitems.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 19859
diff changeset
146 return item->priv.id;
51bd63176b50 Allow binding key-shortcuts to menuitems.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 19859
diff changeset
147 }
51bd63176b50 Allow binding key-shortcuts to menuitems.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 19859
diff changeset
148
21246
1e4738b18075 Add gnt_menuitem_activate, and 'activate' signal for GntMenuItem.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 20821
diff changeset
149 gboolean gnt_menuitem_activate(GntMenuItem *item)
1e4738b18075 Add gnt_menuitem_activate, and 'activate' signal for GntMenuItem.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 20821
diff changeset
150 {
1e4738b18075 Add gnt_menuitem_activate, and 'activate' signal for GntMenuItem.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 20821
diff changeset
151 g_signal_emit(item, signals[SIG_ACTIVATE], 0);
1e4738b18075 Add gnt_menuitem_activate, and 'activate' signal for GntMenuItem.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 20821
diff changeset
152 if (item->callback) {
1e4738b18075 Add gnt_menuitem_activate, and 'activate' signal for GntMenuItem.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 20821
diff changeset
153 item->callback(item, item->callbackdata);
1e4738b18075 Add gnt_menuitem_activate, and 'activate' signal for GntMenuItem.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 20821
diff changeset
154 return TRUE;
1e4738b18075 Add gnt_menuitem_activate, and 'activate' signal for GntMenuItem.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 20821
diff changeset
155 }
1e4738b18075 Add gnt_menuitem_activate, and 'activate' signal for GntMenuItem.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 20821
diff changeset
156 return FALSE;
1e4738b18075 Add gnt_menuitem_activate, and 'activate' signal for GntMenuItem.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 20821
diff changeset
157 }
1e4738b18075 Add gnt_menuitem_activate, and 'activate' signal for GntMenuItem.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 20821
diff changeset
158

mercurial