2014-11-24 19:33 GMT+01:00 Leif Middelschulte <leif.middelschu...@gmail.com> :
> discomfitor pushed a commit to branch master. > > > http://git.enlightenment.org/core/enlightenment.git/commit/?id=6a92676cf805eeae0df1c90dc79530102c8d7fd2 > > commit 6a92676cf805eeae0df1c90dc79530102c8d7fd2 > Author: Leif Middelschulte <leif.middelschu...@gmail.com> > Date: Mon Nov 24 13:33:02 2014 -0500 > > Implement FreeDesktop .deskop Additional Actions menu > > Summary: > This implements the additional actions as specified in > FreeDesktop.org's desktop entry specification 1.1. > This version is implemented by Efreet 1.12 > > The additional actions are presented as right-click > menu entries. > Fantastic feature, really, I love it!! Included yet in my media center :) But I'm not sure the items are placed correctly inside the menu, see the shot: http://www.imgbin.org/index.php?page=image&id=21048 are the Additionals in the right position? why a separator is on the bottom? > > @feature > > Reviewers: zmike > > Subscribers: tasn, q66, cedric > > Differential Revision: https://phab.enlightenment.org/D1657 > --- > src/modules/ibar/e_mod_main.c | 24 ++++++++++++++++++++++++ > 1 file changed, 24 insertions(+) > > diff --git a/src/modules/ibar/e_mod_main.c b/src/modules/ibar/e_mod_main.c > index 3f7f8a0..e583658 100644 > --- a/src/modules/ibar/e_mod_main.c > +++ b/src/modules/ibar/e_mod_main.c > @@ -111,6 +111,7 @@ static void _ibar_sep_create(IBar *b); > static void _ibar_icon_signal_emit(IBar_Icon *ic, char *sig, char > *src); > static void _ibar_cb_app_change(void *data, E_Order *eo); > static void _ibar_cb_obj_moveresize(void *data, Evas *e, > Evas_Object *obj, void *event_info); > +static void _ibar_cb_menu_icon_action_exec(void *data, E_Menu *m, > E_Menu_Item *mi); > static void _ibar_cb_menu_icon_new(void *data, E_Menu *m, > E_Menu_Item *mi); > static void _ibar_cb_menu_icon_add(void *data, E_Menu *m, > E_Menu_Item *mi); > static void _ibar_cb_menu_icon_properties(void *data, E_Menu *m, > E_Menu_Item *mi); > @@ -1043,6 +1044,13 @@ _ibar_cb_obj_moveresize(void *data, Evas *e > __UNUSED__, Evas_Object *obj __UNUSE > } > > static void > +_ibar_cb_menu_icon_action_exec(void *data, E_Menu *m __UNUSED__, > E_Menu_Item *mi __UNUSED__) > +{ > + Efreet_Desktop_Action *action = (Efreet_Desktop_Action*)data; > + e_exec(NULL, NULL, action->exec, NULL, "ibar"); > +} > + > +static void > _ibar_cb_menu_icon_new(void *data __UNUSED__, E_Menu *m __UNUSED__, > E_Menu_Item *mi __UNUSED__) > { > if (!e_configure_registry_exists("applications/new_application")) > return; > @@ -1558,8 +1566,10 @@ _ibar_cb_icon_mouse_down(void *data, Evas *e > __UNUSED__, Evas_Object *obj __UNUS > } > else if (ev->button == 3) > { > + Eina_List *it; > E_Menu *m, *mo; > E_Menu_Item *mi; > + Efreet_Desktop_Action *action; > char buf[256]; > int cx, cy; > > @@ -1626,6 +1636,20 @@ _ibar_cb_icon_mouse_down(void *data, Evas *e > __UNUSED__, Evas_Object *obj __UNUS > mi); > e_menu_item_submenu_set(mi, mo); > e_object_unref(E_OBJECT(mo)); > + > + if (ic->app->actions) > + { > + EINA_LIST_FOREACH(ic->app->actions, it, action) > + { > + mi = e_menu_item_new_relative(m, mi); > + e_menu_item_label_set(mi, action->name); > + e_util_menu_item_theme_icon_set(mi, action->icon); > + e_menu_item_callback_set(mi, > _ibar_cb_menu_icon_action_exec, action); > + } > + mi = e_menu_item_new(m); > + e_menu_item_separator_set(mi, 1); > + } > + > e_gadcon_client_menu_set(ic->ibar->inst->gcc, m); > > e_gadcon_canvas_zone_geometry_get(ic->ibar->inst->gcc->gadcon, > > -- > > > ------------------------------------------------------------------------------ Download BIRT iHub F-Type - The Free Enterprise-Grade BIRT Server from Actuate! Instantly Supercharge Your Business Reports and Dashboards with Interactivity, Sharing, Native Excel Exports, App Integration & more Get technology previously reserved for billion-dollar corporations, FREE http://pubads.g.doubleclick.net/gampad/clk?id=157005751&iu=/4140/ostg.clktrk _______________________________________________ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel