From: Enlightenment S. <no-...@en...> - 2009-03-31 06:23:06
|
Log: stay open until click on bg to close. Author: raster Date: 2009-03-30 23:22:55 -0700 (Mon, 30 Mar 2009) New Revision: 39809 Modified: trunk/e/src/modules/conf_wallpaper2/e_int_config_wallpaper.c Modified: trunk/e/src/modules/conf_wallpaper2/e_int_config_wallpaper.c =================================================================== --- trunk/e/src/modules/conf_wallpaper2/e_int_config_wallpaper.c 2009-03-31 04:12:09 UTC (rev 39808) +++ trunk/e/src/modules/conf_wallpaper2/e_int_config_wallpaper.c 2009-03-31 06:22:55 UTC (rev 39809) @@ -4,6 +4,11 @@ #include "e.h" #include "e_mod_main.h" +// FIXME: +// need a proper theme done "ok/accept" button +// need a "add" button (to add exchange, image file or gradient) +// need a "where" opopup to select "all desktops, this screen, this desktop" + typedef struct _Info Info; typedef struct _Smart_Data Smart_Data; typedef struct _Item Item; @@ -471,10 +476,10 @@ _e_smart_reconfigure(obj); if (p == 1.0) { - if (!sd->selout) + if (sd->selout) { sd->selin = 1; - sd->selout = 1; + sd->selout = 0; sd->seltime = ecore_loop_time_get(); return 1; } @@ -490,31 +495,35 @@ _pan_sel(Evas_Object *obj, Item *it) { Smart_Data *sd = evas_object_smart_data_get(obj); + if (sd->selmove > 0.0) return; edje_object_signal_emit(it->frame, "e,state,selected", "e"); if (!it->selected) { Eina_List *l; Item *it2; - + EINA_LIST_FOREACH(sd->items, l, it2) { if (it2->selected) it2->selected = 0; } - // FIXME: unsel other it->selected = 1; if (info->bg_file) free(info->bg_file); info->bg_file = strdup(it->file); + evas_object_hide(info->mini); + edje_object_file_set(info->mini, info->bg_file, + "e/desktop/background"); + evas_object_show(info->mini); + if (!sd->animator) + { + sd->seltime = ecore_loop_time_get(); + sd->animator = ecore_animator_add(_sel_anim, obj); + sd->selin = 0; + } } - if (!sd->animator) - { - sd->seltime = ecore_loop_time_get(); - sd->animator = ecore_animator_add(_sel_anim, obj); - sd->selin = 0; - } } static void -_pan_sel_up(Evas_Object *obj, Item *it) +_pan_sel_up(Evas_Object *obj) { Smart_Data *sd = evas_object_smart_data_get(obj); if (!sd->animator) @@ -555,8 +564,6 @@ { if (!(ev->event_flags & EVAS_EVENT_FLAG_ON_HOLD)) { - edje_object_file_set(info->mini, it->file, - "e/desktop/background"); _pan_sel(it->obj, it); // FIXME: select image!!! } @@ -609,6 +616,12 @@ } static void +_bg_clicked(void *data, Evas_Object *obj, const char *emission, const char *source) +{ + _pan_sel_up(info->span); +} + +static void _ok(void *data, void *data2) { if (!info) return; @@ -771,6 +784,8 @@ info->bg = edje_object_add(win->evas); e_theme_edje_object_set(info->bg, "base/theme/widgets", "e/conf/wallpaper/main/window"); + edje_object_signal_callback_add(info->bg, "e,action,click", "e", + _bg_clicked, NULL); // ok button info->box = e_widget_list_add(win->evas, 1, 1); |
From: Enlightenment S. <no-...@en...> - 2009-03-31 06:25:02
|
Log: and fix unsel... Author: raster Date: 2009-03-30 23:24:54 -0700 (Mon, 30 Mar 2009) New Revision: 39810 Modified: trunk/e/src/modules/conf_wallpaper2/e_int_config_wallpaper.c Modified: trunk/e/src/modules/conf_wallpaper2/e_int_config_wallpaper.c =================================================================== --- trunk/e/src/modules/conf_wallpaper2/e_int_config_wallpaper.c 2009-03-31 06:22:55 UTC (rev 39809) +++ trunk/e/src/modules/conf_wallpaper2/e_int_config_wallpaper.c 2009-03-31 06:24:54 UTC (rev 39810) @@ -513,19 +513,20 @@ edje_object_file_set(info->mini, info->bg_file, "e/desktop/background"); evas_object_show(info->mini); - if (!sd->animator) - { - sd->seltime = ecore_loop_time_get(); - sd->animator = ecore_animator_add(_sel_anim, obj); - sd->selin = 0; - } } + if (!sd->animator) + { + sd->seltime = ecore_loop_time_get(); + sd->animator = ecore_animator_add(_sel_anim, obj); + sd->selin = 0; + } } static void _pan_sel_up(Evas_Object *obj) { Smart_Data *sd = evas_object_smart_data_get(obj); + if (sd->selmove == 0.0) return; if (!sd->animator) { sd->seltime = ecore_loop_time_get(); |
From: Enlightenment S. <no-...@en...> - 2009-03-31 06:51:14
|
Log: now dialog doesnt require globals. Author: raster Date: 2009-03-30 23:51:12 -0700 (Mon, 30 Mar 2009) New Revision: 39811 Modified: trunk/e/src/modules/conf_wallpaper2/e_int_config_wallpaper.c Modified: trunk/e/src/modules/conf_wallpaper2/e_int_config_wallpaper.c =================================================================== --- trunk/e/src/modules/conf_wallpaper2/e_int_config_wallpaper.c 2009-03-31 06:24:54 UTC (rev 39810) +++ trunk/e/src/modules/conf_wallpaper2/e_int_config_wallpaper.c 2009-03-31 06:51:12 UTC (rev 39811) @@ -15,6 +15,7 @@ struct _Info { + E_Win *win; Evas_Object *bg, *preview, *mini, *button, *box, *sframe, *span; char *bg_file; int iw, ih; @@ -30,12 +31,13 @@ struct _Smart_Data { Evas_Object *child_obj; + Eina_List *items; + Ecore_Idle_Enterer *idle_enter; + Ecore_Animator *animator; + Info *info; Evas_Coord x, y, w, h; Evas_Coord cx, cy, cw, ch; Evas_Coord sx, sy; - Eina_List *items; - Ecore_Idle_Enterer *idle_enter; - Ecore_Animator *animator; double seltime; double selmove; Evas_Bool selin : 1; @@ -53,8 +55,7 @@ Evas_Bool do_thumb : 1; }; -static E_Win *win = NULL; -static Info *info = NULL; +static Info *global_info = NULL; static void _e_smart_reconfigure(Evas_Object *obj); @@ -133,7 +134,7 @@ x = 0; y = 0; ww = iw; - hh = (info->ih * iw) / (info->iw); + hh = (sd->info->ih * iw) / (sd->info->iw); mw = mh = 0; EINA_LIST_FOREACH(sd->items, l, it) @@ -297,7 +298,7 @@ edje_object_part_swallow(it->frame, "e.swallow.content", it->image); evas_object_smart_callback_add(it->image, "e_thumb_gen", _thumb_gen, it); e_thumb_icon_file_set(it->image, it->file, "e/desktop/background"); - e_thumb_icon_size_set(it->image, info->iw, info->ih); + e_thumb_icon_size_set(it->image, sd->info->iw, sd->info->ih); evas_object_show(it->image); edje_object_signal_emit(it->frame, "e,action,thumb,ungen", "e"); } @@ -427,6 +428,14 @@ return evas_object_smart_add(evas, smart); } +static void +_pan_info_set(Evas_Object *obj, Info *info) +{ + Smart_Data *sd = evas_object_smart_data_get(obj); + sd->info = info; +} + + static int _sel_anim(void *data) { @@ -507,12 +516,12 @@ if (it2->selected) it2->selected = 0; } it->selected = 1; - if (info->bg_file) free(info->bg_file); - info->bg_file = strdup(it->file); - evas_object_hide(info->mini); - edje_object_file_set(info->mini, info->bg_file, + if (sd->info->bg_file) free(sd->info->bg_file); + sd->info->bg_file = strdup(it->file); + evas_object_hide(sd->info->mini); + edje_object_file_set(sd->info->mini, sd->info->bg_file, "e/desktop/background"); - evas_object_show(info->mini); + evas_object_show(sd->info->mini); } if (!sd->animator) { @@ -596,7 +605,7 @@ edje_object_part_swallow(it->frame, "e.swallow.content", it->image); evas_object_smart_callback_add(it->image, "e_thumb_gen", _thumb_gen, it); e_thumb_icon_file_set(it->image, it->file, "e/desktop/background"); - e_thumb_icon_size_set(it->image, info->iw, info->ih); + e_thumb_icon_size_set(it->image, sd->info->iw, sd->info->ih); evas_object_show(it->image); // e_thumb_icon_begin(it->image); _e_smart_reconfigure(obj); @@ -607,7 +616,8 @@ static void _resize(E_Win *wn) { - evas_object_resize(info->bg, win->w, win->h); + Info *info = wn->data; + evas_object_resize(info->bg, wn->w, wn->h); } static void @@ -619,13 +629,14 @@ static void _bg_clicked(void *data, Evas_Object *obj, const char *emission, const char *source) { + Info *info = data; _pan_sel_up(info->span); } static void _ok(void *data, void *data2) { - if (!info) return; + Info *info = data; if (info->specific) { /* update a specific config */ @@ -654,15 +665,15 @@ wp_conf_hide(); } -static void _scan(void); +static void _scan(Info *info); static int _idler(void *data) { struct dirent *dp; char buf[PATH_MAX], *p; + Info *info = data; - if (!info) return 0; if (!info->dir) { info->idler = NULL; @@ -676,7 +687,7 @@ closedir(info->dir); info->dir = NULL; info->idler = NULL; - _scan(); + _scan(info); return 0; } if ((!strcmp(dp->d_name, ".")) || (!strcmp(dp->d_name, ".."))) @@ -696,40 +707,34 @@ } static void -_scan(void) +_scan(Info *info) { - if (!info) return; if (info->dirs) { if (info->curdir) free(info->curdir); info->curdir = info->dirs->data; info->dirs = eina_list_remove_list(info->dirs, info->dirs); if (!info->dir) info->dir = opendir(info->curdir); - info->idler = ecore_idler_add(_idler, NULL); + info->idler = ecore_idler_add(_idler, info); } } -void -wp_conf_show(E_Container *con, const char *params __UNUSED__) +Info * +wp_browser_new(E_Container *con) { + Info *info; + E_Win *win; E_Zone *zone; E_Desk *desk; const E_Config_Desktop_Background *cfbg; Evas_Coord mw, mh; - char buf[PATH_MAX]; - if (win) - { - e_win_show(win); - e_win_raise(win); - return; - } - zone = e_util_zone_current_get(con->manager); - desk = e_desk_current_get(zone); info = calloc(1, sizeof(Info)); - if (!info) return; + if (!info) return NULL; + zone = e_util_zone_current_get(con->manager); + desk = e_desk_current_get(zone); info->con_num = con->num; info->zone_num = zone->id; info->desk_x = desk->x; @@ -767,9 +772,11 @@ { free(info); info = NULL; - return; + return NULL; } - + info->win = win; + win->data = info; + snprintf(buf, sizeof(buf), "%s/.e/e/backgrounds", e_user_homedir_get()); info->dirs = eina_list_append(info->dirs, strdup(buf)); snprintf(buf, sizeof(buf), "%s/data/backgrounds", e_prefix_data_get()); @@ -782,17 +789,17 @@ e_win_delete_callback_set(win, _delete); // bg + container - info->bg = edje_object_add(win->evas); + info->bg = edje_object_add(info->win->evas); e_theme_edje_object_set(info->bg, "base/theme/widgets", "e/conf/wallpaper/main/window"); edje_object_signal_callback_add(info->bg, "e,action,click", "e", - _bg_clicked, NULL); + _bg_clicked, info); // ok button - info->box = e_widget_list_add(win->evas, 1, 1); + info->box = e_widget_list_add(info->win->evas, 1, 1); - info->button = e_widget_button_add(win->evas, _("OK"), NULL, - _ok, NULL, NULL); + info->button = e_widget_button_add(info->win->evas, _("OK"), NULL, + _ok, info, NULL); evas_object_show(info->button); e_widget_list_object_append(info->box, info->button, 1, 0, 0.5); @@ -802,7 +809,7 @@ evas_object_show(info->box); // preview - info->preview = e_livethumb_add(win->evas); + info->preview = e_livethumb_add(info->win->evas); e_livethumb_vsize_set(info->preview, zone->w, zone->h); edje_extern_object_aspect_set(info->preview, EDJE_ASPECT_CONTROL_NEITHER, zone->w, zone->h); edje_object_part_swallow(info->bg, "e.swallow.preview", info->preview); @@ -821,11 +828,11 @@ } // scrolled thumbs - info->span = _pan_add(win->evas); - // FIXME: init span + info->span = _pan_add(info->win->evas); + _pan_info_set(info->span, info); // the scrollframe holding the scrolled thumbs - info->sframe = e_scrollframe_add(win->evas); + info->sframe = e_scrollframe_add(info->win->evas); e_scrollframe_custom_theme_set(info->sframe, "base/theme/widgets", "e/conf/wallpaper/main/scrollframe"); e_scrollframe_extern_pan_set(info->sframe, info->span, @@ -844,19 +851,40 @@ e_win_centered_set(win, 1); e_win_show(win); - evas_object_resize(info->bg, win->w, win->h); + evas_object_resize(info->bg, info->win->w, info->win->h); evas_object_show(info->bg); - _scan(); + _scan(info); + return info; } void -wp_conf_hide(void) +wp_broser_free(Info *info) { - if (!win) return; + if (!info) return; + e_object_del(E_OBJECT(info->win)); // del other stuff free(info); info = NULL; - e_object_del(E_OBJECT(win)); - win = NULL; } + +void +wp_conf_show(E_Container *con, const char *params __UNUSED__) +{ + if (global_info) + { + e_win_show(global_info->win); + e_win_raise(global_info->win); + } + global_info = wp_browser_new(con); +} + +void +wp_conf_hide(void) +{ + if (global_info) + { + wp_broser_free(global_info); + global_info = NULL; + } +} |
From: Enlightenment S. <no-...@en...> - 2009-03-31 12:20:45
|
Log: leak-- Author: raster Date: 2009-03-31 05:20:35 -0700 (Tue, 31 Mar 2009) New Revision: 39816 Modified: trunk/e/src/modules/conf_wallpaper2/e_int_config_wallpaper.c Modified: trunk/e/src/modules/conf_wallpaper2/e_int_config_wallpaper.c =================================================================== --- trunk/e/src/modules/conf_wallpaper2/e_int_config_wallpaper.c 2009-03-31 11:58:56 UTC (rev 39815) +++ trunk/e/src/modules/conf_wallpaper2/e_int_config_wallpaper.c 2009-03-31 12:20:35 UTC (rev 39816) @@ -36,6 +36,7 @@ Eina_List *items; Ecore_Idle_Enterer *idle_enter; Ecore_Animator *animator; + Ecore_Timer *seltimer; Info *info; Evas_Coord x, y, w, h; Evas_Coord cx, cy, cw, ch; @@ -343,6 +344,8 @@ _e_smart_del(Evas_Object *obj) { Smart_Data *sd = evas_object_smart_data_get(obj); + if (sd->seltimer) + ecore_timer_del(sd->seltimer); if (sd->idle_enter) ecore_idle_enterer_del(sd->idle_enter); if (sd->animator) @@ -502,6 +505,21 @@ return 1; } +static int +_sel_timer(void *data) +{ + Evas_Object *obj = data; + Smart_Data *sd = evas_object_smart_data_get(obj); + if (!sd->animator) + { + sd->seltime = ecore_time_get(); + sd->animator = ecore_animator_add(_sel_anim, obj); + sd->selin = 0; + } + sd->seltimer = NULL; + return 0; +} + static void _pan_sel(Evas_Object *obj, Item *it) { @@ -524,13 +542,9 @@ edje_object_file_set(sd->info->mini, sd->info->bg_file, "e/desktop/background"); evas_object_show(sd->info->mini); + if (sd->seltimer) ecore_timer_del(sd->seltimer); + sd->seltimer = ecore_timer_add(0.2, _sel_timer, obj); } - if (!sd->animator) - { - sd->seltime = ecore_loop_time_get(); - sd->animator = ecore_animator_add(_sel_anim, obj); - sd->selin = 0; - } } static void @@ -863,8 +877,14 @@ void wp_broser_free(Info *info) { + char *s; if (!info) return; e_object_del(E_OBJECT(info->win)); + if (info->dir) closedir(info->dir); + free(info->bg_file); + free(info->curdir); + EINA_LIST_FREE(info->dirs, s) free(s); + if (info->idler) ecore_idler_del(info->idler); // del other stuff free(info); info = NULL; |
From: Enlightenment S. <no-...@en...> - 2009-03-31 12:47:20
|
Log: oops. timer works now always Author: raster Date: 2009-03-31 05:47:10 -0700 (Tue, 31 Mar 2009) New Revision: 39817 Modified: trunk/e/src/modules/conf_wallpaper2/e_int_config_wallpaper.c Modified: trunk/e/src/modules/conf_wallpaper2/e_int_config_wallpaper.c =================================================================== --- trunk/e/src/modules/conf_wallpaper2/e_int_config_wallpaper.c 2009-03-31 12:20:35 UTC (rev 39816) +++ trunk/e/src/modules/conf_wallpaper2/e_int_config_wallpaper.c 2009-03-31 12:47:10 UTC (rev 39817) @@ -542,9 +542,9 @@ edje_object_file_set(sd->info->mini, sd->info->bg_file, "e/desktop/background"); evas_object_show(sd->info->mini); - if (sd->seltimer) ecore_timer_del(sd->seltimer); - sd->seltimer = ecore_timer_add(0.2, _sel_timer, obj); } + if (sd->seltimer) ecore_timer_del(sd->seltimer); + sd->seltimer = ecore_timer_add(0.2, _sel_timer, obj); } static void |
From: Enlightenment S. <no-...@en...> - 2009-04-04 14:37:13
|
Log: comments for todo... Author: raster Date: 2009-04-04 07:37:07 -0700 (Sat, 04 Apr 2009) New Revision: 39856 Modified: trunk/e/src/modules/conf_wallpaper2/e_int_config_wallpaper.c Modified: trunk/e/src/modules/conf_wallpaper2/e_int_config_wallpaper.c =================================================================== --- trunk/e/src/modules/conf_wallpaper2/e_int_config_wallpaper.c 2009-04-04 14:15:08 UTC (rev 39855) +++ trunk/e/src/modules/conf_wallpaper2/e_int_config_wallpaper.c 2009-04-04 14:37:07 UTC (rev 39856) @@ -5,11 +5,13 @@ #include "e_mod_main.h" // FIXME: -// need a proper theme done "ok/accept" button // need a "add" button (to add exchange, image file or gradient) -// need a "where" opopup to select "all desktops, this screen, this desktop" // need filename display // need "theme wallpaper" image +// need to make thumb white rect better (shaded etc.) +// need to make "theme wallpaper" have different look +// need to make "exchange" wallpapers have a different look +// need to sort files (alphabetically/ by color? etc.) typedef struct _Info Info; typedef struct _Smart_Data Smart_Data; |
From: Enlightenment S. <no-...@en...> - 2009-04-18 13:52:52
|
Log: use sort id and sort! Author: raster Date: 2009-04-18 06:52:41 -0700 (Sat, 18 Apr 2009) New Revision: 40167 Modified: trunk/e/src/modules/conf_wallpaper2/e_int_config_wallpaper.c Modified: trunk/e/src/modules/conf_wallpaper2/e_int_config_wallpaper.c =================================================================== --- trunk/e/src/modules/conf_wallpaper2/e_int_config_wallpaper.c 2009-04-18 13:52:24 UTC (rev 40166) +++ trunk/e/src/modules/conf_wallpaper2/e_int_config_wallpaper.c 2009-04-18 13:52:41 UTC (rev 40167) @@ -36,7 +36,7 @@ struct _Smart_Data { - Evas_Object *child_obj; +// Evas_Object *child_obj; Eina_List *items; Ecore_Idle_Enterer *idle_enter; Ecore_Animator *animator; @@ -45,6 +45,7 @@ Evas_Coord x, y, w, h; Evas_Coord cx, cy, cw, ch; Evas_Coord sx, sy; + int id_num; double seltime; double selmove; Evas_Bool selin : 1; @@ -56,6 +57,7 @@ Evas_Object *obj; Evas_Coord x, y, w, h; const char *file; + char *sort_id; Evas_Object *frame, *image; Evas_Bool selected : 1; Evas_Bool have_thumb : 1; @@ -324,10 +326,13 @@ } else { - if (it->do_thumb) + if (it->sort_id) { - e_thumb_icon_end(it->image); - it->do_thumb = 0; + if (it->do_thumb) + { + e_thumb_icon_end(it->image); + it->do_thumb = 0; + } } } } @@ -361,12 +366,23 @@ _e_smart_del(Evas_Object *obj) { Smart_Data *sd = evas_object_smart_data_get(obj); + Item *it; if (sd->seltimer) ecore_timer_del(sd->seltimer); if (sd->idle_enter) ecore_idle_enterer_del(sd->idle_enter); if (sd->animator) ecore_animator_del(sd->animator); + // sd->info is just referenced + // sd->child_obj is unused + EINA_LIST_FREE(sd->items, it) + { + if (it->frame) evas_object_del(it->frame); + if (it->image) evas_object_del(it->image); + if (it->file) eina_stringshare_del(it->file); + free(it->sort_id); + free(it); + } free(sd); } @@ -393,35 +409,35 @@ _e_smart_show(Evas_Object *obj) { Smart_Data *sd = evas_object_smart_data_get(obj); - evas_object_show(sd->child_obj); +// evas_object_show(sd->child_obj); } static void _e_smart_hide(Evas_Object *obj) { Smart_Data *sd = evas_object_smart_data_get(obj); - evas_object_hide(sd->child_obj); +// evas_object_hide(sd->child_obj); } static void _e_smart_color_set(Evas_Object *obj, int r, int g, int b, int a) { Smart_Data *sd = evas_object_smart_data_get(obj); - evas_object_color_set(sd->child_obj, r, g, b, a); +// evas_object_color_set(sd->child_obj, r, g, b, a); } static void _e_smart_clip_set(Evas_Object *obj, Evas_Object * clip) { Smart_Data *sd = evas_object_smart_data_get(obj); - evas_object_clip_set(sd->child_obj, clip); +// evas_object_clip_set(sd->child_obj, clip); } static void _e_smart_clip_unset(Evas_Object *obj) { Smart_Data *sd = evas_object_smart_data_get(obj); - evas_object_clip_unset(sd->child_obj); +// evas_object_clip_unset(sd->child_obj); } static Evas_Object * @@ -595,11 +611,44 @@ } } +static int +_sort_cb(const void *d1, const void *d2) +{ + Item *it1 = d1, *it2 = d2; + return strcmp(it1->sort_id, it2->sort_id); +} + static void +_item_sort(Item *it) +{ + Evas_Object *obj = it->obj; + Smart_Data *sd = evas_object_smart_data_get(obj); + int num; + Eina_List *l; + + sd->id_num++; + num = eina_list_count(sd->items); + if (sd->id_num == num) + { + sd->items = eina_list_sort(sd->items, num, _sort_cb); + _e_smart_reconfigure(obj); + } +} + +static void _thumb_gen(void *data, Evas_Object *obj, void *event_info) { Item *it = data; edje_object_signal_emit(it->frame, "e,action,thumb,gen", "e"); + if (!it->sort_id) + { + const char *id = e_thumb_sort_id_get(it->image); + if (id) + { + it->sort_id = strdup(id); + _item_sort(it); + } + } it->have_thumb = 1; } @@ -668,7 +717,11 @@ e_thumb_icon_file_set(it->image, it->file, "e/desktop/background"); e_thumb_icon_size_set(it->image, sd->info->iw, sd->info->ih); evas_object_show(it->image); + + e_thumb_icon_begin(it->image); + it->do_thumb = 1; // e_thumb_icon_begin(it->image); + _e_smart_reconfigure(obj); } @@ -739,6 +792,24 @@ wp_conf_hide(); } +static void +_add_file(void *data, void *data2) +{ + Info *info = data; +} + +static void +_add_grad(void *data, void *data2) +{ + Info *info = data; +} + +static void +_add_online(void *data, void *data2) +{ + Info *info = data; +} + static void _scan(Info *info); static int @@ -938,6 +1009,28 @@ 0.0, 0.5); evas_object_show(o2); + o2 = e_widget_button_add(info->win->evas, _("Add File"), NULL, + _add_file, info, NULL); + e_widget_table_object_align_append(o, o2, + 1, 1, 1, 1, + 1, 1, 0, 0, + 0.0, 0.5); + evas_object_show(o2); + o2 = e_widget_button_add(info->win->evas, _("Add Gradient"), NULL, + _add_grad, info, NULL); + e_widget_table_object_align_append(o, o2, + 1, 2, 1, 1, + 1, 1, 0, 0, + 0.0, 0.5); + evas_object_show(o2); + o2 = e_widget_button_add(info->win->evas, _("Add Online"), NULL, + _add_online, info, NULL); + e_widget_table_object_align_append(o, o2, + 1, 3, 1, 1, + 1, 1, 0, 0, + 0.0, 0.5); + evas_object_show(o2); + e_widget_min_size_get(o, &mw, &mh); edje_extern_object_min_size_set(o, mw, mh); edje_object_part_swallow(info->bg, "e.swallow.extras", o); |
From: Enlightenment S. <no-...@en...> - 2009-04-23 02:51:36
|
Log: notes++ Author: raster Date: 2009-04-22 19:51:21 -0700 (Wed, 22 Apr 2009) New Revision: 40309 Modified: trunk/e/src/modules/conf_wallpaper2/e_int_config_wallpaper.c Modified: trunk/e/src/modules/conf_wallpaper2/e_int_config_wallpaper.c =================================================================== --- trunk/e/src/modules/conf_wallpaper2/e_int_config_wallpaper.c 2009-04-23 02:41:31 UTC (rev 40308) +++ trunk/e/src/modules/conf_wallpaper2/e_int_config_wallpaper.c 2009-04-23 02:51:21 UTC (rev 40309) @@ -14,6 +14,8 @@ // need indicator that sort is pending // need signal to emit for popping down slide-up panel // bug: animated wp doesnt workon first show +// need to disable "this screen" if multiple containers/zones dont exist +// need to disable "this desktop vs all desktops" if only 1 desk exists typedef struct _Info Info; typedef struct _Smart_Data Smart_Data; |
From: Enlightenment S. <no-...@en...> - 2009-05-09 11:58:55
|
Log: remove norender. bad move! Author: raster Date: 2009-05-09 04:58:52 -0700 (Sat, 09 May 2009) New Revision: 40568 Modified: trunk/e/src/modules/conf_wallpaper2/e_int_config_wallpaper.c Modified: trunk/e/src/modules/conf_wallpaper2/e_int_config_wallpaper.c =================================================================== --- trunk/e/src/modules/conf_wallpaper2/e_int_config_wallpaper.c 2009-05-09 11:03:11 UTC (rev 40567) +++ trunk/e/src/modules/conf_wallpaper2/e_int_config_wallpaper.c 2009-05-09 11:58:52 UTC (rev 40568) @@ -727,7 +727,6 @@ it->image = NULL; evas_object_del(it->frame); it->frame = NULL; - evas_norender(evas_object_evas_get(it->obj)); // norender to force del of objs } } |
From: Enlightenment S. <no-...@en...> - 2009-05-14 14:28:48
|
Log: some rabid idle enter checks Author: raster Date: 2009-05-14 07:28:44 -0700 (Thu, 14 May 2009) New Revision: 40642 Modified: trunk/e/src/modules/conf_wallpaper2/e_int_config_wallpaper.c Modified: trunk/e/src/modules/conf_wallpaper2/e_int_config_wallpaper.c =================================================================== --- trunk/e/src/modules/conf_wallpaper2/e_int_config_wallpaper.c 2009-05-14 12:53:56 UTC (rev 40641) +++ trunk/e/src/modules/conf_wallpaper2/e_int_config_wallpaper.c 2009-05-14 14:28:44 UTC (rev 40642) @@ -139,7 +139,8 @@ Item *it; int iw, redo = 0, changed = 0; Evas_Coord x, y, xx, yy, ww, hh, cw, ch, mw, mh, ox, oy, dd; - + + if (!sd) return 0; if (sd->cx > (sd->cw - sd->w)) sd->cx = sd->cw - sd->w; if (sd->cy > (sd->ch - sd->h)) sd->cy = sd->ch - sd->h; if (sd->cx < 0) sd->cx = 0; @@ -406,7 +407,11 @@ if (changed) evas_object_smart_callback_call(obj, "changed", NULL); - sd->idle_enter = NULL; + if (sd->idle_enter) + { + ecore_idle_enterer_del(sd->idle_enter); + sd->idle_enter = NULL; + } return 0; } @@ -450,6 +455,7 @@ free(it); } free(sd); + evas_object_smart_data_set(obj, NULL); } static void |
From: Enlightenment S. <no-...@en...> - 2009-08-17 07:55:38
|
Log: some more todo work Author: raster Date: 2009-08-17 00:55:25 -0700 (Mon, 17 Aug 2009) New Revision: 41837 Modified: trunk/e/src/modules/conf_wallpaper2/e_int_config_wallpaper.c Modified: trunk/e/src/modules/conf_wallpaper2/e_int_config_wallpaper.c =================================================================== --- trunk/e/src/modules/conf_wallpaper2/e_int_config_wallpaper.c 2009-08-17 07:55:01 UTC (rev 41836) +++ trunk/e/src/modules/conf_wallpaper2/e_int_config_wallpaper.c 2009-08-17 07:55:25 UTC (rev 41837) @@ -9,7 +9,6 @@ // need delete select mode // need after select on delete an ok/cancel if file or "ok to remove whole online source" if online // need to make "exchange" wallpapers have a different look -// need signal to emit for popping down slide-up panel // bug: animated wp doesnt workon first show // need to disable "this screen" if multiple containers/zones dont exist // need to disable "this desktop vs all desktops" if only 1 desk exists @@ -324,7 +323,10 @@ e_theme_edje_object_set(it->frame, "base/theme/widgets", "e/conf/wallpaper/main/mini"); if (it->hilighted) - edje_object_signal_emit(it->frame, "e,state,selected", "e"); + { + edje_object_signal_emit(it->frame, "e,state,selected", "e"); + evas_object_raise(it->frame); + } evas_object_event_callback_add(it->frame, EVAS_CALLBACK_MOUSE_DOWN, _item_down, it); evas_object_event_callback_add(it->frame, EVAS_CALLBACK_MOUSE_UP, @@ -634,7 +636,9 @@ if (!it->hilighted) return; it->hilighted = 0; if (it->frame) - edje_object_signal_emit(it->frame, "e,state,unselected", "e"); + { + edje_object_signal_emit(it->frame, "e,state,unselected", "e"); + } } static void @@ -654,7 +658,10 @@ } it->hilighted = 1; if (it->frame) - edje_object_signal_emit(it->frame, "e,state,selected", "e"); + { + edje_object_signal_emit(it->frame, "e,state,selected", "e"); + evas_object_raise(it->frame); + } } @@ -664,6 +671,7 @@ Smart_Data *sd = evas_object_smart_data_get(obj); if (sd->selmove > 0.0) return; edje_object_signal_emit(it->frame, "e,state,selected", "e"); + evas_object_raise(it->frame); if (!it->selected) { Eina_List *l; @@ -767,9 +775,9 @@ it2 = NULL; } if (it2) - _pan_set(obj, - it2->x + (it2->w / 2) - (sd->w / 2), - it2->y + (it2->h / 2) - (sd->h / 2)); + e_scrollframe_child_region_show(sd->info->sframe, + it2->x, it2->y, + it2->w, it2->h); sd->jump2hi = 1; } } @@ -854,7 +862,10 @@ e_theme_edje_object_set(it->frame, "base/theme/widgets", "e/conf/wallpaper/main/mini"); if (it->hilighted) - edje_object_signal_emit(it->frame, "e,state,selected", "e"); + { + edje_object_signal_emit(it->frame, "e,state,selected", "e"); + evas_object_raise(it->frame); + } evas_object_event_callback_add(it->frame, EVAS_CALLBACK_MOUSE_DOWN, _item_down, it); evas_object_event_callback_add(it->frame, EVAS_CALLBACK_MOUSE_UP, @@ -997,14 +1008,23 @@ _wp_add(void *data, void *data2) { Info *info = data; + edje_object_signal_emit(info->bg, "e,action,panel,hide", "e"); } static void _wp_delete(void *data, void *data2) { Info *info = data; + edje_object_signal_emit(info->bg, "e,action,panel,hide", "e"); } +static void +_wp_changed(void *data, Evas_Object *obj, void *event_info) +{ + Info *info = data; + edje_object_signal_emit(info->bg, "e,action,panel,hide", "e"); +} + static void _scan(Info *info); static int @@ -1055,7 +1075,6 @@ if (info->scans <= 0) { info->scans = 0; - printf("START\n"); edje_object_signal_emit(info->bg, "e,state,busy,on", "e"); edje_object_part_text_set(info->bg, "e.text.busy_label", _("Loading files...")); } @@ -1196,14 +1215,17 @@ rg = e_widget_radio_group_new(&(info->mode)); o2 = e_widget_radio_add(info->win->evas, _("All Desktops"), 0, rg); + evas_object_smart_callback_add(o2, "changed", _wp_changed, info); e_widget_list_object_append(o, o2, 1, 0, 0.5); evas_object_show(o2); o2 = e_widget_radio_add(info->win->evas, _("This Desktop"), 1, rg); + evas_object_smart_callback_add(o2, "changed", _wp_changed, info); e_widget_list_object_append(o, o2, 1, 0, 0.5); evas_object_show(o2); o2 = e_widget_radio_add(info->win->evas, _("This Screen"), 2, rg); + evas_object_smart_callback_add(o2, "changed", _wp_changed, info); e_widget_list_object_append(o, o2, 1, 0, 0.5); evas_object_show(o2); |