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.

Reply via email to