Get burn data options working again, stop crashing when deleting the config_inwin object before showing it. Also get rid of the sloppy focus to the filelist, as it doesn't work correctly in certain cases.

This commit is contained in:
Jaime Thomas
2009-02-09 02:51:35 +00:00
parent 38b6759270
commit fdabb16ad4
5 changed files with 139 additions and 108 deletions

View File

@@ -5,8 +5,6 @@ static void ecdb_handle_typebuf(Evas_Object *gui, Ewl_Widget *fl);
static void ecdb_cb_welcome_page_buttons_clicked(void *data, Evas_Object *o,
const char *emission, const char *source);
static void ecdb_filelist_show(Ecdb_Page *page);
static void ecdb_filelist_focus_handle(int action, Evas_Object *fl,
Evas_Object *gui);
static void ecdb_welcome_page_hide_finished(void *data, Evas_Object *o,
const char *emission,
const char *source);
@@ -63,53 +61,12 @@ ecdb_cb_resize(Ecore_Evas *ee)
evas_object_resize(em->page->gui, w, h);
}
static void ecdb_filelist_focus_handle(int action, Evas_Object *fl,
Evas_Object *gui)
{
static Evas_Object *old_focus;
if (action == IN)
{
old_focus = evas_focus_get(ecore_evas_get(em->main_win_ee));
edje_object_signal_emit(old_focus, "ecdb,focus,out", "ecdb");
evas_object_focus_set(fl, 1);
}
else if (old_focus)
{
edje_object_signal_emit(old_focus, "ecdb,focus,in", "ecdb");
evas_object_focus_set(old_focus, 1);
old_focus = NULL;
edje_object_signal_emit(gui, "ecdb,filelist_overlay,deactivate", "ecdb");
edje_object_part_text_set(gui, "filelist_overlay_text", NULL);
}
}
static void
_cb_filelist_mouse_in(void *data, Evas *e __UNUSED__, Evas_Object *eo,
void *ev_data)
{
Ecdb_Page *page;
page = data;
ecdb_filelist_focus_handle(IN, eo, page->gui);
}
static void
_cb_filelist_mouse_out(void *data, Evas *e __UNUSED__, Evas_Object *eo,
void *ev_data)
{
Ecdb_Page *page;
page = data;
ecdb_filelist_focus_handle(OUT, eo, page->gui);
}
static void
_cb_filelist_mouse_down(void *data, Evas *e __UNUSED__, Evas_Object *eo,
void *ev_data __UNUSED__)
{
Ecdb_Page *page = data;
evas_object_focus_set(eo, TRUE);
evas_object_focus_set(eo, 1);
edje_object_signal_emit(page->gui, "ecdb,filelist_overlay,deactivate",
"ecdb");
edje_object_part_text_set(page->gui, "filelist_overlay_text", NULL);
@@ -501,10 +458,6 @@ ecdb_filelist_show(Ecdb_Page *page)
_cb_filelist_mouse_down, page);
evas_object_event_callback_add(page->filelist, EVAS_CALLBACK_KEY_DOWN,
_cb_filelist_key_down, page);
evas_object_event_callback_add(page->filelist, EVAS_CALLBACK_MOUSE_IN,
_cb_filelist_mouse_in, page);
evas_object_event_callback_add(page->filelist, EVAS_CALLBACK_MOUSE_OUT,
_cb_filelist_mouse_out, page);
evas_object_data_set(page->filelist, "filelist", filelist);
evas_object_show(page->filelist);
}