forked from enlightenment/enlightenment
parent
a78ae94975
commit
87842cb5e7
|
@ -149,6 +149,28 @@ collections { /* begin the collection of edje groups that are in this file */
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
group { name: "e/desktop/background/scrollframe";
|
||||||
|
parts {
|
||||||
|
part { name: "clipper";
|
||||||
|
type: RECT;
|
||||||
|
mouse_events: 0;
|
||||||
|
description { state: "default" 0.0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
part { name: "e.swallow.content";
|
||||||
|
clip_to: "clipper";
|
||||||
|
type: SWALLOW;
|
||||||
|
description { state: "default" 0.0;
|
||||||
|
rel1.offset: 0 0;
|
||||||
|
rel2 {
|
||||||
|
relative: 0.0 0.0;
|
||||||
|
offset: -1 -1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/////////////////////////////////////////////////////////////////////////////
|
/////////////////////////////////////////////////////////////////////////////
|
||||||
/*** DEFAULT WINDOW BORDER ***/
|
/*** DEFAULT WINDOW BORDER ***/
|
||||||
group { name: "e/widgets/border/default/border";
|
group { name: "e/widgets/border/default/border";
|
||||||
|
|
250
src/bin/e_fm.c
250
src/bin/e_fm.c
|
@ -78,6 +78,7 @@ struct _E_Fm2_Smart_Data
|
||||||
Ecore_Job *refresh_job;
|
Ecore_Job *refresh_job;
|
||||||
E_Menu *menu;
|
E_Menu *menu;
|
||||||
E_Entry_Dialog *entry_dialog;
|
E_Entry_Dialog *entry_dialog;
|
||||||
|
E_Dialog *image_dialog;
|
||||||
unsigned char iconlist_changed : 1;
|
unsigned char iconlist_changed : 1;
|
||||||
unsigned char order_file : 1;
|
unsigned char order_file : 1;
|
||||||
unsigned char typebuf_visible : 1;
|
unsigned char typebuf_visible : 1;
|
||||||
|
@ -307,12 +308,17 @@ static void _e_fm2_menu_post_cb(void *data, E_Menu *m);
|
||||||
static void _e_fm2_icon_menu(E_Fm2_Icon *ic, Evas_Object *obj, unsigned int timestamp);
|
static void _e_fm2_icon_menu(E_Fm2_Icon *ic, Evas_Object *obj, unsigned int timestamp);
|
||||||
static void _e_fm2_icon_menu_post_cb(void *data, E_Menu *m);
|
static void _e_fm2_icon_menu_post_cb(void *data, E_Menu *m);
|
||||||
static void _e_fm2_icon_menu_item_cb(void *data, E_Menu *m, E_Menu_Item *mi);
|
static void _e_fm2_icon_menu_item_cb(void *data, E_Menu *m, E_Menu_Item *mi);
|
||||||
|
static void _e_fm2_icon_view_menu_pre(void *data, E_Menu *m, E_Menu_Item *mi);
|
||||||
static void _e_fm2_toggle_inherit_dir_props(void *data, E_Menu *m, E_Menu_Item *mi);
|
static void _e_fm2_toggle_inherit_dir_props(void *data, E_Menu *m, E_Menu_Item *mi);
|
||||||
static void _e_fm2_view_menu_pre(void *data, E_Menu *m, E_Menu_Item *mi);
|
static void _e_fm2_view_menu_pre(void *data, E_Menu *m, E_Menu_Item *mi);
|
||||||
static void _e_fm2_view_menu_grid_icons_cb(void *data, E_Menu *m, E_Menu_Item *mi);
|
static void _e_fm2_view_menu_grid_icons_cb(void *data, E_Menu *m, E_Menu_Item *mi);
|
||||||
static void _e_fm2_view_menu_custom_icons_cb(void *data, E_Menu *m, E_Menu_Item *mi);
|
static void _e_fm2_view_menu_custom_icons_cb(void *data, E_Menu *m, E_Menu_Item *mi);
|
||||||
static void _e_fm2_view_menu_list_cb(void *data, E_Menu *m, E_Menu_Item *mi);
|
static void _e_fm2_view_menu_list_cb(void *data, E_Menu *m, E_Menu_Item *mi);
|
||||||
static void _e_fm2_view_menu_use_default_cb(void *data, E_Menu *m, E_Menu_Item *mi);
|
static void _e_fm2_view_menu_use_default_cb(void *data, E_Menu *m, E_Menu_Item *mi);
|
||||||
|
static void _e_fm2_view_menu_set_background_cb(void *data, E_Menu *m, E_Menu_Item *mi);
|
||||||
|
static void _e_fm2_view_menu_set_overlay_cb(void *data, E_Menu *m, E_Menu_Item *mi);
|
||||||
|
static void _e_fm2_view_image_sel(E_Fm2_Smart_Data *sd, const char *title, void (*ok_cb) (void *data, E_Dialog *dia), void (*clear_cb) (void *data, E_Dialog *dia));
|
||||||
|
static void _e_fm2_view_image_sel_close(void *data, E_Dialog *dia);
|
||||||
static void _e_fm2_refresh(void *data, E_Menu *m, E_Menu_Item *mi);
|
static void _e_fm2_refresh(void *data, E_Menu *m, E_Menu_Item *mi);
|
||||||
static void _e_fm2_toggle_hidden_files(void *data, E_Menu *m, E_Menu_Item *mi);
|
static void _e_fm2_toggle_hidden_files(void *data, E_Menu *m, E_Menu_Item *mi);
|
||||||
static void _e_fm2_toggle_ordering(void *data, E_Menu *m, E_Menu_Item *mi);
|
static void _e_fm2_toggle_ordering(void *data, E_Menu *m, E_Menu_Item *mi);
|
||||||
|
@ -7368,6 +7374,11 @@ _e_fm2_smart_del(Evas_Object *obj)
|
||||||
e_object_del(E_OBJECT(sd->entry_dialog));
|
e_object_del(E_OBJECT(sd->entry_dialog));
|
||||||
sd->entry_dialog = NULL;
|
sd->entry_dialog = NULL;
|
||||||
}
|
}
|
||||||
|
if (sd->image_dialog)
|
||||||
|
{
|
||||||
|
e_object_del(E_OBJECT(sd->image_dialog));
|
||||||
|
sd->image_dialog = NULL;
|
||||||
|
}
|
||||||
if (sd->scroll_job) ecore_job_del(sd->scroll_job);
|
if (sd->scroll_job) ecore_job_del(sd->scroll_job);
|
||||||
if (sd->resize_job) ecore_job_del(sd->resize_job);
|
if (sd->resize_job) ecore_job_del(sd->resize_job);
|
||||||
if (sd->refresh_job) ecore_job_del(sd->refresh_job);
|
if (sd->refresh_job) ecore_job_del(sd->refresh_job);
|
||||||
|
@ -7724,7 +7735,7 @@ _e_fm2_icon_menu(E_Fm2_Icon *ic, Evas_Object *obj, unsigned int timestamp)
|
||||||
mi = e_menu_item_new(mn);
|
mi = e_menu_item_new(mn);
|
||||||
e_menu_item_label_set(mi, _("View Mode"));
|
e_menu_item_label_set(mi, _("View Mode"));
|
||||||
e_util_menu_item_theme_icon_set(mi, "preferences-appearance");
|
e_util_menu_item_theme_icon_set(mi, "preferences-appearance");
|
||||||
e_menu_item_submenu_pre_callback_set(mi, _e_fm2_view_menu_pre, sd);
|
e_menu_item_submenu_pre_callback_set(mi, _e_fm2_icon_view_menu_pre, sd);
|
||||||
}
|
}
|
||||||
if (!(sd->icon_menu.flags & E_FM2_MENU_NO_REFRESH))
|
if (!(sd->icon_menu.flags & E_FM2_MENU_NO_REFRESH))
|
||||||
{
|
{
|
||||||
|
@ -8146,20 +8157,11 @@ _e_fm2_toggle_inherit_dir_props(void *data, E_Menu *m, E_Menu_Item *mi)
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
_e_fm2_view_menu_pre(void *data, E_Menu *m, E_Menu_Item *mi)
|
_e_fm2_view_menu_common(E_Menu *subm, E_Fm2_Smart_Data *sd)
|
||||||
{
|
{
|
||||||
E_Menu *subm;
|
E_Menu_Item *mi;
|
||||||
E_Fm2_Smart_Data *sd;
|
|
||||||
E_Fm2_Config *cfg;
|
|
||||||
char view_mode;
|
char view_mode;
|
||||||
|
|
||||||
sd = data;
|
|
||||||
cfg = e_fm2_config_get(sd->obj);
|
|
||||||
|
|
||||||
subm = e_menu_new();
|
|
||||||
e_object_data_set(E_OBJECT(subm), sd);
|
|
||||||
e_menu_item_submenu_set(mi, subm);
|
|
||||||
|
|
||||||
view_mode = _e_fm2_view_mode_get(sd);
|
view_mode = _e_fm2_view_mode_get(sd);
|
||||||
|
|
||||||
mi = e_menu_item_new(subm);
|
mi = e_menu_item_new(subm);
|
||||||
|
@ -8211,6 +8213,55 @@ _e_fm2_view_menu_pre(void *data, E_Menu *m, E_Menu_Item *mi)
|
||||||
e_menu_item_submenu_pre_callback_set(mi, _e_fm2_view_menu_icon_size_pre, sd);
|
e_menu_item_submenu_pre_callback_set(mi, _e_fm2_view_menu_icon_size_pre, sd);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
_e_fm2_icon_view_menu_pre(void *data, E_Menu *m, E_Menu_Item *mi)
|
||||||
|
{
|
||||||
|
E_Menu *subm;
|
||||||
|
E_Fm2_Smart_Data *sd;
|
||||||
|
|
||||||
|
sd = data;
|
||||||
|
|
||||||
|
subm = e_menu_new();
|
||||||
|
e_object_data_set(E_OBJECT(subm), sd);
|
||||||
|
e_menu_item_submenu_set(mi, subm);
|
||||||
|
|
||||||
|
_e_fm2_view_menu_common(subm, sd);
|
||||||
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
_e_fm2_view_menu_pre(void *data, E_Menu *m, E_Menu_Item *mi)
|
||||||
|
{
|
||||||
|
E_Menu *subm;
|
||||||
|
E_Fm2_Smart_Data *sd;
|
||||||
|
char buf[PATH_MAX];
|
||||||
|
int access_ok;
|
||||||
|
sd = data;
|
||||||
|
|
||||||
|
subm = e_menu_new();
|
||||||
|
e_object_data_set(E_OBJECT(subm), sd);
|
||||||
|
e_menu_item_submenu_set(mi, subm);
|
||||||
|
|
||||||
|
_e_fm2_view_menu_common(subm, sd);
|
||||||
|
|
||||||
|
snprintf(buf, sizeof(buf), "%s/.directory.desktop", sd->realpath);
|
||||||
|
access_ok = ecore_file_exists(buf) ? ecore_file_can_write(buf)
|
||||||
|
: ecore_file_can_write(sd->realpath);
|
||||||
|
if (access_ok)
|
||||||
|
{
|
||||||
|
mi = e_menu_item_new(subm);
|
||||||
|
e_menu_item_separator_set(mi, 1);
|
||||||
|
|
||||||
|
mi = e_menu_item_new(subm);
|
||||||
|
e_menu_item_label_set(mi, _("Set background..."));
|
||||||
|
e_util_menu_item_theme_icon_set(mi, "preferences-desktop-wallpaper");
|
||||||
|
e_menu_item_callback_set(mi, _e_fm2_view_menu_set_background_cb, sd);
|
||||||
|
|
||||||
|
mi = e_menu_item_new(subm);
|
||||||
|
e_menu_item_label_set(mi, _("Set overlay..."));
|
||||||
|
e_menu_item_callback_set(mi, _e_fm2_view_menu_set_overlay_cb, sd);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
_e_fm2_view_menu_grid_icons_cb(void *data, E_Menu *m, E_Menu_Item *mi)
|
_e_fm2_view_menu_grid_icons_cb(void *data, E_Menu *m, E_Menu_Item *mi)
|
||||||
{
|
{
|
||||||
|
@ -8278,6 +8329,181 @@ _e_fm2_view_menu_use_default_cb(void *data, E_Menu *m, E_Menu_Item *mi)
|
||||||
_e_fm2_refresh(sd, m, mi);
|
_e_fm2_refresh(sd, m, mi);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
_e_fm2_view_image_sel(E_Fm2_Smart_Data *sd, const char *title,
|
||||||
|
void (*ok_cb) (void *data, E_Dialog *dia),
|
||||||
|
void (*clear_cb) (void *data, E_Dialog *dia))
|
||||||
|
{
|
||||||
|
E_Manager *man;
|
||||||
|
E_Container *con;
|
||||||
|
E_Dialog *dia;
|
||||||
|
Evas_Object *o;
|
||||||
|
Evas_Coord w, h;
|
||||||
|
|
||||||
|
man = e_manager_current_get();
|
||||||
|
if (!man) return;
|
||||||
|
con = e_container_current_get(man);
|
||||||
|
if (!con) return;
|
||||||
|
|
||||||
|
dia = e_dialog_new(con, "E", "_fm2_view_image_select_dialog");
|
||||||
|
if (!dia) return;
|
||||||
|
e_dialog_title_set(dia, title);
|
||||||
|
|
||||||
|
o = e_widget_fsel_add(dia->win->evas, "/", sd->realpath, NULL, NULL, NULL, sd, NULL, sd, 1);
|
||||||
|
evas_object_show(o);
|
||||||
|
e_widget_min_size_get(o, &w, &h);
|
||||||
|
e_dialog_content_set(dia, o, w, h);
|
||||||
|
dia->data = o;
|
||||||
|
|
||||||
|
e_dialog_button_add(dia, _("OK"), NULL, ok_cb, sd);
|
||||||
|
e_dialog_button_add(dia, _("Clear"), NULL, clear_cb, sd);
|
||||||
|
e_dialog_button_add(dia, _("Cancel"), NULL, _e_fm2_view_image_sel_close, sd);
|
||||||
|
e_dialog_resizable_set(dia, 1);
|
||||||
|
e_win_centered_set(dia->win, 1);
|
||||||
|
e_dialog_show(dia);
|
||||||
|
|
||||||
|
sd->image_dialog = dia;
|
||||||
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
_e_fm2_view_image_sel_close(void *data, E_Dialog *dia)
|
||||||
|
{
|
||||||
|
E_Fm2_Smart_Data *sd;
|
||||||
|
|
||||||
|
sd = data;
|
||||||
|
e_object_del(E_OBJECT(dia));
|
||||||
|
sd->image_dialog = NULL;
|
||||||
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
_custom_file_key_set(E_Fm2_Smart_Data *sd, const char *key, const char *value)
|
||||||
|
{
|
||||||
|
Efreet_Desktop *ef;
|
||||||
|
char buf[PATH_MAX];
|
||||||
|
int len;
|
||||||
|
|
||||||
|
snprintf(buf, sizeof(buf), "%s/.directory.desktop", sd->realpath);
|
||||||
|
ef = efreet_desktop_new(buf);
|
||||||
|
if (!ef)
|
||||||
|
{
|
||||||
|
ef = efreet_desktop_empty_new(buf);
|
||||||
|
if (!ef) return;
|
||||||
|
ef->type = EFREET_DESKTOP_TYPE_DIRECTORY;
|
||||||
|
ef->name = strdup("Directory look and feel");
|
||||||
|
}
|
||||||
|
|
||||||
|
len = strlen(sd->realpath);
|
||||||
|
if (!strncmp(value, sd->realpath, len))
|
||||||
|
efreet_desktop_x_field_set(ef, key, value + len + 1);
|
||||||
|
else
|
||||||
|
efreet_desktop_x_field_set(ef, key, value);
|
||||||
|
|
||||||
|
efreet_desktop_save(ef);
|
||||||
|
efreet_desktop_free(ef);
|
||||||
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
_custom_file_key_del(E_Fm2_Smart_Data *sd, const char *key)
|
||||||
|
{
|
||||||
|
Efreet_Desktop *ef;
|
||||||
|
char buf[PATH_MAX];
|
||||||
|
|
||||||
|
snprintf(buf, sizeof(buf), "%s/.directory.desktop", sd->realpath);
|
||||||
|
ef = efreet_desktop_new(buf);
|
||||||
|
if (!ef) return;
|
||||||
|
|
||||||
|
if (efreet_desktop_x_field_del(ef, key))
|
||||||
|
efreet_desktop_save(ef);
|
||||||
|
|
||||||
|
efreet_desktop_free(ef);
|
||||||
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
_set_background_cb(void *data, E_Dialog *dia)
|
||||||
|
{
|
||||||
|
E_Fm2_Smart_Data *sd;
|
||||||
|
const char *file;
|
||||||
|
|
||||||
|
sd = data;
|
||||||
|
if (!sd) return;
|
||||||
|
|
||||||
|
file = e_widget_fsel_selection_path_get(dia->data);
|
||||||
|
|
||||||
|
if (file)
|
||||||
|
_custom_file_key_set(sd, "X-Enlightenment-Directory-Wallpaper", file);
|
||||||
|
|
||||||
|
_e_fm2_view_image_sel_close(data, dia);
|
||||||
|
evas_object_smart_callback_call(sd->obj, "dir_changed", NULL);
|
||||||
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
_clear_background_cb(void *data, E_Dialog *dia)
|
||||||
|
{
|
||||||
|
E_Fm2_Smart_Data *sd;
|
||||||
|
|
||||||
|
sd = data;
|
||||||
|
if (!sd) return;
|
||||||
|
|
||||||
|
_e_fm2_view_image_sel_close(data, dia);
|
||||||
|
|
||||||
|
_custom_file_key_del(sd, "X-Enlightenment-Directory-Wallpaper");
|
||||||
|
evas_object_smart_callback_call(sd->obj, "dir_changed", NULL);
|
||||||
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
_e_fm2_view_menu_set_background_cb(void *data, E_Menu *m, E_Menu_Item *mi)
|
||||||
|
{
|
||||||
|
E_Fm2_Smart_Data *sd;
|
||||||
|
|
||||||
|
sd = data;
|
||||||
|
if (sd->image_dialog) return;
|
||||||
|
|
||||||
|
_e_fm2_view_image_sel(sd, _("Set background..."), _set_background_cb, _clear_background_cb);
|
||||||
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
_set_overlay_cb(void *data, E_Dialog *dia)
|
||||||
|
{
|
||||||
|
E_Fm2_Smart_Data *sd;
|
||||||
|
const char *file;
|
||||||
|
|
||||||
|
sd = data;
|
||||||
|
if (!sd) return;
|
||||||
|
|
||||||
|
file = e_widget_fsel_selection_path_get(dia->data);
|
||||||
|
|
||||||
|
if (file)
|
||||||
|
_custom_file_key_set(sd, "X-Enlightenment-Directory-Overlay", file);
|
||||||
|
|
||||||
|
_e_fm2_view_image_sel_close(data, dia);
|
||||||
|
evas_object_smart_callback_call(sd->obj, "dir_changed", NULL);
|
||||||
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
_clear_overlay_cb(void *data, E_Dialog *dia)
|
||||||
|
{
|
||||||
|
E_Fm2_Smart_Data *sd;
|
||||||
|
|
||||||
|
sd = data;
|
||||||
|
if (!sd) return;
|
||||||
|
|
||||||
|
_e_fm2_view_image_sel_close(data, dia);
|
||||||
|
|
||||||
|
_custom_file_key_del(sd, "X-Enlightenment-Directory-Overlay");
|
||||||
|
evas_object_smart_callback_call(sd->obj, "dir_changed", NULL);
|
||||||
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
_e_fm2_view_menu_set_overlay_cb(void *data, E_Menu *m, E_Menu_Item *mi)
|
||||||
|
{
|
||||||
|
E_Fm2_Smart_Data *sd;
|
||||||
|
|
||||||
|
sd = data;
|
||||||
|
if (sd->image_dialog) return;
|
||||||
|
|
||||||
|
_e_fm2_view_image_sel(sd, _("Set overlay..."), _set_overlay_cb, _clear_overlay_cb);
|
||||||
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
_e_fm2_refresh(void *data, E_Menu *m, E_Menu_Item *mi)
|
_e_fm2_refresh(void *data, E_Menu *m, E_Menu_Item *mi)
|
||||||
{
|
{
|
||||||
|
|
|
@ -27,6 +27,8 @@ static void _e_icon_smart_hide(Evas_Object *obj);
|
||||||
static void _e_icon_smart_color_set(Evas_Object *obj, int r, int g, int b, int a);
|
static void _e_icon_smart_color_set(Evas_Object *obj, int r, int g, int b, int a);
|
||||||
static void _e_icon_smart_clip_set(Evas_Object *obj, Evas_Object * clip);
|
static void _e_icon_smart_clip_set(Evas_Object *obj, Evas_Object * clip);
|
||||||
static void _e_icon_smart_clip_unset(Evas_Object *obj);
|
static void _e_icon_smart_clip_unset(Evas_Object *obj);
|
||||||
|
static void _e_icon_obj_prepare(Evas_Object *obj, E_Smart_Data *sd);
|
||||||
|
static void _e_icon_preloaded(void *data, Evas *e, Evas_Object *obj, void *event_info);
|
||||||
|
|
||||||
/* local subsystem globals */
|
/* local subsystem globals */
|
||||||
static Evas_Smart *_e_smart = NULL;
|
static Evas_Smart *_e_smart = NULL;
|
||||||
|
@ -39,6 +41,21 @@ e_icon_add(Evas *evas)
|
||||||
return evas_object_smart_add(evas, _e_smart);
|
return evas_object_smart_add(evas, _e_smart);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
_e_icon_obj_prepare(Evas_Object *obj, E_Smart_Data *sd)
|
||||||
|
{
|
||||||
|
if (!sd->obj) return;
|
||||||
|
|
||||||
|
if (!strcmp(evas_object_type_get(sd->obj), "edje"))
|
||||||
|
{
|
||||||
|
evas_object_del(sd->obj);
|
||||||
|
sd->obj = evas_object_image_add(evas_object_evas_get(obj));
|
||||||
|
evas_object_event_callback_add(sd->obj, EVAS_CALLBACK_IMAGE_PRELOADED,
|
||||||
|
_e_icon_preloaded, obj);
|
||||||
|
evas_object_smart_member_add(sd->obj, obj);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
EAPI void
|
EAPI void
|
||||||
e_icon_file_set(Evas_Object *obj, const char *file)
|
e_icon_file_set(Evas_Object *obj, const char *file)
|
||||||
{
|
{
|
||||||
|
@ -47,6 +64,7 @@ e_icon_file_set(Evas_Object *obj, const char *file)
|
||||||
sd = evas_object_smart_data_get(obj);
|
sd = evas_object_smart_data_get(obj);
|
||||||
if (!sd) return;
|
if (!sd) return;
|
||||||
/* smart code here */
|
/* smart code here */
|
||||||
|
_e_icon_obj_prepare(obj, sd);
|
||||||
/* FIXME: 64x64 - unhappy about this. use icon size */
|
/* FIXME: 64x64 - unhappy about this. use icon size */
|
||||||
if (sd->size != 0)
|
if (sd->size != 0)
|
||||||
evas_object_image_load_size_set(sd->obj, sd->size, sd->size);
|
evas_object_image_load_size_set(sd->obj, sd->size, sd->size);
|
||||||
|
@ -63,6 +81,7 @@ e_icon_file_key_set(Evas_Object *obj, const char *file, const char *key)
|
||||||
sd = evas_object_smart_data_get(obj);
|
sd = evas_object_smart_data_get(obj);
|
||||||
if (!sd) return;
|
if (!sd) return;
|
||||||
/* smart code here */
|
/* smart code here */
|
||||||
|
_e_icon_obj_prepare(obj, sd);
|
||||||
if (sd->size != 0)
|
if (sd->size != 0)
|
||||||
evas_object_image_load_size_set(sd->obj, sd->size, sd->size);
|
evas_object_image_load_size_set(sd->obj, sd->size, sd->size);
|
||||||
evas_object_image_file_set(sd->obj, file, key);
|
evas_object_image_file_set(sd->obj, file, key);
|
||||||
|
|
|
@ -432,12 +432,16 @@ _e_fwin_new(E_Container *con, const char *dev, const char *path)
|
||||||
fwin->pages = eina_list_append(fwin->pages, page);
|
fwin->pages = eina_list_append(fwin->pages, page);
|
||||||
fwin->cur_page = page;
|
fwin->cur_page = page;
|
||||||
|
|
||||||
o = edje_object_add(e_win_evas_get(fwin->win));
|
o = e_icon_add(e_win_evas_get(fwin->win));
|
||||||
|
e_icon_scale_size_set(o, 0);
|
||||||
|
e_icon_fill_inside_set(o, 0);
|
||||||
edje_object_part_swallow(fwin->bg_obj, "e.swallow.bg", o);
|
edje_object_part_swallow(fwin->bg_obj, "e.swallow.bg", o);
|
||||||
evas_object_pass_events_set(o, 1);
|
evas_object_pass_events_set(o, 1);
|
||||||
fwin->under_obj = o;
|
fwin->under_obj = o;
|
||||||
|
|
||||||
o = edje_object_add(e_win_evas_get(fwin->win));
|
o = e_icon_add(e_win_evas_get(fwin->win));
|
||||||
|
e_icon_scale_size_set(o, 0);
|
||||||
|
e_icon_fill_inside_set(o, 0);
|
||||||
edje_object_part_swallow(e_scrollframe_edje_object_get(page->scrollframe_obj), "e.swallow.overlay", o);
|
edje_object_part_swallow(e_scrollframe_edje_object_get(page->scrollframe_obj), "e.swallow.overlay", o);
|
||||||
evas_object_pass_events_set(o, 1);
|
evas_object_pass_events_set(o, 1);
|
||||||
fwin->over_obj = o;
|
fwin->over_obj = o;
|
||||||
|
@ -1157,7 +1161,7 @@ _e_fwin_changed(void *data, Evas_Object *obj, void *event_info)
|
||||||
E_Fwin *fwin;
|
E_Fwin *fwin;
|
||||||
E_Fwin_Page *page;
|
E_Fwin_Page *page;
|
||||||
Efreet_Desktop *ef;
|
Efreet_Desktop *ef;
|
||||||
char buf[PATH_MAX];
|
char buf[PATH_MAX], *ext;
|
||||||
|
|
||||||
page = data;
|
page = data;
|
||||||
fwin = page->fwin;
|
fwin = page->fwin;
|
||||||
|
@ -1178,20 +1182,43 @@ _e_fwin_changed(void *data, Evas_Object *obj, void *event_info)
|
||||||
// frees - doesnt just unref.
|
// frees - doesnt just unref.
|
||||||
efreet_desktop_free(ef);
|
efreet_desktop_free(ef);
|
||||||
}
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
#define RELEASE_STR(x) if (x) { eina_stringshare_del(x); (x) = NULL; }
|
||||||
|
RELEASE_STR(fwin->wallpaper_file);
|
||||||
|
RELEASE_STR(fwin->overlay_file);
|
||||||
|
RELEASE_STR(fwin->scrollframe_file);
|
||||||
|
RELEASE_STR(fwin->theme_file);
|
||||||
|
#undef RELEASE_STR
|
||||||
|
}
|
||||||
if (fwin->under_obj)
|
if (fwin->under_obj)
|
||||||
{
|
{
|
||||||
evas_object_hide(fwin->under_obj);
|
evas_object_hide(fwin->under_obj);
|
||||||
edje_object_file_set(fwin->under_obj, NULL, NULL);
|
|
||||||
if (fwin->wallpaper_file)
|
if (fwin->wallpaper_file)
|
||||||
edje_object_file_set(fwin->under_obj, fwin->wallpaper_file, "e/desktop/background");
|
{
|
||||||
|
ext = strrchr(fwin->wallpaper_file, '.');
|
||||||
|
if (ext && !strcasecmp(ext, ".edj"))
|
||||||
|
e_icon_file_edje_set(fwin->under_obj, fwin->wallpaper_file, "e/desktop/background");
|
||||||
|
else
|
||||||
|
e_icon_file_set(fwin->under_obj, fwin->wallpaper_file);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
e_icon_file_edje_set(fwin->under_obj, NULL, NULL);
|
||||||
evas_object_show(fwin->under_obj);
|
evas_object_show(fwin->under_obj);
|
||||||
}
|
}
|
||||||
if (fwin->over_obj)
|
if (fwin->over_obj)
|
||||||
{
|
{
|
||||||
evas_object_hide(fwin->over_obj);
|
evas_object_hide(fwin->over_obj);
|
||||||
edje_object_file_set(fwin->over_obj, NULL, NULL);
|
|
||||||
if (fwin->overlay_file)
|
if (fwin->overlay_file)
|
||||||
edje_object_file_set(fwin->over_obj, fwin->overlay_file, "e/desktop/background");
|
{
|
||||||
|
ext = strrchr(fwin->overlay_file, '.');
|
||||||
|
if (ext && !strcasecmp(ext, ".edj"))
|
||||||
|
e_icon_file_edje_set(fwin->over_obj, fwin->overlay_file, "e/desktop/background");
|
||||||
|
else
|
||||||
|
e_icon_file_set(fwin->over_obj, fwin->overlay_file);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
e_icon_file_edje_set(fwin->over_obj, NULL, NULL);
|
||||||
evas_object_show(fwin->over_obj);
|
evas_object_show(fwin->over_obj);
|
||||||
}
|
}
|
||||||
if (page->scrollframe_obj)
|
if (page->scrollframe_obj)
|
||||||
|
|
Loading…
Reference in New Issue