forked from enlightenment/enlightenment
Fix for bg dialog crash. Make resize work on import. Code cleanups.
SVN revision: 19965
This commit is contained in:
parent
104d939d05
commit
afd6959726
|
@ -456,10 +456,8 @@ _bg_dialog_close(E_Config_Dialog *cfd, E_Config_Dialog_Data *cfdata)
|
||||||
if (!cfd) return 0;
|
if (!cfd) return 0;
|
||||||
if (!cfdata) return 0;
|
if (!cfdata) return 0;
|
||||||
if (!cfdata->import) return 1;
|
if (!cfdata->import) return 1;
|
||||||
if (!cfdata->import->dia) return 0;
|
if (!cfdata->import->dia) return 1;
|
||||||
|
|
||||||
e_object_del_attach_func_set(E_OBJECT(cfd->dia), NULL);
|
|
||||||
e_object_del(E_OBJECT(cfdata->import->dia));
|
|
||||||
|
|
||||||
|
e_object_del(E_OBJECT(cfdata->import->dia));
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
|
@ -83,8 +83,6 @@ static void *_create_data (E_Config_Dialog *cfd);
|
||||||
static void _free_data (E_Config_Dialog *cfd, E_Config_Dialog_Data *cfdata);
|
static void _free_data (E_Config_Dialog *cfd, E_Config_Dialog_Data *cfdata);
|
||||||
static int _basic_apply_data (E_Config_Dialog *cfd, E_Config_Dialog_Data *cfdata);
|
static int _basic_apply_data (E_Config_Dialog *cfd, E_Config_Dialog_Data *cfdata);
|
||||||
static Evas_Object *_basic_create_widgets (E_Config_Dialog *cfd, Evas *evas, E_Config_Dialog_Data *cfdata);
|
static Evas_Object *_basic_create_widgets (E_Config_Dialog *cfd, Evas *evas, E_Config_Dialog_Data *cfdata);
|
||||||
static int _advanced_apply_data (E_Config_Dialog *cfd, E_Config_Dialog_Data *cfdata);
|
|
||||||
static Evas_Object *_advanced_create_widgets (E_Config_Dialog *cfd, Evas *evas, E_Config_Dialog_Data *cfdata);
|
|
||||||
static void _fill_data (E_Config_Dialog_Data *cfdata);
|
static void _fill_data (E_Config_Dialog_Data *cfdata);
|
||||||
static void _efm_hilite_cb (Evas_Object *obj, char *file, void *data);
|
static void _efm_hilite_cb (Evas_Object *obj, char *file, void *data);
|
||||||
static void _bg_edj_gen (Evas *evas, char *filename, int method);
|
static void _bg_edj_gen (Evas *evas, char *filename, int method);
|
||||||
|
@ -144,7 +142,7 @@ _basic_apply_data(E_Config_Dialog *cfd, E_Config_Dialog_Data *cfdata)
|
||||||
if (!cfdata->file[0]) return 0;
|
if (!cfdata->file[0]) return 0;
|
||||||
|
|
||||||
f = e_fm_file_new(cfdata->file);
|
f = e_fm_file_new(cfdata->file);
|
||||||
if (!f) return;
|
if (!f) return 0;
|
||||||
|
|
||||||
if (!e_fm_file_is_image(f)) return 0;
|
if (!e_fm_file_is_image(f)) return 0;
|
||||||
free(f);
|
free(f);
|
||||||
|
@ -157,88 +155,32 @@ _basic_apply_data(E_Config_Dialog *cfd, E_Config_Dialog_Data *cfdata)
|
||||||
static Evas_Object *
|
static Evas_Object *
|
||||||
_basic_create_widgets(E_Config_Dialog *cfd, Evas *evas, E_Config_Dialog_Data *cfdata)
|
_basic_create_widgets(E_Config_Dialog *cfd, Evas *evas, E_Config_Dialog_Data *cfdata)
|
||||||
{
|
{
|
||||||
Evas_Object *o, *ot, *of, *ofm;
|
Evas_Object *o, *of, *ofm, *ol;
|
||||||
E_Dialog *dia;
|
E_Dialog *dia;
|
||||||
E_Radio_Group *rg;
|
E_Radio_Group *rg;
|
||||||
|
|
||||||
_fill_data(cfdata);
|
_fill_data(cfdata);
|
||||||
|
|
||||||
dia = cfd->dia;
|
dia = cfd->dia;
|
||||||
|
|
||||||
ot = e_widget_table_add(evas, 0);
|
|
||||||
|
|
||||||
of = e_widget_framelist_add(evas, _("Image To Import"), 0);
|
|
||||||
|
|
||||||
|
ol = e_widget_list_add(evas, 0, 0);
|
||||||
|
of = e_widget_framelist_add(evas, _("Image To Import"), 0);
|
||||||
ofm = e_widget_fileman_add(evas, (&(cfdata->file)));
|
ofm = e_widget_fileman_add(evas, (&(cfdata->file)));
|
||||||
e_widget_fileman_hilite_callback_add(ofm, _efm_hilite_cb, dia);
|
e_widget_fileman_hilite_callback_add(ofm, _efm_hilite_cb, dia);
|
||||||
|
e_widget_framelist_object_append(of, ofm);
|
||||||
|
e_widget_list_object_append(ol, of, 1, 1, 0.5);
|
||||||
|
|
||||||
e_widget_framelist_object_append(of, ofm);
|
of = e_widget_frametable_add(evas, _("Options"), 0);
|
||||||
e_widget_table_object_append(ot, of, 0, 0, 1, 1, 1, 1, 1, 1);
|
|
||||||
|
|
||||||
of = e_widget_framelist_add(evas, _("Options"), 0);
|
|
||||||
rg = e_widget_radio_group_new(&cfdata->method);
|
rg = e_widget_radio_group_new(&cfdata->method);
|
||||||
o = e_widget_radio_add(evas, _("Center"), E_BG_CENTER, rg);
|
o = e_widget_radio_add(evas, _("Center"), E_BG_CENTER, rg);
|
||||||
e_widget_framelist_object_append(of, o);
|
e_widget_frametable_object_append(of, o, 0, 0, 1, 1, 1, 0, 1, 0);
|
||||||
o = e_widget_radio_add(evas, _("Scale"), E_BG_SCALE, rg);
|
o = e_widget_radio_add(evas, _("Scale"), E_BG_SCALE, rg);
|
||||||
e_widget_framelist_object_append(of, o);
|
e_widget_frametable_object_append(of, o, 0, 1, 1, 1, 1, 0, 1, 0);
|
||||||
o = e_widget_radio_add(evas, _("Tile"), E_BG_TILE, rg);
|
o = e_widget_radio_add(evas, _("Tile"), E_BG_TILE, rg);
|
||||||
e_widget_framelist_object_append(of, o);
|
e_widget_frametable_object_append(of, o, 0, 2, 1, 1, 1, 0, 1, 0);
|
||||||
e_widget_table_object_append(ot, of, 0, 1, 1, 1, 1, 0, 1, 0);
|
|
||||||
|
|
||||||
return ot;
|
|
||||||
}
|
|
||||||
|
|
||||||
static int
|
e_widget_list_object_append(ol, of, 1, 1, 0.5);
|
||||||
_advanced_apply_data(E_Config_Dialog *cfd, E_Config_Dialog_Data *cfdata)
|
return ol;
|
||||||
{
|
|
||||||
E_Fm_File *f;
|
|
||||||
Evas *evas;
|
|
||||||
|
|
||||||
if (!cfdata->file[0]) return 0;
|
|
||||||
|
|
||||||
f = e_fm_file_new(cfdata->file);
|
|
||||||
if (!f) return;
|
|
||||||
|
|
||||||
if (!e_fm_file_is_image(f)) return 0;
|
|
||||||
free(f);
|
|
||||||
|
|
||||||
evas = e_win_evas_get(cfd->dia->win);
|
|
||||||
_bg_edj_gen(evas, cfdata->file, cfdata->method);
|
|
||||||
return 1;
|
|
||||||
}
|
|
||||||
|
|
||||||
static Evas_Object *
|
|
||||||
_advanced_create_widgets(E_Config_Dialog *cfd, Evas *evas, E_Config_Dialog_Data *cfdata)
|
|
||||||
{
|
|
||||||
Evas_Object *o, *ot, *of, *ofm;
|
|
||||||
E_Dialog *dia;
|
|
||||||
E_Radio_Group *rg;
|
|
||||||
|
|
||||||
_fill_data(cfdata);
|
|
||||||
|
|
||||||
dia = cfd->dia;
|
|
||||||
|
|
||||||
ot = e_widget_table_add(evas, 0);
|
|
||||||
|
|
||||||
of = e_widget_framelist_add(evas, _("Image To Import"), 0);
|
|
||||||
|
|
||||||
ofm = e_widget_fileman_add(evas, (&(cfdata->file)));
|
|
||||||
e_widget_fileman_hilite_callback_add(ofm, _efm_hilite_cb, dia);
|
|
||||||
|
|
||||||
e_widget_framelist_object_append(of, ofm);
|
|
||||||
e_widget_table_object_append(ot, of, 0, 0, 1, 1, 1, 1, 1, 1);
|
|
||||||
|
|
||||||
of = e_widget_framelist_add(evas, _("Options"), 0);
|
|
||||||
rg = e_widget_radio_group_new(&cfdata->method);
|
|
||||||
o = e_widget_radio_add(evas, _("Center"), E_BG_CENTER, rg);
|
|
||||||
e_widget_framelist_object_append(of, o);
|
|
||||||
o = e_widget_radio_add(evas, _("Scale"), E_BG_SCALE, rg);
|
|
||||||
e_widget_framelist_object_append(of, o);
|
|
||||||
o = e_widget_radio_add(evas, _("Tile"), E_BG_TILE, rg);
|
|
||||||
e_widget_framelist_object_append(of, o);
|
|
||||||
e_widget_table_object_append(ot, of, 1, 0, 1, 1, 1, 0, 1, 0);
|
|
||||||
|
|
||||||
return ot;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
|
@ -272,7 +214,7 @@ _bg_edj_gen(Evas *evas, char *filename, int method)
|
||||||
{
|
{
|
||||||
Evas_Object *img;
|
Evas_Object *img;
|
||||||
int fd = 0;
|
int fd = 0;
|
||||||
int w, h, ret;
|
int w, h;
|
||||||
const char *file;
|
const char *file;
|
||||||
char buff[4096], cmd[4096];
|
char buff[4096], cmd[4096];
|
||||||
char ipart[512];
|
char ipart[512];
|
||||||
|
|
Loading…
Reference in New Issue