diff --git a/legacy/elementary/src/lib/elm_gengrid.c b/legacy/elementary/src/lib/elm_gengrid.c index bc16bb32bf..3bd26e2efa 100644 --- a/legacy/elementary/src/lib/elm_gengrid.c +++ b/legacy/elementary/src/lib/elm_gengrid.c @@ -60,6 +60,8 @@ static const char SIG_INDEX_UPDATE[] = "index,update"; static const char SIG_HIGHLIGHTED[] = "highlighted"; static const char SIG_UNHIGHLIGHTED[] = "unhighlighted"; static const char SIG_LANG_CHANGED[] = "language,changed"; +static const char SIG_PRESSED[] = "pressed"; +static const char SIG_RELEASED[] = "released"; static const Evas_Smart_Cb_Description _smart_callbacks[] = { {SIG_ACTIVATED, ""}, @@ -89,6 +91,8 @@ static const Evas_Smart_Cb_Description _smart_callbacks[] = { {SIG_HIGHLIGHTED, ""}, {SIG_UNHIGHLIGHTED, ""}, {SIG_LANG_CHANGED, ""}, + {SIG_PRESSED, ""}, + {SIG_RELEASED, ""}, {NULL, NULL} }; @@ -499,6 +503,8 @@ _item_mouse_down_cb(void *data, evas_object_smart_callback_call(WIDGET(it), SIG_CLICKED_DOUBLE, it); evas_object_smart_callback_call(WIDGET(it), SIG_ACTIVATED, it); } + + evas_object_smart_callback_call(WIDGET(it), SIG_PRESSED, it); if (it->long_timer) ecore_timer_del(it->long_timer); if (it->realized) it->long_timer = ecore_timer_add @@ -562,6 +568,7 @@ _item_mouse_up_cb(void *data, sd->on_hold = EINA_TRUE; else sd->on_hold = EINA_FALSE; + evas_object_smart_callback_call(WIDGET(it), SIG_RELEASED, it); if (it->long_timer) { ecore_timer_del(it->long_timer); diff --git a/legacy/elementary/src/lib/elm_gengrid.h b/legacy/elementary/src/lib/elm_gengrid.h index b7aef75ce3..35b76d11f8 100644 --- a/legacy/elementary/src/lib/elm_gengrid.h +++ b/legacy/elementary/src/lib/elm_gengrid.h @@ -166,6 +166,10 @@ * - @c "activated" - The user has double-clicked or pressed * (enter|return|spacebar) on an item. The @c event_info parameter * is the gengrid item that was activated. + * - @c "pressed" - The user pressed the an item. The @c event_info + * parameter is the item that was pressed. + * - @c "released" - The user released the an item. The @c event_info + * parameter is the item that was released. * - @c "clicked,double" - The user has double-clicked an item. * The @c event_info parameter is the gengrid item that was double-clicked. * - @c "longpressed" - This is called when the item is pressed for a certain diff --git a/legacy/elementary/src/lib/elm_genlist.c b/legacy/elementary/src/lib/elm_genlist.c index ef3d454cf2..40fb162c80 100644 --- a/legacy/elementary/src/lib/elm_genlist.c +++ b/legacy/elementary/src/lib/elm_genlist.c @@ -75,6 +75,8 @@ static const char SIG_TREE_EFFECT_FINISHED [] = "tree,effect,finished"; static const char SIG_HIGHLIGHTED[] = "highlighted"; static const char SIG_UNHIGHLIGHTED[] = "unhighlighted"; static const char SIG_LANG_CHANGED[] = "language,changed"; +static const char SIG_PRESSED[] = "pressed"; +static const char SIG_RELEASED[] = "released"; static const Evas_Smart_Cb_Description _smart_callbacks[] = { {SIG_CLICKED_DOUBLE, ""}, @@ -122,6 +124,9 @@ static const Evas_Smart_Cb_Description _smart_callbacks[] = { {SIG_HIGHLIGHTED, ""}, {SIG_UNHIGHLIGHTED, ""}, {SIG_LANG_CHANGED, ""}, + {SIG_PRESSED, ""}, + {SIG_RELEASED, ""}, + {NULL, NULL} }; @@ -3446,6 +3451,7 @@ _item_mouse_down_cb(void *data, evas_object_smart_callback_call(WIDGET(it), SIG_CLICKED_DOUBLE, it); evas_object_smart_callback_call(WIDGET(it), SIG_ACTIVATED, it); } + evas_object_smart_callback_call(WIDGET(it), SIG_PRESSED, it); if (it->item->swipe_timer) ecore_timer_del(it->item->swipe_timer); it->item->swipe_timer = ecore_timer_add(0.4, _swipe_cancel, it); if (it->long_timer) ecore_timer_del(it->long_timer); @@ -4013,6 +4019,7 @@ _item_mouse_up_cb(void *data, sd = GL_IT(it)->wsd; sd->mouse_down = EINA_FALSE; + evas_object_smart_callback_call(WIDGET(it), SIG_RELEASED, it); if (sd->multi_touched) { if ((!sd->multi) && (!it->selected) && (it->highlighted)) diff --git a/legacy/elementary/src/lib/elm_genlist.h b/legacy/elementary/src/lib/elm_genlist.h index 1851ddfa98..efa84950e4 100644 --- a/legacy/elementary/src/lib/elm_genlist.h +++ b/legacy/elementary/src/lib/elm_genlist.h @@ -264,6 +264,10 @@ * - @c "activated" - The user has double-clicked or pressed * (enter|return|spacebar) on an item. The @c event_info parameter is the * item that was activated. + * - @c "pressed" - The user pressed the an item. The @c event_info + * parameter is the item that was pressed. + * - @c "released" - The user released the an item. The @c event_info + * parameter is the item that was released. * - @c "clicked,double" - The user has double-clicked an item. The @c * event_info parameter is the item that was double-clicked. * - @c "selected" - This is called when a user has made an item selected.