e_bg_del(cfbg->container, cfbg->zone, cfbg->desk_x, cfbg->desk_y);
}
if (e_config->desktop_default_background) evas_stringshare_del(e_config->desktop_default_background);
- e_config->desktop_default_background = evas_stringshare_add(cfdata->file);
+ if (strlen(cfdata->file) == 0) e_config->desktop_default_background = NULL;
+ else
+ e_config->desktop_default_background = evas_stringshare_add(cfdata->file);
e_bg_update();
e_config_save_queue();
if (cfdata->current_file) free(cfdata->current_file);
E_Config_Dialog_Data *cfdata;
cfdata = data;
- e_widget_image_object_set
- (cfdata->cfd->data,
- e_thumb_evas_object_get(cfdata->file, cfdata->cfd->dia->win->evas, 200, 160, 1));
+ if (strlen(cfdata->file) == 0)
+ {
+ Evas_Object *bg;
+
+ bg = edje_object_add(cfdata->cfd->dia->win->evas);
+ e_theme_edje_object_set(bg, "base/theme/background", "desktop/background");
+ e_widget_image_object_set(cfdata->cfd->data, bg);
+ }
+ else
+ {
+ e_widget_image_object_set
+ (cfdata->cfd->data,
+ e_thumb_evas_object_get(cfdata->file,
+ cfdata->cfd->dia->win->evas,
+ 160, 120, 1));
+ }
if (cfdata->current_file)
{
if (!strcmp(cfdata->file, cfdata->current_file))
e_bg_del(z->container->num, -1, -1, -1);
e_bg_del(z->container->num, z->num, -1, -1);
if (e_config->desktop_default_background) evas_stringshare_del(e_config->desktop_default_background);
- e_config->desktop_default_background = evas_stringshare_add(cfdata->file);
+ if (strlen(cfdata->file) == 0) e_config->desktop_default_background = NULL;
+ else
+ e_config->desktop_default_background = evas_stringshare_add(cfdata->file);
e_bg_update();
e_config_save_queue();
break;
e_bg_del(-1, z->num, x, y);
e_bg_del(z->container->num, -1, x, y);
e_bg_del(z->container->num, z->num, x, y);
- e_bg_add(z->container->num, z->num, x, y, cfdata->file);
+ if (strlen(cfdata->file) != 0)
+ e_bg_add(z->container->num, z->num, x, y, cfdata->file);
e_bg_update();
e_config_save_queue();
break;
cfbg = e_config->desktop_backgrounds->data;
e_bg_del(cfbg->container, cfbg->zone, cfbg->desk_x, cfbg->desk_y);
}
- e_bg_add(-1, -1, -1, -1, cfdata->file);
+ if (strlen(cfdata->file) != 0)
+ e_bg_add(-1, -1, -1, -1, cfdata->file);
e_bg_update();
e_config_save_queue();
break;
char *homedir;
E_Zone *z;
int iw, ih, pw, ph;
+ Evas_Object *oi;
homedir = e_user_homedir_get();
if (homedir)
ph = 120;
pw = ((double)z->w * ph) / (double)z->h;
}
+
+ oi = evas_object_rectangle_add(evas);
+ evas_object_color_set(oi, 0, 0, 0, 0);
+ e_widget_ilist_append(il, oi, _("Theme Background"),
+ _e_config_bg_cb_standard, cfd->cfdata, "");
+
+ if ((!e_config->desktop_default_background))
+ e_widget_ilist_selected_set(il, 0);
if (ecore_file_is_dir(buf))
{
{
char *bgfile;
char fullbg[PATH_MAX];
- int i = 0;
+ Evas_Object *o, *otmp;
+ int i = 1;
while ((bgfile = ecore_list_next(bgs)))
{
bg = edje_object_add(evas);
edje_object_file_set(bg, e_config->desktop_default_background, "desktop/background");
im = e_widget_image_add_from_object(evas, bg, pw, ph);
- e_widget_image_object_set(im, e_thumb_evas_object_get(fullbg, evas, 200, 160, 1));
+ e_widget_image_object_set(im, e_thumb_evas_object_get(fullbg, evas, 160, 120, 1));
}
free(noext);
i++;
if (im == NULL)
{
- /* FIXME: this is broken as the edje extends outside at the start
- * for some reason */
bg = edje_object_add(evas);
e_theme_edje_object_set(bg, "base/theme/background", "desktop/background");
im = e_widget_image_add_from_object(evas, bg, pw, ph);
(e_config->winlist_warp_while_selecting))
{
warp_to_x = ww->border->x + (ww->border->w / 2);
- if (warp_to_x < 1)
- warp_to_x = (ww->border->x + ww->border->w) / 2;
- else if (warp_to_x > (ww->border->zone->w - 1))
- warp_to_x = ww->border->x + ((ww->border->zone->w - ww->border->x) / 2);
+ if (warp_to_x < (ww->border->zone->x + 1))
+ warp_to_x = ww->border->zone->x + ((ww->border->x + ww->border->w - ww->border->zone->x) / 2);
+ else if (warp_to_x >= (ww->border->zone->x + ww->border->zone->w - 1))
+ warp_to_x = (ww->border->zone->x + ww->border->zone->w + ww->border->x) / 2;
warp_to_y = ww->border->y + (ww->border->h / 2);
- if (warp_to_y < 1)
- warp_to_y = (ww->border->y + ww->border->h) / 2;
- else if (warp_to_y > (ww->border->zone->h - 1))
- warp_to_y = ww->border->y + ((ww->border->zone->h - ww->border->y) / 2);
+ if (warp_to_y < (ww->border->zone->y + 1))
+ warp_to_y = ww->border->zone->y + ((ww->border->y + ww->border->h - ww->border->zone->y) / 2);
+ else if (warp_to_y >= (ww->border->zone->y + ww->border->zone->h - 1))
+ warp_to_y = (ww->border->zone->y + ww->border->zone->h + ww->border->y) / 2;
}
if (e_config->winlist_warp_while_selecting)
{