forked from enlightenment/enlightenment
Luncher: Share common code for dismissing the window preview.
This commit is contained in:
parent
5efc978513
commit
571f688e32
|
@ -369,6 +369,25 @@ _bar_icon_drag_done(E_Drag *drag, int dropped)
|
||||||
bar_recalculate(inst);
|
bar_recalculate(inst);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static Eina_Bool
|
||||||
|
_bar_icon_preview_hide(void *data)
|
||||||
|
{
|
||||||
|
Icon *ic = data;
|
||||||
|
|
||||||
|
ic->mouse_out_timer = NULL;
|
||||||
|
|
||||||
|
if (!ic->preview)
|
||||||
|
return EINA_FALSE;
|
||||||
|
|
||||||
|
E_FREE_FUNC(ic->preview_box, evas_object_del);
|
||||||
|
elm_ctxpopup_dismiss(ic->preview);
|
||||||
|
current_preview = NULL;
|
||||||
|
current_preview_menu = EINA_FALSE;
|
||||||
|
ic->active = EINA_FALSE;
|
||||||
|
|
||||||
|
return EINA_FALSE;
|
||||||
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
_bar_icon_mouse_move(void *data, Evas *e EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event_data)
|
_bar_icon_mouse_move(void *data, Evas *e EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event_data)
|
||||||
{
|
{
|
||||||
|
@ -392,14 +411,7 @@ _bar_icon_mouse_move(void *data, Evas *e EINA_UNUSED, Evas_Object *obj EINA_UNUS
|
||||||
unsigned int size;
|
unsigned int size;
|
||||||
const char *drag_types[] = { "enlightenment/desktop" };
|
const char *drag_types[] = { "enlightenment/desktop" };
|
||||||
|
|
||||||
if (ic->preview)
|
_bar_icon_preview_hide(ic);
|
||||||
{
|
|
||||||
E_FREE_FUNC(ic->preview_box, evas_object_del);
|
|
||||||
elm_ctxpopup_dismiss(ic->preview);
|
|
||||||
current_preview = NULL;
|
|
||||||
current_preview_menu = EINA_FALSE;
|
|
||||||
ic->active = EINA_FALSE;
|
|
||||||
}
|
|
||||||
ic->drag.dnd = 1;
|
ic->drag.dnd = 1;
|
||||||
ic->drag.start = 0;
|
ic->drag.start = 0;
|
||||||
|
|
||||||
|
@ -572,34 +584,11 @@ _bar_icon_mouse_up(void *data, Evas *e EINA_UNUSED, Evas_Object *obj EINA_UNUSED
|
||||||
}
|
}
|
||||||
else if (ev->button == 1 && !ic->in_order)
|
else if (ev->button == 1 && !ic->in_order)
|
||||||
{
|
{
|
||||||
E_FREE_FUNC(ic->preview_box, evas_object_del);
|
_bar_icon_preview_hide(ic);
|
||||||
elm_ctxpopup_dismiss(ic->preview);
|
|
||||||
current_preview = NULL;
|
|
||||||
current_preview_menu = EINA_FALSE;
|
|
||||||
ic->active = EINA_FALSE;
|
|
||||||
_bar_icon_preview_show(ic);
|
_bar_icon_preview_show(ic);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static Eina_Bool
|
|
||||||
_bar_icon_preview_hide(void *data)
|
|
||||||
{
|
|
||||||
Icon *ic = data;
|
|
||||||
|
|
||||||
ic->mouse_out_timer = NULL;
|
|
||||||
|
|
||||||
if (!ic->preview)
|
|
||||||
return EINA_FALSE;
|
|
||||||
|
|
||||||
E_FREE_FUNC(ic->preview_box, evas_object_del);
|
|
||||||
elm_ctxpopup_dismiss(ic->preview);
|
|
||||||
current_preview = NULL;
|
|
||||||
current_preview_menu = EINA_FALSE;
|
|
||||||
ic->active = EINA_FALSE;
|
|
||||||
|
|
||||||
return EINA_FALSE;
|
|
||||||
}
|
|
||||||
|
|
||||||
static void
|
static void
|
||||||
_bar_icon_preview_item_mouse_out(void *data EINA_UNUSED, Evas *e EINA_UNUSED, Evas_Object *obj, void *event_data EINA_UNUSED)
|
_bar_icon_preview_item_mouse_out(void *data EINA_UNUSED, Evas *e EINA_UNUSED, Evas_Object *obj, void *event_data EINA_UNUSED)
|
||||||
{
|
{
|
||||||
|
@ -675,14 +664,7 @@ _bar_icon_preview_mouse_up(void *data, Evas *e EINA_UNUSED, Evas_Object *obj EIN
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
e_client_activate(ec, 1);
|
e_client_activate(ec, 1);
|
||||||
if (current_preview)
|
_bar_icon_preview_hide(ic);
|
||||||
{
|
|
||||||
E_FREE_FUNC(ic->preview_box, evas_object_del);
|
|
||||||
elm_ctxpopup_dismiss(ic->preview);
|
|
||||||
current_preview = NULL;
|
|
||||||
current_preview_menu = EINA_FALSE;
|
|
||||||
ic->active = EINA_FALSE;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
|
@ -759,11 +741,7 @@ _bar_icon_preview_show(void *data)
|
||||||
{
|
{
|
||||||
Icon *ico = evas_object_data_get(current_preview, "icon");
|
Icon *ico = evas_object_data_get(current_preview, "icon");
|
||||||
|
|
||||||
E_FREE_FUNC(ico->preview_box, evas_object_del);
|
_bar_icon_preview_hide(ico);
|
||||||
elm_ctxpopup_dismiss(ico->preview);
|
|
||||||
current_preview = NULL;
|
|
||||||
current_preview_menu = EINA_FALSE;
|
|
||||||
ico->active = EINA_FALSE;
|
|
||||||
}
|
}
|
||||||
if (!eina_list_count(ic->execs) && !eina_list_count(ic->clients))
|
if (!eina_list_count(ic->execs) && !eina_list_count(ic->clients))
|
||||||
return EINA_FALSE;
|
return EINA_FALSE;
|
||||||
|
@ -813,11 +791,7 @@ _bar_icon_preview_show(void *data)
|
||||||
|
|
||||||
if (!count)
|
if (!count)
|
||||||
{
|
{
|
||||||
E_FREE_FUNC(ic->preview_box, evas_object_del);
|
_bar_icon_preview_hide(ic);
|
||||||
elm_ctxpopup_dismiss(ic->preview);
|
|
||||||
current_preview = NULL;
|
|
||||||
current_preview_menu = EINA_FALSE;
|
|
||||||
ic->active = EINA_FALSE;
|
|
||||||
return EINA_FALSE;
|
return EINA_FALSE;
|
||||||
}
|
}
|
||||||
elm_object_content_set(ic->preview, ic->preview_box);
|
elm_object_content_set(ic->preview, ic->preview_box);
|
||||||
|
@ -854,12 +828,8 @@ _bar_icon_mouse_in(void *data, Evas *e EINA_UNUSED, Evas_Object *obj, void *even
|
||||||
clients = EINA_TRUE;
|
clients = EINA_TRUE;
|
||||||
if (current_preview && clients && !current_preview_menu)
|
if (current_preview && clients && !current_preview_menu)
|
||||||
{
|
{
|
||||||
Icon *icon = evas_object_data_get(current_preview, "icon");
|
Icon *ico = evas_object_data_get(current_preview, "icon");
|
||||||
E_FREE_FUNC(icon->preview_box, evas_object_del);
|
_bar_icon_preview_hide(ico);
|
||||||
elm_ctxpopup_dismiss(icon->preview);
|
|
||||||
current_preview = NULL;
|
|
||||||
current_preview_menu = EINA_FALSE;
|
|
||||||
icon->active = EINA_FALSE;
|
|
||||||
_bar_icon_preview_show(ic);
|
_bar_icon_preview_show(ic);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
|
Loading…
Reference in New Issue