comparison finch/libgnt/gntmenuitem.c @ 21212:b65f1bff6412

Allow binding key-shortcuts to menuitems. For example, to bind ctrl+m to the 'Options -> Send IM...' menu, you would add: [buddylist::menu] c-m = send-im in ~/.gntrc
author Sadrul Habib Chowdhury <imadil@gmail.com>
date Wed, 03 Oct 2007 06:51:26 +0000
parents 44b4e8bd759b
children e8b0f224483f
comparison
equal deleted inserted replaced
21210:5a12b881ac39 21212:b65f1bff6412
31 GntMenuItem *item = GNT_MENU_ITEM(obj); 31 GntMenuItem *item = GNT_MENU_ITEM(obj);
32 g_free(item->text); 32 g_free(item->text);
33 item->text = NULL; 33 item->text = NULL;
34 if (item->submenu) 34 if (item->submenu)
35 gnt_widget_destroy(GNT_WIDGET(item->submenu)); 35 gnt_widget_destroy(GNT_WIDGET(item->submenu));
36 g_free(item->priv.id);
36 parent_class->dispose(obj); 37 parent_class->dispose(obj);
37 } 38 }
38 39
39 static void 40 static void
40 gnt_menuitem_class_init(GntMenuItemClass *klass) 41 gnt_menuitem_class_init(GntMenuItemClass *klass)
102 if (item->submenu) 103 if (item->submenu)
103 gnt_widget_destroy(GNT_WIDGET(item->submenu)); 104 gnt_widget_destroy(GNT_WIDGET(item->submenu));
104 item->submenu = menu; 105 item->submenu = menu;
105 } 106 }
106 107
108 GntMenu *gnt_menuitem_get_submenu(GntMenuItem *item)
109 {
110 return item->submenu;
111 }
112
107 void gnt_menuitem_set_trigger(GntMenuItem *item, char trigger) 113 void gnt_menuitem_set_trigger(GntMenuItem *item, char trigger)
108 { 114 {
109 item->priv.trigger = trigger; 115 item->priv.trigger = trigger;
110 } 116 }
111 117
112 char gnt_menuitem_get_trigger(GntMenuItem *item) 118 char gnt_menuitem_get_trigger(GntMenuItem *item)
113 { 119 {
114 return item->priv.trigger; 120 return item->priv.trigger;
115 } 121 }
116 122
123 void gnt_menuitem_set_id(GntMenuItem *item, const char *id)
124 {
125 g_free(item->priv.id);
126 item->priv.id = g_strdup(id);
127 }
128
129 const char * gnt_menuitem_get_id(GntMenuItem *item)
130 {
131 return item->priv.id;
132 }
133