Hello. All. 

I've checked "anchor,clicked" signal is always sent with mouse_up. 

That is, mouse_down on the anchor -> mouse_move out from the anchor ->
mouse_up can emit "anchor,clicked" signal.

So I made one patch for right clicked signal emitting. 

Can anybody check about this ? 

Thanks. 

Index: src/lib/edje_entry.c
===================================================================
--- src/lib/edje_entry.c        (revision 57517)
+++ src/lib/edje_entry.c        (working copy)
@@ -620,15 +620,20 @@ _edje_anchor_mouse_up_cb(void *data, Evas *e __UNU
    if ((rp->part->select_mode == EDJE_ENTRY_SELECTION_MODE_EXPLICIT) &&
        (en->select_allow))
       return;
+   n = an->name;
+   if (!n) n = "";
+   len = 200 + strlen(n);
+   buf = alloca(len);
    if ((!ev->event_flags) || (!ignored))
      {
-        n = an->name;
-        if (!n) n = "";
-        len = 200 + strlen(n);
-        buf = alloca(len);
         snprintf(buf, len, "anchor,mouse,up,%i,%s", ev->button, n);
         _edje_emit(rp->edje, buf, rp->part->name);
      }
+   if ((rp->still_in) && (rp->clicked_button == ev->button) && (!ignored))
+     {
+        snprintf(buf, len, "anchor,mouse,clicked,%i,%s", ev->button, n);
+        _edje_emit(rp->edje, buf, rp->part->name);
+     }
 }
 
 static void
Index: src/lib/elm_entry.c
===================================================================
--- src/lib/elm_entry.c (revision 57517)
+++ src/lib/elm_entry.c (working copy)
@@ -1201,9 +1201,16 @@ _signal_anchor_down(void *data, Evas_Object *obj _
 }
 
 static void
-_signal_anchor_up(void *data, Evas_Object *obj __UNUSED__, const char 
*emission, const char *source __UNUSED__)
+_signal_anchor_up(void *data, Evas_Object *obj __UNUSED__, const char 
*emission __UNUSED__, const char *source __UNUSED__)
 {
    Widget_Data *wd = elm_widget_data_get(data);
+   if (!wd) return;
+}
+
+static void
+_signal_anchor_clicked(void *data, Evas_Object *obj __UNUSED__, const char 
*emission, const char *source __UNUSED__)
+{
+   Widget_Data *wd = elm_widget_data_get(data);
    Elm_Entry_Anchor_Info ei;
    char *buf2, *p, *p2, *n;
    if (!wd) return;
@@ -1541,6 +1548,8 @@ elm_entry_add(Evas_Object *parent)
                                    _signal_anchor_down, obj);
    edje_object_signal_callback_add(wd->ent, "anchor,mouse,up,*", "elm.text",
                                    _signal_anchor_up, obj);
+   edje_object_signal_callback_add(wd->ent, "anchor,mouse,clicked,*", 
"elm.text",
+                                   _signal_anchor_clicked, obj);
    edje_object_signal_callback_add(wd->ent, "anchor,mouse,move,*", "elm.text",
                                    _signal_anchor_move, obj);
    edje_object_signal_callback_add(wd->ent, "anchor,mouse,in,*", "elm.text",
------------------------------------------------------------------------------
What You Don't Know About Data Connectivity CAN Hurt You
This paper provides an overview of data connectivity, details
its effect on application quality, and explores various alternative
solutions. http://p.sf.net/sfu/progress-d2d
_______________________________________________
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel

Reply via email to