forked from enlightenment/enlightenment
add freeze/thaw for ilist - makes the mime config dialog much better :)
SVN revision: 27235
This commit is contained in:
parent
bc5935bf3f
commit
ef11f7a10d
|
@ -127,6 +127,7 @@ e_ilist_append(Evas_Object *obj, Evas_Object *icon, const char *label, int heade
|
||||||
si->header = header;
|
si->header = header;
|
||||||
sd->items = evas_list_append(sd->items, si);
|
sd->items = evas_list_append(sd->items, si);
|
||||||
edje_object_size_min_calc(si->base_obj, &mw, &mh);
|
edje_object_size_min_calc(si->base_obj, &mw, &mh);
|
||||||
|
e_box_freeze(sd->box_obj);
|
||||||
e_box_pack_end(sd->box_obj, si->base_obj);
|
e_box_pack_end(sd->box_obj, si->base_obj);
|
||||||
e_box_pack_options_set(si->base_obj,
|
e_box_pack_options_set(si->base_obj,
|
||||||
1, 1, /* fill */
|
1, 1, /* fill */
|
||||||
|
@ -135,6 +136,7 @@ e_ilist_append(Evas_Object *obj, Evas_Object *icon, const char *label, int heade
|
||||||
mw, mh, /* min */
|
mw, mh, /* min */
|
||||||
99999, 99999 /* max */
|
99999, 99999 /* max */
|
||||||
);
|
);
|
||||||
|
e_box_thaw(sd->box_obj);
|
||||||
evas_object_lower(si->base_obj);
|
evas_object_lower(si->base_obj);
|
||||||
evas_object_event_callback_add(si->base_obj, EVAS_CALLBACK_MOUSE_DOWN, _e_smart_event_mouse_down, si);
|
evas_object_event_callback_add(si->base_obj, EVAS_CALLBACK_MOUSE_DOWN, _e_smart_event_mouse_down, si);
|
||||||
evas_object_event_callback_add(si->base_obj, EVAS_CALLBACK_MOUSE_UP, _e_smart_event_mouse_up, si);
|
evas_object_event_callback_add(si->base_obj, EVAS_CALLBACK_MOUSE_UP, _e_smart_event_mouse_up, si);
|
||||||
|
@ -392,7 +394,7 @@ e_ilist_count(Evas_Object *obj)
|
||||||
EAPI void
|
EAPI void
|
||||||
e_ilist_clear(Evas_Object *obj)
|
e_ilist_clear(Evas_Object *obj)
|
||||||
{
|
{
|
||||||
INTERNAL_ENTRY;
|
API_ENTRY return;
|
||||||
while (sd->items)
|
while (sd->items)
|
||||||
{
|
{
|
||||||
E_Smart_Item *si;
|
E_Smart_Item *si;
|
||||||
|
@ -418,6 +420,20 @@ e_ilist_nth_is_header(Evas_Object *obj, int n)
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
EAPI void
|
||||||
|
e_ilist_freeze(Evas_Object *obj)
|
||||||
|
{
|
||||||
|
API_ENTRY return;
|
||||||
|
e_box_freeze(sd->box_obj);
|
||||||
|
}
|
||||||
|
|
||||||
|
EAPI void
|
||||||
|
e_ilist_thaw(Evas_Object *obj)
|
||||||
|
{
|
||||||
|
API_ENTRY return;
|
||||||
|
e_box_thaw(sd->box_obj);
|
||||||
|
}
|
||||||
|
|
||||||
/* local subsystem functions */
|
/* local subsystem functions */
|
||||||
static void
|
static void
|
||||||
_e_smart_event_mouse_down(void *data, Evas *e, Evas_Object *obj, void *event_info)
|
_e_smart_event_mouse_down(void *data, Evas *e, Evas_Object *obj, void *event_info)
|
||||||
|
|
|
@ -29,6 +29,8 @@ EAPI Evas_Object *e_ilist_selected_icon_get (Evas_Object *obj);
|
||||||
EAPI int e_ilist_count (Evas_Object *obj);
|
EAPI int e_ilist_count (Evas_Object *obj);
|
||||||
EAPI void e_ilist_clear (Evas_Object *obj);
|
EAPI void e_ilist_clear (Evas_Object *obj);
|
||||||
EAPI int e_ilist_nth_is_header (Evas_Object *obj, int n);
|
EAPI int e_ilist_nth_is_header (Evas_Object *obj, int n);
|
||||||
|
EAPI void e_ilist_freeze (Evas_Object *obj);
|
||||||
|
EAPI void e_ilist_thaw (Evas_Object *obj);
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -213,12 +213,15 @@ _fill_list(E_Config_Dialog_Data *cfdata, char *mtype)
|
||||||
Evas_Coord w, h;
|
Evas_Coord w, h;
|
||||||
Evas *evas;
|
Evas *evas;
|
||||||
|
|
||||||
|
evas_event_freeze(evas_object_evas_get(cfdata->gui.list));
|
||||||
|
edje_freeze();
|
||||||
|
e_widget_ilist_freeze(cfdata->gui.list);
|
||||||
evas = evas_object_evas_get(cfdata->gui.list);
|
evas = evas_object_evas_get(cfdata->gui.list);
|
||||||
e_widget_ilist_clear(cfdata->gui.list);
|
e_widget_ilist_clear(cfdata->gui.list);
|
||||||
for (l = cfdata->mimes; l; l = l->next)
|
for (l = cfdata->mimes; l; l = l->next)
|
||||||
{
|
{
|
||||||
Config_Mime *m;
|
Config_Mime *m;
|
||||||
Evas_Object *icon;
|
Evas_Object *icon = NULL;
|
||||||
const char *tmp;
|
const char *tmp;
|
||||||
char buf[4096];
|
char buf[4096];
|
||||||
int edj = 0, img = 0;
|
int edj = 0, img = 0;
|
||||||
|
@ -226,7 +229,6 @@ _fill_list(E_Config_Dialog_Data *cfdata, char *mtype)
|
||||||
m = l->data;
|
m = l->data;
|
||||||
if (!m) return;
|
if (!m) return;
|
||||||
if (!strstr(m->mime, mtype)) continue;
|
if (!strstr(m->mime, mtype)) continue;
|
||||||
|
|
||||||
tmp = e_fm_mime_icon_get(m->mime);
|
tmp = e_fm_mime_icon_get(m->mime);
|
||||||
if (!tmp)
|
if (!tmp)
|
||||||
snprintf(buf, sizeof(buf), "e/icons/fileman/file");
|
snprintf(buf, sizeof(buf), "e/icons/fileman/file");
|
||||||
|
@ -263,6 +265,9 @@ _fill_list(E_Config_Dialog_Data *cfdata, char *mtype)
|
||||||
e_widget_ilist_go(cfdata->gui.list);
|
e_widget_ilist_go(cfdata->gui.list);
|
||||||
e_widget_min_size_get(cfdata->gui.list, &w, &h);
|
e_widget_min_size_get(cfdata->gui.list, &w, &h);
|
||||||
e_widget_min_size_set(cfdata->gui.list, w, 200);
|
e_widget_min_size_set(cfdata->gui.list, w, 200);
|
||||||
|
e_widget_ilist_thaw(cfdata->gui.list);
|
||||||
|
edje_thaw();
|
||||||
|
evas_event_thaw(evas_object_evas_get(cfdata->gui.list));
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
|
@ -271,6 +276,9 @@ _fill_tlist(E_Config_Dialog_Data *cfdata)
|
||||||
Evas_List *l;
|
Evas_List *l;
|
||||||
Evas_Coord w, h;
|
Evas_Coord w, h;
|
||||||
|
|
||||||
|
evas_event_freeze(evas_object_evas_get(cfdata->gui.tlist));
|
||||||
|
edje_freeze();
|
||||||
|
e_widget_ilist_freeze(cfdata->gui.tlist);
|
||||||
e_widget_ilist_clear(cfdata->gui.tlist);
|
e_widget_ilist_clear(cfdata->gui.tlist);
|
||||||
for (l = types; l; l = l->next)
|
for (l = types; l; l = l->next)
|
||||||
{
|
{
|
||||||
|
@ -293,6 +301,9 @@ _fill_tlist(E_Config_Dialog_Data *cfdata)
|
||||||
e_widget_ilist_go(cfdata->gui.tlist);
|
e_widget_ilist_go(cfdata->gui.tlist);
|
||||||
e_widget_min_size_get(cfdata->gui.tlist, &w, &h);
|
e_widget_min_size_get(cfdata->gui.tlist, &w, &h);
|
||||||
e_widget_min_size_set(cfdata->gui.tlist, w, 225);
|
e_widget_min_size_set(cfdata->gui.tlist, w, 225);
|
||||||
|
e_widget_ilist_thaw(cfdata->gui.tlist);
|
||||||
|
edje_thaw();
|
||||||
|
evas_event_thaw(evas_object_evas_get(cfdata->gui.tlist));
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
|
|
|
@ -266,6 +266,24 @@ e_widget_ilist_nth_is_header(Evas_Object *obj, int n)
|
||||||
return e_ilist_nth_is_header(wd->o_ilist, n);
|
return e_ilist_nth_is_header(wd->o_ilist, n);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
EAPI void
|
||||||
|
e_widget_ilist_freeze(Evas_Object *obj)
|
||||||
|
{
|
||||||
|
E_Widget_Data *wd;
|
||||||
|
|
||||||
|
wd = e_widget_data_get(obj);
|
||||||
|
e_ilist_freeze(wd->o_ilist);
|
||||||
|
}
|
||||||
|
|
||||||
|
EAPI void
|
||||||
|
e_widget_ilist_thaw(Evas_Object *obj)
|
||||||
|
{
|
||||||
|
E_Widget_Data *wd;
|
||||||
|
|
||||||
|
wd = e_widget_data_get(obj);
|
||||||
|
e_ilist_thaw(wd->o_ilist);
|
||||||
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
_e_wid_del_hook(Evas_Object *obj)
|
_e_wid_del_hook(Evas_Object *obj)
|
||||||
{
|
{
|
||||||
|
|
|
@ -25,6 +25,8 @@ EAPI Evas_Object *e_widget_ilist_selected_icon_get(Evas_Object *obj);
|
||||||
EAPI int e_widget_ilist_count(Evas_Object *obj);
|
EAPI int e_widget_ilist_count(Evas_Object *obj);
|
||||||
EAPI void e_widget_ilist_clear(Evas_Object *obj);
|
EAPI void e_widget_ilist_clear(Evas_Object *obj);
|
||||||
EAPI int e_widget_ilist_nth_is_header(Evas_Object *obj, int n);
|
EAPI int e_widget_ilist_nth_is_header(Evas_Object *obj, int n);
|
||||||
|
EAPI void e_widget_ilist_freeze(Evas_Object *obj);
|
||||||
|
EAPI void e_widget_ilist_thaw(Evas_Object *obj);
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
#endif
|
#endif
|
||||||
|
|
Loading…
Reference in New Issue