[EGIT] [core/elementary] master 01/02: elm/quicklaunch: Increment _elm_init_count in ql_init
jpeg pushed a commit to branch master. http://git.enlightenment.org/core/elementary.git/commit/?id=f678122aedc734c7dc4411affdaca808ed403296 commit f678122aedc734c7dc4411affdaca808ed403296 Author: Jean-Philippe Andre Date: Mon Nov 4 12:21:49 2013 +0900 elm/quicklaunch: Increment _elm_init_count in ql_init Apps call elm_shutdown before exiting. But when using Quiklaunch, elm_init has never been called, so the init count is still 0. This will be especially useful since programs compiled with -fPIC and linked with -pie can be loaded by Quicklaunch. --- src/lib/elm_main.c | 1 + 1 file changed, 1 insertion(+) diff --git a/src/lib/elm_main.c b/src/lib/elm_main.c index 39ef68a..ebf538b 100644 --- a/src/lib/elm_main.c +++ b/src/lib/elm_main.c @@ -664,6 +664,7 @@ elm_quicklaunch_init(intargc, EINA_LOG_STATE_STOP, EINA_LOG_STATE_INIT); + _elm_init_count++; return _elm_ql_init_count; } --
[EGIT] [core/elementary] master 02/02: elm/quicklaunch: Improve executable path search
jpeg pushed a commit to branch master. http://git.enlightenment.org/core/elementary.git/commit/?id=876f8bccc7fed2f8511c9bdbe1c0e21be30290ca commit 876f8bccc7fed2f8511c9bdbe1c0e21be30290ca Author: Jean-Philippe Andre Date: Mon Nov 4 15:12:51 2013 +0900 elm/quicklaunch: Improve executable path search Always search executable based on CWD if possible. This way, elementary_run behaves more like sh where all of sh script, sh ./script and sh `pwd`/script will work. Also, remove quicklaunch-specific ELM_MAIN. This needs some doc, but compiling with -fpie and -pie is much better. Note: There's an API/ABI break here, BUT these APIs are marked as not to be used outside macros. And there isn't any macro using them :) --- src/bin/quicklaunch.c | 2 +- src/lib/elm_general.h | 10 -- src/lib/elm_main.c| 96 +-- 3 files changed, 71 insertions(+), 37 deletions(-) diff --git a/src/bin/quicklaunch.c b/src/bin/quicklaunch.c index 2a811d2..f79770c 100644 --- a/src/bin/quicklaunch.c +++ b/src/bin/quicklaunch.c @@ -151,7 +151,7 @@ handle_run(int fd, unsigned long bytes) } } #endif - elm_quicklaunch_prepare(argc, argv); + elm_quicklaunch_prepare(argc, argv, cwd); elm_quicklaunch_fork(argc, argv, cwd, post_fork, NULL); elm_quicklaunch_cleanup(); } diff --git a/src/lib/elm_general.h b/src/lib/elm_general.h index 7876af4..14d8776 100644 --- a/src/lib/elm_general.h +++ b/src/lib/elm_general.h @@ -143,7 +143,11 @@ extern EAPI double _elm_startup_time; #ifndef ELM_LIB_QUICKLAUNCH #define ELM_MAIN() int main(int argc, char **argv) { int ret; _elm_startup_time = ecore_time_unix_get(); elm_init(argc, argv); ret = elm_main(argc, argv); return ret; } /**< macro to be used after the elm_main() function */ #else -#define ELM_MAIN() int main(int argc, char **argv) { _elm_startup_time = ecore_time_unix_get(); return elm_quicklaunch_fallback(argc, argv); } /**< macro to be used after the elm_main() function */ +/** @deprecated macro to be used after the elm_main() function. + * Do not define ELM_LIB_QUICKLAUNCH + * Compile your programs with -fpie and -pie -rdynamic instead, to generate a single binary (linkable executable). + */ +#define ELM_MAIN() int main(int argc, char **argv) { _elm_startup_time = ecore_time_unix_get(); return elm_quicklaunch_fallback(argc, argv); } #endif /**/ @@ -270,7 +274,7 @@ EAPI void elm_quicklaunch_seed(void); /** * Exposed symbol used only by macros and should not be used by apps */ -EAPI Eina_Bool elm_quicklaunch_prepare(int argc, char **argv); +EAPI Eina_Bool elm_quicklaunch_prepare(int argc, char **argv, const char *cwd); /** * Exposed symbol used only by macros and should not be used by apps @@ -290,7 +294,7 @@ EAPI int elm_quicklaunch_fallback(int argc, char **argv); /** * Exposed symbol used only by macros and should not be used by apps */ -EAPI char *elm_quicklaunch_exe_path_get(const char *exe); +EAPI char *elm_quicklaunch_exe_path_get(const char *exe, const char *cwd); /** * Set a new policy's value (for a given policy group/identifier). diff --git a/src/lib/elm_main.c b/src/lib/elm_main.c index ebf538b..927481f 100644 --- a/src/lib/elm_main.c +++ b/src/lib/elm_main.c @@ -843,63 +843,87 @@ static int (*qr_main)(intargc, EAPI Eina_Bool elm_quicklaunch_prepare(intargc, -char **argv) +char **argv, +const char *cwd) { #ifdef HAVE_FORK - char *exe; + char *exe, *exe2, *p; + char *exename; if (argc <= 0 || argv == NULL) return EINA_FALSE; - exe = elm_quicklaunch_exe_path_get(argv[0]); + exe = elm_quicklaunch_exe_path_get(argv[0], cwd); if (!exe) { ERR("requested quicklaunch binary '%s' does not exist\n", argv[0]); return EINA_FALSE; } - else + + exe2 = malloc(strlen(exe) + 1 + 7 + strlen(LIBEXT)); + strcpy(exe2, exe); + p = strrchr(exe2, '/'); + if (p) p++; + else p = exe2; + exename = alloca(strlen(p) + 1); + strcpy(exename, p); + *p = 0; + strcat(p, "../lib/"); + strcat(p, exename); + strcat(p, LIBEXT); + if (access(exe2, R_OK | X_OK) != 0) + { +free(exe2); +exe2 = NULL; + } + + /* Try linking to executable first. Works with PIE files. */ + qr_handle = dlopen(exe, RTLD_NOW | RTLD_GLOBAL); + if (qr_handle) { -char *exe2, *p; -char *exename; - -exe2 = malloc(strlen(exe) + 1 + 7 + strlen(LIBEXT)); -strcpy(exe2, exe); -p = strrchr(exe2, '/'); -if (p) p++; -else p = exe2; -exename = alloca(strlen(p) + 1); -strcpy(exename, p); -*p = 0; -strcat(p, "../lib/"); -strcat(p, exename); -strcat(p, LIBEXT); -if (!access(exe2, R_OK | X_OK)) +
Re: [E-devel] admin/devs.git layout changes
On 02/11/2013 10:26, Chris Michael wrote: Na, old was not confusing. That's not what I said. I said perhaps it should be renamed to "ancient" (for those of us who have been around forever) :P dh Only white hairs and huge beard accepted <>-- Android is increasing in popularity, but the open development platform that developers love is also attractive to malware creators. Download this white paper to learn more about secure code signing practices that can help keep Android apps secure. http://pubads.g.doubleclick.net/gampad/clk?id=65839951&iu=/4140/ostg.clktrk___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
Re: [E-devel] [EGIT] [core/elementary] master 01/01: elm_conform.c: Added "virtualkeypad, size, changed" smart callback.
On Thu, Oct 31, 2013 at 6:20 PM, Carsten Haitzler wrote: > On Thu, 31 Oct 2013 18:03:48 +0900 (KST) ChunEon Park > said: > > > Sorry. I don't agree on this change. > > > > This callback will be called wheneven any keypad state is changed. > regardless > > of the size changed. > > and this should not ever be needed because conformant should be > moving/resizing > the child object to account for the keypad so.. listen for move/resize > events > if u care.. but your object will be adjusted appropriately by conformat... > Yes, of course I tried to use resize callback first but it was called more than I expected and not effective. That's why I added this new smart callback because there is also "state,on/off" things. That happened in a very complicated real life situation on the real embedded device. I could write a test case if you want but there is no rush on this smart callback. Thanks. Daniel Juyung Seo (SeoZ) > > > > > -Regards, Hermet- > > > > -Original Message- > > From: "Daniel Juyung Seo" > > To: ; > > Cc: > > Sent: 2013-10-30 (수) 16:24:37 > > Subject: [EGIT] [core/elementary] master 01/01: elm_conform.c: Added > > "virtualkeypad,size,changed" smart callback. > > > > seoz pushed a commit to branch master. > > > > > http://git.enlightenment.org/core/elementary.git/commit/?id=cbd7446f0bf413ad821ac40703d2a2ca728758ef > > > > commit cbd7446f0bf413ad821ac40703d2a2ca728758ef > > Author: Daniel Juyung Seo @gmail.com> > > Date: Wed Oct 30 16:17:57 2013 +0900 > > > > elm_conform.c: Added "virtualkeypad,size,changed" smart callback. > > > > When the virtualkeypad size is changed, applications get the notice. > > Applications can do internal object calculation according to the > exact > > virtualkeypad size. This is useful when the exact size is important such > as > > webkit usecase. > > --- > > ChangeLog 4 > > NEWS 1 + > > src/lib/elm_conform.c 7 +++ > > src/lib/elm_conform.h 3 +++ > > 4 files changed, 15 insertions(+) > > > > diff --git a/ChangeLog b/ChangeLog > > index fbeecc7..e99d3fd 100644 > > --- a/ChangeLog > > +++ b/ChangeLog > > @@ -1727,3 +1727,7 @@ > > 2013-10-30 Amitesh Singh (_ami_) > > > > * image: Add support for "clicked" callback on > Return/space/KP_Enter > > key press. + > > +2013-10-30 Daniel Juyung Seo (SeoZ) > > + > > +* conform: Added "virtualkeypad,size,changed" callback on > > virtualkeypad min size change. diff --git a/NEWS b/NEWS > > index 8481107..6876073 100644 > > --- a/NEWS > > +++ b/NEWS > > @@ -101,6 +101,7 @@ Additions: > > * Add elm_fileselector_hidden_visible_set/get() to show or hide > hidden > > files/directories. > > * Add signals "spinner,drag,start" and "spinner,drag,stop" to the > spinner > > widget. > > * Add support for "clicked" callback on Return/space/KP_Enter key > press > > for image. > > + * Add "virtualkeypad,size,changed" callback on virtualkeypad min size > > change for conformant. > > Improvements: > > > > diff --git a/src/lib/elm_conform.c b/src/lib/elm_conform.c > > index 9636ab8..cb00888 100644 > > --- a/src/lib/elm_conform.c > > +++ b/src/lib/elm_conform.c > > @@ -36,12 +36,14 @@ static const char SOFTKEY_PART[] = > "elm.swallow.softkey"; > > > > static const char SIG_VIRTUALKEYPAD_STATE_ON[] = > "virtualkeypad,state,on"; > > static const char SIG_VIRTUALKEYPAD_STATE_OFF[] = > "virtualkeypad,state,off"; > > +static const char SIG_VIRTUALKEYPAD_SIZE_CHANGED[] = > > "virtualkeypad,size,changed"; static const char SIG_CLIPBOARD_STATE_ON[] > = > > "clipboard,state,on"; static const char SIG_CLIPBOARD_STATE_OFF[] = > > "clipboard,state,off"; > > static const Evas_Smart_Cb_Description _smart_callbacks[] = { > > {SIG_VIRTUALKEYPAD_STATE_ON, ""}, > > {SIG_VIRTUALKEYPAD_STATE_OFF, ""}, > > + {SIG_VIRTUALKEYPAD_SIZE_CHANGED, ""}, > > {SIG_CLIPBOARD_STATE_ON, ""}, > > {SIG_CLIPBOARD_STATE_OFF, ""}, > > {NULL, NULL} > > @@ -166,6 +168,8 @@ _conformant_part_sizing_eval(Evas_Object *obj, > > > > if (part_type & ELM_CONFORMANT_VIRTUAL_KEYPAD_PART) > > { > > +Evas_Coord_Rectangle rect; > > + > > #ifdef HAVE_ELEMENTARY_X > > if ((!_conformant_part_geometry_get_from_env > > ("ILLUME_KBD", &sx, &sy, &sw, &sh)) && (xwin)) > > @@ -189,6 +193,9 @@ _conformant_part_sizing_eval(Evas_Object *obj, > > DBG("[KEYPAD]: size(%d,%d, %dx%d).", sx, sy, sw, sh); > > _conformant_part_size_hints_set > >(obj, sd->virtualkeypad, sx, sy, sw, sh); > > + > > +rect.x = sx; rect.y = sy; rect.w = sw; rect.h = sh; > > +evas_object_smart_callback_call(obj, > SIG_VIRTUALKEYPAD_SIZE_CHANGED, > > (void *)&rect); } > > > > if (part_type & ELM_CONFORMANT_SOFTKEY_PART) > > diff --git a/src/lib/elm_conform.h b/src/lib/elm_conform.h > > index a491b95..e1187b5 100644 > > --- a/src/lib/elm_conform.h > > +++ b/src/lib/elm_conform.h > > @@ -28,6 +28,
Re: [E-devel] [EGIT] [core/elementary] master 01/01: elm_conform.c: Added "virtualkeypad, size, changed" smart callback.
On Thu, Oct 31, 2013 at 6:03 PM, ChunEon Park wrote: > Sorry. I don't agree on this change. > > This callback will be called wheneven any keypad state is changed. > regardless of the size changed. > If you meant *keypad state change* by "virtualkeypad,state,on/off", keypad size is changed as well. So it's correct. The new callback covers more use cases than just "virtualkeypad,state,on/off". Application code can be rewritten simpler by the new api than previous one. If there is any cases that "virtualkeypad,size,changed" is called even though keypad size is not changed, please let me know. Thanks in advance. Daniel Juyung Seo (SeoZ) > > > > -Regards, Hermet- > > -Original Message- > From: "Daniel Juyung Seo" > To: ; > Cc: > Sent: 2013-10-30 (수) 16:24:37 > Subject: [EGIT] [core/elementary] master 01/01: elm_conform.c: Added > "virtualkeypad,size,changed" smart callback. > > seoz pushed a commit to branch master. > > > http://git.enlightenment.org/core/elementary.git/commit/?id=cbd7446f0bf413ad821ac40703d2a2ca728758ef > > commit cbd7446f0bf413ad821ac40703d2a2ca728758ef > Author: Daniel Juyung Seo @gmail.com> > Date: Wed Oct 30 16:17:57 2013 +0900 > > elm_conform.c: Added "virtualkeypad,size,changed" smart callback. > > When the virtualkeypad size is changed, applications get the notice. > Applications can do internal object calculation according to the exact > virtualkeypad size. > This is useful when the exact size is important such as webkit usecase. > --- > ChangeLog 4 > NEWS 1 + > src/lib/elm_conform.c 7 +++ > src/lib/elm_conform.h 3 +++ > 4 files changed, 15 insertions(+) > > diff --git a/ChangeLog b/ChangeLog > index fbeecc7..e99d3fd 100644 > --- a/ChangeLog > +++ b/ChangeLog > @@ -1727,3 +1727,7 @@ > 2013-10-30 Amitesh Singh (_ami_) > > * image: Add support for "clicked" callback on > Return/space/KP_Enter key press. > + > +2013-10-30 Daniel Juyung Seo (SeoZ) > + > +* conform: Added "virtualkeypad,size,changed" callback on > virtualkeypad min size change. > diff --git a/NEWS b/NEWS > index 8481107..6876073 100644 > --- a/NEWS > +++ b/NEWS > @@ -101,6 +101,7 @@ Additions: > * Add elm_fileselector_hidden_visible_set/get() to show or hide hidden > files/directories. > * Add signals "spinner,drag,start" and "spinner,drag,stop" to the > spinner widget. > * Add support for "clicked" callback on Return/space/KP_Enter key > press for image. > + * Add "virtualkeypad,size,changed" callback on virtualkeypad min size > change for conformant. > > Improvements: > > diff --git a/src/lib/elm_conform.c b/src/lib/elm_conform.c > index 9636ab8..cb00888 100644 > --- a/src/lib/elm_conform.c > +++ b/src/lib/elm_conform.c > @@ -36,12 +36,14 @@ static const char SOFTKEY_PART[] = > "elm.swallow.softkey"; > > static const char SIG_VIRTUALKEYPAD_STATE_ON[] = "virtualkeypad,state,on"; > static const char SIG_VIRTUALKEYPAD_STATE_OFF[] = > "virtualkeypad,state,off"; > +static const char SIG_VIRTUALKEYPAD_SIZE_CHANGED[] = > "virtualkeypad,size,changed"; > static const char SIG_CLIPBOARD_STATE_ON[] = "clipboard,state,on"; > static const char SIG_CLIPBOARD_STATE_OFF[] = "clipboard,state,off"; > > static const Evas_Smart_Cb_Description _smart_callbacks[] = { > {SIG_VIRTUALKEYPAD_STATE_ON, ""}, > {SIG_VIRTUALKEYPAD_STATE_OFF, ""}, > + {SIG_VIRTUALKEYPAD_SIZE_CHANGED, ""}, > {SIG_CLIPBOARD_STATE_ON, ""}, > {SIG_CLIPBOARD_STATE_OFF, ""}, > {NULL, NULL} > @@ -166,6 +168,8 @@ _conformant_part_sizing_eval(Evas_Object *obj, > > if (part_type & ELM_CONFORMANT_VIRTUAL_KEYPAD_PART) > { > +Evas_Coord_Rectangle rect; > + > #ifdef HAVE_ELEMENTARY_X > if ((!_conformant_part_geometry_get_from_env > ("ILLUME_KBD", &sx, &sy, &sw, &sh)) && (xwin)) > @@ -189,6 +193,9 @@ _conformant_part_sizing_eval(Evas_Object *obj, > DBG("[KEYPAD]: size(%d,%d, %dx%d).", sx, sy, sw, sh); > _conformant_part_size_hints_set >(obj, sd->virtualkeypad, sx, sy, sw, sh); > + > +rect.x = sx; rect.y = sy; rect.w = sw; rect.h = sh; > +evas_object_smart_callback_call(obj, > SIG_VIRTUALKEYPAD_SIZE_CHANGED, (void *)&rect); > } > > if (part_type & ELM_CONFORMANT_SOFTKEY_PART) > diff --git a/src/lib/elm_conform.h b/src/lib/elm_conform.h > index a491b95..e1187b5 100644 > --- a/src/lib/elm_conform.h > +++ b/src/lib/elm_conform.h > @@ -28,6 +28,9 @@ > * (@since 1.8) > * @li "virtualkeypad,state,off": if virtualkeypad state is switched to > "off". > * (@since 1.8) > + * @li "virtualkeypad,size,changed": this is called when virtualkeypad > size is > + * changed. @c event_info parameter is the virtualkeypad size in > + * Evas_Coord_Rectangle structure. (@since 1.8) > * @li "clipboard,state,on": if clipboard state is switched to "on". > * (@since 1.8) > * @li "clipboard,state,off": if clipboard state is sw
Re: [E-devel] [EGIT] [core/elementary] master 01/01: popup: Added support for popup move. elm_popup_move.
On Mon, Nov 4, 2013 at 2:42 PM, ChunEon Park wrote: > Abosulte position for the popup is insane if the parent position is > changed. > And totally popup is depends on the notify, it should follow the notify > concept. > > Agreed. I also suggested to create elm_popup_align_set() instead of this. And he suggested elm_popup_move() to use pixel which I found it useful. Because the author of this commit is away, I will fix it before the today's feature freeze: 1. adding elm_popup_align_set() 2. fixing elm_popup_move() to depend on its parent position. 3. (optional) adding elm_notify_move() to use pixel Thanks. Daniel Juyung Seo (SeoZ) > > > -Regards, Hermet- > > -Original Message- > From: "Daniel Juyung Seo" > To: "Enlightenment developer list"< > enlightenment-devel@lists.sourceforge.net>; > Cc: ; > Sent: 2013-11-04 (월) 14:37:54 > Subject: Re: [E-devel] [EGIT] [core/elementary] master 01/01: popup: Added > support for popup move. elm_popup_move. > > On Mon, Nov 4, 2013 at 2:31 PM, ChunEon Park @naver.com> wrote: > > > Eek! > > > > How about keeping the API name with notify? > > elm_notify_align_set()? > > > > Thanks for the interest and comments but the concept is different from > align_set. > elm_notify_align_set() gets relative position as a parameter but > elm_popup_move() gets absolute pixel information just like elm_menu_move(). > So elm_popup_move() is correct. > > EAPI void elm_notify_align_set(Evas_Object *obj, > double horizontal, double vertical); > EAPI void elm_menu_move(Evas_Object *obj, > Evas_Coord x, Evas_Coord y); > EAPI void elm_popup_move(Evas_Object *obj, Evas_Coord x, Evas_Coord y); > > Thanks. > > Daniel Juyung Seo (SeoZ) > > > > > > > > > -Regards, Hermet- > > > > > > -Original Message- > > From: "Abhinandan Aryadipta"@samsung.com> > > To: @lists.enlightenment.org>; > > Cc: > > Sent: 2013-11-03 (일) 23:29:06 > > Subject: [EGIT] [core/elementary] master 01/01: popup: Added support for > > popup move. elm_popup_move. > > > > seoz pushed a commit to branch master. > > > > > > > http://git.enlightenment.org/core/elementary.git/commit/?id=f67ecb2028dd663aa4b0d9fe78b2a392ac169e7e > > > > commit f67ecb2028dd663aa4b0d9fe78b2a392ac169e7e > > Author: Abhinandan Aryadipta @samsung.com> > > Date: Sun Nov 3 23:01:19 2013 +0900 > > > > popup: Added support for popup move. elm_popup_move. > > > > Summary: Added support for popup move > > > > Test Plan: elm_popup_move > > > > Reviewers: seoz, singh.amitesh, tasn, Hermet > > > > CC: raster > > > > Differential Revision: https://phab.enlightenment.org/D247 > > --- > > ChangeLog4 > > NEWS 1 + > > src/bin/test_popup.c58 > > ++ > > src/lib/elc_popup.c 41 > > src/lib/elc_popup_eo.h 14 +++ > > src/lib/elc_popup_legacy.h 15 > > 6 files changed, 133 insertions(+) > > > > diff --git a/ChangeLog b/ChangeLog > > index 66e4536..434f65f 100644 > > --- a/ChangeLog > > +++ b/ChangeLog > > @@ -1741,3 +1741,7 @@ > > * genlist , gengrid: Add > > ELM_OBJECT_MULTIPLE_SELECT_MODE_WITH_CONTROL. > > It disallow multiple selection when clicked without control > > pressed although > > multiple selection is enabled. > > + > > +2013-10-03 Abhinandan Aryadipta (aryarockstar) > > + > > +* Popup - Added elm_popup_move() api. > > diff --git a/NEWS b/NEWS > > index 4ba58bf..fece1e7 100644 > > --- a/NEWS > > +++ b/NEWS > > @@ -102,6 +102,7 @@ Additions: > > * Add "virtualkeypad,size,changed" callback on virtualkeypad min size > > change for conformant. > > * Add elm_slider_step_get(), elm_slider_step_set() for slider. > > * Add ELM_OBJECT_MULTIPLE_SELECT_MODE_WITH_CONTROL select mode for > > genlist/gengrid. > > + * Add support elm_popup_move() for popup. > > > > Improvements: > > > > diff --git a/src/bin/test_popup.c b/src/bin/test_popup.c > > index fa2d06e..945c3df 100644 > > --- a/src/bin/test_popup.c > > +++ b/src/bin/test_popup.c > > @@ -22,6 +22,35 @@ _popup_close_cb(void *data, Evas_Object *obj > > EINA_UNUSED, > > } > > > > static void > > +_popup_move_cb(void *data, Evas_Object *obj EINA_UNUSED, > > + void *event_info EINA_UNUSED) > > +{ > > + static int k=0; > > + > > + if (k == 0) > > + elm_popup_move(data, -10, 50);//negative x > > + else if (k == 1) > > + elm_popup_move(data, 40, -100);//negative y > > + else if (k == 2) > > + elm_popup_move(data, 0, 0);//zero x zero y > > + else if (k == 3) > > + elm_popup_move(data, 40, 50); > > + else if (k == 4) > > + elm_popup_move(data, 80, 100); > > + else if (k == 5) > > + elm_popup_move(data, 120, 150); > > + else if (k == 6) > > + elm_popup_move(data, 160, 200); > > + else if
Re: [E-devel] admin/devs.git layout changes
On Mon, Nov 4, 2013 at 3:44 PM, Carsten Haitzler wrote: > On Mon, 4 Nov 2013 13:12:13 +0900 (KST) ChunEon Park > said: > > > Thanks you. > > > > But One question. > > Do we need to list up the inactive developers in the website? > > > > It says, category is contact. but they are inactive? > > respect for having contributed in the past. > > Yes they're deserve it. It's credit. I also agree with keeping them listed. Daniel Juyung Seo (SeoZ) > > > > -Regards, Hermet- > > > > -Original Message- > > From: "Tom Hacohen" > > To: "Enlightenment developer > > list"; Cc: > > Sent: 2013-11-02 (토) 00:31:32 > > Subject: Re: [E-devel] admin/devs.git layout changes > > > > On 01/11/13 15:27, Tom Hacohen wrote: > > > On 01/11/13 14:45, Tom Hacohen wrote: > > >> Hey guys, > > >> > > >> As part of the probie access, we are overhauling the admin/devs.git > repo > > >> a bit. > > >> > > >>From now on, instead of having all the devs in dirs on the root of > the > > >> repo, they'll reside in subdirectories according to access groups. > > >> > > >> For now, we have those in mind: > > >> developers/ > > >> probies/ > > >> old/ - for inactive developers (this will let us scrape them for the > > >> website as well). > > >> > > >> So in order to delete developers, "git mv" to old, don't remove. > > >> > > >> Devs in old/ will have 0 access (as if they were deleted). > > >> Devs in developers/ will have full access (like now) > > >> Devs in probies/ will only be able to change their own directory > > >> (info/images/keys) in order to prevent priv escalation. > > >> > > >> We will carry out this change later today. > > > > > > Chris found "old" confusing (he thinks he should be there as well, and > I > > > agree) so I changed "old" to "inactive". > > > > > > Also, we now automatically generate the "inactive developers" section > in: > > > https://enlightenment.org/p.php?p=contact&l=en > > > > > > from that repo. > > > > > > All of those changes haven't been pushed yet, as we still need to > > > rewrite the access script according to the new changes. > > > > Oh, and more info: > > New layout: > > https://git.enlightenment.org/admin/devs.git/tree/?h=devs/tasn/new_devs > > > > www parsing change: > > > https://git.enlightenment.org/website/www.git/commit/?h=devs/tasn/new_devs > > > > Please let me know if you have any comments. > > > > -- > > Tom. > > > > > -- > > Android is increasing in popularity, but the open development platform > that > > developers love is also attractive to malware creators. Download this > white > > paper to learn more about secure code signing practices that can help > keep > > Android apps secure. > > > http://pubads.g.doubleclick.net/gampad/clk?id=65839951&iu=/4140/ostg.clktrk > > ___ > > enlightenment-devel mailing list > > enlightenment-devel@lists.sourceforge.net > > https://lists.sourceforge.net/lists/listinfo/enlightenment-devel > > > > > -- > > Android is increasing in popularity, but the open development platform > that > > developers love is also attractive to malware creators. Download this > white > > paper to learn more about secure code signing practices that can help > keep > > Android apps secure. > > > http://pubads.g.doubleclick.net/gampad/clk?id=65839951&iu=/4140/ostg.clktrk > > ___ > > enlightenment-devel mailing list > > enlightenment-devel@lists.sourceforge.net > > https://lists.sourceforge.net/lists/listinfo/enlightenment-devel > > > -- > - Codito, ergo sum - "I code, therefore I am" -- > The Rasterman (Carsten Haitzler)ras...@rasterman.com > > > > -- > Android is increasing in popularity, but the open development platform that > developers love is also attractive to malware creators. Download this white > paper to learn more about secure code signing practices that can help keep > Android apps secure. > http://pubads.g.doubleclick.net/gampad/clk?id=65839951&iu=/4140/ostg.clktrk > ___ > enlightenment-devel mailing list > enlightenment-devel@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/enlightenment-devel > -- Android is increasing in popularity, but the open development platform that developers love is also attractive to malware creators. Download this white paper to learn more about secure code signing practices that can help keep Android apps secure. http://pubads.g.doubleclick.net/gampad/clk?id=65839951&iu=/4140/ostg.clktrk ___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https:/
[EGIT] [core/efl] master 01/07: evas: force complete items rebuild on evas_object_font_font_set.
cedric pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=2d54ae83bf84854291949b5802f361851fbf5977 commit 2d54ae83bf84854291949b5802f361851fbf5977 Author: Cedric Bail Date: Mon Nov 4 15:28:16 2013 +0900 evas: force complete items rebuild on evas_object_font_font_set. --- src/lib/evas/canvas/evas_object_text.c | 1 + 1 file changed, 1 insertion(+) diff --git a/src/lib/evas/canvas/evas_object_text.c b/src/lib/evas/canvas/evas_object_text.c index dd16e21..d345322 100644 --- a/src/lib/evas/canvas/evas_object_text.c +++ b/src/lib/evas/canvas/evas_object_text.c @@ -488,6 +488,7 @@ _text_font_set(Eo *eo_obj, void *_pd, va_list *list) o->max_ascent = 0; o->max_descent = 0; } + _evas_object_text_items_clear(o); _evas_object_text_recalc(eo_obj, o->cur.text); o->changed = 1; evas_object_change(eo_obj, obj); --
[EGIT] [core/efl] master 05/07: edje: add string "default" to a default description of the part being build.
cedric pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=d9a72ccf8b4f03d78d7d781b031cac6f7c9377d0 commit d9a72ccf8b4f03d78d7d781b031cac6f7c9377d0 Author: Vyacheslav Reutskiy Date: Mon Nov 4 15:41:51 2013 +0900 edje: add string "default" to a default description of the part being build. Fix deffect with a missing tokken 'state' in the first description block when generated by edje_cc (It is perfectly valid to not specify the first description name as it will always be "default"). Reviewers: cedric, seoz Reviewed By: cedric Differential Revision: https://phab.enlightenment.org/D310 Signed-off-by: Cedric Bail --- src/bin/edje/edje_cc_handlers.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/bin/edje/edje_cc_handlers.c b/src/bin/edje/edje_cc_handlers.c index 76cf7e1..88ab25e 100644 --- a/src/bin/edje/edje_cc_handlers.c +++ b/src/bin/edje/edje_cc_handlers.c @@ -5043,6 +5043,7 @@ ob_collections_group_parts_part_description(void) if (!ep->default_desc) { current_desc = ep->default_desc = ed; +ed->state.name = strdup("default"); { /* Get the ptr of the part above current part in hierarchy */ Edje_Part *node = edje_cc_handlers_hierarchy_parent_get(); @@ -5413,6 +5414,7 @@ st_collections_group_parts_part_description_state(void) exit(-1); } + free((void *)ed->state.name); ed->state.name = s; if (get_arg_count() == 1) ed->state.value = 0.0; --
[EGIT] [core/efl] master 02/07: edje: delete unused images from eet(edj) file.
cedric pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=cff3ec04b4d234c8ef59f9d6235e85b725e0bcf3 commit cff3ec04b4d234c8ef59f9d6235e85b725e0bcf3 Author: Vyacheslav Reutskiy Date: Mon Nov 4 15:28:59 2013 +0900 edje: delete unused images from eet(edj) file. Update the data_process_lookups function. Earlier images are not deleted, but his name was removed from the list, and it was possible to access the image by id. Now all unused images are deleted. Reviewers: cedric, seoz Differential Revision: https://phab.enlightenment.org/D309 Signed-off-by: Cedric Bail --- src/bin/edje/edje_cc_out.c | 92 -- 1 file changed, 89 insertions(+), 3 deletions(-) diff --git a/src/bin/edje/edje_cc_out.c b/src/bin/edje/edje_cc_out.c index 8c3e862..1c09c3e 100644 --- a/src/bin/edje/edje_cc_out.c +++ b/src/bin/edje/edje_cc_out.c @@ -175,6 +175,14 @@ struct _Group_Write char *errstr; }; +struct _Image_Unused_Ids +{ + int old_id; + int new_id; +}; + +typedef struct _Image_Unused_Ids Image_Unused_Ids; + static int pending_threads = 0; static void data_process_string(Edje_Part_Collection *pc, const char *prefix, char *s, void (*func)(Edje_Part_Collection *pc, char *name, char* ptr, int len)); @@ -2209,6 +2217,58 @@ data_process_part_set(Part_Lookup *target, int value) } } +static void +_data_image_id_update(Eina_List *images_unused_list) +{ + Image_Unused_Ids *iui; + Edje_Part_Collection *pc; + Edje_Part *part; + Edje_Part_Description_Image *part_desc_image; + Edje_Part_Image_Id *tween_id; + unsigned int i, j, desc_it; + Eina_List *l, *l2, *l3; + +#define PART_DESC_IMAGE_ID_UPDATE \ + EINA_LIST_FOREACH(images_unused_list, l3, iui) \ + { \ +if (part_desc_image->image.id == iui->old_id) \ + { \ + part_desc_image->image.id = iui->new_id; \ + break; \ + } \ + } \ + for (desc_it = 0; desc_it < part_desc_image->image.tweens_count; desc_it++) \ + { \ +tween_id = part_desc_image->image.tweens[desc_it]; \ +EINA_LIST_FOREACH(images_unused_list, l3, iui) \ + { \ + if (tween_id->id == iui->old_id) \ + { \ + tween_id->id = iui->new_id; \ + break; \ + } \ + } \ + } + + EINA_LIST_FOREACH_SAFE(edje_collections, l, l2, pc) + { +for(i = 0; i < pc->parts_count; i++) + { + part = pc->parts[i]; + if (part->type == EDJE_PART_TYPE_IMAGE) + { + part_desc_image = (Edje_Part_Description_Image *)part->default_desc; + PART_DESC_IMAGE_ID_UPDATE + for (j = 0; j < part->other.desc_count; j++) + { +part_desc_image = (Edje_Part_Description_Image *)part->other.desc[j]; +PART_DESC_IMAGE_ID_UPDATE + } + } + } + } +} + void data_process_lookups(void) { @@ -2224,6 +2284,7 @@ data_process_lookups(void) void *data; char *group_name; Eina_Bool is_lua = EINA_FALSE; + Image_Unused_Ids *iui; /* remove all unreferenced Edje_Part_Collection */ EINA_LIST_FOREACH_SAFE(edje_collections, l, l2, pc) @@ -2534,8 +2595,10 @@ free_group: if (edje_file->image_dir && !is_lua) { -Edje_Image_Directory_Entry *de; +Edje_Image_Directory_Entry *de, *de_last, *img; Edje_Image_Directory_Set *set; +Edje_Image_Directory_Set_Entry *set_e; +Eina_List *images_unused_list = NULL; unsigned int i; for (i = 0; i < edje_file->image_dir->entries_count; ++i) @@ -2548,7 +2611,22 @@ free_group: INF("Image '%s' in resource 'edje/image/%i' will not be included as it is unused.", de->entry, de->id); + /* so as not to write the unused images, moved last image in the +list to unused image position and check it */ + free((void *)de->entry); de->entry = NULL; + de_last = edje_file->image_dir->entries + edje_file->image_dir->entries_count - 1; + iui = mem_alloc(SZ(Image_Unused_Ids)); + iui->old_id = de_last->id; + images_unused_list = eina_list_append(images_unused_list, iui); + iui->new_id = i; + de_last->id = i; + memcpy(de, de_last, sizeof (Edje_Image_Directory_Entry)); + --i; /* need to check a moved image on this index */ + edje_file->image_dir->entries_count--; + img = realloc(edje_file->image_dir->entries, + sizeof (Edje_Image_Directory_Entry) * edje_file->image_dir->entries_count); + edje_file->image_dir->entries = img; } for (i = 0; i < edje_file->image_dir->sets_
[EGIT] [core/efl] master 06/07: edje: fix error _edje_part_description_find_byname, use wrong object.
cedric pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=61965279d31b6ea950054148288d16a6345caecf commit 61965279d31b6ea950054148288d16a6345caecf Author: Vyacheslav Reutskiy Date: Mon Nov 4 15:47:47 2013 +0900 edje: fix error _edje_part_description_find_byname, use wrong object. Reviewers: cedric, seoz Reviewed By: cedric Differential Revision: https://phab.enlightenment.org/D314 Signed-off-by: Cedric Bail --- src/lib/edje/edje_edit.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/lib/edje/edje_edit.c b/src/lib/edje/edje_edit.c index cfd97bd..c7997cd 100644 --- a/src/lib/edje/edje_edit.c +++ b/src/lib/edje/edje_edit.c @@ -41,7 +41,7 @@ EAPI Eina_Error EDJE_EDIT_ERROR_GROUP_DOES_NOT_EXIST = 0; Edje *ed; \ if (!eo_isa(obj, EDJE_OBJ_CLASS)) \ return RET; \ - ed = eo_data_scope_get(obj, EDJE_OBJ_CLASS); \ + ed = eo_data_scope_get(obj, EDJE_OBJ_CLASS); /* Get rp(Edje_Real_Part*) from obj(Evas_Object*) and part(char*) */ #define GET_RP_OR_RETURN(RET) \ @@ -263,10 +263,10 @@ _edje_part_description_find_byname(Edje_Edit *eed, const char *part, const char if (!eed || !part || !state) return NULL; - rp = _edje_real_part_get((Edje *)eed, part); + rp = _edje_real_part_get(eed->base, part); if (!rp) return NULL; - pd = _edje_part_description_find((Edje *)eed, rp, state, value); + pd = _edje_part_description_find(eed->base, rp, state, value); return pd; } --
[EGIT] [core/efl] master 04/07: edje: edje_edit api - fixed seg fault in the edje_edit_part_del
cedric pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=c2c416fdf77017f49aa31a9744aeda9b114e7e61 commit c2c416fdf77017f49aa31a9744aeda9b114e7e61 Author: Vyacheslav Reutskiy Date: Mon Nov 4 15:39:44 2013 +0900 edje: edje_edit api - fixed seg fault in the edje_edit_part_del Reviewers: cedric, seoz Reviewed By: cedric Differential Revision: https://phab.enlightenment.org/D315 Signed-off-by: Cedric Bail --- src/lib/edje/edje_edit.c | 16 +--- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/src/lib/edje/edje_edit.c b/src/lib/edje/edje_edit.c index be6972d..cfd97bd 100644 --- a/src/lib/edje/edje_edit.c +++ b/src/lib/edje/edje_edit.c @@ -315,7 +315,7 @@ _edje_real_part_free(Edje *ed, Edje_Real_Part *rp) evas_object_del(rp->object); } - if (rp->typedata.swallow->swallowed_object) + if ((rp->typedata.swallow) && (rp->typedata.swallow->swallowed_object)) { evas_object_smart_member_del(rp->typedata.swallow->swallowed_object); evas_object_event_callback_del(rp->typedata.swallow->swallowed_object, @@ -333,10 +333,10 @@ _edje_real_part_free(Edje *ed, Edje_Real_Part *rp) rp->typedata.swallow->swallowed_object = NULL; } - if (rp->typedata.text->text) eina_stringshare_del(rp->typedata.text->text); - if (rp->typedata.text->font) eina_stringshare_del(rp->typedata.text->font); - if (rp->typedata.text->cache.in_str) eina_stringshare_del(rp->typedata.text->cache.in_str); - if (rp->typedata.text->cache.out_str) eina_stringshare_del(rp->typedata.text->cache.out_str); + if ((rp->typedata.text) && (rp->typedata.text->text)) eina_stringshare_del(rp->typedata.text->text); + if ((rp->typedata.text) && (rp->typedata.text->font)) eina_stringshare_del(rp->typedata.text->font); + if ((rp->typedata.text) && (rp->typedata.text->cache.in_str)) eina_stringshare_del(rp->typedata.text->cache.in_str); + if ((rp->typedata.text) && (rp->typedata.text->cache.out_str)) eina_stringshare_del(rp->typedata.text->cache.out_str); if (rp->custom) { @@ -2092,8 +2092,10 @@ edje_edit_part_del(Evas_Object *obj, const char* part) if (i == id) continue; //don't check the deleted id real = ed->table_parts[i]; - if (real->typedata.text->source == rp) real->typedata.text->source = NULL; - if (real->typedata.text->text_source == rp) real->typedata.text->text_source = NULL; + if ((real->typedata.text) && (real->typedata.text->source == rp)) + real->typedata.text->source = NULL; + if ((real->typedata.text) && (real->typedata.text->text_source == rp)) + real->typedata.text->text_source = NULL; if (real->part->clip_to_id == rp->part->id) { --
[EGIT] [core/efl] master 07/07: AUTHORS: he has been definitively contributing !
cedric pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=058e03aa7401a197d400ee8330bae5d54e8c42db commit 058e03aa7401a197d400ee8330bae5d54e8c42db Author: Cedric Bail Date: Mon Nov 4 15:48:53 2013 +0900 AUTHORS: he has been definitively contributing ! --- AUTHORS | 1 + 1 file changed, 1 insertion(+) diff --git a/AUTHORS b/AUTHORS index 83f7666..a1ffecc 100644 --- a/AUTHORS +++ b/AUTHORS @@ -296,6 +296,7 @@ Bluezery Andrii Kroitor Vorobiov Vitalii m.biliavskyi +Vyacheslav Reutskiy Emotion --- --
[EGIT] [core/efl] master 03/07: eet: Adding EET_DATA_DESCRIPTOR_ADD_MAPPING_BASIC to add a basic type to a union.
cedric pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=6853dbcf23f71038a14fb4e44c0011dbb475821c commit 6853dbcf23f71038a14fb4e44c0011dbb475821c Author: Christophe Sadoine Date: Mon Nov 4 15:33:12 2013 +0900 eet: Adding EET_DATA_DESCRIPTOR_ADD_MAPPING_BASIC to add a basic type to a union. I added EET_DATA_DESCRIPTOR_ADD_MAPPING_BASIC because I need basic types in unions, and EET_DATA_DESCRIPTOR_ADD_MAPPING is only for structs. I also modified the example with a float and a string. Reviewers: cedric Reviewed By: cedric Differential Revision: https://phab.enlightenment.org/D313 Signed-off-by: Cedric Bail --- AUTHORS| 1 + ChangeLog | 4 ++ NEWS | 1 + src/examples/eet/eet-data-file_descriptor_02.c | 98 +- src/lib/eet/Eet.h | 19 + src/lib/eet/eet_data.c | 28 ++-- 6 files changed, 144 insertions(+), 7 deletions(-) diff --git a/AUTHORS b/AUTHORS index b41df9e..83f7666 100644 --- a/AUTHORS +++ b/AUTHORS @@ -68,6 +68,7 @@ Mike Blumenkrantz Lionel Orry Jérôme Pinot Leandro Santiago +Christophe Sadoine Eo -- diff --git a/ChangeLog b/ChangeLog index 4f7ad02..ed9fe9d 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,7 @@ +2013-11-03 Christophe Sadoine + +* Eet: Added EET_DATA_DESCRIPTOR_ADD_MAPPING_BASIC(). + 2013-10-24 Sung W. Park (sung_) * EvasGL: Fixed direct rendering mode not clipping to its clip region. diff --git a/NEWS b/NEWS index 2b4f923..b7e0b8c 100644 --- a/NEWS +++ b/NEWS @@ -47,6 +47,7 @@ Additions: - Add eet_data_descriptor_name_get() - Add support EET_T_VALUE - Add EET_DATA_DESCRIPTOR_ADD_SUB_NESTED() + - Add EET_DATA_DESCRIPTOR_ADD_MAPPING_BASIC() * Eo: - Add generic efl object infrastructure - Add debugging facility diff --git a/src/examples/eet/eet-data-file_descriptor_02.c b/src/examples/eet/eet-data-file_descriptor_02.c index bfd34d1..cba0377 100644 --- a/src/examples/eet/eet-data-file_descriptor_02.c +++ b/src/examples/eet/eet-data-file_descriptor_02.c @@ -23,7 +23,9 @@ enum _Example_Data_Type EET_UNKNOWN = 0, EET_STRUCT1, EET_STRUCT2, - EET_STRUCT3 + EET_STRUCT3, + EET_BASIC_FLOAT, + EET_BASIC_STRING }; struct @@ -34,6 +36,8 @@ struct { EET_STRUCT1, "ST1" }, { EET_STRUCT2, "ST2" }, { EET_STRUCT3, "ST3" }, + { EET_BASIC_FLOAT, "float" }, + { EET_BASIC_STRING, "string" }, { EET_UNKNOWN, NULL } }; @@ -63,6 +67,8 @@ struct _Example_Union Example_Struct1 st1; Example_Struct2 st2; Example_Struct3 st3; + float f; + const char* string; } u; }; @@ -288,6 +294,10 @@ _data_descriptors_init(void) _union_unified_descriptor, "ST2", _struct_2_descriptor); EET_DATA_DESCRIPTOR_ADD_MAPPING( _union_unified_descriptor, "ST3", _struct_3_descriptor); + EET_DATA_DESCRIPTOR_ADD_MAPPING_BASIC( + _union_unified_descriptor, "float", EET_T_FLOAT); + EET_DATA_DESCRIPTOR_ADD_MAPPING_BASIC( + _union_unified_descriptor, "string", EET_T_STRING); EET_DATA_DESCRIPTOR_ADD_UNION( _union_descriptor, Example_Union, "u", u, type, @@ -404,6 +414,40 @@ _union_3_new(const char *v1) return un; } +static Example_Union * +_union_float_new(const char *v1) +{ + Example_Union *un = calloc(1, sizeof(Example_Union)); + if (!un) + { +fprintf( + stderr, "ERROR: could not allocate an Example_Union struct.\n"); +return NULL; + } + + un->type = EET_BASIC_FLOAT; + un->u.f = atof(v1); + + return un; +} + +static Example_Union * +_union_string_new(const char *v1) +{ + Example_Union *un = calloc(1, sizeof(Example_Union)); + if (!un) + { +fprintf( + stderr, "ERROR: could not allocate an Example_Union struct.\n"); +return NULL; + } + + un->type = EET_BASIC_STRING; + un->u.string = v1; + + return un; +} + static Example_Variant * _variant_1_new(const char *v1, const char *v2, @@ -624,6 +668,14 @@ _print_union(const Example_Union *un) printf("\t\t val1: %i\n", un->u.st3.body); break; + case EET_BASIC_FLOAT: +printf("\t\t float: %f\n", un->u.f); +break; + + case EET_BASIC_STRING: +printf("\t\t string: %s\n", un->u.string); +break; + default: return; } @@ -712,7 +764,7 @@ main(int argc, int type = atoi(argv[4]); Example_Union *un; - if (type < EET_STRUCT1 || type > EET_STRUCT3) + if (type < EET_STRUCT1 || type > EET_BASIC_STRING) { fprintf(stderr, "ERROR: invalid type parameter (%s).\n", @@ -786,6 +838,48 @@ main
[E-devel] Elementary QuickLaunch and PIE executables
Hello, TL;DR: I want to get rid of the quicklaunch complex wrapper + lib system and compile apps with -fPIC and link with -pie instead. Little to no changes required in elementary. As was pointed out recentely on this very mailing list, it is possible to make .so files that are runnable. The mail pointed to: http://rachid.koucha.free.fr/tech_corner/executable_lib.html This is IMO a pretty hacky solution (especially the part where we need to point directly to ld-linux-2.so). It's not very portable as it already won't run on x64 (need to change the ld library path). Also, I could not manage to get proper argc, argv in main (only the program name). Instead of that, we can compile apps with -fPIC (or -fpic or -fpie or -fPIE) and link with -pie. This will make linkable executables, instead of executable shared libraries :) Now, as you know, we have this Quicklaunch system that will load a library containing the application's code and run elm_main from there. The associated executable is then just a wrapper linked to that library and that calls elm_quicklaunch_fallback(). I see a few drawbacks to this model: - Compilation requires to take care of Quicklaunch, enabling #define flags as well as adding specific instructions in Makefiles to generate the lib and wrapper. - A program needs to be installed in order to be run by elementary_run (looks into ../lib folder) - There are two files instead of one (lib + wrapper) All of this seems a bit confusing to me, especially considering it is pretty easy to render an executable linkable by dlopen/dlsym, by using -fpie and -pie. I believe we can consider the performance hit minimal in normal use cases. For legacy support, we need to keep some stuff around, but I believe we should get rid of -DELM_LIB_QUICKLAUNCH and advise to compile PIE instead. Should we go as far as adding a #warning if ELM_LIB_QUICKLAUNCH is defined? :) Best regards, -- Jean-Philippe André -- Android is increasing in popularity, but the open development platform that developers love is also attractive to malware creators. Download this white paper to learn more about secure code signing practices that can help keep Android apps secure. http://pubads.g.doubleclick.net/gampad/clk?id=65839951&iu=/4140/ostg.clktrk ___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
Re: [E-devel] admin/devs.git layout changes
On Mon, 4 Nov 2013 13:12:13 +0900 (KST) ChunEon Park said: > Thanks you. > > But One question. > Do we need to list up the inactive developers in the website? > > It says, category is contact. but they are inactive? respect for having contributed in the past. > > -Regards, Hermet- > > -Original Message- > From: "Tom Hacohen" > To: "Enlightenment developer > list"; Cc: > Sent: 2013-11-02 (토) 00:31:32 > Subject: Re: [E-devel] admin/devs.git layout changes > > On 01/11/13 15:27, Tom Hacohen wrote: > > On 01/11/13 14:45, Tom Hacohen wrote: > >> Hey guys, > >> > >> As part of the probie access, we are overhauling the admin/devs.git repo > >> a bit. > >> > >>From now on, instead of having all the devs in dirs on the root of the > >> repo, they'll reside in subdirectories according to access groups. > >> > >> For now, we have those in mind: > >> developers/ > >> probies/ > >> old/ - for inactive developers (this will let us scrape them for the > >> website as well). > >> > >> So in order to delete developers, "git mv" to old, don't remove. > >> > >> Devs in old/ will have 0 access (as if they were deleted). > >> Devs in developers/ will have full access (like now) > >> Devs in probies/ will only be able to change their own directory > >> (info/images/keys) in order to prevent priv escalation. > >> > >> We will carry out this change later today. > > > > Chris found "old" confusing (he thinks he should be there as well, and I > > agree) so I changed "old" to "inactive". > > > > Also, we now automatically generate the "inactive developers" section in: > > https://enlightenment.org/p.php?p=contact&l=en > > > > from that repo. > > > > All of those changes haven't been pushed yet, as we still need to > > rewrite the access script according to the new changes. > > Oh, and more info: > New layout: > https://git.enlightenment.org/admin/devs.git/tree/?h=devs/tasn/new_devs > > www parsing change: > https://git.enlightenment.org/website/www.git/commit/?h=devs/tasn/new_devs > > Please let me know if you have any comments. > > -- > Tom. > > -- > Android is increasing in popularity, but the open development platform that > developers love is also attractive to malware creators. Download this white > paper to learn more about secure code signing practices that can help keep > Android apps secure. > http://pubads.g.doubleclick.net/gampad/clk?id=65839951&iu=/4140/ostg.clktrk > ___ > enlightenment-devel mailing list > enlightenment-devel@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/enlightenment-devel > > -- > Android is increasing in popularity, but the open development platform that > developers love is also attractive to malware creators. Download this white > paper to learn more about secure code signing practices that can help keep > Android apps secure. > http://pubads.g.doubleclick.net/gampad/clk?id=65839951&iu=/4140/ostg.clktrk > ___ > enlightenment-devel mailing list > enlightenment-devel@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/enlightenment-devel -- - Codito, ergo sum - "I code, therefore I am" -- The Rasterman (Carsten Haitzler)ras...@rasterman.com -- Android is increasing in popularity, but the open development platform that developers love is also attractive to malware creators. Download this white paper to learn more about secure code signing practices that can help keep Android apps secure. http://pubads.g.doubleclick.net/gampad/clk?id=65839951&iu=/4140/ostg.clktrk ___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
[EGIT] [core/elementary] master 01/01: Revert "elm_conform.c: Added "virtualkeypad,size,changed" smart callback."
hermet pushed a commit to branch master. http://git.enlightenment.org/core/elementary.git/commit/?id=4f1bffadfa689c83419f7e56c532334fe6996713 commit 4f1bffadfa689c83419f7e56c532334fe6996713 Author: ChunEon Park Date: Mon Nov 4 14:51:06 2013 +0900 Revert "elm_conform.c: Added "virtualkeypad,size,changed" smart callback." This reverts commit cbd7446f0bf413ad821ac40703d2a2ca728758ef. Conflicts: ChangeLog NEWS Please be more considerable to add this feature. The function itself is not logical and we don't think it's proper for the conformant yet. --- ChangeLog | 4 NEWS | 1 - src/lib/elm_conform.c | 7 --- src/lib/elm_conform.h | 3 --- 4 files changed, 15 deletions(-) diff --git a/ChangeLog b/ChangeLog index 9207326..1cede7a 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1728,10 +1728,6 @@ * image: Add support for "clicked" callback on Return/space/KP_Enter key press. -2013-10-30 Daniel Juyung Seo (SeoZ) - -* conform: Added "virtualkeypad,size,changed" callback on virtualkeypad min size change. - 2013-10-30 Shilpa Onkar Singh * slider: Added elm_slider_step_get(), elm_slider_step_set(). diff --git a/NEWS b/NEWS index 2eac992..23d93e3 100644 --- a/NEWS +++ b/NEWS @@ -99,7 +99,6 @@ Additions: * Add elm_fileselector_hidden_visible_set/get() to show or hide hidden files/directories. * Add signals "spinner,drag,start" and "spinner,drag,stop" to the spinner widget. * Add support for "clicked" callback on Return/space/KP_Enter key press for image. - * Add "virtualkeypad,size,changed" callback on virtualkeypad min size change for conformant. * Add elm_slider_step_get(), elm_slider_step_set() for slider. * Add support elm_popup_move() for popup. * Add multi select mode for genlist/gengrid. diff --git a/src/lib/elm_conform.c b/src/lib/elm_conform.c index cb00888..9636ab8 100644 --- a/src/lib/elm_conform.c +++ b/src/lib/elm_conform.c @@ -36,14 +36,12 @@ static const char SOFTKEY_PART[] = "elm.swallow.softkey"; static const char SIG_VIRTUALKEYPAD_STATE_ON[] = "virtualkeypad,state,on"; static const char SIG_VIRTUALKEYPAD_STATE_OFF[] = "virtualkeypad,state,off"; -static const char SIG_VIRTUALKEYPAD_SIZE_CHANGED[] = "virtualkeypad,size,changed"; static const char SIG_CLIPBOARD_STATE_ON[] = "clipboard,state,on"; static const char SIG_CLIPBOARD_STATE_OFF[] = "clipboard,state,off"; static const Evas_Smart_Cb_Description _smart_callbacks[] = { {SIG_VIRTUALKEYPAD_STATE_ON, ""}, {SIG_VIRTUALKEYPAD_STATE_OFF, ""}, - {SIG_VIRTUALKEYPAD_SIZE_CHANGED, ""}, {SIG_CLIPBOARD_STATE_ON, ""}, {SIG_CLIPBOARD_STATE_OFF, ""}, {NULL, NULL} @@ -168,8 +166,6 @@ _conformant_part_sizing_eval(Evas_Object *obj, if (part_type & ELM_CONFORMANT_VIRTUAL_KEYPAD_PART) { -Evas_Coord_Rectangle rect; - #ifdef HAVE_ELEMENTARY_X if ((!_conformant_part_geometry_get_from_env ("ILLUME_KBD", &sx, &sy, &sw, &sh)) && (xwin)) @@ -193,9 +189,6 @@ _conformant_part_sizing_eval(Evas_Object *obj, DBG("[KEYPAD]: size(%d,%d, %dx%d).", sx, sy, sw, sh); _conformant_part_size_hints_set (obj, sd->virtualkeypad, sx, sy, sw, sh); - -rect.x = sx; rect.y = sy; rect.w = sw; rect.h = sh; -evas_object_smart_callback_call(obj, SIG_VIRTUALKEYPAD_SIZE_CHANGED, (void *)&rect); } if (part_type & ELM_CONFORMANT_SOFTKEY_PART) diff --git a/src/lib/elm_conform.h b/src/lib/elm_conform.h index e1187b5..a491b95 100644 --- a/src/lib/elm_conform.h +++ b/src/lib/elm_conform.h @@ -28,9 +28,6 @@ * (@since 1.8) * @li "virtualkeypad,state,off": if virtualkeypad state is switched to "off". * (@since 1.8) - * @li "virtualkeypad,size,changed": this is called when virtualkeypad size is - * changed. @c event_info parameter is the virtualkeypad size in - * Evas_Coord_Rectangle structure. (@since 1.8) * @li "clipboard,state,on": if clipboard state is switched to "on". * (@since 1.8) * @li "clipboard,state,off": if clipboard state is switched to "off". --
Re: [E-devel] [EGIT] [core/elementary] master 01/01: popup: Added support for popup move. elm_popup_move.
Abosulte position for the popup is insane if the parent position is changed. And totally popup is depends on the notify, it should follow the notify concept. -Regards, Hermet- -Original Message- From: "Daniel Juyung Seo" To: "Enlightenment developer list"; Cc: ; Sent: 2013-11-04 (월) 14:37:54 Subject: Re: [E-devel] [EGIT] [core/elementary] master 01/01: popup: Added support for popup move. elm_popup_move. On Mon, Nov 4, 2013 at 2:31 PM, ChunEon Park @naver.com> wrote: > Eek! > > How about keeping the API name with notify? > elm_notify_align_set()? > Thanks for the interest and comments but the concept is different from align_set. elm_notify_align_set() gets relative position as a parameter but elm_popup_move() gets absolute pixel information just like elm_menu_move(). So elm_popup_move() is correct. EAPI void elm_notify_align_set(Evas_Object *obj, double horizontal, double vertical); EAPI void elm_menu_move(Evas_Object *obj, Evas_Coord x, Evas_Coord y); EAPI void elm_popup_move(Evas_Object *obj, Evas_Coord x, Evas_Coord y); Thanks. Daniel Juyung Seo (SeoZ) > > > -Regards, Hermet- > > > -Original Message- > From: "Abhinandan Aryadipta"@samsung.com> > To: @lists.enlightenment.org>; > Cc: > Sent: 2013-11-03 (일) 23:29:06 > Subject: [EGIT] [core/elementary] master 01/01: popup: Added support for > popup move. elm_popup_move. > > seoz pushed a commit to branch master. > > > http://git.enlightenment.org/core/elementary.git/commit/?id=f67ecb2028dd663aa4b0d9fe78b2a392ac169e7e > > commit f67ecb2028dd663aa4b0d9fe78b2a392ac169e7e > Author: Abhinandan Aryadipta @samsung.com> > Date: Sun Nov 3 23:01:19 2013 +0900 > > popup: Added support for popup move. elm_popup_move. > > Summary: Added support for popup move > > Test Plan: elm_popup_move > > Reviewers: seoz, singh.amitesh, tasn, Hermet > > CC: raster > > Differential Revision: https://phab.enlightenment.org/D247 > --- > ChangeLog4 > NEWS 1 + > src/bin/test_popup.c58 > ++ > src/lib/elc_popup.c 41 > src/lib/elc_popup_eo.h 14 +++ > src/lib/elc_popup_legacy.h 15 > 6 files changed, 133 insertions(+) > > diff --git a/ChangeLog b/ChangeLog > index 66e4536..434f65f 100644 > --- a/ChangeLog > +++ b/ChangeLog > @@ -1741,3 +1741,7 @@ > * genlist , gengrid: Add > ELM_OBJECT_MULTIPLE_SELECT_MODE_WITH_CONTROL. > It disallow multiple selection when clicked without control > pressed although > multiple selection is enabled. > + > +2013-10-03 Abhinandan Aryadipta (aryarockstar) > + > +* Popup - Added elm_popup_move() api. > diff --git a/NEWS b/NEWS > index 4ba58bf..fece1e7 100644 > --- a/NEWS > +++ b/NEWS > @@ -102,6 +102,7 @@ Additions: > * Add "virtualkeypad,size,changed" callback on virtualkeypad min size > change for conformant. > * Add elm_slider_step_get(), elm_slider_step_set() for slider. > * Add ELM_OBJECT_MULTIPLE_SELECT_MODE_WITH_CONTROL select mode for > genlist/gengrid. > + * Add support elm_popup_move() for popup. > > Improvements: > > diff --git a/src/bin/test_popup.c b/src/bin/test_popup.c > index fa2d06e..945c3df 100644 > --- a/src/bin/test_popup.c > +++ b/src/bin/test_popup.c > @@ -22,6 +22,35 @@ _popup_close_cb(void *data, Evas_Object *obj > EINA_UNUSED, > } > > static void > +_popup_move_cb(void *data, Evas_Object *obj EINA_UNUSED, > + void *event_info EINA_UNUSED) > +{ > + static int k=0; > + > + if (k == 0) > + elm_popup_move(data, -10, 50);//negative x > + else if (k == 1) > + elm_popup_move(data, 40, -100);//negative y > + else if (k == 2) > + elm_popup_move(data, 0, 0);//zero x zero y > + else if (k == 3) > + elm_popup_move(data, 40, 50); > + else if (k == 4) > + elm_popup_move(data, 80, 100); > + else if (k == 5) > + elm_popup_move(data, 120, 150); > + else if (k == 6) > + elm_popup_move(data, 160, 200); > + else if (k == 7) > + elm_popup_move(data, 500, );//excess y > + else > + elm_popup_move(data, , 500);//excess x > + k++; > + if (k > 8) > + k = 0; > +} > + > +static void > _g_popup_response_cb(void *data, Evas_Object *obj EINA_UNUSED, > void *event_info EINA_UNUSED) > { > @@ -467,6 +496,33 @@ _popup_transparent_cb(void *data, Evas_Object *obj > EINA_UNUSED, > } > > static void > +_popup_transparent_move_cb(void *data, Evas_Object *obj EINA_UNUSED, > + void *event_info EINA_UNUSED) > +{ > + Evas_Object *popup; > + Evas_Object *btn, *btn1; > + > + popup = elm_popup_add(data); > + elm_object_style_set(popup, "transparent"); > + elm_object_text_set(popup, "This Popup has transparent background"); > + > + // popup
Re: [E-devel] [EGIT] [core/elementary] master 01/01: popup: Added support for popup move. elm_popup_move.
align_set is proper for the popup if the popup area is depends on the parent. -Regards, Hermet- -Original Message- From: "Daniel Juyung Seo" To: "Enlightenment developer list"; Cc: ; Sent: 2013-11-04 (월) 14:37:54 Subject: Re: [E-devel] [EGIT] [core/elementary] master 01/01: popup: Added support for popup move. elm_popup_move. On Mon, Nov 4, 2013 at 2:31 PM, ChunEon Park @naver.com> wrote: > Eek! > > How about keeping the API name with notify? > elm_notify_align_set()? > Thanks for the interest and comments but the concept is different from align_set. elm_notify_align_set() gets relative position as a parameter but elm_popup_move() gets absolute pixel information just like elm_menu_move(). So elm_popup_move() is correct. EAPI void elm_notify_align_set(Evas_Object *obj, double horizontal, double vertical); EAPI void elm_menu_move(Evas_Object *obj, Evas_Coord x, Evas_Coord y); EAPI void elm_popup_move(Evas_Object *obj, Evas_Coord x, Evas_Coord y); Thanks. Daniel Juyung Seo (SeoZ) > > > -Regards, Hermet- > > > -Original Message- > From: "Abhinandan Aryadipta"@samsung.com> > To: @lists.enlightenment.org>; > Cc: > Sent: 2013-11-03 (일) 23:29:06 > Subject: [EGIT] [core/elementary] master 01/01: popup: Added support for > popup move. elm_popup_move. > > seoz pushed a commit to branch master. > > > http://git.enlightenment.org/core/elementary.git/commit/?id=f67ecb2028dd663aa4b0d9fe78b2a392ac169e7e > > commit f67ecb2028dd663aa4b0d9fe78b2a392ac169e7e > Author: Abhinandan Aryadipta @samsung.com> > Date: Sun Nov 3 23:01:19 2013 +0900 > > popup: Added support for popup move. elm_popup_move. > > Summary: Added support for popup move > > Test Plan: elm_popup_move > > Reviewers: seoz, singh.amitesh, tasn, Hermet > > CC: raster > > Differential Revision: https://phab.enlightenment.org/D247 > --- > ChangeLog4 > NEWS 1 + > src/bin/test_popup.c58 > ++ > src/lib/elc_popup.c 41 > src/lib/elc_popup_eo.h 14 +++ > src/lib/elc_popup_legacy.h 15 > 6 files changed, 133 insertions(+) > > diff --git a/ChangeLog b/ChangeLog > index 66e4536..434f65f 100644 > --- a/ChangeLog > +++ b/ChangeLog > @@ -1741,3 +1741,7 @@ > * genlist , gengrid: Add > ELM_OBJECT_MULTIPLE_SELECT_MODE_WITH_CONTROL. > It disallow multiple selection when clicked without control > pressed although > multiple selection is enabled. > + > +2013-10-03 Abhinandan Aryadipta (aryarockstar) > + > +* Popup - Added elm_popup_move() api. > diff --git a/NEWS b/NEWS > index 4ba58bf..fece1e7 100644 > --- a/NEWS > +++ b/NEWS > @@ -102,6 +102,7 @@ Additions: > * Add "virtualkeypad,size,changed" callback on virtualkeypad min size > change for conformant. > * Add elm_slider_step_get(), elm_slider_step_set() for slider. > * Add ELM_OBJECT_MULTIPLE_SELECT_MODE_WITH_CONTROL select mode for > genlist/gengrid. > + * Add support elm_popup_move() for popup. > > Improvements: > > diff --git a/src/bin/test_popup.c b/src/bin/test_popup.c > index fa2d06e..945c3df 100644 > --- a/src/bin/test_popup.c > +++ b/src/bin/test_popup.c > @@ -22,6 +22,35 @@ _popup_close_cb(void *data, Evas_Object *obj > EINA_UNUSED, > } > > static void > +_popup_move_cb(void *data, Evas_Object *obj EINA_UNUSED, > + void *event_info EINA_UNUSED) > +{ > + static int k=0; > + > + if (k == 0) > + elm_popup_move(data, -10, 50);//negative x > + else if (k == 1) > + elm_popup_move(data, 40, -100);//negative y > + else if (k == 2) > + elm_popup_move(data, 0, 0);//zero x zero y > + else if (k == 3) > + elm_popup_move(data, 40, 50); > + else if (k == 4) > + elm_popup_move(data, 80, 100); > + else if (k == 5) > + elm_popup_move(data, 120, 150); > + else if (k == 6) > + elm_popup_move(data, 160, 200); > + else if (k == 7) > + elm_popup_move(data, 500, );//excess y > + else > + elm_popup_move(data, , 500);//excess x > + k++; > + if (k > 8) > + k = 0; > +} > + > +static void > _g_popup_response_cb(void *data, Evas_Object *obj EINA_UNUSED, > void *event_info EINA_UNUSED) > { > @@ -467,6 +496,33 @@ _popup_transparent_cb(void *data, Evas_Object *obj > EINA_UNUSED, > } > > static void > +_popup_transparent_move_cb(void *data, Evas_Object *obj EINA_UNUSED, > + void *event_info EINA_UNUSED) > +{ > + Evas_Object *popup; > + Evas_Object *btn, *btn1; > + > + popup = elm_popup_add(data); > + elm_object_style_set(popup, "transparent"); > + elm_object_text_set(popup, "This Popup has transparent background"); > + > + // popup buttons > + btn = elm_button_add(popup); > + elm_object_text_set(btn, "Move
Re: [E-devel] [EGIT] [core/elementary] master 01/01: popup: Added support for popup move. elm_popup_move.
On Mon, Nov 4, 2013 at 2:31 PM, ChunEon Park wrote: > Eek! > > How about keeping the API name with notify? > elm_notify_align_set()? > Thanks for the interest and comments but the concept is different from align_set. elm_notify_align_set() gets relative position as a parameter but elm_popup_move() gets absolute pixel information just like elm_menu_move(). So elm_popup_move() is correct. EAPI void elm_notify_align_set(Evas_Object *obj, double horizontal, double vertical); EAPI void elm_menu_move(Evas_Object *obj, Evas_Coord x, Evas_Coord y); EAPI void elm_popup_move(Evas_Object *obj, Evas_Coord x, Evas_Coord y); Thanks. Daniel Juyung Seo (SeoZ) > > > -Regards, Hermet- > > > -Original Message- > From: "Abhinandan Aryadipta" > To: ; > Cc: > Sent: 2013-11-03 (일) 23:29:06 > Subject: [EGIT] [core/elementary] master 01/01: popup: Added support for > popup move. elm_popup_move. > > seoz pushed a commit to branch master. > > > http://git.enlightenment.org/core/elementary.git/commit/?id=f67ecb2028dd663aa4b0d9fe78b2a392ac169e7e > > commit f67ecb2028dd663aa4b0d9fe78b2a392ac169e7e > Author: Abhinandan Aryadipta @samsung.com> > Date: Sun Nov 3 23:01:19 2013 +0900 > > popup: Added support for popup move. elm_popup_move. > > Summary: Added support for popup move > > Test Plan: elm_popup_move > > Reviewers: seoz, singh.amitesh, tasn, Hermet > > CC: raster > > Differential Revision: https://phab.enlightenment.org/D247 > --- > ChangeLog4 > NEWS 1 + > src/bin/test_popup.c58 > ++ > src/lib/elc_popup.c 41 > src/lib/elc_popup_eo.h 14 +++ > src/lib/elc_popup_legacy.h 15 > 6 files changed, 133 insertions(+) > > diff --git a/ChangeLog b/ChangeLog > index 66e4536..434f65f 100644 > --- a/ChangeLog > +++ b/ChangeLog > @@ -1741,3 +1741,7 @@ > * genlist , gengrid: Add > ELM_OBJECT_MULTIPLE_SELECT_MODE_WITH_CONTROL. > It disallow multiple selection when clicked without control > pressed although > multiple selection is enabled. > + > +2013-10-03 Abhinandan Aryadipta (aryarockstar) > + > +* Popup - Added elm_popup_move() api. > diff --git a/NEWS b/NEWS > index 4ba58bf..fece1e7 100644 > --- a/NEWS > +++ b/NEWS > @@ -102,6 +102,7 @@ Additions: > * Add "virtualkeypad,size,changed" callback on virtualkeypad min size > change for conformant. > * Add elm_slider_step_get(), elm_slider_step_set() for slider. > * Add ELM_OBJECT_MULTIPLE_SELECT_MODE_WITH_CONTROL select mode for > genlist/gengrid. > + * Add support elm_popup_move() for popup. > > Improvements: > > diff --git a/src/bin/test_popup.c b/src/bin/test_popup.c > index fa2d06e..945c3df 100644 > --- a/src/bin/test_popup.c > +++ b/src/bin/test_popup.c > @@ -22,6 +22,35 @@ _popup_close_cb(void *data, Evas_Object *obj > EINA_UNUSED, > } > > static void > +_popup_move_cb(void *data, Evas_Object *obj EINA_UNUSED, > + void *event_info EINA_UNUSED) > +{ > + static int k=0; > + > + if (k == 0) > + elm_popup_move(data, -10, 50);//negative x > + else if (k == 1) > + elm_popup_move(data, 40, -100);//negative y > + else if (k == 2) > + elm_popup_move(data, 0, 0);//zero x zero y > + else if (k == 3) > + elm_popup_move(data, 40, 50); > + else if (k == 4) > + elm_popup_move(data, 80, 100); > + else if (k == 5) > + elm_popup_move(data, 120, 150); > + else if (k == 6) > + elm_popup_move(data, 160, 200); > + else if (k == 7) > + elm_popup_move(data, 500, );//excess y > + else > + elm_popup_move(data, , 500);//excess x > + k++; > + if (k > 8) > + k = 0; > +} > + > +static void > _g_popup_response_cb(void *data, Evas_Object *obj EINA_UNUSED, > void *event_info EINA_UNUSED) > { > @@ -467,6 +496,33 @@ _popup_transparent_cb(void *data, Evas_Object *obj > EINA_UNUSED, > } > > static void > +_popup_transparent_move_cb(void *data, Evas_Object *obj EINA_UNUSED, > + void *event_info EINA_UNUSED) > +{ > + Evas_Object *popup; > + Evas_Object *btn, *btn1; > + > + popup = elm_popup_add(data); > + elm_object_style_set(popup, "transparent"); > + elm_object_text_set(popup, "This Popup has transparent background"); > + > + // popup buttons > + btn = elm_button_add(popup); > + elm_object_text_set(btn, "Move"); > + elm_object_part_content_set(popup, "button1", btn); > + evas_object_smart_callback_add(btn, "clicked", _popup_move_cb, popup); > + > + btn1 = elm_button_add(popup); > + elm_object_text_set(btn1, "Close"); > + elm_object_part_content_set(popup, "button2", btn1); > + evas_object_smart_callback_add(btn1, "clicked", _popup_close_cb, > popup); > + > + // popup show should be called after adding all the contents
Re: [E-devel] [EGIT] [core/elementary] master 01/01: popup: Added support for popup move. elm_popup_move.
Eek! How about keeping the API name with notify? elm_notify_align_set()? -Regards, Hermet- -Original Message- From: "Abhinandan Aryadipta" To: ; Cc: Sent: 2013-11-03 (일) 23:29:06 Subject: [EGIT] [core/elementary] master 01/01: popup: Added support for popup move. elm_popup_move. seoz pushed a commit to branch master. http://git.enlightenment.org/core/elementary.git/commit/?id=f67ecb2028dd663aa4b0d9fe78b2a392ac169e7e commit f67ecb2028dd663aa4b0d9fe78b2a392ac169e7e Author: Abhinandan Aryadipta @samsung.com> Date: Sun Nov 3 23:01:19 2013 +0900 popup: Added support for popup move. elm_popup_move. Summary: Added support for popup move Test Plan: elm_popup_move Reviewers: seoz, singh.amitesh, tasn, Hermet CC: raster Differential Revision: https://phab.enlightenment.org/D247 --- ChangeLog4 NEWS 1 + src/bin/test_popup.c58 ++ src/lib/elc_popup.c 41 src/lib/elc_popup_eo.h 14 +++ src/lib/elc_popup_legacy.h 15 6 files changed, 133 insertions(+) diff --git a/ChangeLog b/ChangeLog index 66e4536..434f65f 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1741,3 +1741,7 @@ * genlist , gengrid: Add ELM_OBJECT_MULTIPLE_SELECT_MODE_WITH_CONTROL. It disallow multiple selection when clicked without control pressed although multiple selection is enabled. + +2013-10-03 Abhinandan Aryadipta (aryarockstar) + +* Popup - Added elm_popup_move() api. diff --git a/NEWS b/NEWS index 4ba58bf..fece1e7 100644 --- a/NEWS +++ b/NEWS @@ -102,6 +102,7 @@ Additions: * Add "virtualkeypad,size,changed" callback on virtualkeypad min size change for conformant. * Add elm_slider_step_get(), elm_slider_step_set() for slider. * Add ELM_OBJECT_MULTIPLE_SELECT_MODE_WITH_CONTROL select mode for genlist/gengrid. + * Add support elm_popup_move() for popup. Improvements: diff --git a/src/bin/test_popup.c b/src/bin/test_popup.c index fa2d06e..945c3df 100644 --- a/src/bin/test_popup.c +++ b/src/bin/test_popup.c @@ -22,6 +22,35 @@ _popup_close_cb(void *data, Evas_Object *obj EINA_UNUSED, } static void +_popup_move_cb(void *data, Evas_Object *obj EINA_UNUSED, + void *event_info EINA_UNUSED) +{ + static int k=0; + + if (k == 0) + elm_popup_move(data, -10, 50);//negative x + else if (k == 1) + elm_popup_move(data, 40, -100);//negative y + else if (k == 2) + elm_popup_move(data, 0, 0);//zero x zero y + else if (k == 3) + elm_popup_move(data, 40, 50); + else if (k == 4) + elm_popup_move(data, 80, 100); + else if (k == 5) + elm_popup_move(data, 120, 150); + else if (k == 6) + elm_popup_move(data, 160, 200); + else if (k == 7) + elm_popup_move(data, 500, );//excess y + else + elm_popup_move(data, , 500);//excess x + k++; + if (k > 8) + k = 0; +} + +static void _g_popup_response_cb(void *data, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED) { @@ -467,6 +496,33 @@ _popup_transparent_cb(void *data, Evas_Object *obj EINA_UNUSED, } static void +_popup_transparent_move_cb(void *data, Evas_Object *obj EINA_UNUSED, + void *event_info EINA_UNUSED) +{ + Evas_Object *popup; + Evas_Object *btn, *btn1; + + popup = elm_popup_add(data); + elm_object_style_set(popup, "transparent"); + elm_object_text_set(popup, "This Popup has transparent background"); + + // popup buttons + btn = elm_button_add(popup); + elm_object_text_set(btn, "Move"); + elm_object_part_content_set(popup, "button1", btn); + evas_object_smart_callback_add(btn, "clicked", _popup_move_cb, popup); + + btn1 = elm_button_add(popup); + elm_object_text_set(btn1, "Close"); + elm_object_part_content_set(popup, "button2", btn1); + evas_object_smart_callback_add(btn1, "clicked", _popup_close_cb, popup); + + // popup show should be called after adding all the contents and the buttons + // of popup to set the focus into popup's contents correctly. + evas_object_show(popup); +} + +static void _list_cb(void *data, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED) { evas_object_del(data); @@ -543,6 +599,8 @@ test_popup(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, _popup_center_text_3button_add_remove_button_cb, win); elm_list_item_append(list, "popup-transparent", NULL, NULL, _popup_transparent_cb, win); + elm_list_item_append(list, "popup-transparent-move", NULL, NULL, +_popup_transparent_move_cb, win); elm_list_item_append(list, "popup-center-title + list content + 1 button", NULL, NULL, _popup_center_title_list_content_1button_cb, win); diff --git a/src
[EGIT] [bindings/python/python-efl] master 01/01: Elementary: Add compatibility methods ObjectItem.data_set/get.
kuuko pushed a commit to branch master. http://git.enlightenment.org/bindings/python/python-efl.git/commit/?id=1ff67d2545265bde72fe60c37df18f3e8ff84e28 commit 1ff67d2545265bde72fe60c37df18f3e8ff84e28 Author: Kai Huuhko Date: Mon Nov 4 07:27:43 2013 +0200 Elementary: Add compatibility methods ObjectItem.data_set/get. They are marked as deprecated. --- efl/elementary/object_item.pyx | 10 ++ 1 file changed, 10 insertions(+) diff --git a/efl/elementary/object_item.pyx b/efl/elementary/object_item.pyx index 308be74..7761922 100644 --- a/efl/elementary/object_item.pyx +++ b/efl/elementary/object_item.pyx @@ -19,6 +19,7 @@ from cpython cimport PyUnicode_AsUTF8String, Py_DECREF, Py_INCREF from efl.eo cimport _object_mapping_register, object_from_instance, PY_REFCOUNT from efl.utils.conversions cimport _ctouni +from efl.utils.deprecated cimport DEPRECATED from efl.evas cimport Object as evasObject include "tooltips.pxi" @@ -137,6 +138,15 @@ cdef class ObjectItem(object): repr(object_from_instance(elm_object_item_widget_get(self.item))) ) +@DEPRECATED("1.8", "Use the data attribute (dict) instead.") +def data_get(self): +return (self.args, self.kwargs) + +@DEPRECATED("1.8", "Use the data attribute (dict) instead.") +def data_set(self, *args, **kwargs): +self.args = args +self.kwargs = kwargs + property widget: """Get the widget object's handle which contains a given item --
[EGIT] [core/elementary] master 01/01: elm_theme: Add API to specify exactly the Eina_File to be used as extension or overlay.
cedric pushed a commit to branch master. http://git.enlightenment.org/core/elementary.git/commit/?id=5c7933b4ad412c318ee789d670868300c75ee6c3 commit 5c7933b4ad412c318ee789d670868300c75ee6c3 Author: Cedric Bail Date: Mon Nov 4 14:26:05 2013 +0900 elm_theme: Add API to specify exactly the Eina_File to be used as extension or overlay. --- src/lib/elm_theme.c | 64 src/lib/elm_theme.h | 70 + 2 files changed, 134 insertions(+) diff --git a/src/lib/elm_theme.c b/src/lib/elm_theme.c index 17e25aa..3bb3858 100644 --- a/src/lib/elm_theme.c +++ b/src/lib/elm_theme.c @@ -114,6 +114,31 @@ _elm_theme_file_item_del(Elm_Theme_Files *files, const char *str) } static void +_elm_theme_file_mmap_del(Elm_Theme_Files *files, const Eina_File *file) +{ + Eina_List *l, *ll; + Eina_List *l2, *ll2; + Eina_File *f; + + l2 = files->items; + EINA_LIST_FOREACH_SAFE(files->handles, l, ll, f) + { +ll2 = l2->next; + +if (f == file) + { + eina_file_close(f); + eina_stringshare_del(eina_list_data_get(l2)); + + files->handles = eina_list_remove_list(files->handles, l); + files->items = eina_list_remove_list(files->items, l2); + } + +l2 = ll2; + } +} + +static void _elm_theme_file_clean(Elm_Theme_Files *files) { const char *item; @@ -533,6 +558,25 @@ elm_theme_overlay_del(Elm_Theme *th, const char *item) elm_theme_flush(th); } +EAPI void +elm_theme_overlay_mmap_add(Elm_Theme *th, const Eina_File *f) +{ + Eina_File *file = eina_file_dup(f); + + if (!th) th = &(theme_default); + _elm_theme_item_finalize(&th->overlay, eina_file_filename_get(file), file); + elm_theme_flush(th); +} + +EAPI void +elm_theme_overlay_mmap_del(Elm_Theme *th, const Eina_File *f) +{ + if (!f) return ; + if (!th) th = &(theme_default); + _elm_theme_file_mmap_del(&th->overlay, f); + elm_theme_flush(th); +} + EAPI const Eina_List * elm_theme_overlay_list_get(const Elm_Theme *th) { @@ -558,6 +602,26 @@ elm_theme_extension_del(Elm_Theme *th, const char *item) elm_theme_flush(th); } +EAPI void +elm_theme_extension_mmap_add(Elm_Theme *th, const Eina_File *f) +{ + Eina_File *file = eina_file_dup(f); + + if (!f) return ; + if (!th) th = &(theme_default); + _elm_theme_item_finalize(&th->overlay, eina_file_filename_get(file), file); + elm_theme_flush(th); +} + +EAPI void +elm_theme_extension_mmap_del(Elm_Theme *th, const Eina_File *f) +{ + if (!f) return ; + if (!th) th = &(theme_default); + _elm_theme_file_mmap_del(&th->extension, f); + elm_theme_flush(th); +} + EAPI const Eina_List * elm_theme_extension_list_get(const Elm_Theme *th) { diff --git a/src/lib/elm_theme.h b/src/lib/elm_theme.h index b4467d9..5aa3b31 100644 --- a/src/lib/elm_theme.h +++ b/src/lib/elm_theme.h @@ -179,6 +179,7 @@ EAPI Elm_Theme *elm_theme_default_get(void); * of trouble. * * @see elm_theme_extension_add() + * @see elm_theme_overlay_mmap_add() * * @ingroup Theme */ @@ -197,6 +198,40 @@ EAPI void elm_theme_overlay_add(Elm_Theme *th, const char *item); EAPI void elm_theme_overlay_del(Elm_Theme *th, const char *item); /** + * Prepends a theme overlay to the list of overlays + * + * @param th The theme to add to, or if NULL, the default theme + * @param f The Edje file handle to be used + * + * Use this if your application needs to provide some custom overlay theme + * (An Edje file that replaces some default styles of widgets) where adding + * new styles, or changing system theme configuration is not possible. Do + * NOT use this instead of a proper system theme configuration. Use proper + * configuration files, profiles, environment variables etc. to set a theme + * so that the theme can be altered by simple configuration by a user. Using + * this call to achieve that effect is abusing the API and will create lots + * of trouble. + * + * @see elm_theme_extension_add() + * @see elm_theme_overlay_add() + * + * @ingroup Theme + */ +EAPI void elm_theme_overlay_mmap_add(Elm_Theme *th, const Eina_File *f); + +/** + * Delete a theme overlay from the list of overlays + * + * @param th The theme to delete from, or if NULL, the default theme + * @param f The file handle of the theme overlay + * + * @see elm_theme_overlay_mmap_add() + * + * @ingroup Theme + */ +EAPI void elm_theme_overlay_mmap_del(Elm_Theme *th, const Eina_File *f); + +/** * Get the list of registered overlays for the given theme * * @param th The theme from which to get the overlays @@ -244,6 +279,41 @@ EAPI void elm_theme_extension_add(Elm_Theme *th, const char *item); EAPI void elm_theme_extension_del(Elm_Theme *th, const char *item); /** + * Appends a theme extension to the list of extensions. + * + * @param th The theme to add to, or if NULL, the default the
[EGIT] [bindings/python/python-efl] master 03/03: Add more commented out options to setup.cfg
kuuko pushed a commit to branch master. http://git.enlightenment.org/bindings/python/python-efl.git/commit/?id=f1a3feadb9ff11b11917dc6565a7116d27c64cb7 commit f1a3feadb9ff11b11917dc6565a7116d27c64cb7 Author: Kai Huuhko Date: Mon Nov 4 07:08:27 2013 +0200 Add more commented out options to setup.cfg --- setup.cfg | 9 - 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/setup.cfg b/setup.cfg index df0260b..58c27ac 100644 --- a/setup.cfg +++ b/setup.cfg @@ -1,6 +1,13 @@ [build_ext] # Uncomment this to disable assertions -#define=PYREX_WITHOUT_ASSERTIONS +#define=CYTHON_WITHOUT_ASSERTIONS +# Debug info +#cython_gdb=1 +# Cython compiler directives +#cython_directives= [build_doc] +# Options for builder: html, latex, texinfo, epub, coverage builder=html +# Outputs txt files with coverage info +#builder=coverage --
[EGIT] [bindings/python/python-efl] master 01/03: Update TODO
kuuko pushed a commit to branch master. http://git.enlightenment.org/bindings/python/python-efl.git/commit/?id=cb1ae5d01af2ac8619ec612646b890b5317aa9e4 commit cb1ae5d01af2ac8619ec612646b890b5317aa9e4 Author: Kai Huuhko Date: Sun Nov 3 11:39:47 2013 +0200 Update TODO --- TODO | 6 +- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/TODO b/TODO index 7c62fca..121b511 100644 --- a/TODO +++ b/TODO @@ -4,6 +4,10 @@ BUGS * Evas: SmartObject doesn't work * EdjeEdit: PartState API does not work +* Edje.External: The unit test fails +* Elm.Configuration: example crashes +* Elm.EdjeExternal: examples don't work properly +* Elm.Map: overlays_show segfaults, scrollers in examples jump when menu opens TODO @@ -27,7 +31,7 @@ TODO Elementary == -* Web needs a test and a lot of work: signals and documentation +* Web needs a lot of work: signals and documentation * Review the new container type object item system. Should the instance methods be classmethods instead? * Drag-n-Drop (in progress/kuuko) --
[EGIT] [bindings/python/python-efl] master 02/03: Elementary: Add Slider example, fixed minor issues in others
kuuko pushed a commit to branch master. http://git.enlightenment.org/bindings/python/python-efl.git/commit/?id=a261a2bb6904e3040e3a222462fc6d07844ec663 commit a261a2bb6904e3040e3a222462fc6d07844ec663 Author: Kai Huuhko Date: Mon Nov 4 07:07:17 2013 +0200 Elementary: Add Slider example, fixed minor issues in others --- examples/elementary/test.py | 24 ++-- examples/elementary/test_ctxpopup.py | 7 +- examples/elementary/test_dnd.py | 48 +++- examples/elementary/test_slider.py | 219 +++ 4 files changed, 281 insertions(+), 17 deletions(-) diff --git a/examples/elementary/test.py b/examples/elementary/test.py index 9b8dda2..821b57f 100755 --- a/examples/elementary/test.py +++ b/examples/elementary/test.py @@ -44,15 +44,15 @@ items = [ ("Evas Map 3D", "test_3d", "evas3d_clicked"), ]), ("Booleans", [ -("Checks", "test_check", "check_clicked"), -# ("Toggles", toggles_clicked),TODO make a toggle with check +("Check", "test_check", "check_clicked"), +#TODO: ("Toggle", "test_check", "toggle_clicked"), ]), ("Boundaries", [ ("Bubble", "test_bubble", "bubble_clicked"), ("Separator", "test_separator", "separator_clicked"), ]), ("Buttons", [ -("Buttons", "test_button", "buttons_clicked"), +("Button", "test_button", "buttons_clicked"), ]), ("Containers", [ ("Box Horiz", "test_box", "box_horiz_clicked"), @@ -74,6 +74,16 @@ items = [ ("Panel", "test_panel", "panel_clicked"), ("Panes", "test_panes", "panes_clicked"), ]), + ("Drag & Drop", [ +("Genlist DnD Default Anim", "test_dnd", "dnd_genlist_default_anim_clicked"), +]), + ("Edje External", [ +("Ext Button", "test_external", "edje_external_button_clicked"), +("Ext ProgressBar", "test_external", "edje_external_pbar_clicked"), +("Ext Scroller", "test_external", "edje_external_scroller_clicked"), +("Ext Slider", "test_external", "edje_external_slider_clicked"), +("Ext Video", "test_external", "edje_external_video_clicked"), +]), ("Effects", [ ("Flip", "test_flip", "flip_clicked"), ("Flip Interactive", "test_flip", "flip_interactive_clicked"), @@ -93,13 +103,6 @@ items = [ ("Entry Anchor", "test_entry", "entry_anchor_clicked"), ("MultiButtonEntry", "test_multibuttonentry", "multibuttonentry_clicked"), ]), - ("Edje External", [ -("Ext Button", "test_external", "edje_external_button_clicked"), -("Ext ProgressBar", "test_external", "edje_external_pbar_clicked"), -("Ext Scroller", "test_external", "edje_external_scroller_clicked"), -("Ext Slider", "test_external", "edje_external_slider_clicked"), -("Ext Video", "test_external", "edje_external_video_clicked"), -]), ("Geographic", [ ("Map", "test_map", "map_clicked"), ("Map Overlay", "test_map2", "map_overlays_clicked"), @@ -152,6 +155,7 @@ items = [ ("Range Values", [ ("Spinner", "test_spinner", "spinner_clicked"), ("Progressbar", "test_progressbar", "progressbar_clicked"), +("Slider", "test_slider", "slider_clicked"), ]), ("Scroller", [ ("Scroller", "test_scroller", "scroller_clicked"), diff --git a/examples/elementary/test_ctxpopup.py b/examples/elementary/test_ctxpopup.py index 6b13b3d..ce1120f 100644 --- a/examples/elementary/test_ctxpopup.py +++ b/examples/elementary/test_ctxpopup.py @@ -1,6 +1,8 @@ #!/usr/bin/env python # encoding: utf-8 +import os + from efl.evas import EVAS_HINT_EXPAND, EVAS_HINT_FILL, FilledImage from efl import elementary from efl.elementary.window import StandardWindow @@ -14,6 +16,9 @@ from efl.elementary.scroller import Scroller EXPAND_BOTH = EVAS_HINT_EXPAND, EVAS_HINT_EXPAND FILL_BOTH = EVAS_HINT_FILL, EVAS_HINT_FILL +script_path = os.path.dirname(os.path.abspath(__file__)) +img_path = os.path.join(script_path, "images") + def cb_items(li, item): print(("ctxpopup item selected: %s" % (item.text))) @@ -29,7 +34,7 @@ def cb_btn(btn): if "img" in cp.data: return img = FilledImage(btn.evas) -img.file_set("images/sky_04.jpg") +img.file_set(os.path.join(img_path, "sky_04.jpg")) img.move(40, 40) img.resize(320, 320) img.show() diff --git a/examples/elementary/test_dnd.py b/examples/elementary/test_dnd.py index 2534fd9..00fd250 100644 --- a/examples/elementary/test_dnd.py +++ b/examples/elementary/test_dnd.py @@ -1,11 +1,16 @@ #!/usr/bin/env python # encoding: utf-8 +import os + from efl.evas import EVAS_HINT_EXPAND, EVAS_HINT_FILL, \ EVAS_ASPECT_CONTROL_VERTICAL, EVAS_CAL
[EGIT] [core/elementary] master 02/02: test_index.c: Internal refactoring. Reduce the window size and do not expand the button.
seoz pushed a commit to branch master. http://git.enlightenment.org/core/elementary.git/commit/?id=0ba4645b0f457de9fc8b7f148ab7c11e56e2310d commit 0ba4645b0f457de9fc8b7f148ab7c11e56e2310d Author: Daniel Juyung Seo Date: Mon Nov 4 13:19:44 2013 +0900 test_index.c: Internal refactoring. Reduce the window size and do not expand the button. Now it looks nicer and still shows the index clipping sample. --- src/bin/test_index.c | 7 ++- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/src/bin/test_index.c b/src/bin/test_index.c index 75bd296..62430a5 100644 --- a/src/bin/test_index.c +++ b/src/bin/test_index.c @@ -187,6 +187,8 @@ test_index(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event_inf win = elm_win_util_standard_add("index", "Index"); elm_win_autodel_set(win, EINA_TRUE); evas_object_event_callback_add(win, EVAS_CALLBACK_FREE, _cleanup_cb, api); + evas_object_resize(win, 320, 270); + evas_object_show(win); bxx = elm_box_add(win); evas_object_size_hint_weight_set(bxx, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); @@ -217,9 +219,6 @@ test_index(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event_inf elm_object_disabled_set(bt, api->state == API_STATE_LAST); evas_object_show(bt); - evas_object_size_hint_weight_set(bt, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - - ck = elm_check_add(win); elm_object_text_set(ck, "Omit mode : "); elm_object_style_set(ck, "toggle"); @@ -260,8 +259,6 @@ test_index(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event_inf evas_object_smart_callback_add(id, "changed", _index_changed_cb, NULL); evas_object_smart_callback_add(id, "selected", _index_selected_cb, NULL); elm_index_level_go(id, 0); - evas_object_resize(win, 320, 480); - evas_object_show(win); } /***/ --
[EGIT] [core/elementary] master 01/02: elm_index.c: Process signal right away when elm_index_item_selected_set() is called. Patch by Moohyun Shin
seoz pushed a commit to branch master. http://git.enlightenment.org/core/elementary.git/commit/?id=6f5e1ac116a8439ab9211d27e5524ebcffccb7c7 commit 6f5e1ac116a8439ab9211d27e5524ebcffccb7c7 Author: Daniel Juyung Seo Date: Mon Nov 4 13:13:23 2013 +0900 elm_index.c: Process signal right away when elm_index_item_selected_set() is called. Patch by Moohyun Shin Reviewer: SeoZ --- src/lib/elm_index.c | 25 ++--- 1 file changed, 18 insertions(+), 7 deletions(-) diff --git a/src/lib/elm_index.c b/src/lib/elm_index.c index 2f1d2df..f48aaa5 100644 --- a/src/lib/elm_index.c +++ b/src/lib/elm_index.c @@ -1209,7 +1209,7 @@ EAPI void elm_index_item_selected_set(Elm_Object_Item *it, Eina_Bool selected) { - Elm_Index_Item *it_sel, *it_last; + Elm_Index_Item *it_sel, *it_last, *it_inactive, *it_active; Evas_Object *obj = WIDGET(it); ELM_INDEX_ITEM_CHECK_OR_RETURN(it); @@ -1227,15 +1227,23 @@ elm_index_item_selected_set(Elm_Object_Item *it, { it_last->selected = EINA_FALSE; if (it_last->head) - edje_object_signal_emit(VIEW(it_last->head), "elm,state,inactive", "elm"); + it_inactive = it_last->head; else - edje_object_signal_emit(VIEW(it_last), "elm,state,inactive", "elm"); + it_inactive = it_last; + + edje_object_signal_emit(VIEW(it_inactive), + "elm,state,inactive", "elm"); + edje_object_message_signal_process(VIEW(it_inactive)); } + it_sel->selected = EINA_TRUE; if (it_sel->head) - edje_object_signal_emit(VIEW(it_sel->head), "elm,state,active", "elm"); + it_active = it_sel->head; else - edje_object_signal_emit(VIEW(it_sel), "elm,state,active", "elm"); + it_active = it_sel; + +edje_object_signal_emit(VIEW(it_active), "elm,state,active", "elm"); +edje_object_message_signal_process(VIEW(it_active)); evas_object_smart_callback_call (obj, SIG_CHANGED, it); @@ -1249,9 +1257,12 @@ elm_index_item_selected_set(Elm_Object_Item *it, { it_sel->selected = EINA_FALSE; if (it_sel->head) - edje_object_signal_emit(VIEW(it_sel->head), "elm,state,inactive", "elm"); + it_inactive = it_sel->head; else - edje_object_signal_emit(VIEW(it_sel), "elm,state,inactive", "elm"); + it_inactive = it_sel; + +edje_object_signal_emit(VIEW(it_inactive), "elm,state,inactive", "elm"); +edje_object_message_signal_process(VIEW(it_inactive)); } } --
Re: [E-devel] admin/devs.git layout changes
Thanks you. But One question. Do we need to list up the inactive developers in the website? It says, category is contact. but they are inactive? -Regards, Hermet- -Original Message- From: "Tom Hacohen" To: "Enlightenment developer list"; Cc: Sent: 2013-11-02 (토) 00:31:32 Subject: Re: [E-devel] admin/devs.git layout changes On 01/11/13 15:27, Tom Hacohen wrote: > On 01/11/13 14:45, Tom Hacohen wrote: >> Hey guys, >> >> As part of the probie access, we are overhauling the admin/devs.git repo >> a bit. >> >>From now on, instead of having all the devs in dirs on the root of the >> repo, they'll reside in subdirectories according to access groups. >> >> For now, we have those in mind: >> developers/ >> probies/ >> old/ - for inactive developers (this will let us scrape them for the >> website as well). >> >> So in order to delete developers, "git mv" to old, don't remove. >> >> Devs in old/ will have 0 access (as if they were deleted). >> Devs in developers/ will have full access (like now) >> Devs in probies/ will only be able to change their own directory >> (info/images/keys) in order to prevent priv escalation. >> >> We will carry out this change later today. > > Chris found "old" confusing (he thinks he should be there as well, and I > agree) so I changed "old" to "inactive". > > Also, we now automatically generate the "inactive developers" section in: > https://enlightenment.org/p.php?p=contact&l=en > > from that repo. > > All of those changes haven't been pushed yet, as we still need to > rewrite the access script according to the new changes. Oh, and more info: New layout: https://git.enlightenment.org/admin/devs.git/tree/?h=devs/tasn/new_devs www parsing change: https://git.enlightenment.org/website/www.git/commit/?h=devs/tasn/new_devs Please let me know if you have any comments. -- Tom. -- Android is increasing in popularity, but the open development platform that developers love is also attractive to malware creators. Download this white paper to learn more about secure code signing practices that can help keep Android apps secure. http://pubads.g.doubleclick.net/gampad/clk?id=65839951&iu=/4140/ostg.clktrk ___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel -- Android is increasing in popularity, but the open development platform that developers love is also attractive to malware creators. Download this white paper to learn more about secure code signing practices that can help keep Android apps secure. http://pubads.g.doubleclick.net/gampad/clk?id=65839951&iu=/4140/ostg.clktrk ___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
[EGIT] [core/efl] master 01/06: Revert "evas - clip shutdown fix to avoid invalid mem accesses"
cedric pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=05e17cb6b61d47897e8f019576cf7891aba97701 commit 05e17cb6b61d47897e8f019576cf7891aba97701 Author: Cedric Bail Date: Mon Nov 4 12:23:25 2013 +0900 Revert "evas - clip shutdown fix to avoid invalid mem accesses" This reverts commit eb6af1f1ff7ee069eff8bab13c0eed5010ef5660. This commit was making the code much more complex than required. Let's make eina_cow_free set the value back to its default. --- src/lib/evas/canvas/evas_clip.c| 20 src/lib/evas/canvas/evas_object_main.c | 25 +++-- 2 files changed, 11 insertions(+), 34 deletions(-) diff --git a/src/lib/evas/canvas/evas_clip.c b/src/lib/evas/canvas/evas_clip.c index 5dfbc48..76cddc0 100644 --- a/src/lib/evas/canvas/evas_clip.c +++ b/src/lib/evas/canvas/evas_clip.c @@ -369,7 +369,6 @@ _clip_unset(Eo *eo_obj, void *_pd, va_list *list EINA_UNUSED) { Evas_Object_Protected_Data *obj = _pd; - if (!obj->cur) return; if (!obj->cur->clipper) return; obj->clip.cache_clipees_answer = eina_list_free(obj->clip.cache_clipees_answer); @@ -387,7 +386,7 @@ _clip_unset(Eo *eo_obj, void *_pd, va_list *list EINA_UNUSED) { EINA_COW_STATE_WRITE_BEGIN(obj->cur->clipper, state_write, cur) { - if (state_write) state_write->have_clipees = 0; + state_write->have_clipees = 0; } EINA_COW_STATE_WRITE_END(obj->cur->clipper, state_write, cur); @@ -418,17 +417,14 @@ _clip_unset(Eo *eo_obj, void *_pd, va_list *list EINA_UNUSED) if ((!obj->is_smart) && (!((obj->map->cur.map) && (obj->map->cur.usemap { -if (obj->cur) - { - if (evas_object_is_in_output_rect(eo_obj, obj, - obj->layer->evas->pointer.x, - obj->layer->evas->pointer.y, 1, 1)) - evas_event_feed_mouse_move(obj->layer->evas->evas, +if (evas_object_is_in_output_rect(eo_obj, obj, obj->layer->evas->pointer.x, - obj->layer->evas->pointer.y, - obj->layer->evas->last_timestamp, - NULL); - } + obj->layer->evas->pointer.y, 1, 1)) + evas_event_feed_mouse_move(obj->layer->evas->evas, + obj->layer->evas->pointer.x, + obj->layer->evas->pointer.y, + obj->layer->evas->last_timestamp, + NULL); } evas_object_clip_across_check(eo_obj, obj); } diff --git a/src/lib/evas/canvas/evas_object_main.c b/src/lib/evas/canvas/evas_object_main.c index c779f2d..27fc7ad 100644 --- a/src/lib/evas/canvas/evas_object_main.c +++ b/src/lib/evas/canvas/evas_object_main.c @@ -141,7 +141,6 @@ void evas_object_free(Evas_Object *eo_obj, int clean_layer) { Evas_Object_Protected_Data *obj = eo_data_scope_get(eo_obj, MY_CLASS); - Evas_Object *eo_obj2; if (!obj) return; obj->clean_layer = clean_layer; @@ -172,21 +171,8 @@ evas_object_free(Evas_Object *eo_obj, int clean_layer) obj->func->free(eo_obj, obj, obj->private_data); } if (!was_smart_child) evas_object_release(eo_obj, obj, obj->clean_layer); - EINA_LIST_FREE(obj->clip.clipees, eo_obj2) - { -Evas_Object_Protected_Data *obj2 = - eo_data_scope_get(eo_obj2, MY_CLASS); -if ((obj2) && (obj2->cur)) - { - EINA_COW_STATE_WRITE_BEGIN(obj2, state_write, cur) - { - state_write->clipper = NULL; - } - EINA_COW_STATE_WRITE_END(obj2, state_write, cur); - } - } -// if (obj->clip.clipees) -// obj->clip.clipees = eina_list_free(obj->clip.clipees); + if (obj->clip.clipees) + eina_list_free(obj->clip.clipees); obj->clip.cache_clipees_answer = eina_list_free(obj->clip.cache_clipees_answer); evas_object_clip_changes_clean(eo_obj); evas_object_event_callback_all_del(eo_obj); @@ -202,17 +188,12 @@ evas_object_free(Evas_Object *eo_obj, int clean_layer) } if (obj->size_hints) { -EVAS_MEMPOOL_FREE(_mp_sh, obj->size_hints); -obj->size_hints = NULL; + EVAS_MEMPOOL_FREE(_mp_sh, obj->size_hints); } eina_cow_free(evas_object_proxy_cow, obj->proxy); eina_cow_free(evas_object_map_cow, obj->map); eina_cow_free(evas_object_state_cow, obj->cur); eina_cow_free(evas_object_state_cow, obj->prev); - obj->cur = NULL; - obj->prev = NULL; - obj->map = NULL; - obj->proxy = NULL; eo_data_unref(eo_obj, obj->private_data); obj->private_data = NULL; eo_manual_free(eo_obj);
[EGIT] [core/efl] master 02/06: eina: make eina_cow_free reset the pointer to the default read only value.
cedric pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=613947ac0df4205e197e0e129ff96f5cb83c707e commit 613947ac0df4205e197e0e129ff96f5cb83c707e Author: Cedric Bail Date: Mon Nov 4 12:45:25 2013 +0900 eina: make eina_cow_free reset the pointer to the default read only value. --- src/lib/eina/eina_cow.c | 26 ++ src/lib/eina/eina_cow.h | 6 +- 2 files changed, 19 insertions(+), 13 deletions(-) diff --git a/src/lib/eina/eina_cow.c b/src/lib/eina/eina_cow.c index 64c1b3f..a2c4e3f 100644 --- a/src/lib/eina/eina_cow.c +++ b/src/lib/eina/eina_cow.c @@ -78,7 +78,7 @@ struct _Eina_Cow_GC #endif Eina_Cow_Ptr *ref; - const void * const *dst; + const void **dst; }; struct _Eina_Cow @@ -228,7 +228,7 @@ _eina_cow_togc_del(Eina_Cow *cow, Eina_Cow_Ptr *ref) static void _eina_cow_togc_add(Eina_Cow *cow, Eina_Cow_Ptr *ref, - const Eina_Cow_Data * const * dst) + const Eina_Cow_Data ** dst) { Eina_Cow_GC *gc; @@ -255,7 +255,7 @@ _eina_cow_togc_add(Eina_Cow *cow, static void _eina_cow_gc(Eina_Cow *cow, Eina_Cow_Ptr *ref, - const Eina_Cow_Data * const *dst, + const Eina_Cow_Data **dst, void *data) { void *match; @@ -270,10 +270,10 @@ _eina_cow_gc(Eina_Cow *cow, Eina_Cow_Ptr *ref, #ifndef NVALGRIND VALGRIND_MAKE_MEM_DEFINED(ref, sizeof (*ref)); #endif -*((void**)dst) = match; ref->refcount++; -eina_cow_free(cow, data); +eina_cow_free(cow, dst); +*dst = match; #ifndef NVALGRIND VALGRIND_MAKE_MEM_NOACCESS(ref, sizeof (*ref)); @@ -413,7 +413,7 @@ eina_cow_alloc(Eina_Cow *cow) } EAPI void -eina_cow_free(Eina_Cow *cow, const Eina_Cow_Data *data) +eina_cow_free(Eina_Cow *cow, const Eina_Cow_Data **data) { Eina_Cow_Ptr *ref; @@ -421,15 +421,17 @@ eina_cow_free(Eina_Cow *cow, const Eina_Cow_Data *data) EINA_COW_MAGIC_CHECK(cow); #endif - if (!data) return; - if (cow->default_value == data) return; + if (!data || !*data) return; + if (cow->default_value == *data) return; - ref = EINA_COW_PTR_GET(data); + ref = EINA_COW_PTR_GET(*data); #ifndef NVALGRIND VALGRIND_MAKE_MEM_DEFINED(ref, sizeof (*ref)); #endif ref->refcount--; + *data = (Eina_Cow_Data*) cow->default_value; + if (ref->refcount > 0) { #ifndef NVALGRIND @@ -441,7 +443,7 @@ eina_cow_free(Eina_Cow *cow, const Eina_Cow_Data *data) #ifdef EINA_COW_MAGIC_ON EINA_MAGIC_SET(ref, EINA_MAGIC_NONE); #endif - _eina_cow_hash_del(cow, data, ref); + _eina_cow_hash_del(cow, *data, ref); _eina_cow_togc_del(cow, ref); eina_mempool_free(cow->pool, (void*) ref); } @@ -558,7 +560,7 @@ eina_cow_done(Eina_Cow *cow, VALGRIND_MAKE_MEM_DEFINED(ref, sizeof (*ref)); #endif - _eina_cow_togc_add(cow, ref, dst); + _eina_cow_togc_add(cow, ref, (const Eina_Cow_Data **) dst); } EAPI void @@ -590,7 +592,7 @@ eina_cow_memcpy(Eina_Cow *cow, #endif } - eina_cow_free(cow, *dst); + eina_cow_free(cow, (const Eina_Cow_Data**) dst); *((const void**)dst) = src; } diff --git a/src/lib/eina/eina_cow.h b/src/lib/eina/eina_cow.h index 875e1fe..10cb34d 100644 --- a/src/lib/eina/eina_cow.h +++ b/src/lib/eina/eina_cow.h @@ -79,8 +79,12 @@ EAPI const Eina_Cow_Data *eina_cow_alloc(Eina_Cow *cow) EINA_WARN_UNUSED_RESULT; /** * @brief Free a pointer from the pool. * @param cow The pool to gave back memory to. + * @param data The data to give back. + * + * @note To simplify the caller code *data will point to the default + * read only state after the call to this function. */ -EAPI void eina_cow_free(Eina_Cow *cow, const Eina_Cow_Data *data); +EAPI void eina_cow_free(Eina_Cow *cow, const Eina_Cow_Data **data); /** * @brief Get a writable pointer from a const pointer. --
[EGIT] [core/efl] master 04/06: eina: update Eina_Cow test to latest API change.
cedric pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=be3afd8f4b778e0b0be9be43265674fe9a1ba847 commit be3afd8f4b778e0b0be9be43265674fe9a1ba847 Author: Cedric Bail Date: Mon Nov 4 12:47:12 2013 +0900 eina: update Eina_Cow test to latest API change. --- src/tests/eina/eina_test_cow.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/tests/eina/eina_test_cow.c b/src/tests/eina/eina_test_cow.c index 7967e0e..a4e1422 100644 --- a/src/tests/eina/eina_test_cow.c +++ b/src/tests/eina/eina_test_cow.c @@ -81,7 +81,7 @@ START_TEST(eina_cow_bad) (void) _eina_test_log; #endif - eina_cow_free(cow, cur); + eina_cow_free(cow, (const Eina_Cow_Data**) &cur); eina_cow_del(cow); } @@ -137,8 +137,8 @@ START_TEST(eina_cow) fail_if(eina_cow_gc(cow) == EINA_FALSE); fail_if(cur != prev); - eina_cow_free(cow, (const Eina_Cow_Data*) cur); - eina_cow_free(cow, (const Eina_Cow_Data*) prev); + eina_cow_free(cow, (const Eina_Cow_Data**) &cur); + eina_cow_free(cow, (const Eina_Cow_Data**) &prev); eina_cow_del(cow); } --
[EGIT] [core/efl] master 05/06: edje: update use of eina_cow_free to latest change.
cedric pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=7e3286b4edbaba81fda348a08fe0e33938fce3e3 commit 7e3286b4edbaba81fda348a08fe0e33938fce3e3 Author: Cedric Bail Date: Mon Nov 4 12:47:34 2013 +0900 edje: update use of eina_cow_free to latest change. --- src/lib/edje/edje_calc.c| 16 src/lib/edje/edje_load.c| 12 ++-- src/lib/edje/edje_program.c | 12 ++-- 3 files changed, 20 insertions(+), 20 deletions(-) diff --git a/src/lib/edje/edje_calc.c b/src/lib/edje/edje_calc.c index 71eb95d..4f02f78 100644 --- a/src/lib/edje/edje_calc.c +++ b/src/lib/edje/edje_calc.c @@ -574,9 +574,9 @@ _edje_part_description_apply(Edje *ed, Edje_Real_Part *ep, const char *d1, doubl if (ep->param2) { free(ep->param2->set); - eina_cow_free(_edje_calc_params_map_cow, ep->param2->p.map); + eina_cow_free(_edje_calc_params_map_cow, (const Eina_Cow_Data **) &ep->param2->p.map); #ifdef HAVE_EPHYSICS - eina_cow_free(_edje_calc_params_physics_cow, ep->param2->p.physics); + eina_cow_free(_edje_calc_params_physics_cow, (const Eina_Cow_Data **) &ep->param2->p.physics); #endif } eina_mempool_free(_edje_real_part_state_mp, ep->param2); @@ -3643,9 +3643,9 @@ _edje_part_recalc(Edje *ed, Edje_Real_Part *ep, int flags, Edje_Calc_Params *sta } #ifndef EDJE_CALC_CACHE -eina_cow_free(_edje_calc_params_map_cow, lp2.map); +eina_cow_free(_edje_calc_params_map_cow, (const Eina_Cow_Data **) &lp2.map); #ifdef HAVE_EPHYSICS -eina_cow_free(_edje_calc_params_physics_cow, lp2.physics); +eina_cow_free(_edje_calc_params_physics_cow, (const Eina_Cow_Data **) &lp2.physics); #endif #endif pf = p3; @@ -3963,10 +3963,10 @@ _edje_part_recalc(Edje *ed, Edje_Real_Part *ep, int flags, Edje_Calc_Params *sta if (pf == &lp3) { -eina_cow_free(_edje_calc_params_map_cow, lp3.map); +eina_cow_free(_edje_calc_params_map_cow, (const Eina_Cow_Data **) &lp3.map); lp3.map = NULL; #ifdef HAVE_EPHYSICS -eina_cow_free(_edje_calc_params_physics_cow, lp3.physics); +eina_cow_free(_edje_calc_params_physics_cow, (const Eina_Cow_Data **) &lp3.physics); lp3.physics = NULL; #endif } @@ -3978,9 +3978,9 @@ _edje_part_recalc(Edje *ed, Edje_Real_Part *ep, int flags, Edje_Calc_Params *sta ep->invalidate = 0; } #else - eina_cow_free(_edje_calc_params_map_cow, lp1.map); + eina_cow_free(_edje_calc_params_map_cow, (const Eina_Cow_Data **) &lp1.map); #ifdef HAVE_EPHYSICS - eina_cow_free(_edje_calc_params_physics_cow, lp1.physics); + eina_cow_free(_edje_calc_params_physics_cow, (const Eina_Cow_Data **) &lp1.physics); #endif #endif } diff --git a/src/lib/edje/edje_load.c b/src/lib/edje/edje_load.c index 546f78e..f50351e 100644 --- a/src/lib/edje/edje_load.c +++ b/src/lib/edje/edje_load.c @@ -1408,9 +1408,9 @@ _edje_file_del(Edje *ed) if (rp->param2) { free(rp->param2->set); - eina_cow_free(_edje_calc_params_map_cow, rp->param2->p.map); + eina_cow_free(_edje_calc_params_map_cow, (const Eina_Cow_Data **) &rp->param2->p.map); #ifdef HAVE_EPHYSICS - eina_cow_free(_edje_calc_params_physics_cow, rp->param2->p.physics); + eina_cow_free(_edje_calc_params_physics_cow, (const Eina_Cow_Data **) &rp->param2->p.physics); #endif } eina_mempool_free(_edje_real_part_state_mp, rp->param2); @@ -1418,17 +1418,17 @@ _edje_file_del(Edje *ed) if (rp->custom) { free(rp->custom->set); - eina_cow_free(_edje_calc_params_map_cow, rp->custom->p.map); + eina_cow_free(_edje_calc_params_map_cow, (const Eina_Cow_Data **) &rp->custom->p.map); #ifdef HAVE_EPHYSICS - eina_cow_free(_edje_calc_params_physics_cow, rp->custom->p.physics); + eina_cow_free(_edje_calc_params_physics_cow, (const Eina_Cow_Data **) &rp->custom->p.physics); #endif } eina_mempool_free(_edje_real_part_state_mp, rp->custom); _edje_unref(ed); - eina_cow_free(_edje_calc_params_map_cow, rp->param1.p.map); + eina_cow_free(_edje_calc_params_map_cow, (const Eina_Cow_Data **) &rp->param1.p.map); #ifdef HAVE_EPHYSICS - eina_cow_free(_edje_calc_params_physics_cow, rp->param1.p.physics); + eina_cow_free(_edje_calc_params_physics_cow, (const Eina_Cow_Data **) &rp->param1.p.physics); #endif eina_mempool_free(_edje_real_part_mp, rp); } diff --git a/src/lib/edje/edje_program.c b/src/lib/edje/edje_program.c index 52335b9..69acfba 100644 --- a/src/lib/edje/edje_program.c +++ b/src/lib/edje/edje_program.c @@ -446,9 +446,9 @@ _edje_pr
[EGIT] [core/efl] master 03/06: eet: shutup a warning and use the right pointer source even if they are the same.
cedric pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=440471e5996fbb3df8b1edd1e285427bd55070c7 commit 440471e5996fbb3df8b1edd1e285427bd55070c7 Author: Cedric Bail Date: Mon Nov 4 12:46:48 2013 +0900 eet: shutup a warning and use the right pointer source even if they are the same. --- src/lib/eet/eet_lib.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/lib/eet/eet_lib.c b/src/lib/eet/eet_lib.c index e32fcc0..3ad0866 100644 --- a/src/lib/eet/eet_lib.c +++ b/src/lib/eet/eet_lib.c @@ -1477,8 +1477,8 @@ eet_mmap(const Eina_File *file) ef->sha1_length = 0; ef->readfp_owned = EINA_TRUE; - ef->data_size = eina_file_size_get(file); - ef->data = eina_file_map_all(file, EINA_FILE_SEQUENTIAL); + ef->data_size = eina_file_size_get(ef->readfp); + ef->data = eina_file_map_all(ef->readfp, EINA_FILE_SEQUENTIAL); if (eet_test_close((ef->data == NULL), ef)) goto on_error; --
[EGIT] [core/efl] master 06/06: evas: update use of eina_cow_free for latest change.
cedric pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=c179335b1f7667016839848d52713d5dfff2a8aa commit c179335b1f7667016839848d52713d5dfff2a8aa Author: Cedric Bail Date: Mon Nov 4 12:47:48 2013 +0900 evas: update use of eina_cow_free for latest change. --- src/lib/evas/canvas/evas_object_image.c | 13 + src/lib/evas/canvas/evas_object_main.c | 8 2 files changed, 9 insertions(+), 12 deletions(-) diff --git a/src/lib/evas/canvas/evas_object_image.c b/src/lib/evas/canvas/evas_object_image.c index 312b5c6..b508074 100644 --- a/src/lib/evas/canvas/evas_object_image.c +++ b/src/lib/evas/canvas/evas_object_image.c @@ -3609,14 +3609,11 @@ _evas_object_image_free(Evas_Object *obj) o = eo_data_scope_get(obj, MY_CLASS); - eina_cow_free(evas_object_image_load_opts_cow, o->load_opts); - o->load_opts = &default_load_opts; - eina_cow_free(evas_object_image_pixels_cow, o->pixels); - o->pixels = &default_pixels; - eina_cow_free(evas_object_image_state_cow, o->cur); - o->cur = &default_state; - eina_cow_free(evas_object_image_state_cow, o->prev); - o->prev = &default_state; + // eina_cow_free reset the pointer to the default read only state + eina_cow_free(evas_object_image_load_opts_cow, (const Eina_Cow_Data**) &o->load_opts); + eina_cow_free(evas_object_image_pixels_cow, (const Eina_Cow_Data**) &o->pixels); + eina_cow_free(evas_object_image_state_cow, (const Eina_Cow_Data**) &o->cur); + eina_cow_free(evas_object_image_state_cow, (const Eina_Cow_Data**) &o->prev); } static void diff --git a/src/lib/evas/canvas/evas_object_main.c b/src/lib/evas/canvas/evas_object_main.c index 27fc7ad..fa294d8 100644 --- a/src/lib/evas/canvas/evas_object_main.c +++ b/src/lib/evas/canvas/evas_object_main.c @@ -190,10 +190,10 @@ evas_object_free(Evas_Object *eo_obj, int clean_layer) { EVAS_MEMPOOL_FREE(_mp_sh, obj->size_hints); } - eina_cow_free(evas_object_proxy_cow, obj->proxy); - eina_cow_free(evas_object_map_cow, obj->map); - eina_cow_free(evas_object_state_cow, obj->cur); - eina_cow_free(evas_object_state_cow, obj->prev); + eina_cow_free(evas_object_proxy_cow, (const Eina_Cow_Data**) &obj->proxy); + eina_cow_free(evas_object_map_cow, (const Eina_Cow_Data**) &obj->map); + eina_cow_free(evas_object_state_cow, (const Eina_Cow_Data**) &obj->cur); + eina_cow_free(evas_object_state_cow, (const Eina_Cow_Data**) &obj->prev); eo_data_unref(eo_obj, obj->private_data); obj->private_data = NULL; eo_manual_free(eo_obj); --
[EGIT] [core/efl] master 03/04: edje: use const Eina_File for mmap_set function.
cedric pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=1c7f60208725a1a04d9970156c2e18dd3072264c commit 1c7f60208725a1a04d9970156c2e18dd3072264c Author: Cedric Bail Date: Mon Nov 4 11:28:29 2013 +0900 edje: use const Eina_File for mmap_set function. --- src/lib/edje/Edje_Common.h | 2 +- src/lib/edje/Edje_Eo.h | 2 +- src/lib/edje/Edje_Legacy.h | 2 +- src/lib/edje/edje_cache.c | 5 ++--- src/lib/edje/edje_load.c| 10 +- src/lib/edje/edje_private.h | 4 ++-- src/lib/edje/edje_smart.c | 2 +- 7 files changed, 13 insertions(+), 14 deletions(-) diff --git a/src/lib/edje/Edje_Common.h b/src/lib/edje/Edje_Common.h index dc5a01d..3d3351a 100644 --- a/src/lib/edje/Edje_Common.h +++ b/src/lib/edje/Edje_Common.h @@ -135,7 +135,7 @@ EAPI void edje_fontset_append_set (const char *fonts); * * Then, edje_file_data_get("test.edj", "key1") will return "value1" */ -EAPI char *edje_mmap_data_get(Eina_File *f, const char *key); +EAPI char *edje_mmap_data_get(const Eina_File *f, const char *key); /** * Get data from the file level data block of an edje file diff --git a/src/lib/edje/Edje_Eo.h b/src/lib/edje/Edje_Eo.h index b892ac6..dfb887e 100644 --- a/src/lib/edje/Edje_Eo.h +++ b/src/lib/edje/Edje_Eo.h @@ -652,7 +652,7 @@ enum * * @see edje_object_file_set */ -#define edje_obj_mmap_set(file, group, ret) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_MMAP_SET), EO_TYPECHECK(Eina_File*, file), EO_TYPECHECK(const char *, group), EO_TYPECHECK(Eina_Bool *, ret) +#define edje_obj_mmap_set(file, group, ret) EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_MMAP_SET), EO_TYPECHECK(const Eina_File*, file), EO_TYPECHECK(const char *, group), EO_TYPECHECK(Eina_Bool *, ret) /** * @def edje_obj_file_get diff --git a/src/lib/edje/Edje_Legacy.h b/src/lib/edje/Edje_Legacy.h index 196e498..9b0ae01 100644 --- a/src/lib/edje/Edje_Legacy.h +++ b/src/lib/edje/Edje_Legacy.h @@ -1806,7 +1806,7 @@ EAPI Eina_Booledje_object_file_set (Evas_Object *obj, const char * @see edje_object_mmap_set() * @since 1.8 */ -EAPI Eina_Bool edje_object_mmap_set(Evas_Object *obj, Eina_File *file, const char *group); +EAPI Eina_Bool edje_object_mmap_set(Evas_Object *obj, const Eina_File *file, const char *group); /** diff --git a/src/lib/edje/edje_cache.c b/src/lib/edje/edje_cache.c index 4a335c4..f2e9b20 100644 --- a/src/lib/edje/edje_cache.c +++ b/src/lib/edje/edje_cache.c @@ -1,6 +1,5 @@ #include "edje_private.h" - static Eina_Hash *_edje_file_hash = NULL; static int _edje_file_cache_size = 16; static Eina_List *_edje_file_cache = NULL; @@ -299,7 +298,7 @@ _edje_file_change(void *data, int ev_type EINA_UNUSED, void *event) #endif static Edje_File * -_edje_file_open(Eina_File *f, const char *coll, int *error_ret, Edje_Part_Collection **edc_ret, time_t mtime) +_edje_file_open(const Eina_File *f, const char *coll, int *error_ret, Edje_Part_Collection **edc_ret, time_t mtime) { Edje_Color_Class *cc; Edje_File *edf; @@ -399,7 +398,7 @@ _edje_file_dangling(Edje_File *edf) #endif Edje_File * -_edje_cache_file_coll_open(Eina_File *file, const char *coll, int *error_ret, Edje_Part_Collection **edc_ret, Edje *ed) +_edje_cache_file_coll_open(const Eina_File *file, const char *coll, int *error_ret, Edje_Part_Collection **edc_ret, Edje *ed) { Edje_File *edf; Eina_List *l, *hist; diff --git a/src/lib/edje/edje_load.c b/src/lib/edje/edje_load.c index d78fa68..546f78e 100644 --- a/src/lib/edje/edje_load.c +++ b/src/lib/edje/edje_load.c @@ -24,7 +24,7 @@ struct _Edje_Drag_Items } page; }; -void _edje_file_add(Edje *ed, Eina_File *f); +void _edje_file_add(Edje *ed, const Eina_File *f); /* START - Nested part support */ #define _edje_smart_nested_type "Evas_Smart_Nested" @@ -83,7 +83,7 @@ edje_object_file_set(Evas_Object *obj, const char *file, const char *group) } EAPI Eina_Bool -edje_object_mmap_set(Evas_Object *obj, Eina_File *file, const char *group) +edje_object_mmap_set(Evas_Object *obj, const Eina_File *file, const char *group) { if (!obj) return EINA_FALSE; Eina_Bool ret = EINA_FALSE; @@ -295,7 +295,7 @@ edje_file_group_exists(const char *file, const char *glob) } EAPI char * -edje_mmap_data_get(Eina_File *f, const char *key) +edje_mmap_data_get(const Eina_File *f, const char *key) { Edje_File *edf; char *str = NULL; @@ -357,7 +357,7 @@ _edje_physics_world_update_cb(void *data, EPhysics_World *world EINA_UNUSED, voi #endif int -_edje_object_file_set_internal(Evas_Object *obj, Eina_File *file, const char *group, const char *parent, Eina_List *group_path, Eina_Array *nested) +_edje_object_file_set_internal(Evas_Object *obj, const Eina_File *file, const char *group, const char *parent, Eina_List *group_path, Eina_Array *nested) { Edje *ed; Evas *tev; @@ -1166,7 +1166,7 @@ on_error: } void -_edje_file_add(Edje *ed, Eina_File *f) +_edje_fil
[EGIT] [core/efl] master 01/04: eina: roll const into Eina_File API.
cedric pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=687e4ae7442e9763e0587553d50a4177d2f9b6ca commit 687e4ae7442e9763e0587553d50a4177d2f9b6ca Author: Cedric Bail Date: Mon Nov 4 11:26:59 2013 +0900 eina: roll const into Eina_File API. Note that eina_file_dup is const from the caller perspective as it will return a fresh "non const" Eina_File that it will be able to manipulate as it like. --- src/lib/eina/eina_file.h| 8 src/lib/eina/eina_file_common.c | 10 ++ 2 files changed, 10 insertions(+), 8 deletions(-) diff --git a/src/lib/eina/eina_file.h b/src/lib/eina/eina_file.h index 8384e2a..fa03316 100644 --- a/src/lib/eina/eina_file.h +++ b/src/lib/eina/eina_file.h @@ -507,7 +507,7 @@ EAPI Eina_Bool eina_file_refresh(Eina_File *file); * * @since 1.8 */ -EAPI Eina_File * eina_file_dup(Eina_File *file); +EAPI Eina_File * eina_file_dup(const Eina_File *file); /** * @brief Unref file handler. @@ -528,7 +528,7 @@ EAPI void eina_file_close(Eina_File *file); * * @since 1.1 */ -EAPI size_t eina_file_size_get(Eina_File *file); +EAPI size_t eina_file_size_get(const Eina_File *file); /** * @brief Get the last modification time of an open file. @@ -538,7 +538,7 @@ EAPI size_t eina_file_size_get(Eina_File *file); * * @since 1.1 */ -EAPI time_t eina_file_mtime_get(Eina_File *file); +EAPI time_t eina_file_mtime_get(const Eina_File *file); /** * @brief Get the filename of an open file. @@ -548,7 +548,7 @@ EAPI time_t eina_file_mtime_get(Eina_File *file); * * @since 1.1 */ -EAPI const char *eina_file_filename_get(Eina_File *file); +EAPI const char *eina_file_filename_get(const Eina_File *file); /** * @brief Get the eXtended attribute of an open file. diff --git a/src/lib/eina/eina_file_common.c b/src/lib/eina/eina_file_common.c index e5b1250..5a0250c 100644 --- a/src/lib/eina/eina_file_common.c +++ b/src/lib/eina/eina_file_common.c @@ -431,8 +431,10 @@ eina_file_virtual(Eina_File *file) } EAPI Eina_File * -eina_file_dup(Eina_File *file) +eina_file_dup(const Eina_File *f) { + Eina_File *file = (Eina_File*) f; + if (file) { eina_lock_take(&file->lock); @@ -464,21 +466,21 @@ eina_file_close(Eina_File *file) } EAPI size_t -eina_file_size_get(Eina_File *file) +eina_file_size_get(const Eina_File *file) { EINA_SAFETY_ON_NULL_RETURN_VAL(file, 0); return file->length; } EAPI time_t -eina_file_mtime_get(Eina_File *file) +eina_file_mtime_get(const Eina_File *file) { EINA_SAFETY_ON_NULL_RETURN_VAL(file, 0); return file->mtime; } EAPI const char * -eina_file_filename_get(Eina_File *file) +eina_file_filename_get(const Eina_File *file) { EINA_SAFETY_ON_NULL_RETURN_VAL(file, NULL); return file->filename; --
[EGIT] [core/efl] master 04/04: eet: let's use const Eina_File here to.
cedric pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=07c306a2724368ab71a046afc754a99826618bad commit 07c306a2724368ab71a046afc754a99826618bad Author: Cedric Bail Date: Mon Nov 4 11:28:56 2013 +0900 eet: let's use const Eina_File here to. --- src/lib/eet/Eet.h | 2 +- src/lib/eet/eet_lib.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/lib/eet/Eet.h b/src/lib/eet/Eet.h index 3aeb520..12e8c98 100644 --- a/src/lib/eet/Eet.h +++ b/src/lib/eet/Eet.h @@ -580,7 +580,7 @@ eet_open(const char *file, * @since 1.8.0 */ EAPI Eet_File * -eet_mmap(Eina_File *file); +eet_mmap(const Eina_File *file); /** * Open an eet file directly from a memory location. The data is not copied, diff --git a/src/lib/eet/eet_lib.c b/src/lib/eet/eet_lib.c index 7fa8ce9..e32fcc0 100644 --- a/src/lib/eet/eet_lib.c +++ b/src/lib/eet/eet_lib.c @@ -1431,7 +1431,7 @@ eet_file_get(Eet_File *ef) } EAPI Eet_File * -eet_mmap(Eina_File *file) +eet_mmap(const Eina_File *file) { Eet_File *ef = NULL; const char *path; --
[EGIT] [core/elementary] master 01/02: elm_image: add mmap_set infrastructure.
cedric pushed a commit to branch master. http://git.enlightenment.org/core/elementary.git/commit/?id=840dcc618ead292414b0de64a7a3ae38d778311f commit 840dcc618ead292414b0de64a7a3ae38d778311f Author: Cedric Bail Date: Mon Nov 4 12:17:42 2013 +0900 elm_image: add mmap_set infrastructure. --- src/lib/elm_image.c| 38 -- src/lib/elm_image_eo.h | 15 +++ src/lib/elm_image_legacy.h | 28 3 files changed, 79 insertions(+), 2 deletions(-) diff --git a/src/lib/elm_image.c b/src/lib/elm_image.c index 676d801..f28d11d 100755 --- a/src/lib/elm_image.c +++ b/src/lib/elm_image.c @@ -191,7 +191,7 @@ _elm_image_internal_sizing_eval(Evas_Object *obj, Elm_Image_Smart_Data *sd) static Eina_Bool _elm_image_edje_file_set(Evas_Object *obj, const char *file, - Eina_File *f, + const Eina_File *f, const char *group) { Evas_Object *pclip; @@ -851,9 +851,24 @@ elm_image_file_set(Evas_Object *obj, return ret; } +EAPI Eina_Bool +elm_image_mmap_set(Evas_Object *obj, + const Eina_File *file, + const char *group) +{ + Eina_Bool ret = EINA_FALSE; + + ELM_IMAGE_CHECK(obj) EINA_FALSE; + EINA_SAFETY_ON_NULL_RETURN_VAL(file, EINA_FALSE); + eo_do(obj, + elm_obj_image_mmap_set(file, group, &ret), + elm_obj_image_sizing_eval()); + return ret; +} + static void _elm_image_smart_internal_file_set(Eo *obj, Elm_Image_Smart_Data *sd, - const char *file, Eina_File *f, const char *key, Eina_Bool *ret) + const char *file, const Eina_File *f, const char *key, Eina_Bool *ret) { if (eina_str_has_extension(file, ".edj")) { @@ -997,6 +1012,23 @@ _elm_image_smart_file_set(Eo *obj, void *_pd, va_list *list) _elm_image_smart_internal_file_set(obj, sd, file, NULL, key, ret); } +static void +_elm_image_smart_mmap_set(Eo *obj, void *_pd, va_list *list) +{ + const Eina_File *f = va_arg(*list, const Eina_File *); + const char *key = va_arg(*list, const char*); + Eina_Bool *ret = va_arg(*list, Eina_Bool *); + + Elm_Image_Smart_Data *sd = _pd; + + if (sd->remote) elm_url_cancel(sd->remote); + sd->remote = NULL; + + _elm_image_smart_internal_file_set(obj, sd, +eina_file_filename_get(f), f, +key, ret); +} + EAPI void elm_image_file_get(const Evas_Object *obj, const char **file, @@ -1720,6 +1752,7 @@ _class_constructor(Eo_Class *klass) EO_OP_FUNC(ELM_OBJ_IMAGE_ID(ELM_OBJ_IMAGE_SUB_ID_LOAD_SIZE_GET), _elm_image_smart_load_size_get), EO_OP_FUNC(ELM_OBJ_IMAGE_ID(ELM_OBJ_IMAGE_SUB_ID_MEMFILE_SET), _elm_image_smart_memfile_set), +EO_OP_FUNC(ELM_OBJ_IMAGE_ID(ELM_OBJ_IMAGE_SUB_ID_MMAP_SET), _elm_image_smart_mmap_set), EO_OP_FUNC(ELM_OBJ_IMAGE_ID(ELM_OBJ_IMAGE_SUB_ID_ORIENT_SET), _elm_image_smart_orient_set), EO_OP_FUNC(ELM_OBJ_IMAGE_ID(ELM_OBJ_IMAGE_SUB_ID_ORIENT_GET), _elm_image_smart_orient_get), @@ -1788,6 +1821,7 @@ static const Eo_Op_Description op_desc[] = { EO_OP_DESCRIPTION(ELM_OBJ_IMAGE_SUB_ID_LOAD_SIZE_GET, "'Virtual' function on retrieving the object's image loading size."), EO_OP_DESCRIPTION(ELM_OBJ_IMAGE_SUB_ID_MEMFILE_SET, "Set a location in memory to be used as an image object's source bitmap."), + EO_OP_DESCRIPTION(ELM_OBJ_IMAGE_SUB_ID_MMAP_SET, "Set an Eina_File to be used as an image object's source bitmap."), EO_OP_DESCRIPTION(ELM_OBJ_IMAGE_SUB_ID_ORIENT_SET, "Set the image orientation."), EO_OP_DESCRIPTION(ELM_OBJ_IMAGE_SUB_ID_ORIENT_GET, "Get the image orientation."), diff --git a/src/lib/elm_image_eo.h b/src/lib/elm_image_eo.h index d34f320..f65812f 100644 --- a/src/lib/elm_image_eo.h +++ b/src/lib/elm_image_eo.h @@ -37,6 +37,7 @@ enum ELM_OBJ_IMAGE_SUB_ID_LOAD_SIZE_GET, ELM_OBJ_IMAGE_SUB_ID_MEMFILE_SET, + ELM_OBJ_IMAGE_SUB_ID_MMAP_SET, ELM_OBJ_IMAGE_SUB_ID_ORIENT_SET, ELM_OBJ_IMAGE_SUB_ID_ORIENT_GET, @@ -108,6 +109,20 @@ enum #define elm_obj_image_file_set(file, group, ret) ELM_OBJ_IMAGE_ID(ELM_OBJ_IMAGE_SUB_ID_FILE_SET), EO_TYPECHECK(const char *, file), EO_TYPECHECK(const char *, group), EO_TYPECHECK(Eina_Bool *, ret) /** + * @def elm_obj_image_mmap_set + * @since 1.8 + * + * Set the file that will be used as the image's source. + * + * @param[in] file + * @param[in] group + * @param[out] ret + * + * @see elm_image_mmap_set + */ +#define elm_obj_image_mmap_set(file, group, ret) ELM_OBJ_IMAGE_ID(ELM_OBJ_IMAGE_SUB_ID_MMAP_SET), EO_TYPECHECK(const Eina_File *, file), EO_TYPECHECK(const char *, group), EO_TYPECHECK(Eina_Bool *, ret) + +/** * @def elm_obj_image_file_get * @since 1.8 * diff --git a/src/lib/elm_image_legacy.h b/src/lib/elm_image_legacy.h index 04bdc8e..f869278 10
[EGIT] [core/efl] master 02/04: evas: make mmap_set use const Eina_File.
cedric pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=f4ae52ea67b9c7885bc2911ae97d4d81e00dd70d commit f4ae52ea67b9c7885bc2911ae97d4d81e00dd70d Author: Cedric Bail Date: Mon Nov 4 11:27:59 2013 +0900 evas: make mmap_set use const Eina_File. --- src/lib/evas/Evas_Eo.h | 2 +- src/lib/evas/Evas_Legacy.h | 2 +- src/lib/evas/canvas/evas_object_image.c | 6 +++--- src/lib/evas/canvas/evas_object_text.c | 2 +- 4 files changed, 6 insertions(+), 6 deletions(-) diff --git a/src/lib/evas/Evas_Eo.h b/src/lib/evas/Evas_Eo.h index 256cfc9..717d434 100644 --- a/src/lib/evas/Evas_Eo.h +++ b/src/lib/evas/Evas_Eo.h @@ -5668,7 +5668,7 @@ enum * * @see evas_obj_image_file_set */ -#define evas_obj_image_mmap_set(f, key) EVAS_OBJ_IMAGE_ID(EVAS_OBJ_IMAGE_SUB_ID_MMAP_SET), EO_TYPECHECK(Eina_File *, f), EO_TYPECHECK(const char*, key) +#define evas_obj_image_mmap_set(f, key) EVAS_OBJ_IMAGE_ID(EVAS_OBJ_IMAGE_SUB_ID_MMAP_SET), EO_TYPECHECK(const Eina_File *, f), EO_TYPECHECK(const char*, key) /** * @def evas_obj_image_file_get diff --git a/src/lib/evas/Evas_Legacy.h b/src/lib/evas/Evas_Legacy.h index 8b362be..e2dbf0e 100644 --- a/src/lib/evas/Evas_Legacy.h +++ b/src/lib/evas/Evas_Legacy.h @@ -3982,7 +3982,7 @@ EAPI void evas_object_image_file_set(Evas_Object *obj, * * @since 1.8 */ -EAPI void evas_object_image_mmap_set(Evas_Object *eo_obj, Eina_File *f, const char *key); +EAPI void evas_object_image_mmap_set(Evas_Object *eo_obj, const Eina_File *f, const char *key); /** * Retrieve the source file from where an image object is to fetch the diff --git a/src/lib/evas/canvas/evas_object_image.c b/src/lib/evas/canvas/evas_object_image.c index af42860..312b5c6 100644 --- a/src/lib/evas/canvas/evas_object_image.c +++ b/src/lib/evas/canvas/evas_object_image.c @@ -397,7 +397,7 @@ evas_object_image_memfile_set(Evas_Object *eo_obj, void *data, int size, char *f } static void -_image_init_set(Eina_File *f, const char *file, const char *key, +_image_init_set(const Eina_File *f, const char *file, const char *key, Eo *eo_obj, Evas_Object_Protected_Data *obj, Evas_Object_Image *o, Evas_Image_Load_Opts *lo) { @@ -523,7 +523,7 @@ _image_done_set(Eo *eo_obj, Evas_Object_Protected_Data *obj, Evas_Object_Image * } EAPI void -evas_object_image_mmap_set(Evas_Object *eo_obj, Eina_File *f, const char *key) +evas_object_image_mmap_set(Evas_Object *eo_obj, const Eina_File *f, const char *key) { eo_do(eo_obj, evas_obj_image_mmap_set(f, key)); } @@ -535,7 +535,7 @@ _image_mmap_set(Eo *eo_obj, void *_pd, va_list *list) Evas_Object_Image *o = _pd; Evas_Image_Load_Opts lo; - Eina_File *f = va_arg(*list, Eina_File *); + const Eina_File *f = va_arg(*list, const Eina_File *); const char *key = va_arg(*list, const char*); if (o->cur->u.f == f) diff --git a/src/lib/evas/canvas/evas_object_text.c b/src/lib/evas/canvas/evas_object_text.c index b61e7d0..dd16e21 100644 --- a/src/lib/evas/canvas/evas_object_text.c +++ b/src/lib/evas/canvas/evas_object_text.c @@ -171,7 +171,7 @@ _evas_object_text_item_del(Evas_Object_Text *o, Evas_Object_Text_Item *it) if ((EINA_INLIST_GET(it)->next) || (EINA_INLIST_GET(it)->prev) || - (o->items == (EINA_INLIST_GET(it + (EINA_INLIST_GET(o->items) == (EINA_INLIST_GET(it o->items = (Evas_Object_Text_Item *)eina_inlist_remove (EINA_INLIST_GET(o->items), EINA_INLIST_GET(it)); _evas_object_text_item_clean(it); --
[EGIT] [core/elementary] master 02/02: elm_theme: use Eina_File all over the place in an attempt to reduce race condition.
cedric pushed a commit to branch master. http://git.enlightenment.org/core/elementary.git/commit/?id=c33df0526b50404b91e3e241b84a4fa8d1ac780b commit c33df0526b50404b91e3e241b84a4fa8d1ac780b Author: Cedric Bail Date: Mon Nov 4 12:17:58 2013 +0900 elm_theme: use Eina_File all over the place in an attempt to reduce race condition. --- src/lib/elm_priv.h | 18 ++- src/lib/elm_theme.c | 434 ++-- 2 files changed, 233 insertions(+), 219 deletions(-) diff --git a/src/lib/elm_priv.h b/src/lib/elm_priv.h index e6f91cc..fc1c063 100644 --- a/src/lib/elm_priv.h +++ b/src/lib/elm_priv.h @@ -75,6 +75,7 @@ #endif #define N_(string) (string) +typedef struct _Elm_Theme_Files Elm_Theme_Files; typedef struct _Edje_Signal_Data Edje_Signal_Data; typedef struct _Elm_Config Elm_Config; typedef struct _Elm_Module Elm_Module; @@ -89,11 +90,22 @@ struct _Edje_Signal_Data void *data; }; +struct _Elm_Theme_Files +{ + /* +* We are conserving a list of path even if that's duplicated +* because we expose those directly to the outside world :'( +*/ + Eina_List *items; + Eina_List *handles; +}; + struct _Elm_Theme { - Eina_List *overlay; - Eina_List *themes; - Eina_List *extension; + Elm_Theme_Files overlay; + Elm_Theme_Files themes; + Elm_Theme_Files extension; + Eina_Hash *cache; Eina_Hash *cache_data; Elm_Theme *ref_theme; diff --git a/src/lib/elm_theme.c b/src/lib/elm_theme.c index 65f09d1..17e25aa 100644 --- a/src/lib/elm_theme.c +++ b/src/lib/elm_theme.c @@ -8,101 +8,163 @@ static Elm_Theme theme_default = { - NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 1 + { NULL, NULL }, { NULL, NULL }, { NULL, NULL }, + NULL, NULL, NULL, NULL, NULL, 1 }; static Eina_List *themes = NULL; +static Eina_File * +_elm_theme_find_try(Elm_Theme *th, Eina_File *f, const char *group) +{ + if (edje_mmap_group_exists(f, group)) + { +eina_hash_add(th->cache, group, eina_file_dup(f)); +return f; + } + return NULL; +} + +static inline void +_elm_theme_item_finalize(Elm_Theme_Files *files, + const char *item, + Eina_File *f) +{ + if (!f) return ; + + files->items = eina_list_append(files->items, + eina_stringshare_add(item)); + files->handles = eina_list_append(files->handles, f); +} + static void -_elm_theme_clear(Elm_Theme *th) +_elm_theme_file_item_add(Elm_Theme_Files *files, const char *item) { - const char *p; - EINA_LIST_FREE(th->themes, p) - eina_stringshare_del(p); - EINA_LIST_FREE(th->overlay, p) - eina_stringshare_del(p); - EINA_LIST_FREE(th->extension, p) - eina_stringshare_del(p); + Eina_Strbuf *buf = NULL; + Eina_File *f = NULL; + const char *home; - ELM_SAFE_FREE(th->cache, eina_hash_free); - ELM_SAFE_FREE(th->cache_data, eina_hash_free); - ELM_SAFE_FREE(th->theme, eina_stringshare_del); - if (th->ref_theme) + home = getenv("HOME") ? getenv("HOME") : ""; + buf = eina_strbuf_new(); + + if ((item[0] == '/') || + ((item[0] == '.') && (item[1] == '/')) || + ((item[0] == '.') && (item[1] == '.') && (item[2] == '/')) || + ((isalpha(item[0])) && (item[1] == ':'))) { -th->ref_theme->referrers = - eina_list_remove(th->ref_theme->referrers, th); -elm_theme_free(th->ref_theme); -th->ref_theme = NULL; +f = eina_file_open(item, EINA_FALSE); +if (!f) goto on_error; + } + else if (((item[0] == '~') && (item[1] == '/'))) + { +eina_strbuf_append_printf(buf, "%s/%s", home, item + 2); + +f = eina_file_open(eina_strbuf_string_get(buf), EINA_FALSE); +if (!f) goto on_error; + } + else + { +eina_strbuf_append_printf(buf, + "%s/"ELEMENTARY_BASE_DIR"/themes/%s.edj", + home, item); +f = eina_file_open(eina_strbuf_string_get(buf), EINA_FALSE); +_elm_theme_item_finalize(files, item, f); + +eina_strbuf_reset(buf); +eina_strbuf_append_printf(buf, + "%s/themes/%s.edj", + _elm_data_dir, item); +f = eina_file_open(eina_strbuf_string_get(buf), EINA_FALSE); +/* Finalize will be done by the common one */ } + + _elm_theme_item_finalize(files, item, f); + + on_error: + if (buf) eina_strbuf_free(buf); } -static const char * -_elm_theme_find_try(Elm_Theme *th, const char *f, const char *group) +static void +_elm_theme_file_item_del(Elm_Theme_Files *files, const char *str) { - const char *file; + Eina_List *l, *ll; + Eina_List *l2, *ll2; + const char *item; + + str = eina_stringshare_add(str); + l2 = files->handles; - if (edje_file_group_exists(f, group)) + EINA_LIST_FOREACH_SAFE(files->items, l, ll, i
[EGIT] [core/efl] master 01/01: evas/x11: Fix Xlib swapper buffer size
jpeg pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=a3eb8d2e9d42a83c633d19196d28f3c621522dc5 commit a3eb8d2e9d42a83c633d19196d28f3c621522dc5 Author: Jean-Philippe Andre Date: Fri Nov 1 14:44:07 2013 +0900 evas/x11: Fix Xlib swapper buffer size Problem: Software engine fails to render on Tizen device. --- src/modules/evas/engines/software_x11/evas_xlib_swapper.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/modules/evas/engines/software_x11/evas_xlib_swapper.c b/src/modules/evas/engines/software_x11/evas_xlib_swapper.c index 705f077..81383eb 100644 --- a/src/modules/evas/engines/software_x11/evas_xlib_swapper.c +++ b/src/modules/evas/engines/software_x11/evas_xlib_swapper.c @@ -698,6 +698,8 @@ evas_xlib_swapper_buffer_map(X_Swapper *swp, int *bpl, int *w, int *h) if ((swp->buf) && (swp->buf->pitch > 0)) *bpl = swp->buf->pitch; else *bpl = swp->w * 4; } +if (w) *w = swp->w; +if (h) *h = swp->h; return swp->buf_data; } swp->buf = sym_DRI2GetBuffers(swp->disp, swp->draw, --
[EGIT] [enlightenment/modules/packagekit] master 01/01: Query the PackageKit daemon version and defer the first method call after the version is fetched
davemds pushed a commit to branch master. http://git.enlightenment.org/enlightenment/modules/packagekit.git/commit/?id=a9db2f4c85bdfd84fde88ac011b04fd262836643 commit a9db2f4c85bdfd84fde88ac011b04fd262836643 Author: davemds Date: Mon Nov 4 00:26:12 2013 +0100 Query the PackageKit daemon version and defer the first method call after the version is fetched Atm the module do not work with packagekit version prior to 0.8 this way I can implement different path for different versions. --- src/e_mod_main.c | 11 +++ src/e_mod_packagekit.c | 43 +++ src/e_mod_packagekit.h | 3 +++ 3 files changed, 49 insertions(+), 8 deletions(-) diff --git a/src/e_mod_main.c b/src/e_mod_main.c index 596cf07..2fa 100644 --- a/src/e_mod_main.c +++ b/src/e_mod_main.c @@ -278,6 +278,7 @@ e_modapi_init(E_Module *m) ctxt = E_NEW(E_PackageKit_Module_Context, 1); EINA_SAFETY_ON_NULL_RETURN_VAL(ctxt, NULL); + ctxt->v_maj = ctxt->v_min = ctxt->v_mic = -1; snprintf(buf, sizeof(buf), "%s/locale", e_module_dir_get(m)); bindtextdomain(PACKAGE, buf); @@ -295,17 +296,11 @@ e_modapi_init(E_Module *m) if (!ctxt->config) ctxt->config = E_NEW(PackageKit_Config, 1); - ctxt->module = m; packagekit_mod = m; e_gadcon_provider_register(&_gc_class); - - if (packagekit_dbus_connect(ctxt)) - { -packagekit_create_transaction_and_exec(ctxt, packagekit_get_updates); -ctxt->refresh_timer = ecore_timer_add(60.0, _timer_cb, ctxt); - } - + packagekit_dbus_connect(ctxt); + ctxt->refresh_timer = ecore_timer_add(60.0, _timer_cb, ctxt); return ctxt; } diff --git a/src/e_mod_packagekit.c b/src/e_mod_packagekit.c index ad9c677..973afbc 100644 --- a/src/e_mod_packagekit.c +++ b/src/e_mod_packagekit.c @@ -284,6 +284,7 @@ _signal_finished_cb(void *data, const Eldbus_Message *msg) Eldbus_Object *obj = eldbus_proxy_object_get(ctxt->transaction); E_FREE_FUNC(ctxt->transaction, eldbus_proxy_unref); E_FREE_FUNC(obj, eldbus_object_unref); + E_FREE_FUNC(ctxt->error, eina_stringshare_del); EINA_LIST_FOREACH(ctxt->packages, l, pkg) { @@ -367,6 +368,10 @@ packagekit_create_transaction_and_exec(E_PackageKit_Module_Context *ctxt, { Eldbus_Pending *pending; + DBG("*"); + DBG("PKGKIT Version: %d . %d . %d", ctxt->v_maj, ctxt->v_min, ctxt->v_mic); + DBG("*"); + if (ctxt->transaction) { WRN("PKGKIT: Another transaction in progress..."); @@ -394,6 +399,43 @@ _signal_updates_changed_cb(void *data, const Eldbus_Message *msg) packagekit_create_transaction_and_exec(ctxt, packagekit_get_updates); } +static void +_iterate_dict(void *data, const void *key, Eldbus_Message_Iter *var) +{ + E_PackageKit_Module_Context *ctxt = data; + + if (!strcmp(key, "VersionMajor")) + eldbus_message_iter_arguments_get(var, "u", &(ctxt->v_maj)); + else if (!strcmp(key, "VersionMinor")) + eldbus_message_iter_arguments_get(var, "u", &(ctxt->v_min)); + else if (!strcmp(key, "VersionMicro")) + eldbus_message_iter_arguments_get(var, "u", &(ctxt->v_mic)); + else return; + + if ((ctxt->v_maj != -1) && (ctxt->v_min != -1) && (ctxt->v_mic != -1)) + packagekit_create_transaction_and_exec(ctxt, packagekit_get_updates); +} + +static void +_prop_get_cb(void *data, const Eldbus_Message *msg, Eldbus_Pending *pending) +{ + E_PackageKit_Module_Context *ctxt = data; + Eldbus_Message_Iter *array; + const char *error, *error_msg; + + if (eldbus_message_error_get(msg, &error, &error_msg)) + { +_store_error(ctxt, error_msg); +return; + } + if (!eldbus_message_arguments_get(msg, "a{sv}", &array)) + { +_store_error(ctxt, "could not get arguments (a{sv})"); +return; + } + eldbus_message_iter_dict_iterate(array, "sv", _iterate_dict, ctxt); +} + Eina_Bool packagekit_dbus_connect(E_PackageKit_Module_Context *ctxt) { @@ -418,6 +460,7 @@ packagekit_dbus_connect(E_PackageKit_Module_Context *ctxt) return EINA_FALSE; } + eldbus_proxy_property_get_all(ctxt->packagekit, _prop_get_cb, ctxt); eldbus_proxy_signal_handler_add(ctxt->packagekit, "UpdatesChanged", _signal_updates_changed_cb, ctxt); diff --git a/src/e_mod_packagekit.h b/src/e_mod_packagekit.h index fa0df22..fb8424d 100644 --- a/src/e_mod_packagekit.h +++ b/src/e_mod_packagekit.h @@ -46,6 +46,9 @@ typedef struct _E_PackageKit_Module_Context Eina_List *packages; Ecore_Timer *refresh_timer; const char *error; + int v_maj; + int v_min; + int v_mic; Eldbus_Connection *conn; Eldbus_Proxy *packagekit; --
Re: [E-devel] [e-users] Is there *real* documentation for edje?
Em Dom, 2013-11-03 às 21:12 +0100, Jérémy Zurcher escreveu: > No, > pacman -S texlive-latexextra to solve the above on archlinux texlive-latexextra is part of the texlive-most group. There is a whole wiki page on ArchWiki dedicated to texlive. If you don't want to care about LaTeX, just install the whole group and everything should work. -- Vinícius dos Santos Oliveira https://about.me/vinipsmaker signature.asc Description: This is a digitally signed message part -- Android is increasing in popularity, but the open development platform that developers love is also attractive to malware creators. Download this white paper to learn more about secure code signing practices that can help keep Android apps secure. http://pubads.g.doubleclick.net/gampad/clk?id=65839951&iu=/4140/ostg.clktrk___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
Re: [E-devel] [e-users] Is there *real* documentation for edje?
On Sunday 03 November 2013 11:39, Robert Heller wrote : > At Sun, 3 Nov 2013 23:35:19 +0900 Carsten Haitzler (The Rasterman) > wrote: > > > > > On Sun, 3 Nov 2013 09:14:20 -0500 Robert Heller said: > > > > > > that today was on arch (relatively up to date). i've had similar issues > > > > before on older ubuntu installs too. i chalked it up to doxygen output > > > > being broken for the kind of content/setup that efl ends up producing. > > > > > > No, it is broken packaging on the part of arch... No, pacman -S texlive-latexextra to solve the above on archlinux ! LaTeX Error: File `xtab.sty' not found some issues remains: ! LaTeX Error: File `edje-nested' not found then: ! LaTeX Error: Too deeply nested. I stopped here… --- Hell'O from Yverdoom Jérémy (jeyzu) -- Android is increasing in popularity, but the open development platform that developers love is also attractive to malware creators. Download this white paper to learn more about secure code signing practices that can help keep Android apps secure. http://pubads.g.doubleclick.net/gampad/clk?id=65839951&iu=/4140/ostg.clktrk ___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
[EGIT] [enlightenment/modules/packagekit] master 01/01: Better error management: do not show "system updated" in case of failure
davemds pushed a commit to branch master. http://git.enlightenment.org/enlightenment/modules/packagekit.git/commit/?id=c764913d8e2120aca1de7cc44d7e103df7352e3c commit c764913d8e2120aca1de7cc44d7e103df7352e3c Author: davemds Date: Sun Nov 3 21:05:02 2013 +0100 Better error management: do not show "system updated" in case of failure --- src/e_mod_main.c | 15 +-- src/e_mod_packagekit.c | 68 +- src/e_mod_packagekit.h | 1 + 3 files changed, 49 insertions(+), 35 deletions(-) diff --git a/src/e_mod_main.c b/src/e_mod_main.c index acc44a9..596cf07 100644 --- a/src/e_mod_main.c +++ b/src/e_mod_main.c @@ -295,17 +295,17 @@ e_modapi_init(E_Module *m) if (!ctxt->config) ctxt->config = E_NEW(PackageKit_Config, 1); - if (!packagekit_dbus_connect(ctxt)) - { -free(ctxt); -return NULL; - } ctxt->module = m; packagekit_mod = m; e_gadcon_provider_register(&_gc_class); - packagekit_create_transaction_and_exec(ctxt, packagekit_get_updates); - ctxt->refresh_timer = ecore_timer_add(60.0, _timer_cb, ctxt); + + if (packagekit_dbus_connect(ctxt)) + { +packagekit_create_transaction_and_exec(ctxt, packagekit_get_updates); +ctxt->refresh_timer = ecore_timer_add(60.0, _timer_cb, ctxt); + } + return ctxt; } @@ -317,6 +317,7 @@ e_modapi_shutdown(E_Module *m) packagekit_dbus_disconnect(ctxt); E_FREE_FUNC(ctxt->refresh_timer, ecore_timer_del); + E_FREE_FUNC(ctxt->error, eina_stringshare_del); E_FREE_FUNC(ctxt->config->manager_command, eina_stringshare_del); E_FREE(ctxt->config); diff --git a/src/e_mod_packagekit.c b/src/e_mod_packagekit.c index 3dc501e..ad9c677 100644 --- a/src/e_mod_packagekit.c +++ b/src/e_mod_packagekit.c @@ -49,6 +49,13 @@ packagekit_popup_update(E_PackageKit_Instance *inst) Evas_Object *icon; char buf[PATH_MAX]; + if (ctxt->error) + { +e_widget_label_text_set(inst->popup_label, D_("No information available")); +e_widget_ilist_append(inst->popup_ilist, NULL, ctxt->error, NULL, NULL, NULL); +return; + } + EINA_LIST_FOREACH(ctxt->packages, l, pkg) { switch (pkg->info) @@ -138,6 +145,17 @@ packagekit_popup_del(E_PackageKit_Instance *inst) } +static void +_store_error(E_PackageKit_Module_Context *ctxt, const char *err) +{ + ERR("PKGKIT ERROR: %s", err); + packagekit_icon_update(ctxt, "packagekit,state,error"); + if (ctxt->error) + eina_stringshare_replace(&ctxt->error, err); + else + ctxt->error = eina_stringshare_add(err); +} + /* RefreshCache() */ static void null_cb(void *data, const Eldbus_Message *msg, Eldbus_Pending *pending) @@ -145,10 +163,7 @@ null_cb(void *data, const Eldbus_Message *msg, Eldbus_Pending *pending) E_PackageKit_Module_Context *ctxt = data; const char *error, *error_msg; if (eldbus_message_error_get(msg, &error, &error_msg)) - { -ERR("ERROR: '%s', '%s'", error, error_msg); -packagekit_icon_update(ctxt, "packagekit,state,error"); - } + _store_error(ctxt, error_msg); } static void @@ -160,14 +175,12 @@ signal_repo_detail_cb(void *data, const Eldbus_Message *msg) if (eldbus_message_error_get(msg, &error, &error_msg)) { -ERR("PKGKIT: '%s', '%s'", error, error_msg); -packagekit_icon_update(ctxt, "packagekit,state,error"); +_store_error(ctxt, error_msg); return; } if (!eldbus_message_arguments_get(msg, "ssb", &repo_id, &desc, &enabled)) { -ERR("PKGKIT: could not get arguments!"); -packagekit_icon_update(ctxt, "packagekit,state,error"); +_store_error(ctxt, "could not get arguments (ssb)"); return; } DBG("PKGKIT: RepoDetail: (%d) %s [ %s ]", enabled, repo_id, desc); @@ -183,8 +196,7 @@ signal_cache_finished_cb(void *data, const Eldbus_Message *msg) if (eldbus_message_error_get(msg, &error, &error_msg)) { -ERR("PKGKIT: '%s', '%s'", error, error_msg); -packagekit_icon_update(ctxt, "packagekit,state,error"); +_store_error(ctxt, error_msg); return; } @@ -207,8 +219,7 @@ packagekit_refresh_cache(E_PackageKit_Module_Context *ctxt, const char *transact pending = eldbus_proxy_call(proxy, "RefreshCache", null_cb, NULL, -1, "b", 1); if (!pending) { -ERR("PKGKIT: could not call RefreshCache\n"); -packagekit_icon_update(ctxt, "packagekit,state,error"); +_store_error(ctxt, "could not call RefreshCache()"); return; } eldbus_proxy_signal_handler_add(proxy, "Finished", signal_cache_finished_cb, ctxt); @@ -229,14 +240,12 @@ _signal_package_cb(void *data, const Eldbus_Message *msg) if (eldbus_message_error_get(msg, &error, &error_msg)) { -ERR("PKGKIT: '%s', '%s'", error, error_msg); -packagekit_icon_update(ctxt, "packagekit,state,error"); +_store_error(
[EGIT] [enlightenment/modules/packagekit] master 01/01: Require eldbus and e18
davemds pushed a commit to branch master. http://git.enlightenment.org/enlightenment/modules/packagekit.git/commit/?id=3aee67468105d879a878560b386efb31371c0ad1 commit 3aee67468105d879a878560b386efb31371c0ad1 Author: davemds Date: Sun Nov 3 19:55:34 2013 +0100 Require eldbus and e18 --- configure.ac | 5 ++--- src/Makefile.am| 4 ++-- src/e_mod_main.c | 1 + src/e_mod_packagekit.h | 2 ++ 4 files changed, 7 insertions(+), 5 deletions(-) diff --git a/configure.ac b/configure.ac index 3b156f7..ed8e5bf 100644 --- a/configure.ac +++ b/configure.ac @@ -36,9 +36,8 @@ AM_CONDITIONAL([HAVE_PO], [false]) ]) AC_SUBST(LTLIBINTL) -PKG_CHECK_MODULES(E, [enlightenment]) -AC_SUBST(E_CFLAGS) -AC_SUBST(E_LIBS) +PKG_CHECK_MODULES(E, [enlightenment >= 0.17.99]) +PKG_CHECK_MODULES(ELDBUS, [eldbus >= 1.7.99]) release=$(pkg-config --variable=release enlightenment) MODULE_ARCH="$host_os-$host_cpu-$release" diff --git a/src/Makefile.am b/src/Makefile.am index 5636cee..cd352f7 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -3,7 +3,7 @@ MAINTAINERCLEANFILES = Makefile.in INCLUDES = -I. \ -I$(top_srcdir) \ -I$(includedir) \ - @E_CFLAGS@ + @E_CFLAGS@ @ELDBUS_CFLAGS@ pkgdir = $(datadir)/$(MODULE_ARCH) pkg_LTLIBRARIES = module.la @@ -12,7 +12,7 @@ module_la_SOURCES = e_mod_main.h \ e_mod_packagekit.h \ e_mod_packagekit.c -module_la_LIBADD = @E_LIBS@ +module_la_LIBADD = @E_LIBS@ @ELDBUS_LIBS@ module_la_LDFLAGS = -module -avoid-version module_la_DEPENDENCIES = $(top_builddir)/config.h diff --git a/src/e_mod_main.c b/src/e_mod_main.c index f5655d3..acc44a9 100644 --- a/src/e_mod_main.c +++ b/src/e_mod_main.c @@ -1,4 +1,5 @@ #include +#include #include "e_mod_main.h" #include "e_mod_packagekit.h" diff --git a/src/e_mod_packagekit.h b/src/e_mod_packagekit.h index 023346d..8841c91 100644 --- a/src/e_mod_packagekit.h +++ b/src/e_mod_packagekit.h @@ -1,6 +1,8 @@ #ifndef PACKAGEKIT_H #define PACKAGEKIT_H +#include + typedef enum { PK_INFO_ENUM_UNKNOWN, PK_INFO_ENUM_INSTALLED, --
Re: [E-devel] [e-users] Is there *real* documentation for edje?
Em Dom, 2013-11-03 às 22:24 +0900, Carsten Haitzler escreveu: > that today was on arch (relatively up to date). i've had similar > issues before > on older ubuntu installs too. i chalked it up to doxygen output being > broken > for the kind of content/setup that efl ends up producing. Documentation from which package are you unable to generate? I just downloaded the latest eina stable code and the usual worked: ./configure make doc cd doc/latex make I have a PDF with 671 pages. Have you installed texlive-most? Have you read the related wiki page on ArchWiki? Just install texlive-most and you should be ready-to-go. -- Vinícius dos Santos Oliveira https://about.me/vinipsmaker signature.asc Description: This is a digitally signed message part -- Android is increasing in popularity, but the open development platform that developers love is also attractive to malware creators. Download this white paper to learn more about secure code signing practices that can help keep Android apps secure. http://pubads.g.doubleclick.net/gampad/clk?id=65839951&iu=/4140/ostg.clktrk___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
[EGIT] [core/elementary] master 02/03: gengrid/genlist: added Eo compatibles for elm_genlist/gengrid_multi_select_mode_set/get() APIs.
seoz pushed a commit to branch master. http://git.enlightenment.org/core/elementary.git/commit/?id=adaaed49cab83e935b331209d17745544fece7bf commit adaaed49cab83e935b331209d17745544fece7bf Author: Daniel Juyung Seo Date: Mon Nov 4 01:15:58 2013 +0900 gengrid/genlist: added Eo compatibles for elm_genlist/gengrid_multi_select_mode_set/get() APIs. --- src/lib/elm_gengrid.c| 32 src/lib/elm_gengrid_eo.h | 36 src/lib/elm_genlist.c| 32 src/lib/elm_genlist_eo.h | 36 4 files changed, 128 insertions(+), 8 deletions(-) diff --git a/src/lib/elm_gengrid.c b/src/lib/elm_gengrid.c index 3587374..645cb58 100644 --- a/src/lib/elm_gengrid.c +++ b/src/lib/elm_gengrid.c @@ -3034,18 +3034,38 @@ elm_gengrid_multi_select_mode_set(Evas_Object *obj, Elm_Object_Multi_Select_Mode mode) { ELM_GENGRID_CHECK(obj); - ELM_GENGRID_DATA_GET(obj, sd); + eo_do(obj, elm_obj_gengrid_multi_select_mode_set(mode)); +} + +static void +_multi_select_mode_set(Eo *obj EINA_UNUSED, void *_pd, va_list *list) +{ + Elm_Object_Multi_Select_Mode mode = va_arg(*list, Elm_Object_Multi_Select_Mode); + Elm_Gengrid_Smart_Data *sd = _pd; + + if (mode >= ELM_OBJECT_MULTI_SELECT_MODE_MAX) + return; - sd->multi_select_mode = mode; + if (sd->multi_select_mode != mode) + sd->multi_select_mode = mode; } EAPI Elm_Object_Multi_Select_Mode elm_gengrid_multi_select_mode_get(const Evas_Object *obj) { ELM_GENGRID_CHECK(obj) ELM_OBJECT_MULTI_SELECT_MODE_MAX; - ELM_GENGRID_DATA_GET(obj, sd); + Elm_Object_Multi_Select_Mode ret = ELM_OBJECT_MULTI_SELECT_MODE_MAX; + eo_do((Eo *)obj, elm_obj_gengrid_multi_select_mode_get(&ret)); + return ret; +} + +static void +_multi_select_mode_get(Eo *obj EINA_UNUSED, void *_pd, va_list *list) +{ + Elm_Object_Multi_Select_Mode *ret = va_arg(*list, Elm_Object_Multi_Select_Mode *); + Elm_Gengrid_Smart_Data *sd = _pd; - return sd->multi_select_mode; + *ret = sd->multi_select_mode; } EAPI Elm_Object_Item * @@ -4075,6 +4095,8 @@ _class_constructor(Eo_Class *klass) EO_OP_FUNC(ELM_OBJ_GENGRID_ID(ELM_OBJ_GENGRID_SUB_ID_CLEAR), _clear), EO_OP_FUNC(ELM_OBJ_GENGRID_ID(ELM_OBJ_GENGRID_SUB_ID_MULTI_SELECT_SET), _multi_select_set), EO_OP_FUNC(ELM_OBJ_GENGRID_ID(ELM_OBJ_GENGRID_SUB_ID_MULTI_SELECT_GET), _multi_select_get), + EO_OP_FUNC(ELM_OBJ_GENGRID_ID(ELM_OBJ_GENGRID_SUB_ID_MULTI_SELECT_MODE_SET), _multi_select_mode_set), + EO_OP_FUNC(ELM_OBJ_GENGRID_ID(ELM_OBJ_GENGRID_SUB_ID_MULTI_SELECT_MODE_GET), _multi_select_mode_get), EO_OP_FUNC(ELM_OBJ_GENGRID_ID(ELM_OBJ_GENGRID_SUB_ID_SELECTED_ITEM_GET), _selected_item_get), EO_OP_FUNC(ELM_OBJ_GENGRID_ID(ELM_OBJ_GENGRID_SUB_ID_SELECTED_ITEMS_GET), _selected_items_get), EO_OP_FUNC(ELM_OBJ_GENGRID_ID(ELM_OBJ_GENGRID_SUB_ID_REALIZED_ITEMS_GET), _realized_items_get), @@ -4120,6 +4142,8 @@ static const Eo_Op_Description op_desc[] = { EO_OP_DESCRIPTION(ELM_OBJ_GENGRID_SUB_ID_CLEAR, "Remove all items from a given gengrid widget."), EO_OP_DESCRIPTION(ELM_OBJ_GENGRID_SUB_ID_MULTI_SELECT_SET, "Enable or disable multi-selection in a given gengrid widget."), EO_OP_DESCRIPTION(ELM_OBJ_GENGRID_SUB_ID_MULTI_SELECT_GET, "Get whether multi-selection is enabled or disabled for a given gengrid widget."), + EO_OP_DESCRIPTION(ELM_OBJ_GENGRID_SUB_ID_MULTI_SELECT_MODE_SET, "Set the gengrid multi select mode."), + EO_OP_DESCRIPTION(ELM_OBJ_GENGRID_SUB_ID_MULTI_SELECT_MODE_GET, "Get the gengrid multi select mode."), EO_OP_DESCRIPTION(ELM_OBJ_GENGRID_SUB_ID_SELECTED_ITEM_GET, "Get the selected item in a given gengrid widget."), EO_OP_DESCRIPTION(ELM_OBJ_GENGRID_SUB_ID_SELECTED_ITEMS_GET, "Get a list of selected items in a given gengrid."), EO_OP_DESCRIPTION(ELM_OBJ_GENGRID_SUB_ID_REALIZED_ITEMS_GET, "Get a list of realized items in gengrid."), diff --git a/src/lib/elm_gengrid_eo.h b/src/lib/elm_gengrid_eo.h index 94f0dc6..0ee1ed2 100644 --- a/src/lib/elm_gengrid_eo.h +++ b/src/lib/elm_gengrid_eo.h @@ -31,6 +31,8 @@ enum ELM_OBJ_GENGRID_SUB_ID_CLEAR, ELM_OBJ_GENGRID_SUB_ID_MULTI_SELECT_SET, ELM_OBJ_GENGRID_SUB_ID_MULTI_SELECT_GET, + ELM_OBJ_GENGRID_SUB_ID_MULTI_SELECT_MODE_SET, + ELM_OBJ_GENGRID_SUB_ID_MULTI_SELECT_MODE_GET, ELM_OBJ_GENGRID_SUB_ID_SELECTED_ITEM_GET, ELM_OBJ_GENGRID_SUB_ID_SELECTED_ITEMS_GET, ELM_OBJ_GENGRID_SUB_ID_REALIZED_ITEMS_GET, @@ -280,6 +282,40 @@ enum #define elm_obj_gengrid_multi_select_get(ret) ELM_OBJ_GENGRID_ID(ELM_OBJ_GENGRID_SUB_ID_MULTI_SELECT_GET), EO_TYPECHECK(Eina_Bool *, ret) /** + * @def elm_obj_gengrid_multi_select_mode_set + * @since 1.8 + * + * Set the gengrid multi select mode. + * + * @param[in] mode + * + * - ELM_OBJECT_MULTI_SELECT_MODE_DEFAULT : select/unselect items wheneve
[EGIT] [core/elementary] master 01/03: genlist/gengrid: Fixed documentation typos.
seoz pushed a commit to branch master. http://git.enlightenment.org/core/elementary.git/commit/?id=683bd812bfe636ba74beca80f51728b640baa334 commit 683bd812bfe636ba74beca80f51728b640baa334 Author: Daniel Juyung Seo Date: Mon Nov 4 00:39:25 2013 +0900 genlist/gengrid: Fixed documentation typos. --- src/lib/elm_gengrid_legacy.h | 2 +- src/lib/elm_genlist_legacy.h | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/lib/elm_gengrid_legacy.h b/src/lib/elm_gengrid_legacy.h index 773372e..65d1599 100644 --- a/src/lib/elm_gengrid_legacy.h +++ b/src/lib/elm_gengrid_legacy.h @@ -93,7 +93,7 @@ EAPI void elm_gengrid_multi_select_mode_set(Evas_Object *obj, Elm_Object_Multi_S * * @param obj The gengrid object * @return The multi select mode - * (If getting mode if failed, it returns ELM_OBJECT_MULTI_SELECT_MODE_MAX) + * (If getting mode is failed, it returns ELM_OBJECT_MULTI_SELECT_MODE_MAX) * * @see elm_gengrid_multi_select_set() * @see elm_gengrid_multi_select_mode_set() diff --git a/src/lib/elm_genlist_legacy.h b/src/lib/elm_genlist_legacy.h index ddaa799..a22a53a 100644 --- a/src/lib/elm_genlist_legacy.h +++ b/src/lib/elm_genlist_legacy.h @@ -83,7 +83,7 @@ EAPI void elm_genlist_multi_select_mode_set(Evas_Object *obj, Elm_Object_Multi_S * * @param obj The genlist object * @return The multi select mode - * (If getting mode if failed, it returns ELM_OBJECT_MULTI_SELECT_MODE_MAX) + * (If getting mode is failed, it returns ELM_OBJECT_MULTI_SELECT_MODE_MAX) * * @see elm_genlist_multi_select_set() * @see elm_genlist_multi_select_mode_set() --
[EGIT] [core/elementary] master 03/03: test_popup.c: Refactored elm_popup_move() example.
seoz pushed a commit to branch master. http://git.enlightenment.org/core/elementary.git/commit/?id=ab38ebcc7055c5b353b2bd8dad34a0239e2ee0e6 commit ab38ebcc7055c5b353b2bd8dad34a0239e2ee0e6 Author: Daniel Juyung Seo Date: Mon Nov 4 02:02:50 2013 +0900 test_popup.c: Refactored elm_popup_move() example. --- src/bin/test_popup.c | 40 +++- 1 file changed, 19 insertions(+), 21 deletions(-) diff --git a/src/bin/test_popup.c b/src/bin/test_popup.c index 945c3df..e98a71c 100644 --- a/src/bin/test_popup.c +++ b/src/bin/test_popup.c @@ -21,32 +21,30 @@ _popup_close_cb(void *data, Evas_Object *obj EINA_UNUSED, evas_object_del(data); } +#define POPUP_POINT_MAX 9 +static Evas_Coord_Point _popup_point[POPUP_POINT_MAX] = +{ + { 40, 50 }, + { 80, 100 }, + { 120, 150 }, + { 160, 200 }, + { 500, }, // excess y + { , 500 }, // excess x + { -10, 50 }, // negative x + { 40, -100 }, // negative y + { 0, 0 } // zero +}; + static void _popup_move_cb(void *data, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED) { - static int k=0; - - if (k == 0) - elm_popup_move(data, -10, 50);//negative x - else if (k == 1) - elm_popup_move(data, 40, -100);//negative y - else if (k == 2) - elm_popup_move(data, 0, 0);//zero x zero y - else if (k == 3) - elm_popup_move(data, 40, 50); - else if (k == 4) - elm_popup_move(data, 80, 100); - else if (k == 5) - elm_popup_move(data, 120, 150); - else if (k == 6) - elm_popup_move(data, 160, 200); - else if (k == 7) - elm_popup_move(data, 500, );//excess y - else - elm_popup_move(data, , 500);//excess x + static int k = 0; + + elm_popup_move(data, _popup_point[k].x, _popup_point[k].y); + k++; - if (k > 8) + if (k >= POPUP_POINT_MAX) k = 0; } --
Re: [E-devel] [e-users] Is there *real* documentation for edje?
At Sun, 3 Nov 2013 23:35:19 +0900 Carsten Haitzler (The Rasterman) wrote: > > On Sun, 3 Nov 2013 09:14:20 -0500 Robert Heller said: > > > > that today was on arch (relatively up to date). i've had similar issues > > > before on older ubuntu installs too. i chalked it up to doxygen output > > > being broken for the kind of content/setup that efl ends up producing. > > > > No, it is broken packaging on the part of arch... > > well i've seen it on 2 distros many versions/years apart. it seems i'm > unlucky. :) I suspect that many 'newer' distros are being maintained by people who are clueless WRT LaTeX and/or have a user-base that is clueless WRT LaTeX, so these sorts of packaging problems go unnoticed / unreported. That is, these are people who have been completely 'turned' to the 'dark side' of WYSIWYG 'word processing' as their document preparation methodology -- Open/Libre Office gets installed by default and is on the distro CD/DVD, but TeX and LaTeX is deep in the repository somewhere and installing *all* of it is not allways a trivial thing, and may involves tracking out 'missing' dependencies. I've never had to install TeX or LaTeX as part of a 'post install' process for RedHat / CentOS -- it gets installed as part of the 'Applications/Publishing' group, which is a base install option. > > > > btw - what is it about people having servers named gollum... they keep > > > popping up all the time. :) > > > > Gollum is not a server. It is my laptop. It travels. My desktop is a big > > black tower system named 'sauron'... > > and what is.. .the eye of sauron? :) Little LEDs on the quad 2.5" SATA hot-swap trays... :-) > -- Robert Heller -- 978-544-6933 / hel...@deepsoft.com Deepwoods Software-- http://www.deepsoft.com/ () ascii ribbon campaign -- against html e-mail /\ www.asciiribbon.org -- against proprietary attachments -- Android is increasing in popularity, but the open development platform that developers love is also attractive to malware creators. Download this white paper to learn more about secure code signing practices that can help keep Android apps secure. http://pubads.g.doubleclick.net/gampad/clk?id=65839951&iu=/4140/ostg.clktrk ___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
[EGIT] [enlightenment/modules/packagekit] master 01/01: Make the config dialog resizabe. gitignore++
davemds pushed a commit to branch master. http://git.enlightenment.org/enlightenment/modules/packagekit.git/commit/?id=daedb37fe08af15f0d3c03b377b0961658070366 commit daedb37fe08af15f0d3c03b377b0961658070366 Author: davemds Date: Sun Nov 3 17:21:26 2013 +0100 Make the config dialog resizabe. gitignore++ --- .gitignore | 32 src/e_mod_main.c | 5 +++-- 2 files changed, 35 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index 29251f8..8ed9ecf 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,35 @@ +ABOUT-NLS +Makefile +Makefile.in +aclocal.m4 +autom4te.cache/ +config.guess +config.h +config.h.in +config.log +config.rpath +config.status +config.sub +configure +depcomp +e-module-packagekit.edj +e_modules-packagekit.spec +install-sh +libtool +ltmain.sh +missing +mkinstalldirs +module.desktop +src/.deps/ +src/.libs/ +src/Makefile +src/Makefile.in +src/e_mod_main.lo +src/e_mod_main.o +src/e_mod_packagekit.lo +src/e_mod_packagekit.o +src/module.la +stamp-h1 po/*.gmo po/Makefile po/Makefile.in diff --git a/src/e_mod_main.c b/src/e_mod_main.c index c2eed80..f5655d3 100644 --- a/src/e_mod_main.c +++ b/src/e_mod_main.c @@ -43,7 +43,6 @@ _cfg_widgets_create(E_Config_Dialog *cfd, Evas *evas, E_Config_Dialog_Data *cfda E_Radio_Group *rg; list = e_widget_list_add(evas, 0, 0); - e_widget_size_min_set(list, 400, 100); of = e_widget_framelist_add(evas, D_("Refresh Packages"), 0); rg = e_widget_radio_group_new(&(cfdata->update_interval)); @@ -60,7 +59,9 @@ _cfg_widgets_create(E_Config_Dialog *cfd, Evas *evas, E_Config_Dialog_Data *cfda of = e_widget_framelist_add(evas, D_("Package Manager"), 0); ob = e_widget_entry_add(evas, &(cfdata->manager_command), NULL, NULL, NULL); e_widget_framelist_object_append(of, ob); - e_widget_list_object_append(list, of, 1, 1, 0.5); + e_widget_list_object_append(list, of, 1, 0, 0.5); + + e_dialog_resizable_set(cfd->dia, 1); return list; } --
Re: [E-devel] share the edinburgh photos
Awesome! Great pictures! Still waiting for the videos :) Daniel Juyung Seo (SeoZ) On Mon, Nov 4, 2013 at 12:46 AM, ChunEon Park wrote: > Hi, > I share the picasa photos that I took in the Edinburgh. > > https://plus.google.com/photos/115575637560225814332/albums/5942054348028193009?banner=pwa > > Please check your face and enjoy. :) > > > > -Regards, Hermet- > > -- > Android is increasing in popularity, but the open development platform that > developers love is also attractive to malware creators. Download this white > paper to learn more about secure code signing practices that can help keep > Android apps secure. > http://pubads.g.doubleclick.net/gampad/clk?id=65839951&iu=/4140/ostg.clktrk > ___ > enlightenment-devel mailing list > enlightenment-devel@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/enlightenment-devel > -- Android is increasing in popularity, but the open development platform that developers love is also attractive to malware creators. Download this white paper to learn more about secure code signing practices that can help keep Android apps secure. http://pubads.g.doubleclick.net/gampad/clk?id=65839951&iu=/4140/ostg.clktrk ___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
[E-devel] share the edinburgh photos
Hi, I share the picasa photos that I took in the Edinburgh. https://plus.google.com/photos/115575637560225814332/albums/5942054348028193009?banner=pwa Please check your face and enjoy. :) -Regards, Hermet- -- Android is increasing in popularity, but the open development platform that developers love is also attractive to malware creators. Download this white paper to learn more about secure code signing practices that can help keep Android apps secure. http://pubads.g.doubleclick.net/gampad/clk?id=65839951&iu=/4140/ostg.clktrk ___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
[EGIT] [enlightenment/modules/packagekit] master 01/01: Translations: Add Finnish language.
kuuko pushed a commit to branch master. http://git.enlightenment.org/enlightenment/modules/packagekit.git/commit/?id=d5ebc9b769e169de0362ef238eb3137109a68763 commit d5ebc9b769e169de0362ef238eb3137109a68763 Author: Kai Huuhko Date: Sun Nov 3 17:20:57 2013 +0200 Translations: Add Finnish language. --- po/LINGUAS | 1 + po/fi.po | 87 ++ 2 files changed, 88 insertions(+) diff --git a/po/LINGUAS b/po/LINGUAS index 7d5856f..f1912ee 100644 --- a/po/LINGUAS +++ b/po/LINGUAS @@ -1 +1,2 @@ +fi it diff --git a/po/fi.po b/po/fi.po new file mode 100644 index 000..fec90a7 --- /dev/null +++ b/po/fi.po @@ -0,0 +1,87 @@ +# Finnish translations for packagekit package. +# Copyright (C) 2013 Enlightenment development team +# This file is distributed under the same license as the PACKAGE package. +# Kai Huuhko , 2013. +# +msgid "" +msgstr "" +"Project-Id-Version: packagekit 0.0.1\n" +"Report-Msgid-Bugs-To: enlightenment-devel@lists.sourceforge.net\n" +"POT-Creation-Date: 2013-11-03 16:24+0200\n" +"PO-Revision-Date: 2013-11-03 16:32+0200\n" +"Last-Translator: Kai Huuhko \n" +"Language-Team: Finnish\n" +"Language: fi\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: src/e_mod_main.c:48 +msgid "Refresh Packages" +msgstr "Päivitä paketit" + +#: src/e_mod_main.c:50 +msgid "Never" +msgstr "Ei koskaan" + +#: src/e_mod_main.c:52 +msgid "Hourly" +msgstr "Tunneittain" + +#: src/e_mod_main.c:54 +msgid "Daily" +msgstr "Päivittäin" + +#: src/e_mod_main.c:56 +msgid "Weekly" +msgstr "Viikoittain" + +#: src/e_mod_main.c:60 +msgid "Package Manager" +msgstr "Pakettien hallintaohjelma" + +#: src/e_mod_main.c:113 +msgid "System Updates Settings" +msgstr "Järjestelmän päivitysten asetukset" + +#: src/e_mod_main.c:147 +msgid "Settings" +msgstr "Asetukset" + +#: src/e_mod_main.c:213 +msgid "System Updates" +msgstr "Järjestelmän päivitykset" + +#: src/e_mod_packagekit.c:35 +msgid "No package manager configured" +msgstr "Pakettien hallintaohjelmaa ei ole määritetty" + +#: src/e_mod_packagekit.c:36 +msgid "" +"You need to set your preferred package manager.Please open the module " +"configuration and setthe program to run." +msgstr "" +"Sinun tulee asettaa haluamasi pakettien hallintaohjelma.Ole hyvä ja avaa moduulin " +"asetukset ja asetaajettava ohjelma." + +#: src/e_mod_packagekit.c:86 +msgid "One update available" +msgstr "Yksi päivitys saatavilla" + +#: src/e_mod_packagekit.c:88 +#, c-format +msgid "%d updates available" +msgstr "%d päivitystä saatavilla" + +#: src/e_mod_packagekit.c:90 +msgid "Your system is updated" +msgstr "Järjestelmäsi on päivitetty" + +#: src/e_mod_packagekit.c:118 +msgid "Update packages cache" +msgstr "Päivitä pakettien välimuisti" + +#: src/e_mod_packagekit.c:121 +msgid "Run the package manager" +msgstr "Aja pakettien hallintaohjelma" --
Re: [E-devel] New E module for PackageKit
2013/11/3 Carsten Haitzler > On Sat, 2 Nov 2013 17:46:17 +0100 Davide Andreoli > said: > > this is really neat! really really neat! as gustavo said - icons probably > need > some work (ie needs theme work so it integrates and is changeable by the > theme). can it extract/get package specific icons per package? (the icons > next > to the package name). i might go for shorter labels in the buttons too... > like > "Refresh" and "Manage" :) maybe even make the refresh button a little > recycle > icon like used in efm for refresh and stick it up the top-right or > something > next to the title. > > but that's just fussing about surface details - the fact that there is > working > meat under that is really cool. very nice man! > Thank, I'm happy you like it :) The 'per package icon' show the priority of the updates, as per: http://www.packagekit.org/pk-faq.html#tray-icons I was thinking about a sort of "legend" to explain that Indeed the 2 buttons are ugly, I will try some different layouts btw, I just committed the module to git (enlightenment/modules/packagekit.git) > > > Hi all, > > > > I have ready a new module for E, it's a frontend for the PackageKit dbus > > interface, it show the status of your package manager in a nice icon for > > your shelf, has a popup that show a list of the packages that can be > > updated and provide 2 buttons: "run package manager" and "update packages > > cache". > > > > Some screenshot for you: > > > > http://imgbin.org/images/15552.png (2 updates available) > > http://imgbin.org/images/15553.png (working icon while downloading, the > > gears are also animated) > > http://imgbin.org/images/15554.png (configuration) > > http://imgbin.org/images/1.png (system updated) > > > > I think this module can go in the e tree, If no one object I will push > this > > new module to git in the next few days. > > > > see ya > > davemds > > > -- > > Android is increasing in popularity, but the open development platform > that > > developers love is also attractive to malware creators. Download this > white > > paper to learn more about secure code signing practices that can help > keep > > Android apps secure. > > > http://pubads.g.doubleclick.net/gampad/clk?id=65839951&iu=/4140/ostg.clktrk > > ___ > > enlightenment-devel mailing list > > enlightenment-devel@lists.sourceforge.net > > https://lists.sourceforge.net/lists/listinfo/enlightenment-devel > > > > > -- > - Codito, ergo sum - "I code, therefore I am" -- > The Rasterman (Carsten Haitzler)ras...@rasterman.com > > -- Android is increasing in popularity, but the open development platform that developers love is also attractive to malware creators. Download this white paper to learn more about secure code signing practices that can help keep Android apps secure. http://pubads.g.doubleclick.net/gampad/clk?id=65839951&iu=/4140/ostg.clktrk ___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
Re: [E-devel] [e-users] EFL + Elementary 1.8
Cedric Bail On Nov 3, 2013 11:36 PM, "Carsten Haitzler" wrote: > > On Sun, 3 Nov 2013 15:32:32 +0100 Cedric BAIL said: > > > Cedric Bail > > On Nov 3, 2013 11:18 PM, "Carsten Haitzler" wrote: > > > > > > On Sun, 3 Nov 2013 22:42:31 +0900 Daniel Juyung Seo < seojuyu...@gmail.com> > > said: > > > > > > > On Fri, Nov 1, 2013 at 4:32 PM, Carsten Haitzler < ras...@rasterman.com > > >wrote: > > > > > > > > > I've updated our release page to reflect current timelines: > > > > > > > > > > https://phab.enlightenment.org/w/efl_and_elementary_1_8/ > > > > > > > > > > So expect alphas next week. > > > > > > > > > > > > > So we have an hour and 16 minutes until the feature freeze. > > > > No more delay? > > > > How is it going? > > > > > > > > Daniel Juyung Seo (SeoZ) > > > > > > well as of right now... > > > > > > https://phab.enlightenment.org/w/efl_and_elementary_1_8/ > > > > > > 40mins left. if the feature is not in by 40 mins from now... then it'll > > have to > > > wait until efl/elm 1.9 (about 3months from now). tomorrow i will check in > > on > > > doing an alpha-1 - as long as i have the time, and for the next month it's > > > bug-fix land and otherwise any polishing of things for release (docs, > > readmes, > > > changelogs, news). ther's a backlog of patch review requests - many of > > them are > > > bugfixes (i went over them yesterday). there is also a large set of > > actual bug > > > reports to go over - some may have fixes already attached. that's the job > > for > > > the next 4 weeks. clear out those (as best possible) and any other bugs > > not > > > aleady filed there that we see/know of. run everything possible and test > > - use > > > valgrind to find issues... do our best to make efl 1.8.0 as solid as we > > can. > > > but never fear 1.8.1 can come with more fixes and 1.9.0 will come about 4 > > > months from now. :) > > > > We do have three patch to come in. Wayland private header fix, quicklaunch > > and fixing the race condition in elm theme. All of those should be landing > > tomorrow. Also it would give sometime to go over phab open ticket and > > differential. > > wayland private headers are in. i fixed build breaks on the weekend thanks to > this. i guess there are more fies then? if it's a fix to a bug.. thats fine > after freeze. anything else... is not fine. it will need consensus that it's > needed. Yes,there is more structure to move to private header. Antognolli did commit to do them tomorrow. Quicklaunch require change in ELM_MAIN. Fixing the race condition will introduce 3 more API and eina_cow_free need to have its prototype changed. And sorry for the mail,I am on my phone and the mail compositor is so crappy... > > So I am advocating for a one day delay.we're not in a rush anymore and can > > go with such a delay I think. That will give more eyeball looking at it > > when we do come close to the deadline also. > > > > > > > -- > > > > > - Codito, ergo sum - "I code, therefore I am" > > -- > > > > > The Rasterman (Carsten Haitzler)ras...@rasterman.com > > > > > > > > > > > > > > > > > > > > > > -- > > > > > Android is increasing in popularity, but the open development > > platform that > > > > > developers love is also attractive to malware creators. Download this > > white > > > > > paper to learn more about secure code signing practices that can help > > keep > > > > > Android apps secure. > > > > > > > http://pubads.g.doubleclick.net/gampad/clk?id=65839951&iu=/4140/ostg.clktrk > > > > > ___ > > > > > enlightenment-devel mailing list > > > > > enlightenment-devel@lists.sourceforge.net > > > > > https://lists.sourceforge.net/lists/listinfo/enlightenment-devel > > > > > > > > > > > -- > > > > Android is increasing in popularity, but the open development platform > > that > > > > developers love is also attractive to malware creators. Download this > > white > > > > paper to learn more about secure code signing practices that can help > > keep > > > > Android apps secure. > > > > > > http://pubads.g.doubleclick.net/gampad/clk?id=65839951&iu=/4140/ostg.clktrk > > > > ___ > > > > enlightenment-users mailing list > > > > enlightenment-us...@lists.sourceforge.net > > > > https://lists.sourceforge.net/lists/listinfo/enlightenment-users > > > > > > > > > > > > > -- > > > - Codito, ergo sum - "I code, therefore I am" -- > > > The Rasterman (Carsten Haitzler)ras...@rasterman.com > > > > > > > > > > > -- > > > Android is increasing in popularity, but the open development platform > > that > > > developers love is also attractive to malware creators. Download this > > white > > > paper to learn more about secure code sig
[EGIT] [core/elementary] master 01/01: Genlist/Gengrid: Added multi select mode for genlist/gengrid.
seoz pushed a commit to branch master. http://git.enlightenment.org/core/elementary.git/commit/?id=ae03d3cef36abd27ff530e350e39ae401f4f389e commit ae03d3cef36abd27ff530e350e39ae401f4f389e Author: Daniel Juyung Seo Date: Sun Nov 3 23:58:57 2013 +0900 Genlist/Gengrid: Added multi select mode for genlist/gengrid. elm_genlist_multi_select_mode_set/get() elm_gengrid_multi_select_mode_set/get() --- ChangeLog| 10 -- NEWS | 2 +- src/lib/elm_general.h| 8 +++- src/lib/elm_gengrid.c| 21 - src/lib/elm_gengrid_legacy.h | 39 +++ src/lib/elm_genlist.c| 21 - src/lib/elm_genlist_legacy.h | 39 +++ src/lib/elm_widget_gengrid.h | 1 + src/lib/elm_widget_genlist.h | 1 + 9 files changed, 124 insertions(+), 18 deletions(-) diff --git a/ChangeLog b/ChangeLog index 434f65f..9207326 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1736,12 +1736,10 @@ * slider: Added elm_slider_step_get(), elm_slider_step_set(). -2013-10-02 Ryuan Choi (ryuan) - -* genlist , gengrid: Add ELM_OBJECT_MULTIPLE_SELECT_MODE_WITH_CONTROL. -It disallow multiple selection when clicked without control pressed although -multiple selection is enabled. - 2013-10-03 Abhinandan Aryadipta (aryarockstar) * Popup - Added elm_popup_move() api. + +2013-10-03 Daniel Juyung Seo (SeoZ) + +* Genlist/Gengrid: Added multi select mode. diff --git a/NEWS b/NEWS index fece1e7..2eac992 100644 --- a/NEWS +++ b/NEWS @@ -101,8 +101,8 @@ Additions: * Add support for "clicked" callback on Return/space/KP_Enter key press for image. * Add "virtualkeypad,size,changed" callback on virtualkeypad min size change for conformant. * Add elm_slider_step_get(), elm_slider_step_set() for slider. - * Add ELM_OBJECT_MULTIPLE_SELECT_MODE_WITH_CONTROL select mode for genlist/gengrid. * Add support elm_popup_move() for popup. + * Add multi select mode for genlist/gengrid. Improvements: diff --git a/src/lib/elm_general.h b/src/lib/elm_general.h index 9f5e140..7876af4 100644 --- a/src/lib/elm_general.h +++ b/src/lib/elm_general.h @@ -126,10 +126,16 @@ typedef enum ELM_OBJECT_SELECT_MODE_ALWAYS, /**< always select mode */ ELM_OBJECT_SELECT_MODE_NONE, /**< no select mode */ ELM_OBJECT_SELECT_MODE_DISPLAY_ONLY, /**< no select mode with no finger size rule*/ - ELM_OBJECT_MULTIPLE_SELECT_MODE_WITH_CONTROL, /**< disallow mutiple selection when clicked without control key pressed */ ELM_OBJECT_SELECT_MODE_MAX } Elm_Object_Select_Mode; +typedef enum +{ + ELM_OBJECT_MULTI_SELECT_MODE_DEFAULT = 0, /**< default multiple select mode */ + ELM_OBJECT_MULTI_SELECT_MODE_WITH_CONTROL, /**< disallow mutiple selection when clicked without control key pressed */ + ELM_OBJECT_MULTI_SELECT_MODE_MAX +} Elm_Object_Multi_Select_Mode; + typedef Eina_Bool (*Elm_Event_Cb)(void *data, Evas_Object *obj, Evas_Object *src, Evas_Callback_Type type, void *event_info); /**< Function prototype definition for callbacks on input events happening on Elementary widgets. @a data will receive the user data pointer passed to elm_object_event_callback_add(). @a src will be a pointer to the widget on which the input event took place. @a type will get the type of this event and @a event_info, the struct with details on this event. */ extern EAPI double _elm_startup_time; diff --git a/src/lib/elm_gengrid.c b/src/lib/elm_gengrid.c index 883d4fb..3587374 100644 --- a/src/lib/elm_gengrid.c +++ b/src/lib/elm_gengrid.c @@ -597,7 +597,7 @@ _item_mouse_up_cb(void *data, } if (elm_widget_item_disabled_get(it) || (dragged)) return; if (sd->multi && - ((sd->select_mode != ELM_OBJECT_MULTIPLE_SELECT_MODE_WITH_CONTROL) || + ((sd->multi_select_mode != ELM_OBJECT_MULTI_SELECT_MODE_WITH_CONTROL) || (evas_key_modifier_is_set(ev->modifiers, "Control" { if (!it->selected) @@ -3029,6 +3029,25 @@ _multi_select_get(Eo *obj EINA_UNUSED, void *_pd, va_list *list) *ret = sd->multi; } +EAPI void +elm_gengrid_multi_select_mode_set(Evas_Object *obj, + Elm_Object_Multi_Select_Mode mode) +{ + ELM_GENGRID_CHECK(obj); + ELM_GENGRID_DATA_GET(obj, sd); + + sd->multi_select_mode = mode; +} + +EAPI Elm_Object_Multi_Select_Mode +elm_gengrid_multi_select_mode_get(const Evas_Object *obj) +{ + ELM_GENGRID_CHECK(obj) ELM_OBJECT_MULTI_SELECT_MODE_MAX; + ELM_GENGRID_DATA_GET(obj, sd); + + return sd->multi_select_mode; +} + EAPI Elm_Object_Item * elm_gengrid_selected_item_get(const Evas_Object *obj) { diff --git a/src/lib/elm_gengrid_legacy.h b/src/lib/elm_gengrid_legacy.h index 0f09c70..773372e 100644 --- a/src/lib/elm_gengrid_legacy.h +++ b/src/lib/elm_gengrid_legacy.h @@ -69,6 +69,41 @@ EAPI void
Re: [E-devel] [e-users] EFL + Elementary 1.8
On Sun, 3 Nov 2013 15:32:32 +0100 Cedric BAIL said: > Cedric Bail > On Nov 3, 2013 11:18 PM, "Carsten Haitzler" wrote: > > > > On Sun, 3 Nov 2013 22:42:31 +0900 Daniel Juyung Seo > said: > > > > > On Fri, Nov 1, 2013 at 4:32 PM, Carsten Haitzler >wrote: > > > > > > > I've updated our release page to reflect current timelines: > > > > > > > > https://phab.enlightenment.org/w/efl_and_elementary_1_8/ > > > > > > > > So expect alphas next week. > > > > > > > > > > So we have an hour and 16 minutes until the feature freeze. > > > No more delay? > > > How is it going? > > > > > > Daniel Juyung Seo (SeoZ) > > > > well as of right now... > > > > https://phab.enlightenment.org/w/efl_and_elementary_1_8/ > > > > 40mins left. if the feature is not in by 40 mins from now... then it'll > have to > > wait until efl/elm 1.9 (about 3months from now). tomorrow i will check in > on > > doing an alpha-1 - as long as i have the time, and for the next month it's > > bug-fix land and otherwise any polishing of things for release (docs, > readmes, > > changelogs, news). ther's a backlog of patch review requests - many of > them are > > bugfixes (i went over them yesterday). there is also a large set of > actual bug > > reports to go over - some may have fixes already attached. that's the job > for > > the next 4 weeks. clear out those (as best possible) and any other bugs > not > > aleady filed there that we see/know of. run everything possible and test > - use > > valgrind to find issues... do our best to make efl 1.8.0 as solid as we > can. > > but never fear 1.8.1 can come with more fixes and 1.9.0 will come about 4 > > months from now. :) > > We do have three patch to come in. Wayland private header fix, quicklaunch > and fixing the race condition in elm theme. All of those should be landing > tomorrow. Also it would give sometime to go over phab open ticket and > differential. wayland private headers are in. i fixed build breaks on the weekend thanks to this. i guess there are more fies then? if it's a fix to a bug.. thats fine after freeze. anything else... is not fine. it will need consensus that it's needed. > So I am advocating for a one day delay.we're not in a rush anymore and can > go with such a delay I think. That will give more eyeball looking at it > when we do come close to the deadline also. > > > > > -- > > > > - Codito, ergo sum - "I code, therefore I am" > -- > > > > The Rasterman (Carsten Haitzler)ras...@rasterman.com > > > > > > > > > > > > > > > > > -- > > > > Android is increasing in popularity, but the open development > platform that > > > > developers love is also attractive to malware creators. Download this > white > > > > paper to learn more about secure code signing practices that can help > keep > > > > Android apps secure. > > > > > http://pubads.g.doubleclick.net/gampad/clk?id=65839951&iu=/4140/ostg.clktrk > > > > ___ > > > > enlightenment-devel mailing list > > > > enlightenment-devel@lists.sourceforge.net > > > > https://lists.sourceforge.net/lists/listinfo/enlightenment-devel > > > > > > > > -- > > > Android is increasing in popularity, but the open development platform > that > > > developers love is also attractive to malware creators. Download this > white > > > paper to learn more about secure code signing practices that can help > keep > > > Android apps secure. > > > > http://pubads.g.doubleclick.net/gampad/clk?id=65839951&iu=/4140/ostg.clktrk > > > ___ > > > enlightenment-users mailing list > > > enlightenment-us...@lists.sourceforge.net > > > https://lists.sourceforge.net/lists/listinfo/enlightenment-users > > > > > > > > > -- > > - Codito, ergo sum - "I code, therefore I am" -- > > The Rasterman (Carsten Haitzler)ras...@rasterman.com > > > > > > > -- > > Android is increasing in popularity, but the open development platform > that > > developers love is also attractive to malware creators. Download this > white > > paper to learn more about secure code signing practices that can help keep > > Android apps secure. > > > http://pubads.g.doubleclick.net/gampad/clk?id=65839951&iu=/4140/ostg.clktrk > > ___ > > enlightenment-devel mailing list > > enlightenment-devel@lists.sourceforge.net > > https://lists.sourceforge.net/lists/listinfo/enlightenment-devel > > > -- > Android is increasing in popularity, but the open development platform that > developers love is also attractive to malware creators. Download this white > paper to learn more about secure code signing practices that can help keep > An
Re: [E-devel] [e-users] Is there *real* documentation for edje?
On Sun, 3 Nov 2013 09:14:20 -0500 Robert Heller said: > > that today was on arch (relatively up to date). i've had similar issues > > before on older ubuntu installs too. i chalked it up to doxygen output > > being broken for the kind of content/setup that efl ends up producing. > > No, it is broken packaging on the part of arch... well i've seen it on 2 distros many versions/years apart. it seems i'm unlucky. :) > > btw - what is it about people having servers named gollum... they keep > > popping up all the time. :) > > Gollum is not a server. It is my laptop. It travels. My desktop is a big > black tower system named 'sauron'... and what is.. .the eye of sauron? :) -- - Codito, ergo sum - "I code, therefore I am" -- The Rasterman (Carsten Haitzler)ras...@rasterman.com -- Android is increasing in popularity, but the open development platform that developers love is also attractive to malware creators. Download this white paper to learn more about secure code signing practices that can help keep Android apps secure. http://pubads.g.doubleclick.net/gampad/clk?id=65839951&iu=/4140/ostg.clktrk ___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
Re: [E-devel] [EGIT] [core/efl] master 03/03: evas - clip shutdown fix to avoid invalid mem accesses
OK,will do that tomorrow.that is going to break the API and ABI of cow free. Cedric Bail On Nov 3, 2013 11:14 PM, "Carsten Haitzler" wrote: > > On Sun, 3 Nov 2013 15:00:01 +0100 Cedric BAIL said: > > > Cedric Bail > > On Nov 3, 2013 9:22 PM, "Carsten Haitzler" wrote: > > > > > > raster pushed a commit to branch master. > > > > > > > > http://git.enlightenment.org/core/efl.git/commit/?id=eb6af1f1ff7ee069eff8bab13c0eed5010ef5660 > > > > > > commit eb6af1f1ff7ee069eff8bab13c0eed5010ef5660 > > > Author: Carsten Haitzler (Rasterman) > > > Date: Sun Nov 3 21:43:11 2013 +0900 > > > > > > evas - clip shutdown fix to avoid invalid mem accesses > > > > > > many valgrind complaints on e shutdown are there regarding accessing > > > cow sections, lists and object elements during shutdown. this plugs > > > theses little holes to avoid the invalid accesses and thus avoids > > > potential crashes. > > > > Just thinking here, but we could make cow free set the pointer to the > > read-only always valid object? That should keep the code cleaner and less > > error prone, I think. > > whatever it takes to ensure we don't have crashes lurking. :) > > > > --- > > > src/lib/evas/canvas/evas_clip.c| 20 > > > src/lib/evas/canvas/evas_object_main.c | 25 ++--- > > > 2 files changed, 34 insertions(+), 11 deletions(-) > > > > > > diff --git a/src/lib/evas/canvas/evas_clip.c > > b/src/lib/evas/canvas/evas_clip.c > > > index 76cddc0..5dfbc48 100644 > > > --- a/src/lib/evas/canvas/evas_clip.c > > > +++ b/src/lib/evas/canvas/evas_clip.c > > > @@ -369,6 +369,7 @@ _clip_unset(Eo *eo_obj, void *_pd, va_list *list > > EINA_UNUSED) > > > { > > > Evas_Object_Protected_Data *obj = _pd; > > > > > > + if (!obj->cur) return; > > > if (!obj->cur->clipper) return; > > > > > > obj->clip.cache_clipees_answer = > > eina_list_free(obj->clip.cache_clipees_answer); > > > @@ -386,7 +387,7 @@ _clip_unset(Eo *eo_obj, void *_pd, va_list *list > > EINA_UNUSED) > > >{ > > > EINA_COW_STATE_WRITE_BEGIN(obj->cur->clipper, state_write, > > cur) > > > { > > > - state_write->have_clipees = 0; > > > + if (state_write) state_write->have_clipees = 0; > > > } > > > EINA_COW_STATE_WRITE_END(obj->cur->clipper, state_write, > > cur); > > > > > > @@ -417,14 +418,17 @@ _clip_unset(Eo *eo_obj, void *_pd, va_list *list > > EINA_UNUSED) > > > if ((!obj->is_smart) && > > > (!((obj->map->cur.map) && (obj->map->cur.usemap > > > { > > > -if (evas_object_is_in_output_rect(eo_obj, obj, > > > +if (obj->cur) > > > + { > > > + if (evas_object_is_in_output_rect(eo_obj, obj, > > > + > > obj->layer->evas->pointer.x, > > > + > > obj->layer->evas->pointer.y, 1, 1)) > > > + evas_event_feed_mouse_move(obj->layer->evas->evas, > > > obj->layer->evas->pointer.x, > > > - obj->layer->evas->pointer.y, > > 1, 1)) > > > - evas_event_feed_mouse_move(obj->layer->evas->evas, > > > - obj->layer->evas->pointer.x, > > > - obj->layer->evas->pointer.y, > > > - obj->layer->evas->last_timestamp, > > > - NULL); > > > + obj->layer->evas->pointer.y, > > > + > > obj->layer->evas->last_timestamp, > > > + NULL); > > > + } > > > } > > > evas_object_clip_across_check(eo_obj, obj); > > > } > > > diff --git a/src/lib/evas/canvas/evas_object_main.c > > b/src/lib/evas/canvas/evas_object_main.c > > > index 27fc7ad..c779f2d 100644 > > > --- a/src/lib/evas/canvas/evas_object_main.c > > > +++ b/src/lib/evas/canvas/evas_object_main.c > > > @@ -141,6 +141,7 @@ void > > > evas_object_free(Evas_Object *eo_obj, int clean_layer) > > > { > > > Evas_Object_Protected_Data *obj = eo_data_scope_get(eo_obj, MY_CLASS); > > > + Evas_Object *eo_obj2; > > > if (!obj) return; > > > obj->clean_layer = clean_layer; > > > > > > @@ -171,8 +172,21 @@ evas_object_free(Evas_Object *eo_obj, int > > clean_layer) > > > obj->func->free(eo_obj, obj, obj->private_data); > > > } > > > if (!was_smart_child) evas_object_release(eo_obj, obj, > > obj->clean_layer); > > > - if (obj->clip.clipees) > > > - eina_list_free(obj->clip.clipees); > > > + EINA_LIST_FREE(obj->clip.clipees, eo_obj2) > > > + { > > > +Evas_Object_Protected_Data *obj2 = > > > + eo_data_scope_get(eo_obj2, MY_CLASS); > > > +if ((obj2) && (obj2->cur)) > > > + { > > > + EINA_COW_STATE_WRITE_BEGIN(obj2, state_write, cur) > > > + { > > > + state_write->clipper = NULL; > > > + } > > > + EINA_COW_STATE_WRITE_END(obj2, state_write, cur); > > > + } > > > + } > > > +// if (obj->clip.clipees) > > >
Re: [E-devel] [e-users] EFL + Elementary 1.8
Cedric Bail On Nov 3, 2013 11:18 PM, "Carsten Haitzler" wrote: > > On Sun, 3 Nov 2013 22:42:31 +0900 Daniel Juyung Seo said: > > > On Fri, Nov 1, 2013 at 4:32 PM, Carsten Haitzler wrote: > > > > > I've updated our release page to reflect current timelines: > > > > > > https://phab.enlightenment.org/w/efl_and_elementary_1_8/ > > > > > > So expect alphas next week. > > > > > > > So we have an hour and 16 minutes until the feature freeze. > > No more delay? > > How is it going? > > > > Daniel Juyung Seo (SeoZ) > > well as of right now... > > https://phab.enlightenment.org/w/efl_and_elementary_1_8/ > > 40mins left. if the feature is not in by 40 mins from now... then it'll have to > wait until efl/elm 1.9 (about 3months from now). tomorrow i will check in on > doing an alpha-1 - as long as i have the time, and for the next month it's > bug-fix land and otherwise any polishing of things for release (docs, readmes, > changelogs, news). ther's a backlog of patch review requests - many of them are > bugfixes (i went over them yesterday). there is also a large set of actual bug > reports to go over - some may have fixes already attached. that's the job for > the next 4 weeks. clear out those (as best possible) and any other bugs not > aleady filed there that we see/know of. run everything possible and test - use > valgrind to find issues... do our best to make efl 1.8.0 as solid as we can. > but never fear 1.8.1 can come with more fixes and 1.9.0 will come about 4 > months from now. :) We do have three patch to come in. Wayland private header fix, quicklaunch and fixing the race condition in elm theme. All of those should be landing tomorrow. Also it would give sometime to go over phab open ticket and differential. So I am advocating for a one day delay.we're not in a rush anymore and can go with such a delay I think. That will give more eyeball looking at it when we do come close to the deadline also. > > > -- > > > - Codito, ergo sum - "I code, therefore I am" -- > > > The Rasterman (Carsten Haitzler)ras...@rasterman.com > > > > > > > > > > > > -- > > > Android is increasing in popularity, but the open development platform that > > > developers love is also attractive to malware creators. Download this white > > > paper to learn more about secure code signing practices that can help keep > > > Android apps secure. > > > http://pubads.g.doubleclick.net/gampad/clk?id=65839951&iu=/4140/ostg.clktrk > > > ___ > > > enlightenment-devel mailing list > > > enlightenment-devel@lists.sourceforge.net > > > https://lists.sourceforge.net/lists/listinfo/enlightenment-devel > > > > > -- > > Android is increasing in popularity, but the open development platform that > > developers love is also attractive to malware creators. Download this white > > paper to learn more about secure code signing practices that can help keep > > Android apps secure. > > http://pubads.g.doubleclick.net/gampad/clk?id=65839951&iu=/4140/ostg.clktrk > > ___ > > enlightenment-users mailing list > > enlightenment-us...@lists.sourceforge.net > > https://lists.sourceforge.net/lists/listinfo/enlightenment-users > > > > > -- > - Codito, ergo sum - "I code, therefore I am" -- > The Rasterman (Carsten Haitzler)ras...@rasterman.com > > > -- > Android is increasing in popularity, but the open development platform that > developers love is also attractive to malware creators. Download this white > paper to learn more about secure code signing practices that can help keep > Android apps secure. > http://pubads.g.doubleclick.net/gampad/clk?id=65839951&iu=/4140/ostg.clktrk > ___ > enlightenment-devel mailing list > enlightenment-devel@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/enlightenment-devel > -- Android is increasing in popularity, but the open development platform that developers love is also attractive to malware creators. Download this white paper to learn more about secure code signing practices that can help keep Android apps secure. http://pubads.g.doubleclick.net/gampad/clk?id=65839951&iu=/4140/ostg.clktrk ___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
[EGIT] [core/elementary] master 01/01: popup: Added support for popup move. elm_popup_move.
seoz pushed a commit to branch master. http://git.enlightenment.org/core/elementary.git/commit/?id=f67ecb2028dd663aa4b0d9fe78b2a392ac169e7e commit f67ecb2028dd663aa4b0d9fe78b2a392ac169e7e Author: Abhinandan Aryadipta Date: Sun Nov 3 23:01:19 2013 +0900 popup: Added support for popup move. elm_popup_move. Summary: Added support for popup move Test Plan: elm_popup_move Reviewers: seoz, singh.amitesh, tasn, Hermet CC: raster Differential Revision: https://phab.enlightenment.org/D247 --- ChangeLog | 4 NEWS | 1 + src/bin/test_popup.c | 58 ++ src/lib/elc_popup.c| 41 src/lib/elc_popup_eo.h | 14 +++ src/lib/elc_popup_legacy.h | 15 6 files changed, 133 insertions(+) diff --git a/ChangeLog b/ChangeLog index 66e4536..434f65f 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1741,3 +1741,7 @@ * genlist , gengrid: Add ELM_OBJECT_MULTIPLE_SELECT_MODE_WITH_CONTROL. It disallow multiple selection when clicked without control pressed although multiple selection is enabled. + +2013-10-03 Abhinandan Aryadipta (aryarockstar) + +* Popup - Added elm_popup_move() api. diff --git a/NEWS b/NEWS index 4ba58bf..fece1e7 100644 --- a/NEWS +++ b/NEWS @@ -102,6 +102,7 @@ Additions: * Add "virtualkeypad,size,changed" callback on virtualkeypad min size change for conformant. * Add elm_slider_step_get(), elm_slider_step_set() for slider. * Add ELM_OBJECT_MULTIPLE_SELECT_MODE_WITH_CONTROL select mode for genlist/gengrid. + * Add support elm_popup_move() for popup. Improvements: diff --git a/src/bin/test_popup.c b/src/bin/test_popup.c index fa2d06e..945c3df 100644 --- a/src/bin/test_popup.c +++ b/src/bin/test_popup.c @@ -22,6 +22,35 @@ _popup_close_cb(void *data, Evas_Object *obj EINA_UNUSED, } static void +_popup_move_cb(void *data, Evas_Object *obj EINA_UNUSED, + void *event_info EINA_UNUSED) +{ + static int k=0; + + if (k == 0) + elm_popup_move(data, -10, 50);//negative x + else if (k == 1) + elm_popup_move(data, 40, -100);//negative y + else if (k == 2) + elm_popup_move(data, 0, 0);//zero x zero y + else if (k == 3) + elm_popup_move(data, 40, 50); + else if (k == 4) + elm_popup_move(data, 80, 100); + else if (k == 5) + elm_popup_move(data, 120, 150); + else if (k == 6) + elm_popup_move(data, 160, 200); + else if (k == 7) + elm_popup_move(data, 500, );//excess y + else + elm_popup_move(data, , 500);//excess x + k++; + if (k > 8) + k = 0; +} + +static void _g_popup_response_cb(void *data, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED) { @@ -467,6 +496,33 @@ _popup_transparent_cb(void *data, Evas_Object *obj EINA_UNUSED, } static void +_popup_transparent_move_cb(void *data, Evas_Object *obj EINA_UNUSED, + void *event_info EINA_UNUSED) +{ + Evas_Object *popup; + Evas_Object *btn, *btn1; + + popup = elm_popup_add(data); + elm_object_style_set(popup, "transparent"); + elm_object_text_set(popup, "This Popup has transparent background"); + + // popup buttons + btn = elm_button_add(popup); + elm_object_text_set(btn, "Move"); + elm_object_part_content_set(popup, "button1", btn); + evas_object_smart_callback_add(btn, "clicked", _popup_move_cb, popup); + + btn1 = elm_button_add(popup); + elm_object_text_set(btn1, "Close"); + elm_object_part_content_set(popup, "button2", btn1); + evas_object_smart_callback_add(btn1, "clicked", _popup_close_cb, popup); + + // popup show should be called after adding all the contents and the buttons + // of popup to set the focus into popup's contents correctly. + evas_object_show(popup); +} + +static void _list_cb(void *data, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED) { evas_object_del(data); @@ -543,6 +599,8 @@ test_popup(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, _popup_center_text_3button_add_remove_button_cb, win); elm_list_item_append(list, "popup-transparent", NULL, NULL, _popup_transparent_cb, win); + elm_list_item_append(list, "popup-transparent-move", NULL, NULL, +_popup_transparent_move_cb, win); elm_list_item_append(list, "popup-center-title + list content + 1 button", NULL, NULL, _popup_center_title_list_content_1button_cb, win); diff --git a/src/lib/elc_popup.c b/src/lib/elc_popup.c index f873cff..c5b5c98 100644 --- a/src/lib/elc_popup.c +++ b/src/lib/elc_popup.c @@ -1755,6 +1755,45 @@ _orient_get(Eo *obj EINA_UNUSED, void *_pd, va_list *list) } EAPI void +elm_popup_move(Evas_Object *obj, + Evas_Coord x, Evas_Coord y) +{ + ELM_POPUP_CHECK(obj); + eo_do(obj, elm_ob
Re: [E-devel] [e-users] Is there *real* documentation for edje?
At Sun, 3 Nov 2013 22:24:50 +0900 Carsten Haitzler (The Rasterman) wrote: > > On Sun, 3 Nov 2013 07:46:38 -0500 Robert Heller said: > > > At Sun, 3 Nov 2013 14:16:58 +0900 Carsten Haitzler (The Rasterman) > > wrote: > > > > > > > > On Sat, 2 Nov 2013 11:03:28 -0400 Robert Heller > > > said: > > > > > > > At Sat, 2 Nov 2013 23:36:23 +0900 Carsten Haitzler (The Rasterman) > > > > wrote: > > > > > > > > > > > > > > On Sat, 2 Nov 2013 09:57:49 -0400 Robert Heller > > > > > said: > > > > > > > > > > > At Sat, 2 Nov 2013 20:58:03 +0900 Carsten Haitzler (The Rasterman) > > > > > > wrote: > > > > > > > > > > > > > > > > > > > > On Sat, 2 Nov 2013 07:48:23 -0400 Robert Heller > > > > > > > said: > > > > > > > > > > > > > > > At Sat, 2 Nov 2013 18:22:57 +0900 Enlightenment developer list > > > > > > > > wrote: > > > > > > > > > > > > > > > > > > > > > > > > > > On Sat, 02 Nov 2013 02:17:32 -0400 Jose Gonzalez > > > > > > > > > said: > > > > > > > > > > > > > > > > > > > Carsten wrote: > > > > > > > > > > > > > > > > > > > > > On Fri, 01 Nov 2013 05:57:59 -0400 Jose Gonzalez > > > > > > > > > > > said: > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > >> Carsten wrote: > > > > > > > > > > >> > > > > > > > > > > >> > > > > > > > > > > >>> On Fri, 1 Nov 2013 00:40:42 + Andrew F > > > > > > > > > > >>> said: > > > > > > > > > > >>> > > > > > > > > > > >>> > > > > > > > > > > >>> > > > > > > > > > > Hey guys, can someone point me to documentation that > > > > > > > > > > explains what a swallow is? > > > > > > > > > > and how its used. > > > > > > > > > > thanks > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > >>> swallow the name is something i adopted from fvwm2 days > > > > > > > > > > >>> - > > > > > > > > > > >>> it had swallow stuff... and swallows in edje are the > > > > > > > > > > >>> same > > > > > > > > > > >>> thing basically - just with objects. > > > > > > > > > > >>> > > > > > > > > > > >>> didn't you see my link to the swallow docs? > > > > > > > > > > >>> > > > > > > > > > > >>> https://build.enlightenment.org/job/nightly_efl_gcc_x86_64/lastSuccessfulBuild/artifact/doc/html/group__Edje__Part__Swallow.html#ga97d1419f89bff20ba971e47c78641271 > > > > > > > > > > >>> > > > > > > > > > > >>> its there in the efl online docs (thats the latest auto > > > > > > > > > > >>> nightly doc build). > > > > > > > > > > >>> > > > > > > > > > > >>> > > > > > > > > > > >>> > > > > > > > > > > >> Good lord man, yes that's a nice bit of history but > > > > > > > > > > >> do > > > > > > > > > > >> you now want him to look up fwm2's docs as well! :) > > > > > > > > > > >> Also, I can't even access that link you gave... And > > > > > > > > > > >> where is the old pdf that had edje documentation (the > > > > > > > > > > >> edje > > > > > > > > > > >> cookbook or something)? > > > > > > > > > > >> > > > > > > > > > > >> Anyway, why not give a simple explanation of the > > > > > > > > > > >> thing > > > > > > > > > > >> rather than beat around the bush... Something short but > > > > > > > > > > >> to > > > > > > > > > > >> the heart of the matter, like say: > > > > > > > > > > >> > > > > > > > > > > > > > > > > > > > > > > because of the comments that "efl has no docs so its > > > > > > > > > > > impossible to use - this is undocumented anywhere". give a > > > > > > > > > > > man a fish - you feed him for a day. teach a man to fish > > > > > > > > > > > and you feed him for a lifetime. i'm pointing to the docs > > > > > > > > > > > so he can keep looking around and refer to them for more > > > > > > > > > > > questions etc. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > That works both ways. People who ask questions aren't > > > > > > > > > > necessarily idiots and maybe efl devs can benefit from a bit > > > > > > > > > > more practice in directly and concisely answering their > > > > > > > > > > questions - that way not only do they address the particular > > > > > > > > > > issue at hand but also maybe find it easier to write clear > > > > > > > > > > documentation as they go along writing code and even > > > > > > > > > > then, no single wording will ever be clear to everyone. > > > > > > > > > > Remember another cliche: If a thing is truly clear then no > > > > > > > > > > explanation is ever needed. And if it's not, then it's worth > > > > > > > > > > explaining again. > > > > > > > > > > > > > > > > > > given this thread... it appears the original poster/question > > > > > > > > > never even found yhe docs hat are there at all, so pointing to > > > > > > > > > them is the firs port of call imho. if THEY do not suffice - > > > > > > > > > then that is a different matter > > > > > > > > > > > > > > > > > > > > > > > > The docs did not suffice. The explaination below is more than > > > > > > > > anything I founf in the doc
Re: [E-devel] [EGIT] [core/efl] master 03/03: evas - clip shutdown fix to avoid invalid mem accesses
On Sun, 3 Nov 2013 15:00:01 +0100 Cedric BAIL said: > Cedric Bail > On Nov 3, 2013 9:22 PM, "Carsten Haitzler" wrote: > > > > raster pushed a commit to branch master. > > > > > http://git.enlightenment.org/core/efl.git/commit/?id=eb6af1f1ff7ee069eff8bab13c0eed5010ef5660 > > > > commit eb6af1f1ff7ee069eff8bab13c0eed5010ef5660 > > Author: Carsten Haitzler (Rasterman) > > Date: Sun Nov 3 21:43:11 2013 +0900 > > > > evas - clip shutdown fix to avoid invalid mem accesses > > > > many valgrind complaints on e shutdown are there regarding accessing > > cow sections, lists and object elements during shutdown. this plugs > > theses little holes to avoid the invalid accesses and thus avoids > > potential crashes. > > Just thinking here, but we could make cow free set the pointer to the > read-only always valid object? That should keep the code cleaner and less > error prone, I think. whatever it takes to ensure we don't have crashes lurking. :) > > --- > > src/lib/evas/canvas/evas_clip.c| 20 > > src/lib/evas/canvas/evas_object_main.c | 25 ++--- > > 2 files changed, 34 insertions(+), 11 deletions(-) > > > > diff --git a/src/lib/evas/canvas/evas_clip.c > b/src/lib/evas/canvas/evas_clip.c > > index 76cddc0..5dfbc48 100644 > > --- a/src/lib/evas/canvas/evas_clip.c > > +++ b/src/lib/evas/canvas/evas_clip.c > > @@ -369,6 +369,7 @@ _clip_unset(Eo *eo_obj, void *_pd, va_list *list > EINA_UNUSED) > > { > > Evas_Object_Protected_Data *obj = _pd; > > > > + if (!obj->cur) return; > > if (!obj->cur->clipper) return; > > > > obj->clip.cache_clipees_answer = > eina_list_free(obj->clip.cache_clipees_answer); > > @@ -386,7 +387,7 @@ _clip_unset(Eo *eo_obj, void *_pd, va_list *list > EINA_UNUSED) > >{ > > EINA_COW_STATE_WRITE_BEGIN(obj->cur->clipper, state_write, > cur) > > { > > - state_write->have_clipees = 0; > > + if (state_write) state_write->have_clipees = 0; > > } > > EINA_COW_STATE_WRITE_END(obj->cur->clipper, state_write, > cur); > > > > @@ -417,14 +418,17 @@ _clip_unset(Eo *eo_obj, void *_pd, va_list *list > EINA_UNUSED) > > if ((!obj->is_smart) && > > (!((obj->map->cur.map) && (obj->map->cur.usemap > > { > > -if (evas_object_is_in_output_rect(eo_obj, obj, > > +if (obj->cur) > > + { > > + if (evas_object_is_in_output_rect(eo_obj, obj, > > + > obj->layer->evas->pointer.x, > > + > obj->layer->evas->pointer.y, 1, 1)) > > + evas_event_feed_mouse_move(obj->layer->evas->evas, > >obj->layer->evas->pointer.x, > > - obj->layer->evas->pointer.y, > 1, 1)) > > - evas_event_feed_mouse_move(obj->layer->evas->evas, > > - obj->layer->evas->pointer.x, > > - obj->layer->evas->pointer.y, > > - obj->layer->evas->last_timestamp, > > - NULL); > > + obj->layer->evas->pointer.y, > > + > obj->layer->evas->last_timestamp, > > + NULL); > > + } > > } > > evas_object_clip_across_check(eo_obj, obj); > > } > > diff --git a/src/lib/evas/canvas/evas_object_main.c > b/src/lib/evas/canvas/evas_object_main.c > > index 27fc7ad..c779f2d 100644 > > --- a/src/lib/evas/canvas/evas_object_main.c > > +++ b/src/lib/evas/canvas/evas_object_main.c > > @@ -141,6 +141,7 @@ void > > evas_object_free(Evas_Object *eo_obj, int clean_layer) > > { > > Evas_Object_Protected_Data *obj = eo_data_scope_get(eo_obj, MY_CLASS); > > + Evas_Object *eo_obj2; > > if (!obj) return; > > obj->clean_layer = clean_layer; > > > > @@ -171,8 +172,21 @@ evas_object_free(Evas_Object *eo_obj, int > clean_layer) > > obj->func->free(eo_obj, obj, obj->private_data); > > } > > if (!was_smart_child) evas_object_release(eo_obj, obj, > obj->clean_layer); > > - if (obj->clip.clipees) > > - eina_list_free(obj->clip.clipees); > > + EINA_LIST_FREE(obj->clip.clipees, eo_obj2) > > + { > > +Evas_Object_Protected_Data *obj2 = > > + eo_data_scope_get(eo_obj2, MY_CLASS); > > +if ((obj2) && (obj2->cur)) > > + { > > + EINA_COW_STATE_WRITE_BEGIN(obj2, state_write, cur) > > + { > > + state_write->clipper = NULL; > > + } > > + EINA_COW_STATE_WRITE_END(obj2, state_write, cur); > > + } > > + } > > +// if (obj->clip.clipees) > > +// obj->clip.clipees = eina_list_free(obj->clip.clipees); > > obj->clip.cache_clipees_answer = > eina_list_free(obj->clip.cache_clipees_answer); > > evas_object_clip_changes_clean(eo_obj); > > evas_object_event_call
[EGIT] [enlightenment/modules/packagekit] master 02/02: Make translations works
davemds pushed a commit to branch master. http://git.enlightenment.org/enlightenment/modules/packagekit.git/commit/?id=ce300dd079e2069feda8f7c443d446694f640240 commit ce300dd079e2069feda8f7c443d446694f640240 Author: davemds Date: Sun Nov 3 15:04:06 2013 +0100 Make translations works --- .gitignore | 50 Makefile.am | 10 +++ configure.ac | 16 +-- po/Makevars | 41 ++ po/it.po | 88 src/e_mod_main.c | 6 +++- 6 files changed, 197 insertions(+), 14 deletions(-) diff --git a/.gitignore b/.gitignore new file mode 100644 index 000..29251f8 --- /dev/null +++ b/.gitignore @@ -0,0 +1,50 @@ +po/*.gmo +po/Makefile +po/Makefile.in +po/Makefile.in.in +po/Makevars.template +po/POTFILES +po/Rules-quot +po/boldquot.sed +po/en@boldquot.header +po/en@quot.header +po/insert-header.sin +po/*.pot +po/quot.sed +po/remove-potcdate.sed +po/remove-potcdate.sin +po/stamp-po +m4/codeset.m4 +m4/gettext.m4 +m4/glibc21.m4 +m4/iconv.m4 +m4/intdiv0.m4 +m4/intmax.m4 +m4/inttypes-pri.m4 +m4/inttypes.m4 +m4/inttypes_h.m4 +m4/isc-posix.m4 +m4/lcmessage.m4 +m4/lib-ld.m4 +m4/lib-link.m4 +m4/lib-prefix.m4 +m4/libtool.m4 +m4/longdouble.m4 +m4/longlong.m4 +m4/ltoptions.m4 +m4/ltsugar.m4 +m4/ltversion.m4 +m4/lt~obsolete.m4 +m4/nls.m4 +m4/po.m4 +m4/printf-posix.m4 +m4/progtest.m4 +m4/signed.m4 +m4/size_max.m4 +m4/stdint_h.m4 +m4/uintmax_t.m4 +m4/ulonglong.m4 +m4/wchar_t.m4 +m4/wint_t.m4 +m4/xsize.m4 + diff --git a/Makefile.am b/Makefile.am index 4daa3a3..351b744 100644 --- a/Makefile.am +++ b/Makefile.am @@ -6,11 +6,11 @@ MAINTAINERCLEANFILES = Makefile.in aclocal.m4 config.guess config.h.in \ SUBDIRS = src -# if HAVE_PO +if HAVE_PO -# SUBDIRS += po +SUBDIRS += po -# endif +endif EDJE_FLAGS = -v \ -id $(top_srcdir)/images @@ -19,14 +19,14 @@ filesdir = $(datadir) files_DATA = module.desktop e-module-packagekit.edj EXTRA_DIST = module.desktop.in \ - e_modules-packagekit.spec \ + e_modules-packagekit.spec.in \ e-module-packagekit.edc %.edj: %.edc $(EDJE_CC) $(EDJE_FLAGS) $< $@ clean-local: -rm -rf e-module-packagekit.edj module.desktop e_modules-scale.spec *~ +rm -rf e-module-packagekit.edj module.desktop e_modules-packagekit.spec *~ uninstall: rm -rf $(DESTDIR)$(datadir) diff --git a/configure.ac b/configure.ac index aae67e0..3b156f7 100644 --- a/configure.ac +++ b/configure.ac @@ -11,8 +11,8 @@ AC_CANONICAL_HOST AC_ISC_POSIX AM_INIT_AUTOMAKE(1.8) -AC_CONFIG_HEADERS(config.h) m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])]) +AC_CONFIG_HEADERS(config.h) AC_PROG_CC AC_HEADER_STDC @@ -27,13 +27,13 @@ m4_ifdef([AM_GNU_GETTEXT_VERSION], [ AM_GNU_GETTEXT_VERSION([0.14]) ]) -# m4_ifdef([AM_GNU_GETTEXT], [ -# AM_GNU_GETTEXT([external]) -# po_makefile_in=po/Makefile.in -# AM_CONDITIONAL([HAVE_PO], [true]) -# ],[ -# AM_CONDITIONAL([HAVE_PO], [false]) -# ]) +m4_ifdef([AM_GNU_GETTEXT], [ +AM_GNU_GETTEXT([external]) +po_makefile_in=po/Makefile.in +AM_CONDITIONAL([HAVE_PO], [true]) +],[ +AM_CONDITIONAL([HAVE_PO], [false]) +]) AC_SUBST(LTLIBINTL) PKG_CHECK_MODULES(E, [enlightenment]) diff --git a/po/Makevars b/po/Makevars new file mode 100644 index 000..9275c25 --- /dev/null +++ b/po/Makevars @@ -0,0 +1,41 @@ +# Makefile variables for PO directory in any package using GNU gettext. + +# Usually the message domain is the same as the package name. +DOMAIN = $(PACKAGE) + +# These two variables depend on the location of this directory. +subdir = po +top_builddir = .. + +# These options get passed to xgettext. +XGETTEXT_OPTIONS = --keyword=N_ --keyword=D_ --from-code=UTF-8 --foreign-user + +# This is the copyright holder that gets inserted into the header of the +# $(DOMAIN).pot file. Set this to the copyright holder of the surrounding +# package. (Note that the msgstr strings, extracted from the package's +# sources, belong to the copyright holder of the package.) Translators are +# expected to transfer the copyright for their translations to this person +# or entity, or to disclaim their copyright. The empty string stands for +# the public domain; in this case the translators are expected to disclaim +# their copyright. +COPYRIGHT_HOLDER = Enlightenment development team + +# This is the email address or URL to which the translators shall report +# bugs in the untranslated strings: +# - Strings which are not entire sentences, see the maintainer guidelines +# in the GNU gettext documentation, section 'Preparing Strings'. +# - Strings which use unclear terms or require additional context to be +# understood. +# - Strings which make invalid assumptions about notation of date, time or +# money. +# - Pluralisation problems. +# - Incorrect English spelling. +# - Incorrect formatting. +# It can be your email address, or a mailing list address where translators
Re: [E-devel] [EGIT] [core/efl] master 03/03: evas - clip shutdown fix to avoid invalid mem accesses
Cedric Bail On Nov 3, 2013 9:22 PM, "Carsten Haitzler" wrote: > > raster pushed a commit to branch master. > > http://git.enlightenment.org/core/efl.git/commit/?id=eb6af1f1ff7ee069eff8bab13c0eed5010ef5660 > > commit eb6af1f1ff7ee069eff8bab13c0eed5010ef5660 > Author: Carsten Haitzler (Rasterman) > Date: Sun Nov 3 21:43:11 2013 +0900 > > evas - clip shutdown fix to avoid invalid mem accesses > > many valgrind complaints on e shutdown are there regarding accessing > cow sections, lists and object elements during shutdown. this plugs > theses little holes to avoid the invalid accesses and thus avoids > potential crashes. Just thinking here, but we could make cow free set the pointer to the read-only always valid object? That should keep the code cleaner and less error prone, I think. > --- > src/lib/evas/canvas/evas_clip.c| 20 > src/lib/evas/canvas/evas_object_main.c | 25 ++--- > 2 files changed, 34 insertions(+), 11 deletions(-) > > diff --git a/src/lib/evas/canvas/evas_clip.c b/src/lib/evas/canvas/evas_clip.c > index 76cddc0..5dfbc48 100644 > --- a/src/lib/evas/canvas/evas_clip.c > +++ b/src/lib/evas/canvas/evas_clip.c > @@ -369,6 +369,7 @@ _clip_unset(Eo *eo_obj, void *_pd, va_list *list EINA_UNUSED) > { > Evas_Object_Protected_Data *obj = _pd; > > + if (!obj->cur) return; > if (!obj->cur->clipper) return; > > obj->clip.cache_clipees_answer = eina_list_free(obj->clip.cache_clipees_answer); > @@ -386,7 +387,7 @@ _clip_unset(Eo *eo_obj, void *_pd, va_list *list EINA_UNUSED) >{ > EINA_COW_STATE_WRITE_BEGIN(obj->cur->clipper, state_write, cur) > { > - state_write->have_clipees = 0; > + if (state_write) state_write->have_clipees = 0; > } > EINA_COW_STATE_WRITE_END(obj->cur->clipper, state_write, cur); > > @@ -417,14 +418,17 @@ _clip_unset(Eo *eo_obj, void *_pd, va_list *list EINA_UNUSED) > if ((!obj->is_smart) && > (!((obj->map->cur.map) && (obj->map->cur.usemap > { > -if (evas_object_is_in_output_rect(eo_obj, obj, > +if (obj->cur) > + { > + if (evas_object_is_in_output_rect(eo_obj, obj, > + obj->layer->evas->pointer.x, > + obj->layer->evas->pointer.y, 1, 1)) > + evas_event_feed_mouse_move(obj->layer->evas->evas, >obj->layer->evas->pointer.x, > - obj->layer->evas->pointer.y, 1, 1)) > - evas_event_feed_mouse_move(obj->layer->evas->evas, > - obj->layer->evas->pointer.x, > - obj->layer->evas->pointer.y, > - obj->layer->evas->last_timestamp, > - NULL); > + obj->layer->evas->pointer.y, > + obj->layer->evas->last_timestamp, > + NULL); > + } > } > evas_object_clip_across_check(eo_obj, obj); > } > diff --git a/src/lib/evas/canvas/evas_object_main.c b/src/lib/evas/canvas/evas_object_main.c > index 27fc7ad..c779f2d 100644 > --- a/src/lib/evas/canvas/evas_object_main.c > +++ b/src/lib/evas/canvas/evas_object_main.c > @@ -141,6 +141,7 @@ void > evas_object_free(Evas_Object *eo_obj, int clean_layer) > { > Evas_Object_Protected_Data *obj = eo_data_scope_get(eo_obj, MY_CLASS); > + Evas_Object *eo_obj2; > if (!obj) return; > obj->clean_layer = clean_layer; > > @@ -171,8 +172,21 @@ evas_object_free(Evas_Object *eo_obj, int clean_layer) > obj->func->free(eo_obj, obj, obj->private_data); > } > if (!was_smart_child) evas_object_release(eo_obj, obj, obj->clean_layer); > - if (obj->clip.clipees) > - eina_list_free(obj->clip.clipees); > + EINA_LIST_FREE(obj->clip.clipees, eo_obj2) > + { > +Evas_Object_Protected_Data *obj2 = > + eo_data_scope_get(eo_obj2, MY_CLASS); > +if ((obj2) && (obj2->cur)) > + { > + EINA_COW_STATE_WRITE_BEGIN(obj2, state_write, cur) > + { > + state_write->clipper = NULL; > + } > + EINA_COW_STATE_WRITE_END(obj2, state_write, cur); > + } > + } > +// if (obj->clip.clipees) > +// obj->clip.clipees = eina_list_free(obj->clip.clipees); > obj->clip.cache_clipees_answer = eina_list_free(obj->clip.cache_clipees_answer); > evas_object_clip_changes_clean(eo_obj); > evas_object_event_callback_all_del(eo_obj); > @@ -188,12 +202,17 @@ evas_object_free(Evas_Object *eo_obj, int clean_layer) > } > if (obj->size_hints) > { > - EVAS_MEMPOOL_FREE(_mp_sh, obj->size_hints); > +EVAS_MEMPOOL_FREE(_mp_sh, obj->size_hints); > +obj->size_hints = NULL; > } > eina_cow_free(evas_object_proxy_cow, obj->proxy); > e
Re: [E-devel] [EGIT] [core/elementary] master 01/01: genlist, gengrid: Add ELM_OBJECT_MULTIPLE_SELECT_MODE_WITH_CONTROL
I think this needs to be changed to use "multiple select mode" not a "normal select mode" 1. Multiple select mode is not relevant to a normal select mode and they could be used at the same time. ex) ELM_OBJECT_MULTIPLE_SELECT_MODE_WITH_CONTROL & ELM_OBJECT_SELECT_MODE_DEFAULT/ALWAYS/NONE/DISPLAY_ONLY 2. This is valid only when multi select mode is on. 3. Elm_Object_Select_Mode can be set differently for each item. But multi select mode is not. Daniel Juyung Seo (SeoZ) On Sat, Nov 2, 2013 at 8:54 PM, Ryuan Choi wrote: > raster pushed a commit to branch master. > > > http://git.enlightenment.org/core/elementary.git/commit/?id=5618d0c57f58bad9898e4f78e1cceb1e8d51d9c3 > > commit 5618d0c57f58bad9898e4f78e1cceb1e8d51d9c3 > Author: Ryuan Choi > Date: Sat Nov 2 20:50:59 2013 +0900 > > genlist, gengrid: Add ELM_OBJECT_MULTIPLE_SELECT_MODE_WITH_CONTROL > > Summary: > Some applications like file viewer allow multiple selection only with > Control key was pressed. > > Reviewers: seoz, raster > > Reviewed By: raster > > Differential Revision: https://phab.enlightenment.org/D251 > > Conflicts: > ChangeLog > NEWS > --- > ChangeLog| 6 ++ > NEWS | 1 + > src/lib/elm_general.h| 1 + > src/lib/elm_gengrid.c| 4 +++- > src/lib/elm_gengrid_legacy.h | 4 > src/lib/elm_genlist.c| 4 +++- > src/lib/elm_genlist_legacy.h | 4 > 7 files changed, 22 insertions(+), 2 deletions(-) > > diff --git a/ChangeLog b/ChangeLog > index 0060f0a..66e4536 100644 > --- a/ChangeLog > +++ b/ChangeLog > @@ -1735,3 +1735,9 @@ > 2013-10-30 Shilpa Onkar Singh > > * slider: Added elm_slider_step_get(), elm_slider_step_set(). > + > +2013-10-02 Ryuan Choi (ryuan) > + > +* genlist , gengrid: Add > ELM_OBJECT_MULTIPLE_SELECT_MODE_WITH_CONTROL. > +It disallow multiple selection when clicked without control > pressed although > +multiple selection is enabled. > diff --git a/NEWS b/NEWS > index 9342851..4ba58bf 100644 > --- a/NEWS > +++ b/NEWS > @@ -101,6 +101,7 @@ Additions: > * Add support for "clicked" callback on Return/space/KP_Enter key > press for image. > * Add "virtualkeypad,size,changed" callback on virtualkeypad min size > change for conformant. > * Add elm_slider_step_get(), elm_slider_step_set() for slider. > + * Add ELM_OBJECT_MULTIPLE_SELECT_MODE_WITH_CONTROL select mode for > genlist/gengrid. > > Improvements: > > diff --git a/src/lib/elm_general.h b/src/lib/elm_general.h > index 2ad5d2d..9f5e140 100644 > --- a/src/lib/elm_general.h > +++ b/src/lib/elm_general.h > @@ -126,6 +126,7 @@ typedef enum > ELM_OBJECT_SELECT_MODE_ALWAYS, /**< always select mode */ > ELM_OBJECT_SELECT_MODE_NONE, /**< no select mode */ > ELM_OBJECT_SELECT_MODE_DISPLAY_ONLY, /**< no select mode with no > finger size rule*/ > + ELM_OBJECT_MULTIPLE_SELECT_MODE_WITH_CONTROL, /**< disallow mutiple > selection when clicked without control key pressed */ > ELM_OBJECT_SELECT_MODE_MAX > } Elm_Object_Select_Mode; > > diff --git a/src/lib/elm_gengrid.c b/src/lib/elm_gengrid.c > index b315bf5..883d4fb 100644 > --- a/src/lib/elm_gengrid.c > +++ b/src/lib/elm_gengrid.c > @@ -596,7 +596,9 @@ _item_mouse_up_cb(void *data, >_elm_gengrid_item_unrealize(it, EINA_FALSE); > } > if (elm_widget_item_disabled_get(it) || (dragged)) return; > - if (sd->multi) > + if (sd->multi && > + ((sd->select_mode != ELM_OBJECT_MULTIPLE_SELECT_MODE_WITH_CONTROL) > || > +(evas_key_modifier_is_set(ev->modifiers, "Control" > { > if (!it->selected) >{ > diff --git a/src/lib/elm_gengrid_legacy.h b/src/lib/elm_gengrid_legacy.h > index f55edc0..0f09c70 100644 > --- a/src/lib/elm_gengrid_legacy.h > +++ b/src/lib/elm_gengrid_legacy.h > @@ -799,8 +799,12 @@ EAPI Eina_Bool > elm_gengrid_filled_get(const Evas_Object *obj > * - ELM_OBJECT_SELECT_MODE_NONE : This will turn off the ability to > select items > * entirely and they will neither appear selected nor call selected > * callback functions. > + * - ELM_OBJECT_MULTIPLE_SELECT_MODE_WITH_CONTROL : Only one item will be > selected > + * although multi-selection is enabled, if clicked without pressing > control > + * key. This mode is only available with multi-selection. > * > * @see elm_gengrid_select_mode_get() > + * @see elm_gengrid_multi_select_set() > * > * @ingroup Gengrid > */ > diff --git a/src/lib/elm_genlist.c b/src/lib/elm_genlist.c > index ff3c8b0..cdb27be 100644 > --- a/src/lib/elm_genlist.c > +++ b/src/lib/elm_genlist.c > @@ -4220,7 +4220,9 @@ _item_mouse_up_cb(void *data, > return; > > if (ev->event_flags & EVAS_EVENT_FLAG_ON_HOLD) return; > - if (sd->multi) > + if (sd->multi && > + ((sd->select_mode != ELM_OBJECT_MULTIPLE_SELECT_MODE_WITH_CONTROL) > || > +(evas_key_modifier_is_set(ev->modifiers, "Control" >
Re: [E-devel] [e-users] EFL + Elementary 1.8
On Sun, 3 Nov 2013 22:42:31 +0900 Daniel Juyung Seo said: > On Fri, Nov 1, 2013 at 4:32 PM, Carsten Haitzler wrote: > > > I've updated our release page to reflect current timelines: > > > > https://phab.enlightenment.org/w/efl_and_elementary_1_8/ > > > > So expect alphas next week. > > > > So we have an hour and 16 minutes until the feature freeze. > No more delay? > How is it going? > > Daniel Juyung Seo (SeoZ) well as of right now... https://phab.enlightenment.org/w/efl_and_elementary_1_8/ 40mins left. if the feature is not in by 40 mins from now... then it'll have to wait until efl/elm 1.9 (about 3months from now). tomorrow i will check in on doing an alpha-1 - as long as i have the time, and for the next month it's bug-fix land and otherwise any polishing of things for release (docs, readmes, changelogs, news). ther's a backlog of patch review requests - many of them are bugfixes (i went over them yesterday). there is also a large set of actual bug reports to go over - some may have fixes already attached. that's the job for the next 4 weeks. clear out those (as best possible) and any other bugs not aleady filed there that we see/know of. run everything possible and test - use valgrind to find issues... do our best to make efl 1.8.0 as solid as we can. but never fear 1.8.1 can come with more fixes and 1.9.0 will come about 4 months from now. :) > > -- > > - Codito, ergo sum - "I code, therefore I am" -- > > The Rasterman (Carsten Haitzler)ras...@rasterman.com > > > > > > > > -- > > Android is increasing in popularity, but the open development platform that > > developers love is also attractive to malware creators. Download this white > > paper to learn more about secure code signing practices that can help keep > > Android apps secure. > > http://pubads.g.doubleclick.net/gampad/clk?id=65839951&iu=/4140/ostg.clktrk > > ___ > > enlightenment-devel mailing list > > enlightenment-devel@lists.sourceforge.net > > https://lists.sourceforge.net/lists/listinfo/enlightenment-devel > > > -- > Android is increasing in popularity, but the open development platform that > developers love is also attractive to malware creators. Download this white > paper to learn more about secure code signing practices that can help keep > Android apps secure. > http://pubads.g.doubleclick.net/gampad/clk?id=65839951&iu=/4140/ostg.clktrk > ___ > enlightenment-users mailing list > enlightenment-us...@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/enlightenment-users > -- - Codito, ergo sum - "I code, therefore I am" -- The Rasterman (Carsten Haitzler)ras...@rasterman.com -- Android is increasing in popularity, but the open development platform that developers love is also attractive to malware creators. Download this white paper to learn more about secure code signing practices that can help keep Android apps secure. http://pubads.g.doubleclick.net/gampad/clk?id=65839951&iu=/4140/ostg.clktrk ___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
Re: [E-devel] EFL + Elementary 1.8
On Fri, Nov 1, 2013 at 4:32 PM, Carsten Haitzler wrote: > I've updated our release page to reflect current timelines: > > https://phab.enlightenment.org/w/efl_and_elementary_1_8/ > > So expect alphas next week. > So we have an hour and 16 minutes until the feature freeze. No more delay? How is it going? Daniel Juyung Seo (SeoZ) > > -- > - Codito, ergo sum - "I code, therefore I am" -- > The Rasterman (Carsten Haitzler)ras...@rasterman.com > > > > -- > Android is increasing in popularity, but the open development platform that > developers love is also attractive to malware creators. Download this white > paper to learn more about secure code signing practices that can help keep > Android apps secure. > http://pubads.g.doubleclick.net/gampad/clk?id=65839951&iu=/4140/ostg.clktrk > ___ > enlightenment-devel mailing list > enlightenment-devel@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/enlightenment-devel > -- Android is increasing in popularity, but the open development platform that developers love is also attractive to malware creators. Download this white paper to learn more about secure code signing practices that can help keep Android apps secure. http://pubads.g.doubleclick.net/gampad/clk?id=65839951&iu=/4140/ostg.clktrk ___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
[EGIT] [apps/espionage] master 02/03: Espionage: gitignore++ and make setup.py executable
davemds pushed a commit to branch master. http://git.enlightenment.org/apps/espionage.git/commit/?id=b155b699f16cc5e982e7bcca95e9a73c980966a7 commit b155b699f16cc5e982e7bcca95e9a73c980966a7 Author: davemds Date: Sat Nov 2 18:30:09 2013 +0100 Espionage: gitignore++ and make setup.py executable --- .gitignore | 1 + setup.py | 0 2 files changed, 1 insertion(+) diff --git a/.gitignore b/.gitignore new file mode 100644 index 000..567609b --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +build/ diff --git a/setup.py b/setup.py old mode 100644 new mode 100755 --
[EGIT] [apps/espionage] master 03/03: Espionage: improved toolbar with checkbox for options
davemds pushed a commit to branch master. http://git.enlightenment.org/apps/espionage.git/commit/?id=eeb4ae57529b8db8f1baaf29a2f8eae2977013f1 commit eeb4ae57529b8db8f1baaf29a2f8eae2977013f1 Author: davemds Date: Sat Nov 2 19:58:47 2013 +0100 Espionage: improved toolbar with checkbox for options --- espionage/espionage.py | 94 ++ 1 file changed, 64 insertions(+), 30 deletions(-) diff --git a/espionage/espionage.py b/espionage/espionage.py index 8c955e4..545d682 100644 --- a/espionage/espionage.py +++ b/espionage/espionage.py @@ -25,6 +25,7 @@ from xml.etree import ElementTree from efl import evas from efl import elementary as elm +from efl.evas import EVAS_HINT_EXPAND, EVAS_HINT_FILL from efl.elementary.window import StandardWindow from efl.elementary.background import Background from efl.elementary.box import Box @@ -38,6 +39,7 @@ from efl.elementary.label import Label from efl.elementary.panes import Panes from efl.elementary.popup import Popup from efl.elementary.separator import Separator +from efl.elementary.table import Table from efl.elementary.genlist import Genlist, GenlistItem, GenlistItemClass from efl.dbus_mainloop import DBusEcoreMainLoop @@ -45,7 +47,8 @@ from efl.dbus_mainloop import DBusEcoreMainLoop class Options(object): """class to contain application options""" def __init__(self): -self.hide_introspect_stuff = False +self.show_introspect_stuff = False +self.show_private_stuff = False self.pretty_output = True @@ -274,10 +277,11 @@ class NamesList(Genlist): self.public_group = self.item_append(self.itc_g, "Public Services", flags=elm.ELM_GENLIST_ITEM_GROUP) self.public_group.select_mode_set(elm.ELM_OBJECT_SELECT_MODE_DISPLAY_ONLY) - -self.private_group = self.item_append(self.itc_g, "Private Services", - flags=elm.ELM_GENLIST_ITEM_GROUP) - self.private_group.select_mode_set(elm.ELM_OBJECT_SELECT_MODE_DISPLAY_ONLY) + +if options.show_private_stuff: +self.private_group = self.item_append(self.itc_g, "Private Services", + flags=elm.ELM_GENLIST_ITEM_GROUP) + self.private_group.select_mode_set(elm.ELM_OBJECT_SELECT_MODE_DISPLAY_ONLY) # populate the genlist self.populate() @@ -295,7 +299,8 @@ class NamesList(Genlist): def clear(self): self.public_group.subitems_clear() -self.private_group.subitems_clear() +if options.show_private_stuff: +self.private_group.subitems_clear() def item_selected_cb(self, gl, item): name = item.data @@ -303,13 +308,13 @@ class NamesList(Genlist): def sort_cb(self, it1, it2): return 1 if it1.data.lower() < it2.data.lower() else -1 - def service_add(self, name): # print("service_add('%s')" % name) if name.startswith(":"): -self.item_sorted_insert(self.itc, name, self.sort_cb, -self.private_group, 0, None) +if options.show_private_stuff: +self.item_sorted_insert(self.itc, name, self.sort_cb, +self.private_group, 0, None) else: self.item_sorted_insert(self.itc, name, self.sort_cb, self.public_group, 0, None) @@ -364,6 +369,7 @@ class DetailList(Genlist): def __init__(self, parent): Genlist.__init__(self, parent) self._parent = parent +self.service_name = None self.itc = NodeItemClass() self.itc_g = ObjectItemClass() self.callback_expand_request_add(self.expand_request_cb) @@ -371,10 +377,9 @@ class DetailList(Genlist): self.callback_contract_request_add(self.contract_request_cb) self.callback_contracted_add(self.contracted_cb) self.callback_clicked_double_add(self.double_click_cb) - - + def populate(self, name): -print("populate: %s" % name) +self.service_name = name self.clear() # objects @@ -385,7 +390,7 @@ class DetailList(Genlist): # interfaces for iface in obj.interfaces: -if options.hide_introspect_stuff and \ +if not options.show_introspect_stuff and \ iface.name.startswith("org.freedesktop.DBus"): continue iface_item = self.item_append(self.itc, iface, @@ -457,8 +462,8 @@ class MethodRunner(Popup): en.scrollable = True en.single_line = True en.entry = '' -en.size_hint_weight = evas.EVAS_HINT_EXPAND, evas.EVAS_HINT_EXPAND -en.size_hint_align = evas.EVAS_HINT_FILL, evas.EVAS_HINT_FILL +en.size_hint_weight = EVAS_HINT_EXPAND, EVAS_HIN
Re: [E-devel] Extend Evas pointer struct to keep list of grabbed objects?
On Sun, 03 Nov 2013 09:56:45 + Thomas Strobel said: > On Sun, 2013-11-03 at 14:49 +0900, Carsten Haitzler wrote: > > > On Sat, 02 Nov 2013 08:55:50 + Thomas Strobel said: > > > > > Hi everyone, > > > > > > I wanted to extend Evas' pointer for a way to selectively grab certain > > > events, while repeating others. After looking at the event system for a > > > while, I'm currently thinking that the cleanest way would probably be to > > > extend Evas' pointer struct for a list which keeps track of all grabbed > > > object, and to use the current pointer.objects.in to just account for > > > objects where the pointer is "pointing" into. > > > > > > Changing Evas on such a deep level could trigger a lot of side effects, > > > and so I wanted to ask you if you had any idea how to implement a > > > selective event grabbing? > > > > yes. it will. which means the current behavior has to stay and NEW behavior > > has to be explicitly requested. that is possible. (eg request a new pointer > > grab mode). > > > > now the use i can see is actually multitouch and./or pen support WHEN you > > want pen ANd mouse AND touch all to be independent and not linked (touch > > doesnt affect mouse - pen does not either etc.). and at least for the case > > of multi touch where you may want each touch point to have its own grab > > "pointer.in" list thats separate of the primary (first) touch/mouse. > > Or, Multi-pointer X, but that's not quite what I'm after. I am looking > for a way to grab certain events from one pointer with an object, let's > say DOWN/UP, let the object follow others, e.g. MOVE, but still forward > the non-grabbed events back into the object hierarchy. this seems useufl indeed for multi-pointer too. > > > A selective event grabbing would be very handy to implement a drag and > > > drop system for Evas objects. > > > > > > Many thanks in advance! > > > > what about the current event system disallows for implementing dnd? :) > > To me it seems that currently an object needs to grab the mouse pointer > to get e.g. MOVE updates and UP events. But this means that other > objects can't receive IN/OUT events anymore, and so they can't detect > whether the dragging pointer went in or not. Or, is there a smart way > around? if you move the object WITH the mouse .. this object follows. that means then the pointer ends up IN the object u drag all the time... not in the target drop object. this is the case in xdnd in x11 too... the solution is for whoever is handling the drag to query the object(s) UNDER the drag point and then send a SPECIAL "someone is trying to drag IN to you.. what do you want to do?"... similar with drop (mouse-up). :) -- - Codito, ergo sum - "I code, therefore I am" -- The Rasterman (Carsten Haitzler)ras...@rasterman.com -- Android is increasing in popularity, but the open development platform that developers love is also attractive to malware creators. Download this white paper to learn more about secure code signing practices that can help keep Android apps secure. http://pubads.g.doubleclick.net/gampad/clk?id=65839951&iu=/4140/ostg.clktrk ___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
Re: [E-devel] [EGIT] [core/elementary] master 01/01: elm access - if we disable apis then disable the tests too - unbreak build
On Sun, 3 Nov 2013 17:08:27 +0900 Daniel Juyung Seo said: > Good catch. > Thanks for the fix. > I tested that after removing elm_access header from > /usr/local/include/elementary-1, how did it work for me? :( > > Daniel Juyung Seo (SeoZ) dunno... but i've had a busy weekend with patches, reviews, and fixing things. :) > > On Sat, Nov 2, 2013 at 10:48 AM, Carsten Haitzler wrote: > > > raster pushed a commit to branch master. > > > > > > http://git.enlightenment.org/core/elementary.git/commit/?id=d8b3cdb28f5334f9429959109af4b960bf414097 > > > > commit d8b3cdb28f5334f9429959109af4b960bf414097 > > Author: Carsten Haitzler (Rasterman) > > Date: Sat Nov 2 10:48:12 2013 +0900 > > > > elm access - if we disable apis then disable the tests too - unbreak > > build > > --- > > src/bin/test.c| 14 +++--- > > src/bin/test_access.c | 3 +++ > > 2 files changed, 10 insertions(+), 7 deletions(-) > > > > diff --git a/src/bin/test.c b/src/bin/test.c > > index 963f386..4a8f472 100755 > > --- a/src/bin/test.c > > +++ b/src/bin/test.c > > @@ -10,9 +10,9 @@ > > int _log_domain = -1; > > > > /* all tests prototypes */ > > -void test_access(void *data, Evas_Object *obj, void *event_info); > > -void test_access2(void *data, Evas_Object *obj, void *event_info); > > -void test_access3(void *data, Evas_Object *obj, void *event_info); > > +//void test_access(void *data, Evas_Object *obj, void *event_info); > > +//void test_access2(void *data, Evas_Object *obj, void *event_info); > > +//void test_access3(void *data, Evas_Object *obj, void *event_info); > > void test_bg_plain(void *data, Evas_Object *obj, void *event_info); > > void test_bg_image(void *data, Evas_Object *obj, void *event_info); > > void test_bg_options(void *data, Evas_Object *obj, void *event_info); > > @@ -458,7 +458,7 @@ my_win_main(const char *autorun, Eina_Bool > > test_win_only) > > evas_object_show(lb); > > > > /* This label will not be read out */ > > - elm_access_object_unregister(lb); > > +// elm_access_object_unregister(lb); > > > > tg = elm_check_add(win); > > elm_object_style_set(tg, "toggle"); > > @@ -802,9 +802,9 @@ add_tests: > > ADD_TEST(NULL, "Miscellaneous", "Icon Desktops", test_icon_desktops); > > ADD_TEST(NULL, "Miscellaneous", "Floating Objects", test_floating); > > ADD_TEST(NULL, "Miscellaneous", "Configuration", test_config); > > - ADD_TEST(NULL, "Miscellaneous", "Accessibility", test_access); > > - ADD_TEST(NULL, "Miscellaneous", "Accessibility2", test_access2); > > - ADD_TEST(NULL, "Miscellaneous", "Accessibility3", test_access3); > > +// ADD_TEST(NULL, "Miscellaneous", "Accessibility", test_access); > > +// ADD_TEST(NULL, "Miscellaneous", "Accessibility2", test_access2); > > +// ADD_TEST(NULL, "Miscellaneous", "Accessibility3", test_access3); > > > > //--// > > ADD_TEST(NULL, "Application client/server", "Task switcher", > > test_task_switcher); > > diff --git a/src/bin/test_access.c b/src/bin/test_access.c > > index 82c44cb..b0753ad 100644 > > --- a/src/bin/test_access.c > > +++ b/src/bin/test_access.c > > @@ -4,6 +4,7 @@ > > #include > > #ifndef ELM_LIB_QUICKLAUNCH > > > > +#if 0 > > static void > > _cleanup_cb(void *data EINA_UNUSED, Evas *e EINA_UNUSED, Evas_Object *obj > > EINA_UNUSED, void *event_info EINA_UNUSED) > > { > > @@ -401,3 +402,5 @@ test_access3(void *data EINA_UNUSED, Evas_Object *obj > > EINA_UNUSED, void *event_i > > evas_object_show(win); > > } > > #endif > > + > > +#endif > > > > -- > > > > > > > -- > Android is increasing in popularity, but the open development platform that > developers love is also attractive to malware creators. Download this white > paper to learn more about secure code signing practices that can help keep > Android apps secure. > http://pubads.g.doubleclick.net/gampad/clk?id=65839951&iu=/4140/ostg.clktrk > ___ > enlightenment-devel mailing list > enlightenment-devel@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/enlightenment-devel > -- - Codito, ergo sum - "I code, therefore I am" -- The Rasterman (Carsten Haitzler)ras...@rasterman.com -- Android is increasing in popularity, but the open development platform that developers love is also attractive to malware creators. Download this white paper to learn more about secure code signing practices that can help keep Android apps secure. http://pubads.g.doubleclick.net/gampad/clk?id=65839951&iu=/4140/ostg.clktrk ___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
Re: [E-devel] [e-users] Is there *real* documentation for edje?
On Sun, 3 Nov 2013 07:46:38 -0500 Robert Heller said: > At Sun, 3 Nov 2013 14:16:58 +0900 Carsten Haitzler (The Rasterman) > wrote: > > > > > On Sat, 2 Nov 2013 11:03:28 -0400 Robert Heller said: > > > > > At Sat, 2 Nov 2013 23:36:23 +0900 Carsten Haitzler (The Rasterman) > > > wrote: > > > > > > > > > > > On Sat, 2 Nov 2013 09:57:49 -0400 Robert Heller > > > > said: > > > > > > > > > At Sat, 2 Nov 2013 20:58:03 +0900 Carsten Haitzler (The Rasterman) > > > > > wrote: > > > > > > > > > > > > > > > > > On Sat, 2 Nov 2013 07:48:23 -0400 Robert Heller > > > > > > said: > > > > > > > > > > > > > At Sat, 2 Nov 2013 18:22:57 +0900 Enlightenment developer list > > > > > > > wrote: > > > > > > > > > > > > > > > > > > > > > > > On Sat, 02 Nov 2013 02:17:32 -0400 Jose Gonzalez > > > > > > > > said: > > > > > > > > > > > > > > > > > Carsten wrote: > > > > > > > > > > > > > > > > > > > On Fri, 01 Nov 2013 05:57:59 -0400 Jose Gonzalez > > > > > > > > > > said: > > > > > > > > > > > > > > > > > > > > > > > > > > > > > >> Carsten wrote: > > > > > > > > > >> > > > > > > > > > >> > > > > > > > > > >>> On Fri, 1 Nov 2013 00:40:42 + Andrew F > > > > > > > > > >>> said: > > > > > > > > > >>> > > > > > > > > > >>> > > > > > > > > > >>> > > > > > > > > > Hey guys, can someone point me to documentation that > > > > > > > > > explains what a swallow is? > > > > > > > > > and how its used. > > > > > > > > > thanks > > > > > > > > > > > > > > > > > > > > > > > > > > > >>> swallow the name is something i adopted from fvwm2 days - > > > > > > > > > >>> it had swallow stuff... and swallows in edje are the same > > > > > > > > > >>> thing basically - just with objects. > > > > > > > > > >>> > > > > > > > > > >>> didn't you see my link to the swallow docs? > > > > > > > > > >>> > > > > > > > > > >>> https://build.enlightenment.org/job/nightly_efl_gcc_x86_64/lastSuccessfulBuild/artifact/doc/html/group__Edje__Part__Swallow.html#ga97d1419f89bff20ba971e47c78641271 > > > > > > > > > >>> > > > > > > > > > >>> its there in the efl online docs (thats the latest auto > > > > > > > > > >>> nightly doc build). > > > > > > > > > >>> > > > > > > > > > >>> > > > > > > > > > >>> > > > > > > > > > >> Good lord man, yes that's a nice bit of history but do > > > > > > > > > >> you now want him to look up fwm2's docs as well! :) > > > > > > > > > >> Also, I can't even access that link you gave... And > > > > > > > > > >> where is the old pdf that had edje documentation (the edje > > > > > > > > > >> cookbook or something)? > > > > > > > > > >> > > > > > > > > > >> Anyway, why not give a simple explanation of the thing > > > > > > > > > >> rather than beat around the bush... Something short but to > > > > > > > > > >> the heart of the matter, like say: > > > > > > > > > >> > > > > > > > > > > > > > > > > > > > > because of the comments that "efl has no docs so its > > > > > > > > > > impossible to use - this is undocumented anywhere". give a > > > > > > > > > > man a fish - you feed him for a day. teach a man to fish > > > > > > > > > > and you feed him for a lifetime. i'm pointing to the docs > > > > > > > > > > so he can keep looking around and refer to them for more > > > > > > > > > > questions etc. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > That works both ways. People who ask questions aren't > > > > > > > > > necessarily idiots and maybe efl devs can benefit from a bit > > > > > > > > > more practice in directly and concisely answering their > > > > > > > > > questions - that way not only do they address the particular > > > > > > > > > issue at hand but also maybe find it easier to write clear > > > > > > > > > documentation as they go along writing code and even > > > > > > > > > then, no single wording will ever be clear to everyone. > > > > > > > > > Remember another cliche: If a thing is truly clear then no > > > > > > > > > explanation is ever needed. And if it's not, then it's worth > > > > > > > > > explaining again. > > > > > > > > > > > > > > > > given this thread... it appears the original poster/question > > > > > > > > never even found yhe docs hat are there at all, so pointing to > > > > > > > > them is the firs port of call imho. if THEY do not suffice - > > > > > > > > then that is a different matter > > > > > > > > > > > > > > > > > > > > > The docs did not suffice. The explaination below is more than > > > > > > > anything I founf in the docs. > > > > > > > > > > > > but we never even got to that point until now - the docs did tell > > > > > > you what a swallow is... that the parent takes control of geometry > > > > > > etc. that api says that. :) > > > > > > > > > > The only thing in the PDF doc were a couple of *examples* and no real > > > > > explaination of what it all *means*. The examples alone is not enough > > > > > (for me). There wasn't any API docs in
Re: [E-devel] [e-users] Is there *real* documentation for edje?
At Sun, 3 Nov 2013 14:16:58 +0900 Carsten Haitzler (The Rasterman) wrote: > > On Sat, 2 Nov 2013 11:03:28 -0400 Robert Heller said: > > > At Sat, 2 Nov 2013 23:36:23 +0900 Carsten Haitzler (The Rasterman) > > wrote: > > > > > > > > On Sat, 2 Nov 2013 09:57:49 -0400 Robert Heller > > > said: > > > > > > > At Sat, 2 Nov 2013 20:58:03 +0900 Carsten Haitzler (The Rasterman) > > > > wrote: > > > > > > > > > > > > > > On Sat, 2 Nov 2013 07:48:23 -0400 Robert Heller > > > > > said: > > > > > > > > > > > At Sat, 2 Nov 2013 18:22:57 +0900 Enlightenment developer list > > > > > > wrote: > > > > > > > > > > > > > > > > > > > > On Sat, 02 Nov 2013 02:17:32 -0400 Jose Gonzalez > > > > > > > > > > > > > > said: > > > > > > > > > > > > > > > Carsten wrote: > > > > > > > > > > > > > > > > > On Fri, 01 Nov 2013 05:57:59 -0400 Jose Gonzalez > > > > > > > > > said: > > > > > > > > > > > > > > > > > > > > > > > > > > >> Carsten wrote: > > > > > > > > >> > > > > > > > > >> > > > > > > > > >>> On Fri, 1 Nov 2013 00:40:42 + Andrew F > > > > > > > > >>> said: > > > > > > > > >>> > > > > > > > > >>> > > > > > > > > >>> > > > > > > > > Hey guys, can someone point me to documentation that > > > > > > > > explains > > > > > > > > what a swallow is? > > > > > > > > and how its used. > > > > > > > > thanks > > > > > > > > > > > > > > > > > > > > > > > > >>> swallow the name is something i adopted from fvwm2 days - it > > > > > > > > >>> had swallow stuff... and swallows in edje are the same thing > > > > > > > > >>> basically - just with objects. > > > > > > > > >>> > > > > > > > > >>> didn't you see my link to the swallow docs? > > > > > > > > >>> > > > > > > > > >>> https://build.enlightenment.org/job/nightly_efl_gcc_x86_64/lastSuccessfulBuild/artifact/doc/html/group__Edje__Part__Swallow.html#ga97d1419f89bff20ba971e47c78641271 > > > > > > > > >>> > > > > > > > > >>> its there in the efl online docs (thats the latest auto > > > > > > > > >>> nightly doc build). > > > > > > > > >>> > > > > > > > > >>> > > > > > > > > >>> > > > > > > > > >> Good lord man, yes that's a nice bit of history but do > > > > > > > > >> you > > > > > > > > >> now want him to look up fwm2's docs as well! :) > > > > > > > > >> Also, I can't even access that link you gave... And where > > > > > > > > >> is the old pdf that had edje documentation (the edje cookbook > > > > > > > > >> or something)? > > > > > > > > >> > > > > > > > > >> Anyway, why not give a simple explanation of the thing > > > > > > > > >> rather than beat around the bush... Something short but to > > > > > > > > >> the > > > > > > > > >> heart of the matter, like say: > > > > > > > > >> > > > > > > > > > > > > > > > > > > because of the comments that "efl has no docs so its > > > > > > > > > impossible > > > > > > > > > to use - this is undocumented anywhere". give a man a fish - > > > > > > > > > you feed him for a day. teach a man to fish and you feed him > > > > > > > > > for a lifetime. i'm pointing to the docs so he can keep > > > > > > > > > looking around and refer to them for more questions etc. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > That works both ways. People who ask questions aren't > > > > > > > > necessarily idiots and maybe efl devs can benefit from a bit > > > > > > > > more > > > > > > > > practice in directly and concisely answering their questions - > > > > > > > > that way not only do they address the particular issue at hand > > > > > > > > but also maybe find it easier to write clear documentation as > > > > > > > > they go along writing code and even then, no single wording > > > > > > > > will ever be clear to everyone. Remember another cliche: If a > > > > > > > > thing is truly clear then no explanation is ever needed. And if > > > > > > > > it's not, then it's worth explaining again. > > > > > > > > > > > > > > given this thread... it appears the original poster/question never > > > > > > > even found yhe docs hat are there at all, so pointing to them is > > > > > > > the firs port of call imho. if THEY do not suffice - then that is > > > > > > > a > > > > > > > different matter > > > > > > > > > > > > > > > > > > The docs did not suffice. The explaination below is more than > > > > > > anything I founf in the docs. > > > > > > > > > > but we never even got to that point until now - the docs did tell you > > > > > what a swallow is... that the parent takes control of geometry etc. > > > > > that api says that. :) > > > > > > > > The only thing in the PDF doc were a couple of *examples* and no real > > > > explaination of what it all *means*. The examples alone is not enough > > > > (for me). There wasn't any API docs in the PDF at all. I did: > > > > > > > > make doc > > > > cd doc > > > > make refman.pdf > > > > xpdf refman.pdf > > > > > > > > I *expected* some sort of useful explainati
[EGIT] [core/efl] master 01/03: evas - re-fix to use first, last or if item is list head on text recomp
raster pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=4eb7b8192533451e216b00f6b32ca4340c035550 commit 4eb7b8192533451e216b00f6b32ca4340c035550 Author: Carsten Haitzler (Rasterman) Date: Sun Nov 3 20:33:05 2013 +0900 evas - re-fix to use first, last or if item is list head on text recomp --- src/lib/evas/canvas/evas_object_text.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/lib/evas/canvas/evas_object_text.c b/src/lib/evas/canvas/evas_object_text.c index 4739a11..b61e7d0 100644 --- a/src/lib/evas/canvas/evas_object_text.c +++ b/src/lib/evas/canvas/evas_object_text.c @@ -169,7 +169,9 @@ _evas_object_text_item_del(Evas_Object_Text *o, Evas_Object_Text_Item *it) else if (o->last_computed.ellipsis_end == it) o->last_computed.ellipsis_end = NULL; - if (EINA_INLIST_GET(it)->last) + if ((EINA_INLIST_GET(it)->next) || + (EINA_INLIST_GET(it)->prev) || + (o->items == (EINA_INLIST_GET(it o->items = (Evas_Object_Text_Item *)eina_inlist_remove (EINA_INLIST_GET(o->items), EINA_INLIST_GET(it)); _evas_object_text_item_clean(it); --
[EGIT] [core/efl] master 03/03: evas - clip shutdown fix to avoid invalid mem accesses
raster pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=eb6af1f1ff7ee069eff8bab13c0eed5010ef5660 commit eb6af1f1ff7ee069eff8bab13c0eed5010ef5660 Author: Carsten Haitzler (Rasterman) Date: Sun Nov 3 21:43:11 2013 +0900 evas - clip shutdown fix to avoid invalid mem accesses many valgrind complaints on e shutdown are there regarding accessing cow sections, lists and object elements during shutdown. this plugs theses little holes to avoid the invalid accesses and thus avoids potential crashes. --- src/lib/evas/canvas/evas_clip.c| 20 src/lib/evas/canvas/evas_object_main.c | 25 ++--- 2 files changed, 34 insertions(+), 11 deletions(-) diff --git a/src/lib/evas/canvas/evas_clip.c b/src/lib/evas/canvas/evas_clip.c index 76cddc0..5dfbc48 100644 --- a/src/lib/evas/canvas/evas_clip.c +++ b/src/lib/evas/canvas/evas_clip.c @@ -369,6 +369,7 @@ _clip_unset(Eo *eo_obj, void *_pd, va_list *list EINA_UNUSED) { Evas_Object_Protected_Data *obj = _pd; + if (!obj->cur) return; if (!obj->cur->clipper) return; obj->clip.cache_clipees_answer = eina_list_free(obj->clip.cache_clipees_answer); @@ -386,7 +387,7 @@ _clip_unset(Eo *eo_obj, void *_pd, va_list *list EINA_UNUSED) { EINA_COW_STATE_WRITE_BEGIN(obj->cur->clipper, state_write, cur) { - state_write->have_clipees = 0; + if (state_write) state_write->have_clipees = 0; } EINA_COW_STATE_WRITE_END(obj->cur->clipper, state_write, cur); @@ -417,14 +418,17 @@ _clip_unset(Eo *eo_obj, void *_pd, va_list *list EINA_UNUSED) if ((!obj->is_smart) && (!((obj->map->cur.map) && (obj->map->cur.usemap { -if (evas_object_is_in_output_rect(eo_obj, obj, +if (obj->cur) + { + if (evas_object_is_in_output_rect(eo_obj, obj, + obj->layer->evas->pointer.x, + obj->layer->evas->pointer.y, 1, 1)) + evas_event_feed_mouse_move(obj->layer->evas->evas, obj->layer->evas->pointer.x, - obj->layer->evas->pointer.y, 1, 1)) - evas_event_feed_mouse_move(obj->layer->evas->evas, - obj->layer->evas->pointer.x, - obj->layer->evas->pointer.y, - obj->layer->evas->last_timestamp, - NULL); + obj->layer->evas->pointer.y, + obj->layer->evas->last_timestamp, + NULL); + } } evas_object_clip_across_check(eo_obj, obj); } diff --git a/src/lib/evas/canvas/evas_object_main.c b/src/lib/evas/canvas/evas_object_main.c index 27fc7ad..c779f2d 100644 --- a/src/lib/evas/canvas/evas_object_main.c +++ b/src/lib/evas/canvas/evas_object_main.c @@ -141,6 +141,7 @@ void evas_object_free(Evas_Object *eo_obj, int clean_layer) { Evas_Object_Protected_Data *obj = eo_data_scope_get(eo_obj, MY_CLASS); + Evas_Object *eo_obj2; if (!obj) return; obj->clean_layer = clean_layer; @@ -171,8 +172,21 @@ evas_object_free(Evas_Object *eo_obj, int clean_layer) obj->func->free(eo_obj, obj, obj->private_data); } if (!was_smart_child) evas_object_release(eo_obj, obj, obj->clean_layer); - if (obj->clip.clipees) - eina_list_free(obj->clip.clipees); + EINA_LIST_FREE(obj->clip.clipees, eo_obj2) + { +Evas_Object_Protected_Data *obj2 = + eo_data_scope_get(eo_obj2, MY_CLASS); +if ((obj2) && (obj2->cur)) + { + EINA_COW_STATE_WRITE_BEGIN(obj2, state_write, cur) + { + state_write->clipper = NULL; + } + EINA_COW_STATE_WRITE_END(obj2, state_write, cur); + } + } +// if (obj->clip.clipees) +// obj->clip.clipees = eina_list_free(obj->clip.clipees); obj->clip.cache_clipees_answer = eina_list_free(obj->clip.cache_clipees_answer); evas_object_clip_changes_clean(eo_obj); evas_object_event_callback_all_del(eo_obj); @@ -188,12 +202,17 @@ evas_object_free(Evas_Object *eo_obj, int clean_layer) } if (obj->size_hints) { - EVAS_MEMPOOL_FREE(_mp_sh, obj->size_hints); +EVAS_MEMPOOL_FREE(_mp_sh, obj->size_hints); +obj->size_hints = NULL; } eina_cow_free(evas_object_proxy_cow, obj->proxy); eina_cow_free(evas_object_map_cow, obj->map); eina_cow_free(evas_object_state_cow, obj->cur); eina_cow_free(evas_object_state_cow, obj->prev); + obj->cur = NULL; + obj->prev = NULL; + obj->map = NULL; + obj->proxy = NULL; eo_data_unref(eo_obj, obj->private_data); obj->privat
[EGIT] [core/efl] master 02/03: eina thread - make note about valgrind complaint that is bogus
raster pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=9337af1187451414dfc4d170b603efef9a3cad6a commit 9337af1187451414dfc4d170b603efef9a3cad6a Author: Carsten Haitzler (Rasterman) Date: Sun Nov 3 20:51:41 2013 +0900 eina thread - make note about valgrind complaint that is bogus --- src/lib/eina/eina_thread.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/lib/eina/eina_thread.c b/src/lib/eina/eina_thread.c index 6f42fcf..b4e07e7 100644 --- a/src/lib/eina/eina_thread.c +++ b/src/lib/eina/eina_thread.c @@ -284,6 +284,8 @@ eina_thread_create(Eina_Thread *t, c->prio = prio; c->affinity = affinity; + // valgrind complains c is lost - but it's not - it is handed to the + // child thread to be freed when c->func returns in _eina_internal_call(). if (_eina_thread_create(t, affinity, _eina_internal_call, c)) return EINA_TRUE; --
[EGIT] [core/enlightenment] master 01/01: note valgrind wrongness and reduce exe ecit event handling complexity
raster pushed a commit to branch master. http://git.enlightenment.org/core/enlightenment.git/commit/?id=1f5abd18866df2b97bc60ee0c639152563d58de8 commit 1f5abd18866df2b97bc60ee0c639152563d58de8 Author: Carsten Haitzler (Rasterman) Date: Sun Nov 3 21:04:13 2013 +0900 note valgrind wrongness and reduce exe ecit event handling complexity --- src/bin/e_intl.c | 9 - 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/src/bin/e_intl.c b/src/bin/e_intl.c index c060707..d0c879f 100644 --- a/src/bin/e_intl.c +++ b/src/bin/e_intl.c @@ -345,6 +345,8 @@ e_intl_input_method_set(const char *imc_path) if (E_EXE_IS_VALID(imc->e_im_exec)) { + // if you see valgrind complain about memory + // definitely lost here... it's wrong. _e_intl_input_method_exec = ecore_exe_run(imc->e_im_exec, NULL); ecore_exe_tag_set(_e_intl_input_method_exec, "E/im_exec"); @@ -414,11 +416,8 @@ _e_intl_cb_exit(void *data __UNUSED__, int type __UNUSED__, void *event) ev = event; if (!ev->exe) return ECORE_CALLBACK_PASS_ON; - - if (!(ecore_exe_tag_get(ev->exe) && - (!strcmp(ecore_exe_tag_get(ev->exe), "E/im_exec" return 1; - - _e_intl_input_method_exec = NULL; + if (ev->exe == _e_intl_input_method_exec) + _e_intl_input_method_exec = NULL; return ECORE_CALLBACK_PASS_ON; } --
Re: [E-devel] Extend Evas pointer struct to keep list of grabbed objects?
On Sun, 2013-11-03 at 14:49 +0900, Carsten Haitzler wrote: > On Sat, 02 Nov 2013 08:55:50 + Thomas Strobel said: > > > Hi everyone, > > > > I wanted to extend Evas' pointer for a way to selectively grab certain > > events, while repeating others. After looking at the event system for a > > while, I'm currently thinking that the cleanest way would probably be to > > extend Evas' pointer struct for a list which keeps track of all grabbed > > object, and to use the current pointer.objects.in to just account for > > objects where the pointer is "pointing" into. > > > > Changing Evas on such a deep level could trigger a lot of side effects, > > and so I wanted to ask you if you had any idea how to implement a > > selective event grabbing? > > yes. it will. which means the current behavior has to stay and NEW behavior > has > to be explicitly requested. that is possible. (eg request a new pointer grab > mode). > > now the use i can see is actually multitouch and./or pen support WHEN you want > pen ANd mouse AND touch all to be independent and not linked (touch doesnt > affect mouse - pen does not either etc.). and at least for the case of multi > touch where you may want each touch point to have its own grab "pointer.in" > list thats separate of the primary (first) touch/mouse. Or, Multi-pointer X, but that's not quite what I'm after. I am looking for a way to grab certain events from one pointer with an object, let's say DOWN/UP, let the object follow others, e.g. MOVE, but still forward the non-grabbed events back into the object hierarchy. > > A selective event grabbing would be very handy to implement a drag and > > drop system for Evas objects. > > > > Many thanks in advance! > > what about the current event system disallows for implementing dnd? :) To me it seems that currently an object needs to grab the mouse pointer to get e.g. MOVE updates and UP events. But this means that other objects can't receive IN/OUT events anymore, and so they can't detect whether the dragging pointer went in or not. Or, is there a smart way around? Cheers, Thomas -- Android is increasing in popularity, but the open development platform that developers love is also attractive to malware creators. Download this white paper to learn more about secure code signing practices that can help keep Android apps secure. http://pubads.g.doubleclick.net/gampad/clk?id=65839951&iu=/4140/ostg.clktrk ___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
[EGIT] [bindings/python/python-efl] master 01/03: Documentation: Remove elm.access
kuuko pushed a commit to branch master. http://git.enlightenment.org/bindings/python/python-efl.git/commit/?id=010f03b045e9a693bb683170f47f6189c200e12c commit 010f03b045e9a693bb683170f47f6189c200e12c Author: Kai Huuhko Date: Sun Nov 3 06:56:32 2013 +0200 Documentation: Remove elm.access It will return with EFL 1.9 development cycle. --- doc/elementary/elementary.rst| 2 -- doc/elementary/module-access.rst | 8 2 files changed, 10 deletions(-) diff --git a/doc/elementary/elementary.rst b/doc/elementary/elementary.rst index 3e2357c..476ebe4 100644 --- a/doc/elementary/elementary.rst +++ b/doc/elementary/elementary.rst @@ -99,7 +99,6 @@ Reference .. toctree:: :maxdepth: 4 - module-access module-actionslider module-background module-box @@ -173,7 +172,6 @@ Inheritance diagram --- .. inheritance-diagram:: -efl.elementary.access efl.elementary.actionslider efl.elementary.background efl.elementary.box diff --git a/doc/elementary/module-access.rst b/doc/elementary/module-access.rst deleted file mode 100644 index 0d61520..000 --- a/doc/elementary/module-access.rst +++ /dev/null @@ -1,8 +0,0 @@ -:mod:`access` Module - - -.. automodule:: efl.elementary.access - -.. inheritance-diagram:: -efl.elementary.access -:parts: 2 --
[EGIT] [bindings/python/python-efl] master 02/03: Elementary.progressbar: Style "recording" -> "double"
kuuko pushed a commit to branch master. http://git.enlightenment.org/bindings/python/python-efl.git/commit/?id=23e9d4920875906c7f90fb4a8dd91c68e9522c07 commit 23e9d4920875906c7f90fb4a8dd91c68e9522c07 Author: Kai Huuhko Date: Sun Nov 3 07:45:37 2013 +0200 Elementary.progressbar: Style "recording" -> "double" Also, part "elm.cur.progressbar" is the main bar. See commit 12bbcd1a3a5c9e0a1a235166de2fca99dcfa5a0c --- efl/elementary/progressbar.pyx | 14 +++--- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/efl/elementary/progressbar.pyx b/efl/elementary/progressbar.pyx index f02bc08..f1d282e 100644 --- a/efl/elementary/progressbar.pyx +++ b/efl/elementary/progressbar.pyx @@ -54,23 +54,23 @@ This widget emits the following signals, besides the ones sent from This widget has the following styles: -- ``"default"`` -- ``"wheel"`` (simple style, no text, no progression, only "pulse" +- ``default`` +- ``wheel`` (simple style, no text, no progression, only "pulse" effect is available) -- ``"recording"`` (style with two independent progress indicators) +- ``double`` (style with two independent progress indicators) Default text parts of the progressbar widget that you can use for are: -- ``"default"`` - Label of the progressbar +- ``default`` - Label of the progressbar Default content parts of the progressbar widget that you can use for are: -- ``"icon"`` - An icon of the progressbar +- ``icon`` - An icon of the progressbar Default part names for the "recording" style: -- ``"elm.cur.progressbar1"`` - The "main" indicator bar -- ``"elm.cur.progressbar"`` - The "secondary" indicator bar +- ``elm.cur.progressbar`` - The "main" indicator bar +- ``elm.cur.progressbar1`` - The "secondary" indicator bar """ --
Re: [E-devel] [EGIT] [core/elementary] master 01/01: elm access - if we disable apis then disable the tests too - unbreak build
Good catch. Thanks for the fix. I tested that after removing elm_access header from /usr/local/include/elementary-1, how did it work for me? :( Daniel Juyung Seo (SeoZ) On Sat, Nov 2, 2013 at 10:48 AM, Carsten Haitzler wrote: > raster pushed a commit to branch master. > > > http://git.enlightenment.org/core/elementary.git/commit/?id=d8b3cdb28f5334f9429959109af4b960bf414097 > > commit d8b3cdb28f5334f9429959109af4b960bf414097 > Author: Carsten Haitzler (Rasterman) > Date: Sat Nov 2 10:48:12 2013 +0900 > > elm access - if we disable apis then disable the tests too - unbreak > build > --- > src/bin/test.c| 14 +++--- > src/bin/test_access.c | 3 +++ > 2 files changed, 10 insertions(+), 7 deletions(-) > > diff --git a/src/bin/test.c b/src/bin/test.c > index 963f386..4a8f472 100755 > --- a/src/bin/test.c > +++ b/src/bin/test.c > @@ -10,9 +10,9 @@ > int _log_domain = -1; > > /* all tests prototypes */ > -void test_access(void *data, Evas_Object *obj, void *event_info); > -void test_access2(void *data, Evas_Object *obj, void *event_info); > -void test_access3(void *data, Evas_Object *obj, void *event_info); > +//void test_access(void *data, Evas_Object *obj, void *event_info); > +//void test_access2(void *data, Evas_Object *obj, void *event_info); > +//void test_access3(void *data, Evas_Object *obj, void *event_info); > void test_bg_plain(void *data, Evas_Object *obj, void *event_info); > void test_bg_image(void *data, Evas_Object *obj, void *event_info); > void test_bg_options(void *data, Evas_Object *obj, void *event_info); > @@ -458,7 +458,7 @@ my_win_main(const char *autorun, Eina_Bool > test_win_only) > evas_object_show(lb); > > /* This label will not be read out */ > - elm_access_object_unregister(lb); > +// elm_access_object_unregister(lb); > > tg = elm_check_add(win); > elm_object_style_set(tg, "toggle"); > @@ -802,9 +802,9 @@ add_tests: > ADD_TEST(NULL, "Miscellaneous", "Icon Desktops", test_icon_desktops); > ADD_TEST(NULL, "Miscellaneous", "Floating Objects", test_floating); > ADD_TEST(NULL, "Miscellaneous", "Configuration", test_config); > - ADD_TEST(NULL, "Miscellaneous", "Accessibility", test_access); > - ADD_TEST(NULL, "Miscellaneous", "Accessibility2", test_access2); > - ADD_TEST(NULL, "Miscellaneous", "Accessibility3", test_access3); > +// ADD_TEST(NULL, "Miscellaneous", "Accessibility", test_access); > +// ADD_TEST(NULL, "Miscellaneous", "Accessibility2", test_access2); > +// ADD_TEST(NULL, "Miscellaneous", "Accessibility3", test_access3); > > //--// > ADD_TEST(NULL, "Application client/server", "Task switcher", > test_task_switcher); > diff --git a/src/bin/test_access.c b/src/bin/test_access.c > index 82c44cb..b0753ad 100644 > --- a/src/bin/test_access.c > +++ b/src/bin/test_access.c > @@ -4,6 +4,7 @@ > #include > #ifndef ELM_LIB_QUICKLAUNCH > > +#if 0 > static void > _cleanup_cb(void *data EINA_UNUSED, Evas *e EINA_UNUSED, Evas_Object *obj > EINA_UNUSED, void *event_info EINA_UNUSED) > { > @@ -401,3 +402,5 @@ test_access3(void *data EINA_UNUSED, Evas_Object *obj > EINA_UNUSED, void *event_i > evas_object_show(win); > } > #endif > + > +#endif > > -- > > > -- Android is increasing in popularity, but the open development platform that developers love is also attractive to malware creators. Download this white paper to learn more about secure code signing practices that can help keep Android apps secure. http://pubads.g.doubleclick.net/gampad/clk?id=65839951&iu=/4140/ostg.clktrk ___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel