93
PlaceLauncherIcon::ForeachSectionCallback (PlaceEntry *entry, PlaceEntrySection& section)
95
DbusmenuMenuitem *menu_item;
98
temp = g_markup_escape_text (section.GetName (), -1);
99
menu_item = dbusmenu_menuitem_new ();
100
dbusmenu_menuitem_property_set (menu_item, DBUSMENU_MENUITEM_PROP_LABEL, section.GetName ());
101
dbusmenu_menuitem_property_set_bool (menu_item, DBUSMENU_MENUITEM_PROP_ENABLED, true);
102
dbusmenu_menuitem_property_set_bool (menu_item, DBUSMENU_MENUITEM_PROP_VISIBLE, true);
103
dbusmenu_menuitem_property_set_int (menu_item, SECTION_NUMBER, _current_menu.size ());
104
_current_menu.push_back (menu_item);
105
g_signal_connect (menu_item, DBUSMENU_MENUITEM_SIGNAL_ITEM_ACTIVATED,
106
G_CALLBACK (&PlaceLauncherIcon::OnOpen), this);
90
110
std::list<DbusmenuMenuitem *>
91
111
PlaceLauncherIcon::GetMenus ()
93
std::list<DbusmenuMenuitem *> result;
94
113
DbusmenuMenuitem *menu_item;
96
menu_item = dbusmenu_menuitem_new ();
98
dbusmenu_menuitem_property_set (menu_item, DBUSMENU_MENUITEM_PROP_LABEL, _("Open"));
99
dbusmenu_menuitem_property_set_bool (menu_item, DBUSMENU_MENUITEM_PROP_ENABLED, true);
100
dbusmenu_menuitem_property_set_bool (menu_item, DBUSMENU_MENUITEM_PROP_VISIBLE, true);
116
_current_menu.erase (_current_menu.begin (), _current_menu.end ());
118
_entry->ForeachSection (sigc::mem_fun (this, &PlaceLauncherIcon::ForeachSectionCallback));
120
menu_item = dbusmenu_menuitem_new ();
121
dbusmenu_menuitem_property_set (menu_item, DBUSMENU_MENUITEM_PROP_TYPE, DBUSMENU_CLIENT_TYPES_SEPARATOR);
122
dbusmenu_menuitem_property_set_bool (menu_item, DBUSMENU_MENUITEM_PROP_ENABLED, true);
123
dbusmenu_menuitem_property_set_bool (menu_item, DBUSMENU_MENUITEM_PROP_VISIBLE, true);
124
_current_menu.push_back (menu_item);
126
temp = g_markup_escape_text (_entry->GetName (), -1);
127
menu_item = dbusmenu_menuitem_new ();
128
dbusmenu_menuitem_property_set (menu_item, DBUSMENU_MENUITEM_PROP_LABEL, temp);
129
dbusmenu_menuitem_property_set_bool (menu_item, DBUSMENU_MENUITEM_PROP_ENABLED, true);
130
dbusmenu_menuitem_property_set_bool (menu_item, DBUSMENU_MENUITEM_PROP_VISIBLE, true);
131
dbusmenu_menuitem_property_set_int (menu_item, SECTION_NUMBER, 0);
132
_current_menu.push_back (menu_item);
102
133
g_signal_connect (menu_item, DBUSMENU_MENUITEM_SIGNAL_ITEM_ACTIVATED,
103
134
G_CALLBACK (&PlaceLauncherIcon::OnOpen), this);
105
result.push_back (menu_item);
137
return _current_menu;