diff --git a/src/bin/e_gadcon.c b/src/bin/e_gadcon.c index 5fd28b09e..8ee309f97 100644 --- a/src/bin/e_gadcon.c +++ b/src/bin/e_gadcon.c @@ -1325,7 +1325,7 @@ e_gadcon_client_add_location_menu(E_Gadcon_Client *gcc, E_Menu *menu) { mn = e_menu_new(); mi = e_menu_item_new(menu); - e_menu_item_label_set(mi, _("Move this gadget to")); + e_menu_item_label_set(mi, _("Move to")); e_util_menu_item_theme_icon_set(mi, "preferences-appearance"); e_menu_item_submenu_set(mi, mn); e_menu_pre_activate_callback_set(mn, _e_gadcon_gadget_move_to_pre_cb, gcc); @@ -1333,80 +1333,93 @@ e_gadcon_client_add_location_menu(E_Gadcon_Client *gcc, E_Menu *menu) } EAPI void -e_gadcon_client_util_menu_items_append(E_Gadcon_Client *gcc, E_Menu *menu, int flags __UNUSED__) +e_gadcon_client_util_menu_items_append(E_Gadcon_Client *gcc, E_Menu *menu_main, E_Menu *menu_gadget, int flags __UNUSED__) { - E_Menu *mn; + E_Menu *mo; E_Menu_Item *mi; + char buf[256]; E_OBJECT_CHECK(gcc); E_OBJECT_TYPE_CHECK(gcc, E_GADCON_CLIENT_TYPE); - if (gcc->gadcon->shelf) - { - mn = e_menu_new(); - mi = e_menu_item_new(mn); - e_menu_item_label_set(mi, _("Plain")); - e_util_menu_item_theme_icon_set(mi, "enlightenment/plain"); - e_menu_item_radio_group_set(mi, 1); - e_menu_item_radio_set(mi, 1); - if ((gcc->style) && (!strcmp(gcc->style, E_GADCON_CLIENT_STYLE_PLAIN))) - e_menu_item_toggle_set(mi, 1); - e_menu_item_callback_set(mi, _e_gadcon_client_cb_menu_style_plain, gcc); - - mi = e_menu_item_new(mn); - e_menu_item_label_set(mi, _("Inset")); - e_util_menu_item_theme_icon_set(mi, "enlightenment/inset"); - e_menu_item_radio_group_set(mi, 1); - e_menu_item_radio_set(mi, 1); - if ((gcc->style) && (!strcmp(gcc->style, E_GADCON_CLIENT_STYLE_INSET))) - e_menu_item_toggle_set(mi, 1); - e_menu_item_callback_set(mi, _e_gadcon_client_cb_menu_style_inset, gcc); - - mi = e_menu_item_new(menu); - e_menu_item_label_set(mi, _("Appearance")); - e_util_menu_item_theme_icon_set(mi, "preferences-appearance"); - e_menu_item_submenu_set(mi, mn); - } - if ((gcc->gadcon->shelf) || (gcc->gadcon->toolbar)) { - mi = e_menu_item_new(menu); + mi = e_menu_item_new(menu_gadget); + e_menu_item_separator_set(mi, 1); + + if (!gcc->o_control) + { + mi = e_menu_item_new(menu_gadget); + e_menu_item_label_set(mi, _("Begin move/resize")); + e_util_menu_item_theme_icon_set(mi, "transform-scale"); + e_menu_item_callback_set(mi, _e_gadcon_client_cb_menu_edit, gcc); + } + + mi = e_menu_item_new(menu_gadget); + e_menu_item_label_set(mi, _("Resizeable")); + e_util_menu_item_theme_icon_set(mi, "transform-scale"); + e_menu_item_check_set(mi, 1); + if (gcc->resizable) e_menu_item_toggle_set(mi, 1); + e_menu_item_callback_set(mi, _e_gadcon_client_cb_menu_resizable, gcc); + + mi = e_menu_item_new(menu_gadget); e_menu_item_label_set(mi, _("Automatically scroll contents")); e_util_menu_item_theme_icon_set(mi, "transform-move"); e_menu_item_check_set(mi, 1); if (gcc->autoscroll) e_menu_item_toggle_set(mi, 1); e_menu_item_callback_set(mi, _e_gadcon_client_cb_menu_autoscroll, gcc); - mi = e_menu_item_new(menu); - e_menu_item_label_set(mi, _("Able to be resized")); - e_util_menu_item_theme_icon_set(mi, "transform-scale"); - e_menu_item_check_set(mi, 1); - if (gcc->resizable) e_menu_item_toggle_set(mi, 1); - e_menu_item_callback_set(mi, _e_gadcon_client_cb_menu_resizable, gcc); + if (gcc->gadcon->shelf) + { + mo = e_menu_new(); - mi = e_menu_item_new(menu); + mi = e_menu_item_new(mo); + e_menu_item_label_set(mi, _("Plain")); + e_util_menu_item_theme_icon_set(mi, "enlightenment/plain"); + e_menu_item_radio_group_set(mi, 1); + e_menu_item_radio_set(mi, 1); + if ((gcc->style) && (!strcmp(gcc->style, E_GADCON_CLIENT_STYLE_PLAIN))) + e_menu_item_toggle_set(mi, 1); + e_menu_item_callback_set(mi, _e_gadcon_client_cb_menu_style_plain, gcc); + + mi = e_menu_item_new(mo); + e_menu_item_label_set(mi, _("Inset")); + e_util_menu_item_theme_icon_set(mi, "enlightenment/inset"); + e_menu_item_radio_group_set(mi, 1); + e_menu_item_radio_set(mi, 1); + if ((gcc->style) && (!strcmp(gcc->style, E_GADCON_CLIENT_STYLE_INSET))) + e_menu_item_toggle_set(mi, 1); + e_menu_item_callback_set(mi, _e_gadcon_client_cb_menu_style_inset, gcc); + + mi = e_menu_item_new(menu_gadget); + e_menu_item_label_set(mi, _("Appearance")); + e_util_menu_item_theme_icon_set(mi, "preferences-appearance"); + e_menu_item_submenu_set(mi, mo); + } + + mi = e_menu_item_new(menu_gadget); e_menu_item_separator_set(mi, 1); - if (!gcc->o_control) - { - mi = e_menu_item_new(menu); - e_menu_item_label_set(mi, _("Begin move/resize this gadget")); - e_util_menu_item_theme_icon_set(mi, "transform-scale"); - e_menu_item_callback_set(mi, _e_gadcon_client_cb_menu_edit, gcc); - } + e_gadcon_client_add_location_menu(gcc, menu_gadget); - e_gadcon_client_add_location_menu(gcc, menu); - - mi = e_menu_item_new(menu); - e_menu_item_label_set(mi, _("Remove this gadget")); + mi = e_menu_item_new(menu_gadget); + e_menu_item_label_set(mi, _("Remove")); e_util_menu_item_theme_icon_set(mi, "list-remove"); e_menu_item_callback_set(mi, _e_gadcon_client_cb_menu_remove, gcc); } + + mi = e_menu_item_new(menu_main); + snprintf(buf, sizeof(buf), "Gadget %s", gcc->name); + e_menu_item_label_set(mi, _(buf)); + e_util_menu_item_theme_icon_set(mi, "preferences-gadget"); // FIXME: icon theme + e_menu_item_submenu_set(mi, menu_gadget); + if (gcc->gadcon->menu_attach.func) { - mi = e_menu_item_new(menu); - e_menu_item_separator_set(mi, 1); - gcc->gadcon->menu_attach.func(gcc->gadcon->menu_attach.data, gcc, menu); + if ((gcc->gadcon->shelf) || (gcc->gadcon->toolbar)) + gcc->gadcon->menu_attach.func(gcc->gadcon->menu_attach.data, gcc, menu_main); + else + gcc->gadcon->menu_attach.func(gcc->gadcon->menu_attach.data, gcc, menu_gadget); } } @@ -2524,21 +2537,22 @@ _e_gadcon_client_cb_mouse_down(void *data, Evas *e __UNUSED__, Evas_Object *obj if (gcc->menu) return; if (ev->button == 3) { - E_Menu *mn; + E_Menu *ma, *mg; E_Zone *zone; int cx, cy, cw, ch; e_gadcon_locked_set(gcc->gadcon, 1); - mn = e_menu_new(); - e_menu_post_deactivate_callback_set(mn, _e_gadcon_client_cb_menu_post, + ma = e_menu_new(); + mg = e_menu_new(); + e_menu_post_deactivate_callback_set(ma, _e_gadcon_client_cb_menu_post, gcc); - gcc->menu = mn; + gcc->menu = ma; - e_gadcon_client_util_menu_items_append(gcc, mn, 0); + e_gadcon_client_util_menu_items_append(gcc, ma, mg, 0); e_gadcon_canvas_zone_geometry_get(gcc->gadcon, &cx, &cy, &cw, &ch); zone = gcc->gadcon->zone; if (!zone) zone = e_util_zone_current_get(e_manager_current_get()); - e_menu_activate_mouse(mn, zone, + e_menu_activate_mouse(ma, zone, cx + ev->output.x, cy + ev->output.y, 1, 1, E_MENU_POP_DIRECTION_AUTO, ev->timestamp); diff --git a/src/bin/e_gadcon.h b/src/bin/e_gadcon.h index cb50116b8..51253a17f 100644 --- a/src/bin/e_gadcon.h +++ b/src/bin/e_gadcon.h @@ -286,7 +286,7 @@ EAPI void e_gadcon_client_autoscroll_cb_set(E_Gadcon_Client *gcc, vo EAPI void e_gadcon_client_resizable_set(E_Gadcon_Client *gcc, int resizable); EAPI int e_gadcon_client_geometry_get(E_Gadcon_Client *gcc, int *x, int *y, int *w, int *h); EAPI E_Zone *e_gadcon_client_zone_get(E_Gadcon_Client *gcc); -EAPI void e_gadcon_client_util_menu_items_append(E_Gadcon_Client *gcc, E_Menu *menu, int flags); +EAPI void e_gadcon_client_util_menu_items_append(E_Gadcon_Client *gcc, E_Menu *menu_main, E_Menu *menu_gadget, int flags); EAPI void e_gadcon_client_util_menu_attach(E_Gadcon_Client *gcc); EAPI void e_gadcon_locked_set(E_Gadcon *gc, int lock); EAPI void e_gadcon_urgent_show(E_Gadcon *gc); diff --git a/src/modules/battery/e_mod_main.c b/src/modules/battery/e_mod_main.c index 7686a6031..c05143471 100644 --- a/src/modules/battery/e_mod_main.c +++ b/src/modules/battery/e_mod_main.c @@ -174,24 +174,26 @@ _button_cb_mouse_down(void *data, Evas *e, Evas_Object *obj, void *event_info) ev = event_info; if ((ev->button == 3) && (!battery_config->menu)) { - E_Menu *mn; + E_Menu *ma, *mg; E_Menu_Item *mi; int cx, cy; - mn = e_menu_new(); - e_menu_post_deactivate_callback_set(mn, _menu_cb_post, inst); - battery_config->menu = mn; + ma = e_menu_new(); + e_menu_post_deactivate_callback_set(ma, _menu_cb_post, inst); + battery_config->menu = ma; - mi = e_menu_item_new(mn); + mg = e_menu_new(); + + mi = e_menu_item_new(mg); e_menu_item_label_set(mi, _("Settings")); e_util_menu_item_theme_icon_set(mi, "configure"); e_menu_item_callback_set(mi, _battery_face_cb_menu_configure, NULL); - e_gadcon_client_util_menu_items_append(inst->gcc, mn, 0); + e_gadcon_client_util_menu_items_append(inst->gcc, ma, mg, 0); e_gadcon_canvas_zone_geometry_get(inst->gcc->gadcon, &cx, &cy, NULL, NULL); - e_menu_activate_mouse(mn, + e_menu_activate_mouse(mg, e_util_zone_current_get(e_manager_current_get()), cx + ev->output.x, cy + ev->output.y, 1, 1, E_MENU_POP_DIRECTION_DOWN, ev->timestamp); diff --git a/src/modules/bluez/e_mod_main.c b/src/modules/bluez/e_mod_main.c index 1db99ff48..4b1417e90 100644 --- a/src/modules/bluez/e_mod_main.c +++ b/src/modules/bluez/e_mod_main.c @@ -754,24 +754,26 @@ static void _bluez_menu_new(E_Bluez_Instance *inst, Evas_Event_Mouse_Down *ev) { E_Zone *zone; - E_Menu *mn; + E_Menu *ma, *mg; E_Menu_Item *mi; int x, y; zone = e_util_zone_current_get(e_manager_current_get()); - mn = e_menu_new(); - e_menu_post_deactivate_callback_set(mn, _bluez_menu_cb_post, inst); - inst->menu = mn; + ma = e_menu_new(); + e_menu_post_deactivate_callback_set(ma, _bluez_menu_cb_post, inst); + inst->menu = ma; - mi = e_menu_item_new(mn); + mg = e_menu_new(); + + mi = e_menu_item_new(mg); e_menu_item_label_set(mi, _("Settings")); e_util_menu_item_theme_icon_set(mi, "configure"); e_menu_item_callback_set(mi, _bluez_menu_cb_cfg, inst); - e_gadcon_client_util_menu_items_append(inst->gcc, mn, 0); + e_gadcon_client_util_menu_items_append(inst->gcc, ma, mg, 0); e_gadcon_canvas_zone_geometry_get(inst->gcc->gadcon, &x, &y, NULL, NULL); - e_menu_activate_mouse(mn, zone, x + ev->output.x, y + ev->output.y, + e_menu_activate_mouse(ma, zone, x + ev->output.x, y + ev->output.y, 1, 1, E_MENU_POP_DIRECTION_AUTO, ev->timestamp); evas_event_feed_mouse_up(inst->gcc->gadcon->evas, ev->button, EVAS_BUTTON_NONE, ev->timestamp, NULL); diff --git a/src/modules/connman/e_mod_main.c b/src/modules/connman/e_mod_main.c index 10bcfc552..30b30445c 100644 --- a/src/modules/connman/e_mod_main.c +++ b/src/modules/connman/e_mod_main.c @@ -1211,24 +1211,26 @@ static void _connman_menu_new(E_Connman_Instance *inst, Evas_Event_Mouse_Down *ev) { E_Zone *zone; - E_Menu *mn; + E_Menu *ma, *mg; E_Menu_Item *mi; int x, y; zone = e_util_zone_current_get(e_manager_current_get()); - mn = e_menu_new(); - e_menu_post_deactivate_callback_set(mn, _connman_menu_cb_post, inst); - inst->menu = mn; + ma = e_menu_new(); + e_menu_post_deactivate_callback_set(ma, _connman_menu_cb_post, inst); + inst->menu = ma; - mi = e_menu_item_new(mn); + mg = e_menu_new(); + + mi = e_menu_item_new(mg); e_menu_item_label_set(mi, _("Settings")); e_util_menu_item_theme_icon_set(mi, "configure"); e_menu_item_callback_set(mi, _connman_menu_cb_cfg, inst); - e_gadcon_client_util_menu_items_append(inst->gcc, mn, 0); + e_gadcon_client_util_menu_items_append(inst->gcc, ma, mg, 0); e_gadcon_canvas_zone_geometry_get(inst->gcc->gadcon, &x, &y, NULL, NULL); - e_menu_activate_mouse(mn, zone, x + ev->output.x, y + ev->output.y, + e_menu_activate_mouse(ma, zone, x + ev->output.x, y + ev->output.y, 1, 1, E_MENU_POP_DIRECTION_AUTO, ev->timestamp); evas_event_feed_mouse_up(inst->gcc->gadcon->evas, ev->button, EVAS_BUTTON_NONE, ev->timestamp, NULL); diff --git a/src/modules/cpufreq/e_mod_main.c b/src/modules/cpufreq/e_mod_main.c index 141704b25..6afce0a54 100644 --- a/src/modules/cpufreq/e_mod_main.c +++ b/src/modules/cpufreq/e_mod_main.c @@ -165,44 +165,44 @@ _button_cb_mouse_down(void *data, Evas *e __UNUSED__, Evas_Object *obj __UNUSED_ ev = event_info; if ((ev->button == 3) && (!cpufreq_config->menu)) { - E_Menu *mn; + E_Menu *ma, *mg, *mo; E_Menu_Item *mi; int cx, cy; Eina_List *l; char buf[256]; - mn = e_menu_new(); - cpufreq_config->menu_poll = mn; + mo = e_menu_new(); + cpufreq_config->menu_poll = mo; - mi = e_menu_item_new(mn); + mi = e_menu_item_new(mo); e_menu_item_label_set(mi, _("Fast (4 ticks)")); e_menu_item_radio_set(mi, 1); e_menu_item_radio_group_set(mi, 1); if (cpufreq_config->poll_interval <= 4) e_menu_item_toggle_set(mi, 1); e_menu_item_callback_set(mi, _cpufreq_menu_fast, NULL); - mi = e_menu_item_new(mn); + mi = e_menu_item_new(mo); e_menu_item_label_set(mi, _("Medium (8 ticks)")); e_menu_item_radio_set(mi, 1); e_menu_item_radio_group_set(mi, 1); if (cpufreq_config->poll_interval > 4) e_menu_item_toggle_set(mi, 1); e_menu_item_callback_set(mi, _cpufreq_menu_medium, NULL); - mi = e_menu_item_new(mn); + mi = e_menu_item_new(mo); e_menu_item_label_set(mi, _("Normal (32 ticks)")); e_menu_item_radio_set(mi, 1); e_menu_item_radio_group_set(mi, 1); if (cpufreq_config->poll_interval >= 32) e_menu_item_toggle_set(mi, 1); e_menu_item_callback_set(mi, _cpufreq_menu_normal, NULL); - mi = e_menu_item_new(mn); + mi = e_menu_item_new(mo); e_menu_item_label_set(mi, _("Slow (64 ticks)")); e_menu_item_radio_set(mi, 1); e_menu_item_radio_group_set(mi, 1); if (cpufreq_config->poll_interval >= 64) e_menu_item_toggle_set(mi, 1); e_menu_item_callback_set(mi, _cpufreq_menu_slow, NULL); - mi = e_menu_item_new(mn); + mi = e_menu_item_new(mo); e_menu_item_label_set(mi, _("Very Slow (256 ticks)")); e_menu_item_radio_set(mi, 1); e_menu_item_radio_group_set(mi, 1); @@ -212,12 +212,12 @@ _button_cb_mouse_down(void *data, Evas *e __UNUSED__, Evas_Object *obj __UNUSED_ if (cpufreq_config->status->governors) { - mn = e_menu_new(); - cpufreq_config->menu_governor = mn; + mo = e_menu_new(); + cpufreq_config->menu_governor = mo; for (l = cpufreq_config->status->governors; l; l = l->next) { - mi = e_menu_item_new(mn); + mi = e_menu_item_new(mo); if (!strcmp(l->data, "userspace")) e_menu_item_label_set(mi, _("Manual")); else if (!strcmp(l->data, "ondemand")) @@ -235,25 +235,23 @@ _button_cb_mouse_down(void *data, Evas *e __UNUSED__, Evas_Object *obj __UNUSED_ e_menu_item_callback_set(mi, _cpufreq_menu_governor, l->data); } - e_menu_item_separator_set(e_menu_item_new(mn), 1); + e_menu_item_separator_set(e_menu_item_new(mo), 1); - mi = e_menu_item_new(mn); + mi = e_menu_item_new(mo); e_menu_item_label_set(mi, _("Restore CPU Power Policy")); e_menu_item_check_set(mi, 1); e_menu_item_toggle_set(mi, cpufreq_config->restore_governor); e_menu_item_callback_set(mi, _cpufreq_menu_restore_governor, NULL); - mn = e_menu_new(); - cpufreq_config->menu_powersave = mn; - - e_menu_title_set(mn, _("Powersaving policy")); + mo = e_menu_new(); + cpufreq_config->menu_powersave = mo; for (l = cpufreq_config->status->governors; l; l = l->next) { if (!strcmp(l->data, "userspace")) continue; - mi = e_menu_item_new(mn); + mi = e_menu_item_new(mo); if (!strcmp(l->data, "ondemand")) e_menu_item_label_set(mi, _("Automatic")); else if (!strcmp(l->data, "conservative")) @@ -271,9 +269,9 @@ _button_cb_mouse_down(void *data, Evas *e __UNUSED__, Evas_Object *obj __UNUSED_ e_menu_item_callback_set(mi, _cpufreq_menu_powersave_governor, l->data); } - e_menu_item_separator_set(e_menu_item_new(mn), 1); + e_menu_item_separator_set(e_menu_item_new(mo), 1); - mi = e_menu_item_new(mn); + mi = e_menu_item_new(mo); e_menu_item_label_set(mi, _("Automatic powersaving")); e_menu_item_check_set(mi, 1); e_menu_item_toggle_set(mi, cpufreq_config->auto_powersave); @@ -283,15 +281,15 @@ _button_cb_mouse_down(void *data, Evas *e __UNUSED__, Evas_Object *obj __UNUSED_ if ((cpufreq_config->status->frequencies) && (cpufreq_config->status->can_set_frequency)) { - mn = e_menu_new(); - cpufreq_config->menu_frequency = mn; + mo = e_menu_new(); + cpufreq_config->menu_frequency = mo; for (l = cpufreq_config->status->frequencies; l; l = l->next) { int frequency; frequency = (long)l->data; - mi = e_menu_item_new(mn); + mi = e_menu_item_new(mo); if (frequency < 1000000) snprintf(buf, sizeof(buf), _("%i MHz"), frequency / 1000); else @@ -307,39 +305,41 @@ _button_cb_mouse_down(void *data, Evas *e __UNUSED__, Evas_Object *obj __UNUSED_ } } - mn = e_menu_new(); - cpufreq_config->menu = mn; - e_menu_post_deactivate_callback_set(mn, _menu_cb_post, inst); + ma = e_menu_new(); + cpufreq_config->menu = ma; + e_menu_post_deactivate_callback_set(ma, _menu_cb_post, inst); - mi = e_menu_item_new(mn); + mg = e_menu_new(); + + mi = e_menu_item_new(mg); e_menu_item_label_set(mi, _("Time Between Updates")); e_menu_item_submenu_set(mi, cpufreq_config->menu_poll); if (cpufreq_config->menu_governor) { - mi = e_menu_item_new(mn); + mi = e_menu_item_new(mg); e_menu_item_label_set(mi, _("Set CPU Power Policy")); e_menu_item_submenu_set(mi, cpufreq_config->menu_governor); } if (cpufreq_config->menu_frequency) { - mi = e_menu_item_new(mn); + mi = e_menu_item_new(mg); e_menu_item_label_set(mi, _("Set CPU Speed")); e_menu_item_submenu_set(mi, cpufreq_config->menu_frequency); } if (cpufreq_config->menu_powersave) { - mi = e_menu_item_new(mn); + mi = e_menu_item_new(mg); e_menu_item_label_set(mi, _("Powersaving behavior")); e_menu_item_submenu_set(mi, cpufreq_config->menu_powersave); } - e_gadcon_client_util_menu_items_append(inst->gcc, mn, 0); + e_gadcon_client_util_menu_items_append(inst->gcc, ma, mg, 0); e_gadcon_canvas_zone_geometry_get(inst->gcc->gadcon, &cx, &cy, NULL, NULL); - e_menu_activate_mouse(mn, + e_menu_activate_mouse(ma, e_util_zone_current_get(e_manager_current_get()), cx + ev->output.x, cy + ev->output.y, 1, 1, E_MENU_POP_DIRECTION_AUTO, ev->timestamp); diff --git a/src/modules/gadman/e_mod_gadman.c b/src/modules/gadman/e_mod_gadman.c index 9a080803d..e574fd404 100644 --- a/src/modules/gadman/e_mod_gadman.c +++ b/src/modules/gadman/e_mod_gadman.c @@ -701,10 +701,20 @@ _attach_menu(void *data __UNUSED__, E_Gadcon_Client *gcc, E_Menu *menu) //printf("Attach menu (gcc: %x id: %s) [%s]\n", gcc, gcc->cf->id, gcc->cf->style); if (!gcc) return; + mi = e_menu_item_new(menu); + e_menu_item_separator_set(mi, 1); + + /* Move / resize*/ + mi = e_menu_item_new(menu); + e_menu_item_label_set(mi, _("Begin move/resize")); + e_util_menu_item_theme_icon_set(mi, "transform-scale"); + e_menu_item_callback_set(mi, on_menu_edit, gcc); + + + /* plain / inset */ if (!gcc->cf->style) gcc->cf->style = eina_stringshare_add(E_GADCON_CLIENT_STYLE_INSET); - /* plain / inset */ mn = e_menu_new(); mi = e_menu_item_new(mn); e_menu_item_label_set(mi, _("Plain")); @@ -784,21 +794,21 @@ _attach_menu(void *data __UNUSED__, E_Gadcon_Client *gcc, E_Menu *menu) e_menu_item_submenu_set(mi, mn); e_object_del(E_OBJECT(mn)); - /* Move / resize*/ mi = e_menu_item_new(menu); - e_menu_item_label_set(mi, _("Begin move/resize this gadget")); - e_util_menu_item_theme_icon_set(mi, "transform-scale"); - e_menu_item_callback_set(mi, on_menu_edit, gcc); + e_menu_item_separator_set(mi, 1); e_gadcon_client_add_location_menu(gcc, menu); /* Remove this gadgets */ mi = e_menu_item_new(menu); - e_menu_item_label_set(mi, _("Remove this gadget")); + e_menu_item_label_set(mi, _("Remove")); e_util_menu_item_theme_icon_set(mi, "list-remove"); e_menu_item_callback_set(mi, on_menu_delete, gcc); /* Add other gadgets */ + mi = e_menu_item_new(menu); + e_menu_item_separator_set(mi, 1); + mi = e_menu_item_new(menu); e_menu_item_label_set(mi, _("Add other gadgets")); e_util_menu_item_theme_icon_set(mi, "list-add"); @@ -1074,14 +1084,15 @@ on_frame_click(void *data, Evas *e __UNUSED__, Evas_Object *obj __UNUSED__, void if (ev->button == 5) { - E_Menu *mn; + E_Menu *ma, *mg; int cx, cy, cw, ch; - mn = e_menu_new(); - gcc->menu = mn; - e_gadcon_client_util_menu_items_append(gcc, mn, 0); + ma = e_menu_new(); + gcc->menu = ma; + mg = e_menu_new(); + e_gadcon_client_util_menu_items_append(gcc, ma, mg, 0); e_gadcon_canvas_zone_geometry_get(gcc->gadcon, &cx, &cy, &cw, &ch); - e_menu_activate_mouse(mn, + e_menu_activate_mouse(ma, e_util_zone_current_get(e_manager_current_get()), cx + ev->output.x, cy + ev->output.y, 1, 1, E_MENU_POP_DIRECTION_DOWN, ev->timestamp); diff --git a/src/modules/ibar/e_mod_main.c b/src/modules/ibar/e_mod_main.c index 86abe13b0..e72ba8477 100644 --- a/src/modules/ibar/e_mod_main.c +++ b/src/modules/ibar/e_mod_main.c @@ -299,27 +299,25 @@ _ibar_cb_empty_mouse_down(void *data, Evas *e __UNUSED__, Evas_Object *obj __UNU b = data; if (!ibar_config->menu) { - E_Menu *mn; + E_Menu *ma, *mg; E_Menu_Item *mi; int cx, cy, cw, ch; - mn = e_menu_new(); - e_menu_post_deactivate_callback_set(mn, _ibar_cb_menu_post, NULL); - ibar_config->menu = mn; + ma = e_menu_new(); + mg = e_menu_new(); + e_menu_post_deactivate_callback_set(ma, _ibar_cb_menu_post, NULL); + ibar_config->menu = ma; - mi = e_menu_item_new(mn); + mi = e_menu_item_new(mg); e_menu_item_label_set(mi, _("Settings")); e_util_menu_item_theme_icon_set(mi, "configure"); e_menu_item_callback_set(mi, _ibar_cb_menu_configuration, b); - mi = e_menu_item_new(mn); - e_menu_item_separator_set(mi, 1); - - e_gadcon_client_util_menu_items_append(b->inst->gcc, mn, 0); + e_gadcon_client_util_menu_items_append(b->inst->gcc, ma, mg, 0); e_gadcon_canvas_zone_geometry_get(b->inst->gcc->gadcon, &cx, &cy, &cw, &ch); - e_menu_activate_mouse(mn, + e_menu_activate_mouse(ma, e_util_zone_current_get(e_manager_current_get()), cx + ev->output.x, cy + ev->output.y, 1, 1, E_MENU_POP_DIRECTION_DOWN, ev->timestamp); @@ -764,6 +762,7 @@ _ibar_cb_icon_mouse_down(void *data, Evas *e __UNUSED__, Evas_Object *obj __UNUS { Evas_Event_Mouse_Down *ev; IBar_Icon *ic; + char buf[256]; ev = event_info; ic = data; @@ -777,55 +776,62 @@ _ibar_cb_icon_mouse_down(void *data, Evas *e __UNUSED__, Evas_Object *obj __UNUS } else if ((ev->button == 3) && (!ibar_config->menu)) { - E_Menu *mn; + E_Menu *ma, *mg, *mo; E_Menu_Item *mi; int cx, cy; - mn = e_menu_new(); - e_menu_post_deactivate_callback_set(mn, _ibar_cb_menu_post, NULL); - ibar_config->menu = mn; + ma = e_menu_new(); + e_menu_post_deactivate_callback_set(ma, _ibar_cb_menu_post, NULL); + ibar_config->menu = ma; /* FIXME: other icon options go here too */ - mi = e_menu_item_new(mn); - e_menu_item_label_set(mi, _("Change Icon Properties")); + mo = e_menu_new(); + + mi = e_menu_item_new(mo); + e_menu_item_label_set(mi, _("Properties")); e_util_menu_item_theme_icon_set(mi, "configure"); e_menu_item_callback_set(mi, _ibar_cb_menu_icon_properties, ic); - mi = e_menu_item_new(mn); - e_menu_item_label_set(mi, _("Remove Icon")); + mi = e_menu_item_new(mo); + e_menu_item_label_set(mi, _("Remove")); e_util_menu_item_theme_icon_set(mi, "list-remove"); e_menu_item_callback_set(mi, _ibar_cb_menu_icon_remove, ic); - mi = e_menu_item_new(mn); - e_menu_item_separator_set(mi, 1); + mi = e_menu_item_new(ma); + snprintf(buf, sizeof(buf), "Icon %s", ic->app->name); + e_menu_item_label_set(mi, _(buf)); + e_util_menu_item_theme_icon_set(mi, "preferences-icon"); + e_menu_item_submenu_set(mi, mo); + + mg = e_menu_new(); + if (e_configure_registry_exists("applications/new_application")) + { + mi = e_menu_item_new(mg); + e_menu_item_label_set(mi, _("Create new Icon")); + e_util_menu_item_theme_icon_set(mi, "document-new"); + e_menu_item_callback_set(mi, _ibar_cb_menu_icon_new, NULL); + } + + mi = e_menu_item_new(mg); + e_menu_item_separator_set(mi, 1); if (e_configure_registry_exists("applications/ibar_applications")) { - mi = e_menu_item_new(mn); - e_menu_item_label_set(mi, _("Add An Icon")); + mi = e_menu_item_new(mg); + e_menu_item_label_set(mi, _("Contents")); e_util_menu_item_theme_icon_set(mi, "list-add"); e_menu_item_callback_set(mi, _ibar_cb_menu_icon_add, NULL); } - if (e_configure_registry_exists("applications/new_application")) - { - mi = e_menu_item_new(mn); - e_menu_item_label_set(mi, _("Create New Icon")); - e_util_menu_item_theme_icon_set(mi, "document-new"); - e_menu_item_callback_set(mi, _ibar_cb_menu_icon_new, NULL); - mi = e_menu_item_new(mn); - e_menu_item_separator_set(mi, 1); - } - - mi = e_menu_item_new(mn); + mi = e_menu_item_new(mg); e_menu_item_label_set(mi, _("Settings")); e_util_menu_item_theme_icon_set(mi, "configure"); e_menu_item_callback_set(mi, _ibar_cb_menu_configuration, ic->ibar); - e_gadcon_client_util_menu_items_append(ic->ibar->inst->gcc, mn, 0); + e_gadcon_client_util_menu_items_append(ic->ibar->inst->gcc, ma, mg, 0); e_gadcon_canvas_zone_geometry_get(ic->ibar->inst->gcc->gadcon, &cx, &cy, NULL, NULL); - e_menu_activate_mouse(mn, + e_menu_activate_mouse(ma, e_util_zone_current_get(e_manager_current_get()), cx + ev->output.x, cy + ev->output.y, 1, 1, E_MENU_POP_DIRECTION_DOWN, ev->timestamp); diff --git a/src/modules/ibox/e_mod_main.c b/src/modules/ibox/e_mod_main.c index 1382eb212..c4e43e7b9 100644 --- a/src/modules/ibox/e_mod_main.c +++ b/src/modules/ibox/e_mod_main.c @@ -292,27 +292,26 @@ _ibox_cb_empty_mouse_down(void *data, Evas *e __UNUSED__, Evas_Object *obj __UNU b = data; if (!ibox_config->menu) { - E_Menu *mn; + E_Menu *ma, *mg; E_Menu_Item *mi; int cx, cy; - mn = e_menu_new(); - e_menu_post_deactivate_callback_set(mn, _ibox_cb_menu_post, NULL); - ibox_config->menu = mn; + ma = e_menu_new(); + e_menu_post_deactivate_callback_set(ma, _ibox_cb_menu_post, NULL); + ibox_config->menu = ma; - mi = e_menu_item_new(mn); + mg = e_menu_new(); + + mi = e_menu_item_new(mg); e_menu_item_label_set(mi, _("Settings")); e_util_menu_item_theme_icon_set(mi, "configure"); e_menu_item_callback_set(mi, _ibox_cb_menu_configuration, b); - mi = e_menu_item_new(mn); - e_menu_item_separator_set(mi, 1); - - e_gadcon_client_util_menu_items_append(b->inst->gcc, mn, 0); + e_gadcon_client_util_menu_items_append(b->inst->gcc, ma, mg, 0); e_gadcon_canvas_zone_geometry_get(b->inst->gcc->gadcon, &cx, &cy, NULL, NULL); - e_menu_activate_mouse(mn, + e_menu_activate_mouse(ma, e_util_zone_current_get(e_manager_current_get()), cx + ev->output.x, cy + ev->output.y, 1, 1, E_MENU_POP_DIRECTION_DOWN, ev->timestamp); @@ -686,28 +685,27 @@ _ibox_cb_icon_mouse_down(void *data, Evas *e __UNUSED__, Evas_Object *obj __UNUS } else if ((ev->button == 3) && (!ibox_config->menu)) { - E_Menu *mn; + E_Menu *ma, *mg; E_Menu_Item *mi; int cx, cy; - mn = e_menu_new(); - e_menu_post_deactivate_callback_set(mn, _ibox_cb_menu_post, NULL); - ibox_config->menu = mn; + ma = e_menu_new(); + e_menu_post_deactivate_callback_set(ma, _ibox_cb_menu_post, NULL); + ibox_config->menu = ma; + + mg = e_menu_new(); /* FIXME: other icon options go here too */ - mi = e_menu_item_new(mn); + mi = e_menu_item_new(mg); e_menu_item_label_set(mi, _("Settings")); e_util_menu_item_theme_icon_set(mi, "configure"); e_menu_item_callback_set(mi, _ibox_cb_menu_configuration, ic->ibox); - mi = e_menu_item_new(mn); - e_menu_item_separator_set(mi, 1); - - e_gadcon_client_util_menu_items_append(ic->ibox->inst->gcc, mn, 0); + e_gadcon_client_util_menu_items_append(ic->ibox->inst->gcc, ma, mg, 0); e_gadcon_canvas_zone_geometry_get(ic->ibox->inst->gcc->gadcon, &cx, &cy, NULL, NULL); - e_menu_activate_mouse(mn, + e_menu_activate_mouse(ma, e_util_zone_current_get(e_manager_current_get()), cx + ev->output.x, cy + ev->output.y, 1, 1, E_MENU_POP_DIRECTION_DOWN, ev->timestamp); diff --git a/src/modules/mixer/e_mod_main.c b/src/modules/mixer/e_mod_main.c index 7e5cc7ed9..c539954f8 100644 --- a/src/modules/mixer/e_mod_main.c +++ b/src/modules/mixer/e_mod_main.c @@ -627,24 +627,26 @@ static void _mixer_menu_new(E_Mixer_Instance *inst, Evas_Event_Mouse_Down *ev) { E_Zone *zone; - E_Menu *mn; + E_Menu *ma, *mg; E_Menu_Item *mi; int x, y; zone = e_util_zone_current_get(e_manager_current_get()); - mn = e_menu_new(); - e_menu_post_deactivate_callback_set(mn, _mixer_menu_cb_post, inst); - inst->menu = mn; + ma = e_menu_new(); + e_menu_post_deactivate_callback_set(ma, _mixer_menu_cb_post, inst); + inst->menu = ma; - mi = e_menu_item_new(mn); + mg = e_menu_new(); + + mi = e_menu_item_new(mg); e_menu_item_label_set(mi, _("Settings")); e_util_menu_item_theme_icon_set(mi, "configure"); e_menu_item_callback_set(mi, _mixer_menu_cb_cfg, inst); - e_gadcon_client_util_menu_items_append(inst->gcc, mn, 0); + e_gadcon_client_util_menu_items_append(inst->gcc, ma, mg, 0); e_gadcon_canvas_zone_geometry_get(inst->gcc->gadcon, &x, &y, NULL, NULL); - e_menu_activate_mouse(mn, zone, x + ev->output.x, y + ev->output.y, + e_menu_activate_mouse(ma, zone, x + ev->output.x, y + ev->output.y, 1, 1, E_MENU_POP_DIRECTION_AUTO, ev->timestamp); evas_event_feed_mouse_up(inst->gcc->gadcon->evas, ev->button, EVAS_BUTTON_NONE, ev->timestamp, NULL); diff --git a/src/modules/ofono/e_mod_main.c b/src/modules/ofono/e_mod_main.c index 36e9a9f90..ef5daad88 100644 --- a/src/modules/ofono/e_mod_main.c +++ b/src/modules/ofono/e_mod_main.c @@ -225,18 +225,20 @@ static void _ofono_menu_new(E_Ofono_Instance *inst, Evas_Event_Mouse_Down *ev) { E_Zone *zone; - E_Menu *mn; + E_Menu *ma, *mg; int x, y; zone = e_util_zone_current_get(e_manager_current_get()); - mn = e_menu_new(); - e_menu_post_deactivate_callback_set(mn, _ofono_menu_cb_post, inst); - inst->menu = mn; + ma = e_menu_new(); + e_menu_post_deactivate_callback_set(ma, _ofono_menu_cb_post, inst); + inst->menu = ma; - e_gadcon_client_util_menu_items_append(inst->gcc, mn, 0); + mg = e_menu_new(); + + e_gadcon_client_util_menu_items_append(inst->gcc, ma, mg, 0); e_gadcon_canvas_zone_geometry_get(inst->gcc->gadcon, &x, &y, NULL, NULL); - e_menu_activate_mouse(mn, zone, x + ev->output.x, y + ev->output.y, + e_menu_activate_mouse(ma, zone, x + ev->output.x, y + ev->output.y, 1, 1, E_MENU_POP_DIRECTION_AUTO, ev->timestamp); evas_event_feed_mouse_up(inst->gcc->gadcon->evas, ev->button, EVAS_BUTTON_NONE, ev->timestamp, NULL); diff --git a/src/modules/pager/e_mod_main.c b/src/modules/pager/e_mod_main.c index 0014b6682..0ea002eef 100644 --- a/src/modules/pager/e_mod_main.c +++ b/src/modules/pager/e_mod_main.c @@ -781,32 +781,34 @@ _button_cb_mouse_down(void *data, Evas *e __UNUSED__, Evas_Object *obj __UNUSED_ ev = event_info; if ((ev->button == 3) && (!pager_config->menu)) { - E_Menu *mn; + E_Menu *ma, *mg; E_Menu_Item *mi; int cx, cy; - mn = e_menu_new(); - e_menu_post_deactivate_callback_set(mn, _menu_cb_post, inst); - pager_config->menu = mn; - - mi = e_menu_item_new(mn); - e_menu_item_label_set(mi, _("Settings")); - e_util_menu_item_theme_icon_set(mi, "configure"); - e_menu_item_callback_set(mi, _pager_inst_cb_menu_configure, NULL); + ma = e_menu_new(); + e_menu_post_deactivate_callback_set(ma, _menu_cb_post, inst); + pager_config->menu = ma; if (e_configure_registry_exists("screen/virtual_desktops")) { - mi = e_menu_item_new(mn); + mi = e_menu_item_new(ma); e_menu_item_label_set(mi, _("Virtual Desktops Settings")); e_util_menu_item_theme_icon_set(mi, "preferences-desktop"); e_menu_item_callback_set(mi, _pager_inst_cb_menu_virtual_desktops_dialog, inst); } - e_gadcon_client_util_menu_items_append(inst->gcc, mn, 0); + mg = e_menu_new(); + + mi = e_menu_item_new(mg); + e_menu_item_label_set(mi, _("Settings")); + e_util_menu_item_theme_icon_set(mi, "configure"); + e_menu_item_callback_set(mi, _pager_inst_cb_menu_configure, NULL); + + e_gadcon_client_util_menu_items_append(inst->gcc, ma, mg, 0); e_gadcon_canvas_zone_geometry_get(inst->gcc->gadcon, &cx, &cy, NULL, NULL); - e_menu_activate_mouse(mn, + e_menu_activate_mouse(ma, e_util_zone_current_get(e_manager_current_get()), cx + ev->output.x, cy + ev->output.y, 1, 1, E_MENU_POP_DIRECTION_DOWN, ev->timestamp); diff --git a/src/modules/systray/e_mod_main.c b/src/modules/systray/e_mod_main.c index ecaa7c691..f43f92f60 100644 --- a/src/modules/systray/e_mod_main.c +++ b/src/modules/systray/e_mod_main.c @@ -143,18 +143,20 @@ static void _systray_menu_new(Instance *inst, Evas_Event_Mouse_Down *ev) { E_Zone *zone; - E_Menu *mn; + E_Menu *ma, *mg; int x, y; zone = e_util_zone_current_get(e_manager_current_get()); - mn = e_menu_new(); - e_menu_post_deactivate_callback_set(mn, _systray_menu_cb_post, inst); - inst->menu = mn; + ma = e_menu_new(); + e_menu_post_deactivate_callback_set(ma, _systray_menu_cb_post, inst); + inst->menu = ma; - e_gadcon_client_util_menu_items_append(inst->gcc, mn, 0); + mg = e_menu_new(); + + e_gadcon_client_util_menu_items_append(inst->gcc, ma, mg, 0); e_gadcon_canvas_zone_geometry_get(inst->gcc->gadcon, &x, &y, NULL, NULL); - e_menu_activate_mouse(mn, zone, x + ev->output.x, y + ev->output.y, + e_menu_activate_mouse(ma, zone, x + ev->output.x, y + ev->output.y, 1, 1, E_MENU_POP_DIRECTION_AUTO, ev->timestamp); } diff --git a/src/modules/temperature/e_mod_main.c b/src/modules/temperature/e_mod_main.c index 422c72bae..e55dce635 100644 --- a/src/modules/temperature/e_mod_main.c +++ b/src/modules/temperature/e_mod_main.c @@ -217,24 +217,26 @@ _temperature_face_cb_mouse_down(void *data, Evas *e __UNUSED__, Evas_Object *obj ev = event_info; if ((ev->button == 3) && (!inst->menu)) { - E_Menu *mn; + E_Menu *ma, *mg; E_Menu_Item *mi; int cx, cy; - mn = e_menu_new(); - e_menu_post_deactivate_callback_set(mn, _temperature_face_cb_post_menu, inst); - inst->menu = mn; + ma = e_menu_new(); + e_menu_post_deactivate_callback_set(ma, _temperature_face_cb_post_menu, inst); + inst->menu = ma; - mi = e_menu_item_new(mn); + mg = e_menu_new(); + + mi = e_menu_item_new(mg); e_menu_item_label_set(mi, _("Settings")); e_util_menu_item_theme_icon_set(mi, "configure"); e_menu_item_callback_set(mi, _temperature_face_cb_menu_configure, inst); - e_gadcon_client_util_menu_items_append(inst->gcc, mn, 0); + e_gadcon_client_util_menu_items_append(inst->gcc, ma, mg, 0); e_gadcon_canvas_zone_geometry_get(inst->gcc->gadcon, &cx, &cy, NULL, NULL); - e_menu_activate_mouse(mn, + e_menu_activate_mouse(ma, e_util_zone_current_get(e_manager_current_get()), cx + ev->output.x, cy + ev->output.y, 1, 1, E_MENU_POP_DIRECTION_AUTO, ev->timestamp);