This is an automated email from the git hooks/post-receive script.
git pushed a commit to branch master
in repository efm2.
View the commit online.
commit fdcea75bc778861f779fc7b526382a380244dee6
Author: Carsten Haitzler (Rasterman) <ras...@rasterman.com>
AuthorDate: Tue Oct 29 00:06:40 2024 +0000
more menu work - putting in one place
---
src/efm/efm.c | 2 +-
src/efm/efm_popup_menu.c | 26 +++++++++++++++++++++-----
src/efm/efm_private.h | 4 +++-
src/efm/efm_util.c | 3 ++-
4 files changed, 27 insertions(+), 8 deletions(-)
diff --git a/src/efm/efm.c b/src/efm/efm.c
index 558b626..6046610 100644
--- a/src/efm/efm.c
+++ b/src/efm/efm.c
@@ -425,7 +425,7 @@ _cb_back_mouse_up(void *data, Evas *e EINA_UNUSED, Evas_Object *obj EINA_UNUSED,
if ((!evas_key_modifier_is_set(ev->modifiers, "Shift"))
&& (!evas_key_modifier_is_set(ev->modifiers, "Control")))
{
- // XXX: right mouse ctxt menu
+ _efm_popup_main_menu_add(sd, sd->back3_down_x, sd->back3_down_y);
}
}
}
diff --git a/src/efm/efm_popup_menu.c b/src/efm/efm_popup_menu.c
index 1f7731b..ea0326a 100644
--- a/src/efm/efm_popup_menu.c
+++ b/src/efm/efm_popup_menu.c
@@ -109,7 +109,7 @@ _icon_strbuf_icon_def(Icon *icon, Eina_Strbuf *icbuf)
}
Efm_Menu *
-_efm_popup_menu_add(Smart_Data *sd, Icon *ic)
+_efm_popup_icon_menu_add(Smart_Data *sd, Icon *ic, Evas_Coord x, Evas_Coord y)
{
Efm_Menu *m1, *m2;
Eina_Strbuf *icbuf;
@@ -152,10 +152,9 @@ _efm_popup_menu_add(Smart_Data *sd, Icon *ic)
icbuf = eina_strbuf_new();
m1 = _efm_menu_add("Submenu", "std:mail-reply-all");
- _efm_menu_it_normal(m1, "Item 1", "std:menu/folder", _cb_ic_item1, ic,
+ _efm_menu_it_normal(m1, "Item 1", "std:menu/folder", _cb_ic_item1, ic, NULL);
+ _efm_menu_it_normal(m1, "Item 2", "std:system-lock-screen", _cb_ic_item2, ic,
NULL);
- _efm_menu_it_normal(m1, "Item 2", "std:system-lock-screen", _cb_ic_item2,
- ic, NULL);
_efm_menu_it_separator(m1);
_efm_menu_it_normal(m1, "Item 3 - much longer label", "std:media-eject",
_cb_ic_item3, ic, NULL);
@@ -183,8 +182,25 @@ _efm_popup_menu_add(Smart_Data *sd, Icon *ic)
_efm_menu_it_radio(m2, "Radio 3", NULL, EINA_TRUE, _cb_ic_item6, ic, NULL);
_efm_menu_it_sub(m2, "Submenu here", "fdo:terminology", m1);
- _efm_menu_show(ic->sd->o_smart, m2, ic->down_x, ic->down_y);
+ _efm_menu_show(ic->sd->o_smart, m2, x, y);
eina_strbuf_free(icbuf);
return m2;
+}
+
+Efm_Menu *
+_efm_popup_main_menu_add(Smart_Data *sd, Evas_Coord x, Evas_Coord y)
+{
+ Efm_Menu *m;
+
+ m = _efm_menu_add("Main Menu", "std:security-high");
+ _efm_menu_it_normal(m, "Item 1", "std:menu/folder", _cb_ic_item1, sd, NULL);
+ _efm_menu_it_normal(m, "Item 2", "std:system-lock-screen", _cb_ic_item2, sd,
+ NULL);
+ _efm_menu_it_separator(m);
+ _efm_menu_it_normal(m, "Item 3 - much longer label", "std:media-eject",
+ _cb_ic_item3, sd, NULL);
+ _efm_menu_it_normal(m, "Item 4", "std:battery", _cb_ic_item4, sd, NULL);
+ _efm_menu_show(sd->o_smart, m, x, y);
+ return m;
}
\ No newline at end of file
diff --git a/src/efm/efm_private.h b/src/efm/efm_private.h
index 45ae9d2..be39497 100644
--- a/src/efm/efm_private.h
+++ b/src/efm/efm_private.h
@@ -44,7 +44,9 @@ Efm_Menu_Item *_efm_menu_it_sub(Efm_Menu *m, const char *label, const char *icon
Efm_Menu_Item *_efm_menu_it_radio(Efm_Menu *m, const char *label, const char *icon, Eina_Bool on, Efm_Menu_Item_Callback cb, void *data, void *data2);
Efm_Menu_Item *_efm_menu_it_check(Efm_Menu *m, const char *label, const char *icon, Eina_Bool on, Efm_Menu_Item_Callback cb, void *data, void *data2);
-Efm_Menu *_efm_popup_menu_add(Smart_Data *sd, Icon *ic);
+Efm_Menu *_efm_popup_icon_menu_add(Smart_Data *sd, Icon *ic, Evas_Coord x,
+ Evas_Coord y);
+Efm_Menu *_efm_popup_main_menu_add(Smart_Data *sd, Evas_Coord x, Evas_Coord y);
extern Eina_List *_efm_list;
extern Eina_List *_pending_exe_dels;
diff --git a/src/efm/efm_util.c b/src/efm/efm_util.c
index 3f84ee7..b9150b2 100644
--- a/src/efm/efm_util.c
+++ b/src/efm/efm_util.c
@@ -1069,7 +1069,8 @@ _cb_icon_mouse_up(void *data, Evas *e EINA_UNUSED, Evas_Object *obj EINA_UNUSED,
if (!dragged)
{
printf("XXX: right mouse\n");
- _efm_popup_menu_add(icon->sd, icon);
+ _efm_popup_icon_menu_add(icon->sd, icon, icon->down_x,
+ icon->down_y);
}
icon->sd->last_focused = icon;
icon->drag = EINA_FALSE;
--
To stop receiving notification emails like this one, please contact
the administrator of this repository.