You can subscribe to this list here.
2013 |
Jan
|
Feb
(511) |
Mar
(1170) |
Apr
(1093) |
May
(812) |
Jun
(937) |
Jul
(870) |
Aug
(722) |
Sep
(254) |
Oct
|
Nov
|
Dec
|
---|
From: Stefan S. - E. G. <no-...@en...> - 2013-09-12 13:51:13
|
stefan pushed a commit to branch master. commit 032acce341fbdcc03577e68d54230dad53fcea24 Author: Stefan Schmidt <s.s...@sa...> Date: Thu Sep 12 14:49:24 2013 +0100 ecore_audio: Add missing break in _format_set() We have been missing the actual break statement in this switch. Without it the format for auto would always been set to wav. CID: 1039378 --- src/lib/ecore_audio/ecore_audio_obj_in_sndfile.c | 1 + 1 file changed, 1 insertion(+) diff --git a/src/lib/ecore_audio/ecore_audio_obj_in_sndfile.c b/src/lib/ecore_audio/ecore_audio_obj_in_sndfile.c index 73a93c4..4799f6d 100644 --- a/src/lib/ecore_audio/ecore_audio_obj_in_sndfile.c +++ b/src/lib/ecore_audio/ecore_audio_obj_in_sndfile.c @@ -135,6 +135,7 @@ static void _format_set(Eo *eo_obj, void *_pd, va_list *list) switch (format) { case ECORE_AUDIO_FORMAT_AUTO: obj->sfinfo.format = 0; + break; case ECORE_AUDIO_FORMAT_WAV: obj->sfinfo.format = SF_FORMAT_WAV|SF_FORMAT_PCM_16; break; -- |
From: Ryuan C. - E. G. <no-...@en...> - 2013-09-12 13:38:25
|
ryuan pushed a commit to branch master. commit 747e772ac1d8a55383824f5302bdfa0fc4e466ac Author: Ryuan Choi <ryu...@gm...> Date: Thu Sep 12 22:17:07 2013 +0900 fileselector: Added "selected,invalid" signal for wrong path on the path_entry. If user typed wrong path on the path entry, "selected,invalid" will be emitted with "selected" for legacy. In addition, send "selected" signal when folder is changed in only folder mode. It's regression of 74f308df9. See more information from http://sourceforge.net/mailarchive/message.php?msg_id=31394571 --- ChangeLog | 4 ++++ NEWS | 1 + src/bin/test_fileselector.c | 33 +++++++++++++++++++++++++++++++++ src/lib/elc_fileselector.c | 22 ++++++++++++++++++---- src/lib/elc_fileselector.h | 2 ++ 5 files changed, 58 insertions(+), 4 deletions(-) diff --git a/ChangeLog b/ChangeLog index ff18f8c..973c714 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1607,3 +1607,7 @@ 2013-09-11 Daniel Juyung Seo (SeoZ) * flip : Added support for focus direction. + +2013-09-12 Ryuan Choi (ryuan) + + * elc_fileselector : Added "selected,invalid" smart callbacks. diff --git a/NEWS b/NEWS index 3d536c0..029433f 100644 --- a/NEWS +++ b/NEWS @@ -88,6 +88,7 @@ Additions: * Add support for more than one progress status in a progressbar. * Add elm_table_child_get(). * Add support for flip focus direction. + * Add "selected,invalid" smart callback for fileselector. Improvements: diff --git a/src/bin/test_fileselector.c b/src/bin/test_fileselector.c index f0f7665..049a6a6 100644 --- a/src/bin/test_fileselector.c +++ b/src/bin/test_fileselector.c @@ -44,6 +44,37 @@ my_fileselector_selected(void *data EINA_UNUSED, } static void +_popup_close_cb(void *data, Evas_Object *obj EINA_UNUSED, + void *event_info EINA_UNUSED) +{ + evas_object_del(data); +} + +static void +my_fileselector_invalid(void *data EINA_UNUSED, + Evas_Object *obj EINA_UNUSED, + void *event_info) +{ + Evas_Object *popup; + Evas_Object *btn; + char error_msg[256]; + + snprintf(error_msg, 256, "No such file or directory: %s", (char *)event_info); + + popup = elm_popup_add(data); + elm_popup_content_text_wrap_type_set(popup, ELM_WRAP_CHAR); + elm_object_part_text_set(popup, "title,text", "Error"); + elm_object_text_set(popup, error_msg); + + btn = elm_button_add(popup); + elm_object_text_set(btn, "OK"); + elm_object_part_content_set(popup, "button1", btn); + evas_object_smart_callback_add(btn, "clicked", _popup_close_cb, popup); + + evas_object_show(popup); +} + +static void _is_save_clicked(void *data, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED) @@ -172,6 +203,8 @@ test_fileselector(void *data EINA_UNUSED, /* the 'selected' cb is called when the user click on a file/dir */ evas_object_smart_callback_add(fs, "selected", my_fileselector_selected, win); + evas_object_smart_callback_add(fs, "selected,invalid", + my_fileselector_invalid, win); /* test buttons */ sep = elm_separator_add(win); diff --git a/src/lib/elc_fileselector.c b/src/lib/elc_fileselector.c index 0d13412..c2d1f64 100644 --- a/src/lib/elc_fileselector.c +++ b/src/lib/elc_fileselector.c @@ -33,7 +33,8 @@ static Elm_Gengrid_Item_Class *grid_itc[ELM_FILE_LAST]; #define ELM_PRIV_FILESELECTOR_SIGNALS(cmd) \ cmd(SIG_DIRECTORY_OPEN, "directory,open", "s") \ cmd(SIG_DONE, "done", "s") \ - cmd(SIG_SELECTED, "selected", "s") + cmd(SIG_SELECTED, "selected", "s") \ + cmd(SIG_SELECTED_INVALID, "selected,invalid", "s") ELM_PRIV_FILESELECTOR_SIGNALS(ELM_PRIV_STATIC_VARIABLE_DECLARE); @@ -813,8 +814,12 @@ _on_text_activated(void *data, path = elm_object_text_get(obj); - // FIXME: Needs some feedback to user like alert. - if (!ecore_file_exists(path)) goto end; + if (!ecore_file_exists(path)) + { + evas_object_smart_callback_call(fs, SIG_SELECTED, (void *)path); + evas_object_smart_callback_call(fs, SIG_SELECTED_INVALID, (void *)path); + goto end; + } if (ecore_file_is_dir(path)) { @@ -822,6 +827,10 @@ _on_text_activated(void *data, p = eina_stringshare_add(path); _populate(fs, p, NULL, NULL); eina_stringshare_del(p); + + if (sd->only_folder) + evas_object_smart_callback_call(fs, SIG_SELECTED, (void *)path); + goto end; } @@ -829,7 +838,12 @@ _on_text_activated(void *data, if (!dir) goto end; if (strcmp(dir, sd->path)) - _populate(fs, dir, NULL, path); + { + _populate(fs, dir, NULL, path); + + if (sd->only_folder) + evas_object_smart_callback_call(fs, SIG_SELECTED, (void *)path); + } else { if (sd->mode == ELM_FILESELECTOR_LIST) diff --git a/src/lib/elc_fileselector.h b/src/lib/elc_fileselector.h index 77e6a39..6d465c2 100644 --- a/src/lib/elc_fileselector.h +++ b/src/lib/elc_fileselector.h @@ -41,6 +41,8 @@ * @ref Layout: * - @c "selected" - the user has clicked on a file (when not in * folders-only mode) or directory (when in folders-only mode) + * - @c "selected,invalid" - the user has tried to access wrong path + * which does not exist. * - @c "directory,open" - the list has been populated with new * content (@c event_info is a pointer to the directory's * path, a @b stringshared string) -- |
From: Michael B. <mic...@gm...> - 2013-09-12 08:45:53
|
I like how regardless of location or topic, we can always count on a Daniel to be at every EFL-related meeting, discussion, or conference. On Thu, Sep 12, 2013 at 9:32 AM, Daniel Juyung Seo <seo...@gm...>wrote: > I also agree with this idea. This is the most convenient and safe way to > handle this issue sanely among suggested ideas. > Thanks. > > Daniel Juyung Seo (SeoZ) > > > On Thu, Sep 12, 2013 at 2:45 PM, ChunEon Park <he...@na...> wrote: > > > Hi, > > > > I reverted elm_object_item_get() API. > > > > Cedric, Raster, Daniel, Me together discussed for more proper way instead > > of the API. > > In the end, Cedric suggested to return the rectangle object that's a kind > > of fake object of the object item's real object. > > and All of us agreed on it. > > > > Now, I will add 2 more APIs elm_object_item_object_track(), > > elm_object_item_object_untrack() to return/retrieve the fake object. > > > > Maybe, all guys will be happy with these APis. > > > > If you have some other idea or whatever opinions, please reply on this > > email. > > > > Thank you. > > > > ------------------------------------ > > -Regards, Hermet- > > > > -----Original Message----- > > From: "ChunEon Park - Enlightenment Git"<no-...@en...> > > To: <enl...@li...>; > > Cc: > > Sent: 2013-09-12 (목) 14:15:15 > > Subject: [EGIT] [core/elementary] master 01/01: elementary - revert > > ddc3cf80ce0a50a9161fcb212d3414f5d7b5898c > > |
From: Mike B. - E. G. <no-...@en...> - 2013-09-12 08:32:13
|
discomfitor pushed a commit to branch master. commit 964bf73ed93813d83217743ef836638750b19ca1 Author: Mike Blumenkrantz <m.b...@sa...> Date: Thu Sep 12 09:32:42 2013 +0100 tweak teamwork default settings to make it more useful --- src/modules/teamwork/e_mod_main.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/modules/teamwork/e_mod_main.c b/src/modules/teamwork/e_mod_main.c index 2fa4301..4b874e5 100644 --- a/src/modules/teamwork/e_mod_main.c +++ b/src/modules/teamwork/e_mod_main.c @@ -63,9 +63,9 @@ e_tw_config_new(void) cf->allowed_media_fetch_size = 5; // 5 megabytes cf->allowed_media_age = 3; // 3 days - cf->mouse_out_delay = 0.0; - cf->popup_size = 10.0; - cf->popup_opacity = 90.0; + cf->mouse_out_delay = 0.0; // hide instantly + cf->popup_size = 60.0; // 60% screen size + cf->popup_opacity = 90.0; // 90% opacity return cf; } -- |
From: Carsten H. (T. R. <ra...@ra...> - 2013-09-12 08:03:14
|
On Thu, 12 Sep 2013 14:45:57 +0900 (KST) ChunEon Park <he...@na...> said: ^ ^ O O .. \__/ > Hi, > > I reverted elm_object_item_get() API. > > Cedric, Raster, Daniel, Me together discussed for more proper way instead of > the API. In the end, Cedric suggested to return the rectangle object that's a > kind of fake object of the object item's real object. and All of us agreed on > it. > > Now, I will add 2 more APIs elm_object_item_object_track(), > elm_object_item_object_untrack() to return/retrieve the fake object. > > Maybe, all guys will be happy with these APis. > > If you have some other idea or whatever opinions, please reply on this email. > > Thank you. > > ------------------------------------ > -Regards, Hermet- > > -----Original Message----- > From: "ChunEon Park - Enlightenment Git"<no-...@en...> > To: <enl...@li...>; > Cc: > Sent: 2013-09-12 (목) 14:15:15 > Subject: [EGIT] [core/elementary] master 01/01: elementary - revert > ddc3cf80ce0a50a9161fcb212d3414f5d7b5898c > > hermet pushed a commit to branch master. > > commit 9558537385f0a402b1725076b7a6ea1c540fd39a > Author: ChunEon Park <hermet>@hermet.pe.kr> > Date: Thu Sep 12 14:13:59 2013 +0900 > > elementary - revert ddc3cf80ce0a50a9161fcb212d3414f5d7b5898c > > We have a plan to add more proper API. > --- > ChangeLog 4 ---- > NEWS 1 - > src/lib/elm_main.c 6 ------ > src/lib/elm_object_item.h 21 --------------------- > src/lib/elm_widget.c 7 ------- > src/lib/elm_widget.h 1 - > 6 files changed, 40 deletions(-) > > diff --git a/ChangeLog b/ChangeLog > index c06f86f..ff18f8c 100644 > --- a/ChangeLog > +++ b/ChangeLog > @@ -1582,10 +1582,6 @@ > > * Bg: Add bg reset feature. > > -2013-09-02 ChunEon Park (Hermet) > - > - * Widget: Introduce elm_object_item_object_get() API. > - > 2013-09-04 Ryuan Choi (ryuan) > > * elm_config : profile may be broken when clicked reset button in > profiles tab diff --git a/NEWS b/NEWS > index 5cb62b2..3d536c0 100644 > --- a/NEWS > +++ b/NEWS > @@ -85,7 +85,6 @@ Additions: > * Add elm_win_focus_highlight_animate_set/get(). > * Add selectraise feature to gengrid. > * Add bg reset feature. > - * Add elm_object_item_object_get(). > * Add support for more than one progress status in a progressbar. > * Add elm_table_child_get(). > * Add support for flip focus direction. > diff --git a/src/lib/elm_main.c b/src/lib/elm_main.c > index 6c8aba8..17654c6 100644 > --- a/src/lib/elm_main.c > +++ b/src/lib/elm_main.c > @@ -1899,9 +1899,3 @@ elm_object_item_cursor_engine_only_get(const > Elm_Object_Item *it) { > return elm_widget_item_cursor_engine_only_get(it); > } > - > -EAPI const Evas_Object * > -elm_object_item_object_get(const Elm_Object_Item *it) > -{ > - return _elm_widget_item_object_get((Elm_Widget_Item*)it); > -} > diff --git a/src/lib/elm_object_item.h b/src/lib/elm_object_item.h > index 1d9f490..8a0ccde 100644 > --- a/src/lib/elm_object_item.h > +++ b/src/lib/elm_object_item.h > @@ -34,27 +34,6 @@ typedef void (*Elm_Object_Item_Signal_Cb) > (void *data, Elm_Objec EAPI Evas_Object > *elm_object_item_widget_get(const Elm_Object_Item *it); > /** > - * Get the object item's internal object handle. > - * > - * @param it The Elementary object item > - * @return The Internal object of the object item. > - * > - * @note This function should only be used if you really need to refer the > - * internal object's properties (i.e geometry). Since the object items are > - * managed/controlled by the widget, the object could be deleted, resized, > moved > - * and so on by the widget. So you should not modify the object directly nor > you > - * should not treat the object without validation, we don't guarantee the > result > - * of any of these behavior. > - * > - * Some widget items may return @c NULL for this API if the items @p are not > - * based on the evas object. > - * > - * @since 1.8 > - * @ingroup General > - */ > -EAPI const Evas_Object *elm_object_item_object_get(const > Elm_Object_Item *it); - > -/** > * Set a content of an object item > * > * @param it The Elementary object item > diff --git a/src/lib/elm_widget.c b/src/lib/elm_widget.c > index 71953ce..c94f894 100644 > --- a/src/lib/elm_widget.c > +++ b/src/lib/elm_widget.c > @@ -5787,13 +5787,6 @@ _elm_widget_item_translate(Elm_Widget_Item *item) > #endif > } > > -EAPI const Evas_Object * > -_elm_widget_item_object_get(const Elm_Widget_Item *item) > -{ > - ELM_WIDGET_ITEM_CHECK_OR_RETURN(item, NULL); > - return item->view; > -} > - > /* happy debug functions */ > #ifdef ELM_DEBUG > static void > diff --git a/src/lib/elm_widget.h b/src/lib/elm_widget.h > index e4d6362..48d8736 100644 > --- a/src/lib/elm_widget.h > +++ b/src/lib/elm_widget.h > @@ -771,7 +771,6 @@ EAPI void > _elm_widget_item_domain_translatable_part_text_set(Elm_Wid EAPI const char > * _elm_widget_item_translatable_part_text_get(const Elm_Widget_Item > *item, const char *part); EAPI void _elm_widget_item_translate > (Elm_Widget_Item *item); EAPI void > _elm_widget_item_domain_part_text_translatable_set(Elm_Widget_Item *item, > const char *part, const char *domain, Eina_Bool translatable); -EAPI const > Evas_Object *_elm_widget_item_object_get(const Elm_Widget_Item *item); /** > * Function to operate on a given widget's scrollabe children when necessary. > > -- > > ------------------------------------------------------------------------------ > How ServiceNow helps IT people transform IT departments: > 1. Consolidate legacy IT systems to a single system of record for IT > 2. Standardize and globalize service processes across IT > 3. Implement zero-touch automation to replace manual, redundant tasks > http://pubads.g.doubleclick.net/gampad/clk?id=51271111&iu=/4140/ostg.clktrk > > ------------------------------------------------------------------------------ > How ServiceNow helps IT people transform IT departments: > 1. Consolidate legacy IT systems to a single system of record for IT > 2. Standardize and globalize service processes across IT > 3. Implement zero-touch automation to replace manual, redundant tasks > http://pubads.g.doubleclick.net/gampad/clk?id=51271111&iu=/4140/ostg.clktrk > _______________________________________________ > enlightenment-devel mailing list > enl...@li... > https://lists.sourceforge.net/lists/listinfo/enlightenment-devel -- ------------- Codito, ergo sum - "I code, therefore I am" -------------- The Rasterman (Carsten Haitzler) ra...@ra... |
From: Mike B. - E. G. <no-...@en...> - 2013-09-12 06:59:23
|
discomfitor pushed a commit to branch master. commit 8c8ef05f3592dca4d73219660677b14183439edb Author: Mike Blumenkrantz <m.b...@sa...> Date: Thu Sep 12 07:59:45 2013 +0100 lower pixman version requirement for wayland build --- configure.ac | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/configure.ac b/configure.ac index 325b67d..af00815 100644 --- a/configure.ac +++ b/configure.ac @@ -824,7 +824,7 @@ AC_MSG_CHECKING([whether wayland client support is enabled]) AC_MSG_RESULT([${e_cv_want_wayland_clients}]) if test "x$e_cv_want_wayland_clients" != "xno";then - PKG_CHECK_MODULES([WAYLAND], [wayland-server >= 1.2.0 pixman-1 >= 0.31.1 xkbcommon >= 0.3.0], + PKG_CHECK_MODULES([WAYLAND], [wayland-server >= 1.2.0 pixman-1 >= 0.3 xkbcommon >= 0.3.0], [ have_wayland_clients=yes AC_DEFINE_UNQUOTED([HAVE_WAYLAND_CLIENTS],[1],[enable wayland client support]) -- |
From: Carsten H. (R. - E. G. <no-...@en...> - 2013-09-12 05:25:37
|
raster pushed a commit to branch master. commit 178aa4e601af21d99d290c72adcd96196d2d60e6 Author: Carsten Haitzler (Rasterman) <ra...@ra...> Date: Thu Sep 12 14:25:37 2013 +0900 fix min size calc complaint issues when scaling low. --- edje/edc/elm/check.edc | 1 + edje/edc/elm/scroller.edc | 10 ++++++---- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/edje/edc/elm/check.edc b/edje/edc/elm/check.edc index 3ce7519..9e4c309 100644 --- a/edje/edc/elm/check.edc +++ b/edje/edc/elm/check.edc @@ -114,6 +114,7 @@ group { name: "elm/check/base/default"; scale: 1; clip_to: "clip"; description { state: "default" 0.0; + fixed: 1 1; rel1.to: "base"; rel2.to: "base"; image.normal: "sym_check_alum.png"; diff --git a/edje/edc/elm/scroller.edc b/edje/edc/elm/scroller.edc index 43231fd..aadb19e 100644 --- a/edje/edc/elm/scroller.edc +++ b/edje/edc/elm/scroller.edc @@ -548,13 +548,14 @@ group { name: "elm/scroller/base/default"; part { name: "base_vbar"; mouse_events: 0; clip_to: "sb_vbar_show"; description { state: "default" 0.0; + fixed: 1 1; rel1.offset: 2 0; rel1.to: "elm.dragable.vbar"; rel2.offset: -3 -1; rel2.to: "elm.dragable.vbar"; image.normal: "vgrad_med_lighter.png"; fill.smooth: 0; - min: 5 13; + min: 3 13; TILED_HORIZ(120) } } @@ -567,7 +568,7 @@ group { name: "elm/scroller/base/default"; image.border: 1 1 1 1; image.middle: 0; fill.smooth: 0; - min: 5 5; + min: 3 3; } } part { name: "center_vbar"; mouse_events: 0; @@ -671,13 +672,14 @@ group { name: "elm/scroller/base/default"; part { name: "base_hbar"; mouse_events: 0; clip_to: "sb_hbar_show"; description { state: "default" 0.0; + fixed: 1 1; rel1.offset: 0 2; rel1.to: "elm.dragable.hbar"; rel2.offset: -1 -3; rel2.to: "elm.dragable.hbar"; image.normal: "vgrad_med_lighter.png"; fill.smooth: 0; - min: 13 5; + min: 13 3; TILED_HORIZ(120) } } @@ -690,7 +692,7 @@ group { name: "elm/scroller/base/default"; image.border: 1 1 1 1; image.middle: 0; fill.smooth: 0; - min: 5 5; + min: 3 3; } } part { name: "center_hbar"; mouse_events: 0; -- |
From: ChunEon P. - E. G. <no-...@en...> - 2013-09-12 05:15:26
|
hermet pushed a commit to branch master. commit 9558537385f0a402b1725076b7a6ea1c540fd39a Author: ChunEon Park <he...@he...> Date: Thu Sep 12 14:13:59 2013 +0900 elementary - revert ddc3cf80ce0a50a9161fcb212d3414f5d7b5898c We have a plan to add more proper API. --- ChangeLog | 4 ---- NEWS | 1 - src/lib/elm_main.c | 6 ------ src/lib/elm_object_item.h | 21 --------------------- src/lib/elm_widget.c | 7 ------- src/lib/elm_widget.h | 1 - 6 files changed, 40 deletions(-) diff --git a/ChangeLog b/ChangeLog index c06f86f..ff18f8c 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1582,10 +1582,6 @@ * Bg: Add bg reset feature. -2013-09-02 ChunEon Park (Hermet) - - * Widget: Introduce elm_object_item_object_get() API. - 2013-09-04 Ryuan Choi (ryuan) * elm_config : profile may be broken when clicked reset button in profiles tab diff --git a/NEWS b/NEWS index 5cb62b2..3d536c0 100644 --- a/NEWS +++ b/NEWS @@ -85,7 +85,6 @@ Additions: * Add elm_win_focus_highlight_animate_set/get(). * Add selectraise feature to gengrid. * Add bg reset feature. - * Add elm_object_item_object_get(). * Add support for more than one progress status in a progressbar. * Add elm_table_child_get(). * Add support for flip focus direction. diff --git a/src/lib/elm_main.c b/src/lib/elm_main.c index 6c8aba8..17654c6 100644 --- a/src/lib/elm_main.c +++ b/src/lib/elm_main.c @@ -1899,9 +1899,3 @@ elm_object_item_cursor_engine_only_get(const Elm_Object_Item *it) { return elm_widget_item_cursor_engine_only_get(it); } - -EAPI const Evas_Object * -elm_object_item_object_get(const Elm_Object_Item *it) -{ - return _elm_widget_item_object_get((Elm_Widget_Item*)it); -} diff --git a/src/lib/elm_object_item.h b/src/lib/elm_object_item.h index 1d9f490..8a0ccde 100644 --- a/src/lib/elm_object_item.h +++ b/src/lib/elm_object_item.h @@ -34,27 +34,6 @@ typedef void (*Elm_Object_Item_Signal_Cb)(void *data, Elm_Objec EAPI Evas_Object *elm_object_item_widget_get(const Elm_Object_Item *it); /** - * Get the object item's internal object handle. - * - * @param it The Elementary object item - * @return The Internal object of the object item. - * - * @note This function should only be used if you really need to refer the - * internal object's properties (i.e geometry). Since the object items are - * managed/controlled by the widget, the object could be deleted, resized, moved - * and so on by the widget. So you should not modify the object directly nor you - * should not treat the object without validation, we don't guarantee the result - * of any of these behavior. - * - * Some widget items may return @c NULL for this API if the items @p are not - * based on the evas object. - * - * @since 1.8 - * @ingroup General - */ -EAPI const Evas_Object *elm_object_item_object_get(const Elm_Object_Item *it); - -/** * Set a content of an object item * * @param it The Elementary object item diff --git a/src/lib/elm_widget.c b/src/lib/elm_widget.c index 71953ce..c94f894 100644 --- a/src/lib/elm_widget.c +++ b/src/lib/elm_widget.c @@ -5787,13 +5787,6 @@ _elm_widget_item_translate(Elm_Widget_Item *item) #endif } -EAPI const Evas_Object * -_elm_widget_item_object_get(const Elm_Widget_Item *item) -{ - ELM_WIDGET_ITEM_CHECK_OR_RETURN(item, NULL); - return item->view; -} - /* happy debug functions */ #ifdef ELM_DEBUG static void diff --git a/src/lib/elm_widget.h b/src/lib/elm_widget.h index e4d6362..48d8736 100644 --- a/src/lib/elm_widget.h +++ b/src/lib/elm_widget.h @@ -771,7 +771,6 @@ EAPI void _elm_widget_item_domain_translatable_part_text_set(Elm_Wid EAPI const char * _elm_widget_item_translatable_part_text_get(const Elm_Widget_Item *item, const char *part); EAPI void _elm_widget_item_translate(Elm_Widget_Item *item); EAPI void _elm_widget_item_domain_part_text_translatable_set(Elm_Widget_Item *item, const char *part, const char *domain, Eina_Bool translatable); -EAPI const Evas_Object *_elm_widget_item_object_get(const Elm_Widget_Item *item); /** * Function to operate on a given widget's scrollabe children when necessary. -- |
From: Carsten H. (R. - E. G. <no-...@en...> - 2013-09-12 04:59:42
|
raster pushed a commit to branch master. commit 18bff67cc18022c67b54eeb2bcb1c5ce5c478b2a Author: Carsten Haitzler (Rasterman) <ra...@ra...> Date: Thu Sep 12 13:59:27 2013 +0900 we are already at 62 shutdown entires. push up to 80 as 64 is almost full. --- src/bin/e_main.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/bin/e_main.c b/src/bin/e_main.c index 4cb75f7..b8a91f5 100644 --- a/src/bin/e_main.c +++ b/src/bin/e_main.c @@ -3,7 +3,7 @@ # include <Ecore_IMF.h> #endif -#define MAX_LEVEL 64 +#define MAX_LEVEL 80 #define TS_DO #ifdef TS_DO -- |
From: Jihoon K. - E. G. <no-...@en...> - 2013-09-12 02:51:27
|
jihoon pushed a commit to branch master. commit c5d64b312f858750bc7466c0aba1dedcb7d16d34 Author: Jihoon Kim <jih...@sa...> Date: Thu Sep 12 11:51:14 2013 +0900 fix date of Changelog --- ChangeLog | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ChangeLog b/ChangeLog index c6b07d4..a7fd67d 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,4 +1,4 @@ -2013-09-06 Jihoon Kim +2013-09-12 Jihoon Kim * ecore_imf: Fix memory leak in scim immodule -- |
From: Jihoon K. - E. G. <no-...@en...> - 2013-09-12 02:49:22
|
jihoon pushed a commit to branch master. commit 6ff49dbc706f7896960227d18fe35b1d743cc359 Author: Jihoon Kim <jih...@sa...> Date: Thu Sep 12 11:49:06 2013 +0900 ecore_imf: Fix memory leak in scim immodule --- ChangeLog | 4 ++++ NEWS | 1 + src/modules/ecore_imf/scim/scim_imcontext.cpp | 14 ++++++++++++++ 3 files changed, 19 insertions(+) diff --git a/ChangeLog b/ChangeLog index 048348a..c6b07d4 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,7 @@ +2013-09-06 Jihoon Kim + + * ecore_imf: Fix memory leak in scim immodule + 2013-09-06 Cedric Bail * Edje: Add border information to Image sets. diff --git a/NEWS b/NEWS index 35a7f1d..be7c068 100644 --- a/NEWS +++ b/NEWS @@ -378,6 +378,7 @@ Fixes: - Check the state of last mouse event more properly. * Ecore-imf: - Fix crash when ecore_imf_context_del is called in ecore_imf_context_input_panel_callback_call. + - Fix memory leak in scim immodule * Eio: - Don't leak fd on exec. - eio functions no longer crash when passed NULL and throw errors accordingly. diff --git a/src/modules/ecore_imf/scim/scim_imcontext.cpp b/src/modules/ecore_imf/scim/scim_imcontext.cpp index 43392bb..f5bd678 100644 --- a/src/modules/ecore_imf/scim/scim_imcontext.cpp +++ b/src/modules/ecore_imf/scim/scim_imcontext.cpp @@ -2721,8 +2721,22 @@ slot_get_surrounding_text(IMEngineInstanceBase *si, { SCIM_DEBUG_FRONTEND(2) << "Surrounding text: " << surrounding <<"\n"; SCIM_DEBUG_FRONTEND(2) << "Cursor Index : " << cursor_index <<"\n"; + if (!surrounding) + return false; + + if (cursor_index < 0) + { + free(surrounding); + surrounding = NULL; + return false; + } + WideString before(utf8_mbstowcs(String(surrounding, surrounding + cursor_index))); WideString after(utf8_mbstowcs(String(surrounding + cursor_index))); + + free(surrounding); + surrounding = NULL; + if (maxlen_before > 0 && ((unsigned int)maxlen_before) < before.length()) before = WideString(before.begin() + (before.length() - maxlen_before), before.end()); else if (maxlen_before == 0) before = WideString(); -- |
From: Daniel J. S. - E. G. <no-...@en...> - 2013-09-11 16:18:34
|
seoz pushed a commit to branch master. commit 48cffba48b9224e1a53f5d8794b6738693a94962 Author: Daniel Juyung Seo <seo...@gm...> Date: Thu Sep 12 01:15:48 2013 +0900 ChangeLog/NEWS: fixed ChangeLog and NEWS. --- ChangeLog | 4 ++-- NEWS | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/ChangeLog b/ChangeLog index 910ebc6..5a04ca8 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1603,7 +1603,7 @@ * elc_fileselector : Navigate (if needed) and select file with "selected" signal when user typed file path on path_entry. - -2013-09-10 Jose Roberto de Souza (zehortigoza) + +2013-09-10 Jose Roberto de Souza (zehortigoza) * table : Introduce elm_table_child_get() API. diff --git a/NEWS b/NEWS index ba35f61..d581773 100644 --- a/NEWS +++ b/NEWS @@ -86,7 +86,7 @@ Additions: * Add selectraise feature to gengrid. * Add bg reset feature. * Add elm_object_item_object_get(). - * Added support for more than one progress status in a progressbar. + * Add support for more than one progress status in a progressbar. * Add elm_table_child_get(). Improvements: -- |
From: Daniel J. S. - E. G. <no-...@en...> - 2013-09-11 16:18:21
|
seoz pushed a commit to branch master. commit 8a0d6f67cfb0ca587a7dc9b887673e65f12b519a Author: Daniel Juyung Seo <seo...@gm...> Date: Thu Sep 12 01:18:26 2013 +0900 test_progressbar.c: refactoring. moved code to the better place. --- src/bin/test_progressbar.c | 112 ++++++++++++++++++++++----------------------- 1 file changed, 56 insertions(+), 56 deletions(-) diff --git a/src/bin/test_progressbar.c b/src/bin/test_progressbar.c index 5de8100..f53e92c 100644 --- a/src/bin/test_progressbar.c +++ b/src/bin/test_progressbar.c @@ -37,29 +37,6 @@ _my_progressbar_value_set(void *data) return ECORE_CALLBACK_CANCEL; } -static Eina_Bool -_my_progressbar_value_set2(void *data) -{ - Progressbar_Data *pd = data; - if (!pd) return ECORE_CALLBACK_CANCEL; - - double progress; - - progress = elm_progressbar_value_get (pd->pb1); - if (progress < 1.0) progress += 0.0123; - else progress = 0.0; - elm_progressbar_part_value_set(pd->pb1, "elm.cur.progressbar", progress); - elm_progressbar_value_set(pd->pb2, progress); - elm_progressbar_part_value_set(pd->pb2, "elm.cur.progressbar1", progress-0.15); - elm_progressbar_part_value_set(pd->pb3, "elm.cur.progressbar", progress); - elm_progressbar_part_value_set(pd->pb3, "elm.cur.progressbar1", progress-0.15); - - if (progress < 1.0) return ECORE_CALLBACK_RENEW; - - pd->timer = NULL; - return ECORE_CALLBACK_CANCEL; -} - static void my_progressbar_test_start(void *data, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED) { @@ -82,21 +59,6 @@ my_progressbar_test_start(void *data, Evas_Object *obj EINA_UNUSED, void *event_ } static void -my_progressbar_test_start2(void *data, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED) -{ - Progressbar_Data *pd = data; - if (!pd) return; - - fprintf(stderr, "s1\n"); - - elm_object_disabled_set(pd->btn_start, EINA_TRUE); - elm_object_disabled_set(pd->btn_stop, EINA_FALSE); - - if (!pd->timer) - pd->timer = ecore_timer_add(0.1, _my_progressbar_value_set2, pd); -} - -static void my_progressbar_test_stop(void *data, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED) { Progressbar_Data *pd = data; @@ -116,22 +78,6 @@ my_progressbar_test_stop(void *data, Evas_Object *obj EINA_UNUSED, void *event_i } static void -my_progressbar_test_stop2(void *data, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED) -{ - Progressbar_Data *pd = data; - if (!pd) return; - - elm_object_disabled_set(pd->btn_start, EINA_FALSE); - elm_object_disabled_set(pd->btn_stop, EINA_TRUE); - - if (pd->timer) - { - ecore_timer_del(pd->timer); - pd->timer = NULL; - } -} - -static void _progressbar_destroy_cb(void *data, Evas_Object *obj, void *event_info EINA_UNUSED) { Progressbar_Data *pd = data; @@ -290,6 +236,60 @@ test_progressbar(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *eve evas_object_show(win); } +static Eina_Bool +_progressbar2_timer_cb(void *data) +{ + Progressbar_Data *pd = data; + if (!pd) return ECORE_CALLBACK_CANCEL; + + double progress; + + progress = elm_progressbar_value_get (pd->pb1); + if (progress < 1.0) progress += 0.0123; + else progress = 0.0; + elm_progressbar_part_value_set(pd->pb1, "elm.cur.progressbar", progress); + elm_progressbar_value_set(pd->pb2, progress); + elm_progressbar_part_value_set(pd->pb2, "elm.cur.progressbar1", progress-0.15); + elm_progressbar_part_value_set(pd->pb3, "elm.cur.progressbar", progress); + elm_progressbar_part_value_set(pd->pb3, "elm.cur.progressbar1", progress-0.15); + + if (progress < 1.0) return ECORE_CALLBACK_RENEW; + + pd->timer = NULL; + return ECORE_CALLBACK_CANCEL; +} + +static void +_pg2_start_btn_clicked_cb(void *data, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED) +{ + Progressbar_Data *pd = data; + if (!pd) return; + + fprintf(stderr, "s1\n"); + + elm_object_disabled_set(pd->btn_start, EINA_TRUE); + elm_object_disabled_set(pd->btn_stop, EINA_FALSE); + + if (!pd->timer) + pd->timer = ecore_timer_add(0.1, _progressbar2_timer_cb, pd); +} + +static void +_pg2_stop_btn_clicked_cb(void *data, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED) +{ + Progressbar_Data *pd = data; + if (!pd) return; + + elm_object_disabled_set(pd->btn_start, EINA_FALSE); + elm_object_disabled_set(pd->btn_stop, EINA_TRUE); + + if (pd->timer) + { + ecore_timer_del(pd->timer); + pd->timer = NULL; + } +} + void test_progressbar2(void *data __UNUSED__, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__) { @@ -345,7 +345,7 @@ test_progressbar2(void *data __UNUSED__, Evas_Object *obj __UNUSED__, void *even bt = elm_button_add(win); elm_object_text_set(bt, "Start"); - evas_object_smart_callback_add(bt, "clicked", my_progressbar_test_start2, pd); + evas_object_smart_callback_add(bt, "clicked", _pg2_start_btn_clicked_cb, pd); elm_box_pack_end(bt_bx, bt); evas_object_show(bt); pd->btn_start = bt; @@ -353,7 +353,7 @@ test_progressbar2(void *data __UNUSED__, Evas_Object *obj __UNUSED__, void *even bt = elm_button_add(win); elm_object_text_set(bt, "Stop"); elm_object_disabled_set(bt, EINA_TRUE); - evas_object_smart_callback_add(bt, "clicked", my_progressbar_test_stop2, pd); + evas_object_smart_callback_add(bt, "clicked", _pg2_stop_btn_clicked_cb, pd); elm_box_pack_end(bt_bx, bt); evas_object_show(bt); pd->btn_stop = bt; -- |
From: Daniel J. S. - E. G. <no-...@en...> - 2013-09-11 16:18:21
|
seoz pushed a commit to branch master. commit e431326ea8f44379c05f4040e2deb2d20014db84 Author: Daniel Juyung Seo <seo...@gm...> Date: Thu Sep 12 01:16:58 2013 +0900 elm_flip.c: Added support for flip focus direction. --- ChangeLog | 4 ++++ NEWS | 1 + src/lib/elm_flip.c | 41 +++++++++++++++++++++++++++++++++++++++++ 3 files changed, 46 insertions(+) diff --git a/ChangeLog b/ChangeLog index 5a04ca8..c06f86f 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1607,3 +1607,7 @@ 2013-09-10 Jose Roberto de Souza (zehortigoza) * table : Introduce elm_table_child_get() API. + +2013-09-11 Daniel Juyung Seo (SeoZ) + + * flip : Added support for focus direction. diff --git a/NEWS b/NEWS index d581773..5cb62b2 100644 --- a/NEWS +++ b/NEWS @@ -88,6 +88,7 @@ Additions: * Add elm_object_item_object_get(). * Add support for more than one progress status in a progressbar. * Add elm_table_child_get(). + * Add support for flip focus direction. Improvements: diff --git a/src/lib/elm_flip.c b/src/lib/elm_flip.c index ba2a074..eefe4a7 100644 --- a/src/lib/elm_flip.c +++ b/src/lib/elm_flip.c @@ -132,6 +132,45 @@ _elm_flip_smart_focus_next(Eo *obj EINA_UNUSED, void *_pd EINA_UNUSED, va_list * } static void +_elm_flip_smart_focus_direction_manager_is(Eo *obj EINA_UNUSED, void *_pd EINA_UNUSED, va_list *list) +{ + Eina_Bool *ret = va_arg(*list, Eina_Bool *); + if (!elm_widget_can_focus_get(obj)) + *ret = EINA_TRUE; + else + *ret = EINA_FALSE; +} + +static void +_elm_flip_smart_focus_direction(Eo *obj, void *_pd, va_list *list) +{ + Evas_Object *base = va_arg(*list, Evas_Object *); + double degree = va_arg(*list, double); + Evas_Object **direction = va_arg(*list, Evas_Object **); + double *weight = va_arg(*list, double *); + Eina_Bool *ret = va_arg(*list, Eina_Bool *); + if (ret) *ret = EINA_FALSE; + Eina_Bool int_ret; + Elm_Flip_Smart_Data *sd = _pd; + + Eina_List *l = NULL; + void *(*list_data_get)(const Eina_List *list); + + list_data_get = eina_list_data_get; + + if (sd->front.content) + l = eina_list_append(l, sd->front.content); + if (sd->back.content) + l = eina_list_append(l, sd->back.content); + + int_ret = elm_widget_focus_list_direction_get + (obj, base, l, list_data_get, degree, direction, weight); + + if (ret) *ret = int_ret; + eina_list_free(l); +} + +static void _changed_size_hints_cb(void *data, Evas *e __UNUSED__, Evas_Object *obj __UNUSED__, @@ -2180,6 +2219,8 @@ _class_constructor(Eo_Class *klass) EO_OP_FUNC(ELM_WIDGET_ID(ELM_WIDGET_SUB_ID_THEME), _elm_flip_smart_theme), EO_OP_FUNC(ELM_WIDGET_ID(ELM_WIDGET_SUB_ID_FOCUS_NEXT_MANAGER_IS), _elm_flip_smart_focus_next_manager_is), EO_OP_FUNC(ELM_WIDGET_ID(ELM_WIDGET_SUB_ID_FOCUS_NEXT), _elm_flip_smart_focus_next), + EO_OP_FUNC(ELM_WIDGET_ID(ELM_WIDGET_SUB_ID_FOCUS_DIRECTION_MANAGER_IS), _elm_flip_smart_focus_direction_manager_is), + EO_OP_FUNC(ELM_WIDGET_ID(ELM_WIDGET_SUB_ID_FOCUS_DIRECTION), _elm_flip_smart_focus_direction), EO_OP_FUNC(ELM_WIDGET_ID(ELM_WIDGET_SUB_ID_SUB_OBJECT_ADD), _elm_flip_smart_sub_object_add), EO_OP_FUNC(ELM_WIDGET_ID(ELM_WIDGET_SUB_ID_SUB_OBJECT_DEL), _elm_flip_smart_sub_object_del), -- |
From: Daniel J. S. - E. G. <no-...@en...> - 2013-09-11 16:18:20
|
seoz pushed a commit to branch master. commit 16b51a26eb94ae31bb351ff2ea3d5afa46d757ed Author: Daniel Juyung Seo <seo...@gm...> Date: Tue Sep 10 23:50:41 2013 +0900 test_progressbar.c: Do not use global variable for progressbar structure. That will be interrupted by another windows' progressbar test. --- src/bin/test_progressbar.c | 186 +++++++++++++++++++++++++-------------------- 1 file changed, 103 insertions(+), 83 deletions(-) diff --git a/src/bin/test_progressbar.c b/src/bin/test_progressbar.c index 13ac94f..5de8100 100644 --- a/src/bin/test_progressbar.c +++ b/src/bin/test_progressbar.c @@ -3,7 +3,7 @@ #endif #include <Elementary.h> #ifndef ELM_LIB_QUICKLAUNCH -typedef struct Progressbar +typedef struct Progressbar_Data { Evas_Object *pb1; Evas_Object *pb2; @@ -15,113 +15,128 @@ typedef struct Progressbar Ecore_Timer *timer; Evas_Object *btn_start; Evas_Object *btn_stop; -} Progressbar; - -static Progressbar _test_progressbar; +} Progressbar_Data; static Eina_Bool -_my_progressbar_value_set (void *data EINA_UNUSED) +_my_progressbar_value_set(void *data) { double progress; + Progressbar_Data *pd = data; - progress = elm_progressbar_value_get (_test_progressbar.pb1); + progress = elm_progressbar_value_get (pd->pb1); if (progress < 1.0) progress += 0.0123; else progress = 0.0; - elm_progressbar_value_set(_test_progressbar.pb1, progress); - elm_progressbar_value_set(_test_progressbar.pb4, progress); - elm_progressbar_value_set(_test_progressbar.pb3, progress); - elm_progressbar_value_set(_test_progressbar.pb6, progress); + elm_progressbar_value_set(pd->pb1, progress); + elm_progressbar_value_set(pd->pb4, progress); + elm_progressbar_value_set(pd->pb3, progress); + elm_progressbar_value_set(pd->pb6, progress); if (progress < 1.0) return ECORE_CALLBACK_RENEW; - _test_progressbar.timer = NULL; + pd->timer = NULL; return ECORE_CALLBACK_CANCEL; } static Eina_Bool -_my_progressbar_value_set2(void *data EINA_UNUSED) +_my_progressbar_value_set2(void *data) { + Progressbar_Data *pd = data; + if (!pd) return ECORE_CALLBACK_CANCEL; + double progress; - progress = elm_progressbar_value_get (_test_progressbar.pb1); + progress = elm_progressbar_value_get (pd->pb1); if (progress < 1.0) progress += 0.0123; else progress = 0.0; - elm_progressbar_part_value_set(_test_progressbar.pb1, "elm.cur.progressbar", progress); - elm_progressbar_value_set(_test_progressbar.pb2, progress); - elm_progressbar_part_value_set(_test_progressbar.pb2, "elm.cur.progressbar1", progress-0.15); - elm_progressbar_part_value_set(_test_progressbar.pb3, "elm.cur.progressbar", progress); - elm_progressbar_part_value_set(_test_progressbar.pb3, "elm.cur.progressbar1", progress-0.15); + elm_progressbar_part_value_set(pd->pb1, "elm.cur.progressbar", progress); + elm_progressbar_value_set(pd->pb2, progress); + elm_progressbar_part_value_set(pd->pb2, "elm.cur.progressbar1", progress-0.15); + elm_progressbar_part_value_set(pd->pb3, "elm.cur.progressbar", progress); + elm_progressbar_part_value_set(pd->pb3, "elm.cur.progressbar1", progress-0.15); if (progress < 1.0) return ECORE_CALLBACK_RENEW; - _test_progressbar.timer = NULL; + pd->timer = NULL; return ECORE_CALLBACK_CANCEL; } static void -my_progressbar_test_start(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED) +my_progressbar_test_start(void *data, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED) { + Progressbar_Data *pd = data; + if (!pd) return; + fprintf(stderr, "s1\n"); - elm_progressbar_pulse(_test_progressbar.pb2, EINA_TRUE); + elm_progressbar_pulse(pd->pb2, EINA_TRUE); fprintf(stderr, "s2\n"); - elm_progressbar_pulse(_test_progressbar.pb5, EINA_TRUE); - fprintf(stderr, "s3 %p\n", _test_progressbar.pb7); - elm_progressbar_pulse(_test_progressbar.pb7, EINA_TRUE); + elm_progressbar_pulse(pd->pb5, EINA_TRUE); + fprintf(stderr, "s3 %p\n", pd->pb7); + elm_progressbar_pulse(pd->pb7, EINA_TRUE); fprintf(stderr, "s4\n"); - elm_object_disabled_set(_test_progressbar.btn_start, EINA_TRUE); - elm_object_disabled_set(_test_progressbar.btn_stop, EINA_FALSE); + elm_object_disabled_set(pd->btn_start, EINA_TRUE); + elm_object_disabled_set(pd->btn_stop, EINA_FALSE); - if (!_test_progressbar.timer) - _test_progressbar.timer = ecore_timer_add(0.1, - _my_progressbar_value_set, NULL); + if (!pd->timer) + pd->timer = ecore_timer_add(0.1, _my_progressbar_value_set, pd); } static void -my_progressbar_test_start2(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED) +my_progressbar_test_start2(void *data, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED) { + Progressbar_Data *pd = data; + if (!pd) return; + fprintf(stderr, "s1\n"); - elm_object_disabled_set(_test_progressbar.btn_start, EINA_TRUE); - elm_object_disabled_set(_test_progressbar.btn_stop, EINA_FALSE); + elm_object_disabled_set(pd->btn_start, EINA_TRUE); + elm_object_disabled_set(pd->btn_stop, EINA_FALSE); - if (!_test_progressbar.timer) - _test_progressbar.timer = ecore_timer_add(0.1, - _my_progressbar_value_set2, NULL); + if (!pd->timer) + pd->timer = ecore_timer_add(0.1, _my_progressbar_value_set2, pd); } static void -my_progressbar_test_stop(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED) +my_progressbar_test_stop(void *data, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED) { - elm_progressbar_pulse(_test_progressbar.pb1, EINA_FALSE); - elm_progressbar_pulse(_test_progressbar.pb2, EINA_FALSE); - elm_progressbar_pulse(_test_progressbar.pb3, EINA_FALSE); - elm_object_disabled_set(_test_progressbar.btn_start, EINA_FALSE); - elm_object_disabled_set(_test_progressbar.btn_stop, EINA_TRUE); + Progressbar_Data *pd = data; + if (!pd) return; + + elm_progressbar_pulse(pd->pb1, EINA_FALSE); + elm_progressbar_pulse(pd->pb2, EINA_FALSE); + elm_progressbar_pulse(pd->pb3, EINA_FALSE); + elm_object_disabled_set(pd->btn_start, EINA_FALSE); + elm_object_disabled_set(pd->btn_stop, EINA_TRUE); - if (_test_progressbar.timer) + if (pd->timer) { - ecore_timer_del(_test_progressbar.timer); - _test_progressbar.timer = NULL; + ecore_timer_del(pd->timer); + pd->timer = NULL; } } static void -my_progressbar_test_stop2(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED) +my_progressbar_test_stop2(void *data, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED) { - elm_object_disabled_set(_test_progressbar.btn_start, EINA_FALSE); - elm_object_disabled_set(_test_progressbar.btn_stop, EINA_TRUE); + Progressbar_Data *pd = data; + if (!pd) return; - if (_test_progressbar.timer) + elm_object_disabled_set(pd->btn_start, EINA_FALSE); + elm_object_disabled_set(pd->btn_stop, EINA_TRUE); + + if (pd->timer) { - ecore_timer_del(_test_progressbar.timer); - _test_progressbar.timer = NULL; + ecore_timer_del(pd->timer); + pd->timer = NULL; } } static void -my_progressbar_destroy(void *data EINA_UNUSED, Evas_Object *obj, void *event_info EINA_UNUSED) +_progressbar_destroy_cb(void *data, Evas_Object *obj, void *event_info EINA_UNUSED) { + Progressbar_Data *pd = data; + + if (pd) free(pd); my_progressbar_test_stop(NULL, NULL, NULL); evas_object_del(obj); } @@ -143,10 +158,13 @@ test_progressbar(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *eve { Evas_Object *win, *pb, *bx, *hbx, *bt, *bt_bx, *ic1, *ic2; char buf[PATH_MAX]; + Progressbar_Data *pd; + + pd = (Progressbar_Data *)calloc(1, sizeof(Progressbar_Data)); win = elm_win_util_standard_add("progressbar", "Progressbar"); evas_object_smart_callback_add(win, "delete,request", - my_progressbar_destroy, NULL); + _progressbar_destroy_cb, pd); bx = elm_box_add(win); evas_object_size_hint_weight_set(bx, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); @@ -162,7 +180,7 @@ test_progressbar(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *eve elm_progressbar_unit_format_function_set(pb, my_progressbar_format_cb, (void (*)(char *)) free); evas_object_show(pb); - _test_progressbar.pb1 = pb; + pd->pb1 = pb; pb = elm_progressbar_add(win); evas_object_size_hint_align_set(pb, EVAS_HINT_FILL, 0.5); @@ -171,7 +189,7 @@ test_progressbar(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *eve elm_progressbar_pulse_set(pb, EINA_TRUE); elm_box_pack_end(bx, pb); evas_object_show(pb); - _test_progressbar.pb2 = pb; + pd->pb2 = pb; ic1 = elm_icon_add(win); snprintf(buf, sizeof(buf), "%s/images/logo_small.png", elm_app_data_dir_get()); @@ -183,13 +201,13 @@ test_progressbar(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *eve elm_object_part_content_set(pb, "icon", ic1); elm_progressbar_inverted_set(pb, 1); elm_progressbar_unit_format_set(pb, "%1.1f units"); - elm_progressbar_span_size_set(pb, 200); + elm_progressbar_span_size_set(pb, elm_config_scale_get() * 200); evas_object_size_hint_align_set(pb, EVAS_HINT_FILL, 0.5); evas_object_size_hint_weight_set(pb, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); elm_box_pack_end(bx, pb); evas_object_show(ic1); evas_object_show(pb); - _test_progressbar.pb3 = pb; + pd->pb3 = pb; hbx = elm_box_add(win); elm_box_horizontal_set(hbx, EINA_TRUE); @@ -203,22 +221,22 @@ test_progressbar(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *eve evas_object_size_hint_align_set(pb, EVAS_HINT_FILL, EVAS_HINT_FILL); evas_object_size_hint_weight_set(pb, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); elm_box_pack_end(hbx, pb); - elm_progressbar_span_size_set(pb, 60); + elm_progressbar_span_size_set(pb, elm_config_scale_get() * 60); elm_object_text_set(pb, "percent"); evas_object_show(pb); - _test_progressbar.pb4 = pb; + pd->pb4 = pb; pb = elm_progressbar_add(win); elm_progressbar_horizontal_set(pb, EINA_FALSE); evas_object_size_hint_align_set(pb, EVAS_HINT_FILL, 0.5); evas_object_size_hint_weight_set(pb, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - elm_progressbar_span_size_set(pb, 80); + elm_progressbar_span_size_set(pb, elm_config_scale_get() * 80); elm_progressbar_pulse_set(pb, EINA_TRUE); elm_progressbar_unit_format_set(pb, NULL); elm_object_text_set(pb, "Infinite bounce"); elm_box_pack_end(hbx, pb); evas_object_show(pb); - _test_progressbar.pb5 = pb; + pd->pb5 = pb; ic2 = elm_icon_add(win); elm_image_file_set(ic2, buf, NULL); @@ -230,13 +248,13 @@ test_progressbar(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *eve elm_object_part_content_set(pb, "icon", ic2); elm_progressbar_inverted_set(pb, EINA_TRUE); elm_progressbar_unit_format_set(pb, "%1.2f%%"); - elm_progressbar_span_size_set(pb, 200); + elm_progressbar_span_size_set(pb, elm_config_scale_get() * 200); evas_object_size_hint_align_set(pb, EVAS_HINT_FILL, 0.5); evas_object_size_hint_weight_set(pb, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); elm_box_pack_end(hbx, pb); evas_object_show(ic2); evas_object_show(pb); - _test_progressbar.pb6 = pb; + pd->pb6 = pb; pb = elm_progressbar_add(win); elm_object_style_set(pb, "wheel"); @@ -246,7 +264,7 @@ test_progressbar(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *eve evas_object_size_hint_weight_set(pb, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); elm_box_pack_end(bx, pb); evas_object_show(pb); - _test_progressbar.pb7 = pb; + pd->pb7 = pb; bt_bx = elm_box_add(win); elm_box_horizontal_set(bt_bx, EINA_TRUE); @@ -256,18 +274,18 @@ test_progressbar(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *eve bt = elm_button_add(win); elm_object_text_set(bt, "Start"); - evas_object_smart_callback_add(bt, "clicked", my_progressbar_test_start, NULL); + evas_object_smart_callback_add(bt, "clicked", my_progressbar_test_start, pd); elm_box_pack_end(bt_bx, bt); evas_object_show(bt); - _test_progressbar.btn_start = bt; + pd->btn_start = bt; bt = elm_button_add(win); elm_object_text_set(bt, "Stop"); elm_object_disabled_set(bt, EINA_TRUE); - evas_object_smart_callback_add(bt, "clicked", my_progressbar_test_stop, NULL); + evas_object_smart_callback_add(bt, "clicked", my_progressbar_test_stop, pd); elm_box_pack_end(bt_bx, bt); evas_object_show(bt); - _test_progressbar.btn_stop = bt; + pd->btn_stop = bt; evas_object_show(win); } @@ -276,10 +294,14 @@ void test_progressbar2(void *data __UNUSED__, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__) { Evas_Object *win, *pb, *bx, *bt, *bt_bx; + Progressbar_Data *pd; + + pd = (Progressbar_Data *)calloc(1, sizeof(Progressbar_Data)); win = elm_win_util_standard_add("progressbar", "Progressbar2"); evas_object_smart_callback_add(win, "delete,request", - my_progressbar_destroy, NULL); + _progressbar_destroy_cb, pd); + evas_object_show(win); bx = elm_box_add(win); evas_object_size_hint_weight_set(bx, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); @@ -288,32 +310,32 @@ test_progressbar2(void *data __UNUSED__, Evas_Object *obj __UNUSED__, void *even pb = elm_progressbar_add(win); elm_object_text_set(pb, "Style: default"); - evas_object_size_hint_align_set(pb, EVAS_HINT_FILL, 0.5); evas_object_size_hint_weight_set(pb, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - elm_progressbar_span_size_set(pb, 200); + evas_object_size_hint_align_set(pb, EVAS_HINT_FILL, 0.5); + elm_progressbar_span_size_set(pb, elm_config_scale_get() * 200); elm_box_pack_end(bx, pb); evas_object_show(pb); - _test_progressbar.pb1 = pb; + pd->pb1 = pb; pb = elm_progressbar_add(win); elm_object_style_set(pb, "recording"); elm_object_text_set(pb, "Style: Recording"); - evas_object_size_hint_align_set(pb, EVAS_HINT_FILL, 0.5); evas_object_size_hint_weight_set(pb, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - elm_progressbar_span_size_set(pb, 200); + evas_object_size_hint_align_set(pb, EVAS_HINT_FILL, 0.5); + elm_progressbar_span_size_set(pb, elm_config_scale_get() * 200); elm_box_pack_end(bx, pb); evas_object_show(pb); - _test_progressbar.pb2 = pb; + pd->pb2 = pb; pb = elm_progressbar_add(win); elm_object_style_set(pb, "recording"); elm_object_text_set(pb, "Style: Recording 2"); - evas_object_size_hint_align_set(pb, EVAS_HINT_FILL, 0.5); evas_object_size_hint_weight_set(pb, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - elm_progressbar_span_size_set(pb, 200); + evas_object_size_hint_align_set(pb, EVAS_HINT_FILL, 0.5); + elm_progressbar_span_size_set(pb, elm_config_scale_get() * 200); elm_box_pack_end(bx, pb); evas_object_show(pb); - _test_progressbar.pb3 = pb; + pd->pb3 = pb; bt_bx = elm_box_add(win); elm_box_horizontal_set(bt_bx, EINA_TRUE); @@ -323,19 +345,17 @@ test_progressbar2(void *data __UNUSED__, Evas_Object *obj __UNUSED__, void *even bt = elm_button_add(win); elm_object_text_set(bt, "Start"); - evas_object_smart_callback_add(bt, "clicked", my_progressbar_test_start2, NULL); + evas_object_smart_callback_add(bt, "clicked", my_progressbar_test_start2, pd); elm_box_pack_end(bt_bx, bt); evas_object_show(bt); - _test_progressbar.btn_start = bt; + pd->btn_start = bt; bt = elm_button_add(win); elm_object_text_set(bt, "Stop"); elm_object_disabled_set(bt, EINA_TRUE); - evas_object_smart_callback_add(bt, "clicked", my_progressbar_test_stop2, NULL); + evas_object_smart_callback_add(bt, "clicked", my_progressbar_test_stop2, pd); elm_box_pack_end(bt_bx, bt); evas_object_show(bt); - _test_progressbar.btn_stop = bt; - - evas_object_show(win); + pd->btn_stop = bt; } #endif -- |
From: Daniel J. S. - E. G. <no-...@en...> - 2013-09-11 16:18:19
|
seoz pushed a commit to branch master. commit 8030abad4bfec5aff3202a0cb15582e9667a85e5 Author: Daniel Juyung Seo <seo...@gm...> Date: Tue Sep 10 16:30:44 2013 +0900 elm_widget_progressbgar.h: subtle formatting fix. --- src/lib/elm_widget_progressbar.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/lib/elm_widget_progressbar.h b/src/lib/elm_widget_progressbar.h index 20d7812..016970e 100644 --- a/src/lib/elm_widget_progressbar.h +++ b/src/lib/elm_widget_progressbar.h @@ -32,7 +32,7 @@ struct _Elm_Progressbar_Smart_Data Eina_Bool inverted : 1; Eina_Bool pulse : 1; Eina_Bool pulse_state : 1; - Eina_List *progress_status; + Eina_List *progress_status; char *(*unit_format_func)(double val); void (*unit_format_free)(char *str); @@ -40,7 +40,7 @@ struct _Elm_Progressbar_Smart_Data struct _Elm_Progress_Status { - const char *part_name; + const char *part_name; double val; }; -- |
From: Daniel J. S. - E. G. <no-...@en...> - 2013-09-11 16:18:19
|
seoz pushed a commit to branch master. commit 8ee141469770472e249f82bfeb677aa5ebd94b17 Author: Daniel Juyung Seo <seo...@gm...> Date: Wed Sep 11 20:22:28 2013 +0900 elm_layout.c: fixed typo. --- src/lib/elm_layout.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/lib/elm_layout.c b/src/lib/elm_layout.c index 597aa15..453b6d0 100644 --- a/src/lib/elm_layout.c +++ b/src/lib/elm_layout.c @@ -516,7 +516,7 @@ _elm_layout_smart_focus_direction(Eo *obj, void *_pd, va_list *list) if (!sd->subs) return; - /* Focus chain (This block is diferent of elm_win cycle) */ + /* Focus chain (This block is different from elm_win cycle) */ if ((items = elm_widget_focus_custom_chain_get(obj))) list_data_get = eina_list_data_get; else -- |
From: Carsten H. (R. - E. G. <no-...@en...> - 2013-09-11 16:03:32
|
raster pushed a commit to branch master. commit 2ca1a5a5d4aaeb346c4209415dedc75399e0b518 Author: Carsten Haitzler (Rasterman) <ra...@ra...> Date: Thu Sep 12 01:23:23 2013 +0900 fix comp fullscreen nocomp detection to work properly given comp changes --- src/bin/e_comp.c | 108 +++++++++++++++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 106 insertions(+), 2 deletions(-) diff --git a/src/bin/e_comp.c b/src/bin/e_comp.c index faf7e9a..c4a3ffd 100644 --- a/src/bin/e_comp.c +++ b/src/bin/e_comp.c @@ -200,6 +200,96 @@ _e_comp_child_hide(E_Comp_Win *cw) } } +static Eina_Bool +_e_comp_visible_object_clip_is(Evas_Object *obj) +{ + Evas_Object *clip; + int a; + + clip = evas_object_clip_get(obj); + if (!evas_object_visible_get(clip)) return EINA_FALSE; + evas_object_color_get(clip, NULL, NULL, NULL, &a); + if (a <= 0) return EINA_FALSE; + if (evas_object_clip_get(clip)) + return _e_comp_visible_object_clip_is(clip); + return EINA_TRUE; +} + +static Eina_Bool +_e_comp_visible_object_is(Evas_Object *obj, Evas_Coord x, Evas_Coord y, Evas_Coord w, Evas_Coord h) +{ + const char *type = evas_object_type_get(obj); + Evas_Coord xx, yy, ww, hh; + + if (!type) return EINA_FALSE; + evas_object_geometry_get(obj, &xx, &yy, &ww, &hh); + if (E_INTERSECTS(x, y, w, h, xx, yy, ww, hh)) + { + if ((evas_object_visible_get(obj)) + && (!evas_object_clipees_get(obj)) + ) + { + int a; + + evas_object_color_get(obj, NULL, NULL, NULL, &a); + if (a > 0) + { + if ((!strcmp(type, "rectangle")) || + (!strcmp(type, "image")) || + (!strcmp(type, "text")) || + (!strcmp(type, "textblock")) || + (!strcmp(type, "textgrid")) || + (!strcmp(type, "polygon")) || + (!strcmp(type, "line"))) + { + if (evas_object_clip_get(obj)) + return _e_comp_visible_object_clip_is(obj); + return EINA_TRUE; + } + else + { + Eina_List *children; + + if ((children = evas_object_smart_members_get(obj))) + { + Eina_List *l; + Evas_Object *o; + + EINA_LIST_FOREACH(children, l, o) + { + if (_e_comp_visible_object_is(o, x, y, w, h)) + { + if (evas_object_clip_get(o)) + { + children = eina_list_free(children); + return _e_comp_visible_object_clip_is(o); + } + children = eina_list_free(children); + return EINA_TRUE; + } + } + eina_list_free(children); + } + } + } + } + } + return EINA_FALSE; +} + +static Eina_Bool +_e_comp_visible_object_is_above(Evas_Object *obj, Evas_Coord x, Evas_Coord y, Evas_Coord w, Evas_Coord h) +{ + Evas_Object *above; + + for (above = evas_object_above_get(obj); above; + above = evas_object_above_get(above)) + { + if (_e_comp_visible_object_is(above, x, y, w, h)) return EINA_TRUE; + } + return EINA_FALSE; +} + static E_Comp_Win * _e_comp_fullscreen_check(E_Comp *c) { @@ -212,11 +302,25 @@ _e_comp_fullscreen_check(E_Comp *c) continue; if (!cw->bd) continue; if ((cw->x == 0) && (cw->y == 0) && - ((cw->bd->client.w) >= c->man->w) && - ((cw->bd->client.h) >= c->man->h) && + ((cw->bd->client.w) == c->man->w) && + ((cw->bd->client.h) == c->man->h) && + (cw->bd->client_inset.l == 0) && (cw->bd->client_inset.r == 0) && + (cw->bd->client_inset.t == 0) && (cw->bd->client_inset.b == 0) && (!cw->argb) && (!cw->shaped) && (!cw->bg_win) ) { + // check for objects above... + Evas_Object *parent = NULL, *o = NULL; + + o = cw->obj; + do + { + if (_e_comp_visible_object_is_above + (o, 0, 0, c->man->w, c->man->h)) return NULL; + parent = evas_object_smart_parent_get(o); + if (parent) o = parent; + } + while (parent); return cw; } return NULL; -- |
From: Chris M. - E. G. <no-...@en...> - 2013-09-11 13:15:16
|
devilhorns pushed a commit to branch master. commit bd4d6cb6cca0f3b5816509ecca6fd305c104a2a6 Author: Chris Michael <cp....@sa...> Date: Wed Sep 11 14:13:53 2013 +0100 Also reset opaque region is transparent is toggled. Signed-off-by: Chris Michael <cp....@sa...> --- src/lib/ecore_wayland/ecore_wl_window.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/lib/ecore_wayland/ecore_wl_window.c b/src/lib/ecore_wayland/ecore_wl_window.c index 5f8b958..555ebc6 100644 --- a/src/lib/ecore_wayland/ecore_wl_window.c +++ b/src/lib/ecore_wayland/ecore_wl_window.c @@ -419,6 +419,9 @@ ecore_wl_window_transparent_set(Ecore_Wl_Window *win, Eina_Bool transparent) win->transparent = transparent; if (win->transparent) ecore_wl_window_opaque_region_set(win, 0, 0, 0, 0); + else + ecore_wl_window_opaque_region_set(win, win->opaque.x, win->opaque.y, + win->opaque.w, win->opaque.h); } EAPI Eina_Bool -- |
From: Chris M. - E. G. <no-...@en...> - 2013-09-11 13:12:14
|
devilhorns pushed a commit to branch master. commit 6b8e11180d1aea50f116959e055d34a38610a4bc Author: Chris Michael <cp....@sa...> Date: Wed Sep 11 13:41:05 2013 +0100 Tell evas to use a frame object here. Signed-off-by: Chris Michael <cp....@sa...> --- src/lib/elm_win.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/lib/elm_win.c b/src/lib/elm_win.c index 5937e40..0e12e2b 100644 --- a/src/lib/elm_win.c +++ b/src/lib/elm_win.c @@ -2463,6 +2463,8 @@ _elm_win_frame_add(Elm_Win_Smart_Data *sd, edje_object_part_swallow(sd->frame_obj, "elm.swallow.client", sd->client_obj); + evas_object_is_frame_object_set(sd->frame_obj, EINA_TRUE); + evas_object_event_callback_add (sd->frame_obj, EVAS_CALLBACK_MOVE, _elm_win_frame_obj_move, sd); evas_object_event_callback_add -- |
From: Chris M. - E. G. <no-...@en...> - 2013-09-11 13:12:05
|
devilhorns pushed a commit to branch master. commit dc0122285879bd784dfd218daa7b2422b5a19f28 Author: Chris Michael <cp....@sa...> Date: Wed Sep 11 14:07:06 2013 +0100 Add back saving of opaque region into window structure. NB: Needed so that we can reset the opaque region if alpha_set is being toggled on/off all the time. Signed-off-by: Chris Michael <cp....@sa...> --- src/lib/ecore_wayland/Ecore_Wayland.h | 5 +++++ src/lib/ecore_wayland/ecore_wl_window.c | 13 +++++++++++++ 2 files changed, 18 insertions(+) diff --git a/src/lib/ecore_wayland/Ecore_Wayland.h b/src/lib/ecore_wayland/Ecore_Wayland.h index c43ae49..cb5f249 100644 --- a/src/lib/ecore_wayland/Ecore_Wayland.h +++ b/src/lib/ecore_wayland/Ecore_Wayland.h @@ -222,6 +222,11 @@ struct _Ecore_Wl_Window int w, h; } saved, server; + struct + { + int x, y, w, h; + } opaque; + /* Eina_Bool redraw_scheduled : 1; */ /* Eina_Bool resize_scheduled : 1; */ Eina_Bool alpha : 1; diff --git a/src/lib/ecore_wayland/ecore_wl_window.c b/src/lib/ecore_wayland/ecore_wl_window.c index ea59ec4..5f8b958 100644 --- a/src/lib/ecore_wayland/ecore_wl_window.c +++ b/src/lib/ecore_wayland/ecore_wl_window.c @@ -80,6 +80,11 @@ ecore_wl_window_new(Ecore_Wl_Window *parent, int x, int y, int w, int h, int buf win->buffer_type = buffer_type; win->id = _win_id++; + win->opaque.x = x; + win->opaque.y = y; + win->opaque.w = w; + win->opaque.h = h; + eina_hash_add(_windows, _ecore_wl_window_id_str_get(win->id), win); return win; } @@ -435,6 +440,9 @@ ecore_wl_window_alpha_set(Ecore_Wl_Window *win, Eina_Bool alpha) win->alpha = alpha; if (win->alpha) ecore_wl_window_opaque_region_set(win, 0, 0, 0, 0); + else + ecore_wl_window_opaque_region_set(win, win->opaque.x, win->opaque.y, + win->opaque.w, win->opaque.h); } EAPI Eina_Bool @@ -629,6 +637,11 @@ ecore_wl_window_opaque_region_set(Ecore_Wl_Window *win, int x, int y, int w, int wl_region_add(region, x, y, w, h); wl_surface_set_opaque_region(win->surface, region); wl_region_destroy(region); + + win->opaque.x = x; + win->opaque.y = y; + win->opaque.w = w; + win->opaque.h = h; } else wl_surface_set_opaque_region(win->surface, NULL); -- |
From: Chris M. - E. G. <no-...@en...> - 2013-09-11 13:11:51
|
devilhorns pushed a commit to branch master. commit d673cbc3982399a11be74a42f909e68b0f380dea Author: Chris Michael <cp....@sa...> Date: Wed Sep 11 13:00:23 2013 +0100 Readd the master clip for rendering of wayland engines. NB: Master clip is needed so that things don't draw outside the client area. NB: This is a partial fix. Still a work in progress. Some remaining issues with some various elm_tests that use evas_map. Signed-off-by: Chris Michael <cp....@sa...> --- src/lib/evas/canvas/evas_render.c | 67 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 67 insertions(+) diff --git a/src/lib/evas/canvas/evas_render.c b/src/lib/evas/canvas/evas_render.c index 3f8d942..bdf147a 100644 --- a/src/lib/evas/canvas/evas_render.c +++ b/src/lib/evas/canvas/evas_render.c @@ -1538,6 +1538,7 @@ evas_render_updates_internal(Evas *eo_e, #ifdef EVAS_RENDER_DEBUG_TIMING double start_time = _time_get(); #endif + Eina_Rectangle clip_rect; MAGIC_CHECK(eo_e, Evas, MAGIC_EVAS); return EINA_FALSE; @@ -1582,6 +1583,51 @@ evas_render_updates_internal(Evas *eo_e, &e->render_objects, &redraw_all); + if (!strncmp(e->engine.module->definition->name, "wayland", 7)) + { + /* check for master clip */ + if (!e->framespace.clip) + { + e->framespace.clip = evas_object_rectangle_add(eo_e); + evas_object_color_set(e->framespace.clip, 255, 255, 255, 255); + evas_object_move(e->framespace.clip, 0, 0); + evas_object_resize(e->framespace.clip, + e->viewport.w - e->framespace.w, + e->viewport.h - e->framespace.h); + evas_object_show(e->framespace.clip); + } + + /* setup master clip rectangle for comparison to objects */ + EINA_RECTANGLE_SET(&clip_rect, e->framespace.x, e->framespace.y, + e->viewport.w - e->framespace.w, + e->viewport.h - e->framespace.h); + + for (i = 0; i < e->render_objects.count; ++i) + { + Eina_Rectangle obj_rect; + + obj = eina_array_data_get(&e->render_objects, i); + if (obj->delete_me) continue; + if (obj->is_frame) continue; + if (obj->object == e->framespace.clip) continue; + + /* setup object rectangle for comparison to clip rectangle */ + EINA_RECTANGLE_SET(&obj_rect, + obj->cur->geometry.x, obj->cur->geometry.y, + obj->cur->geometry.w, obj->cur->geometry.h); + + /* check if this object intersects with the master clip */ + if (!eina_rectangles_intersect(&clip_rect, &obj_rect)) + continue; + + if (!evas_object_clip_get(obj->object)) + { + /* clip this object to the master clip */ + evas_object_clip_set(obj->object, e->framespace.clip); + } + } + } + /* phase 1.5. check if the video should be inlined or stay in their overlay */ alpha = e->engine.func->canvas_alpha_get(e->engine.data.output, e->engine.data.context); @@ -1914,6 +1960,27 @@ evas_render_updates_internal(Evas *eo_e, } } + if (!strncmp(e->engine.module->definition->name, "wayland", 7)) + { + /* unclip objects from master clip */ + for (i = 0; i < e->render_objects.count; ++i) + { + obj = eina_array_data_get(&e->render_objects, i); + if (obj->is_frame) continue; + if (obj->object == e->framespace.clip) continue; + + if (evas_object_clip_get(obj->object) == e->framespace.clip) + { + /* unclip this object from the master clip */ + evas_object_clip_unset(obj->object); + } + } + + /* delete master clip */ + evas_object_del(e->framespace.clip); + e->framespace.clip = NULL; + } + e->changed = EINA_FALSE; e->viewport.changed = EINA_FALSE; e->output.changed = EINA_FALSE; -- |
From: Ryuan C. - E. G. <no-...@en...> - 2013-09-11 11:42:10
|
ryuan pushed a commit to branch master. commit 28f9eb60875ad80d3dda10c9fc04279966be4ede Author: Ryuan Choi <ryu...@gm...> Date: Wed Sep 11 20:01:06 2013 +0900 elc_fileselector: Do not send "selected" signal when anchor was clicked. Because anchor on path_entry just changes current path, we don't need to send "selected" signal --- src/lib/elc_fileselector.c | 1 - 1 file changed, 1 deletion(-) diff --git a/src/lib/elc_fileselector.c b/src/lib/elc_fileselector.c index f219333..0d13412 100644 --- a/src/lib/elc_fileselector.c +++ b/src/lib/elc_fileselector.c @@ -888,7 +888,6 @@ _anchor_clicked(void *data, // keep a ref to path 'couse it will be destroyed by _populate p = eina_stringshare_add(info->name); _populate(fs, p, NULL, NULL); - evas_object_smart_callback_call(data, SIG_SELECTED, (void *)p); eina_stringshare_del(p); /* After anchor was clicked, entry will be focused, and will be editable. * It's wrong. So remove focus. */ -- |
From: Chris M. - E. G. <no-...@en...> - 2013-09-11 09:13:48
|
devilhorns pushed a commit to branch master. commit 01717bde88dc18b700e11456ec07e89faa82c051 Author: Chris Michael <cp....@sa...> Date: Wed Sep 11 08:15:57 2013 +0100 Remove wl_pointer_release function NB: It's redefined in the client protocol again (for now). Signed-off-by: Chris Michael <cp....@sa...> --- src/bin/e_comp_wl.c | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/src/bin/e_comp_wl.c b/src/bin/e_comp_wl.c index 192902a..2c567f2 100644 --- a/src/bin/e_comp_wl.c +++ b/src/bin/e_comp_wl.c @@ -89,6 +89,7 @@ static void _e_comp_wl_pointer_unmap(E_Wayland_Surface *ews); /* pointer interface prototypes */ static void _e_comp_wl_pointer_cb_cursor_set(struct wl_client *client, struct wl_resource *resource, unsigned int serial, struct wl_resource *surface_resource, int x, int y); +static void _e_comp_wl_pointer_cb_release(struct wl_client *client, struct wl_resource *resource); /* region interface prototypes */ static void _e_comp_wl_region_cb_destroy(struct wl_client *client EINA_UNUSED, struct wl_resource *resource); @@ -130,7 +131,8 @@ static const struct wl_seat_interface _e_input_interface = static const struct wl_pointer_interface _e_pointer_interface = { - _e_comp_wl_pointer_cb_cursor_set + _e_comp_wl_pointer_cb_cursor_set, + _e_comp_wl_pointer_cb_release }; static const struct wl_region_interface _e_region_interface = @@ -542,13 +544,6 @@ wl_pointer_init(struct wl_pointer *pointer) } EAPI void -wl_pointer_release(struct wl_pointer *pointer) -{ - if (pointer->focus_resource) - wl_list_remove(&pointer->focus_listener.link); -} - -EAPI void wl_pointer_set_focus(struct wl_pointer *pointer, struct wl_resource *surface, wl_fixed_t sx, wl_fixed_t sy) { struct wl_keyboard *kbd = pointer->seat->keyboard; @@ -2393,6 +2388,12 @@ _e_comp_wl_pointer_cb_cursor_set(struct wl_client *client, struct wl_resource *r } } +static void +_e_comp_wl_pointer_cb_release(struct wl_client *client EINA_UNUSED, struct wl_resource *resource) +{ + wl_resource_destroy(resource); +} + /* region interface functions */ static void _e_comp_wl_region_cb_destroy(struct wl_client *client EINA_UNUSED, struct wl_resource *resource) -- |
From: Chris M. - E. G. <no-...@en...> - 2013-09-11 09:13:46
|
devilhorns pushed a commit to branch master. commit 0fd9c57ddc7b06af247882ea6920c6dd10a5907a Author: Chris Michael <cp....@sa...> Date: Wed Sep 11 10:10:55 2013 +0100 Update E18 wayland client application support with recent wayland git changes. - Remove function & calls to wl_*_release as they are redefined in the client protocol again. - Fix up calls for getting resource_user_data. - Add WL_HIDE_DEPRECTAED define Signed-off-by: Chris Michael <cp....@sa...> --- src/bin/e_comp_wl.c | 105 ++++++++++++++++++++++++++++++---------------------- src/bin/e_comp_wl.h | 6 +-- 2 files changed, 62 insertions(+), 49 deletions(-) diff --git a/src/bin/e_comp_wl.c b/src/bin/e_comp_wl.c index 36166c5..328b825 100644 --- a/src/bin/e_comp_wl.c +++ b/src/bin/e_comp_wl.c @@ -503,9 +503,23 @@ wl_seat_release(struct wl_seat *seat) { wl_signal_emit(&seat->destroy_signal, seat); - if (seat->pointer) wl_pointer_release(seat->pointer); - if (seat->keyboard) wl_keyboard_release(seat->keyboard); - if (seat->touch) wl_touch_release(seat->touch); + if (seat->pointer) + { + if (seat->pointer->focus_resource) + wl_list_remove(&seat->pointer->focus_listener.link); + } + + if (seat->keyboard) + { + if (seat->keyboard->focus_resource) + wl_list_remove(&seat->keyboard->focus_listener.link); + } + + if (seat->touch) + { + if (seat->touch->focus_resource) + wl_list_remove(&seat->touch->focus_listener.link); + } } EAPI void @@ -637,20 +651,6 @@ wl_pointer_end_grab(struct wl_pointer *pointer) } EAPI void -wl_pointer_set_current(struct wl_pointer *pointer, struct wl_resource *surface) -{ - if (pointer->current) - wl_list_remove(&pointer->current_listener.link); - - pointer->current = surface; - - if (!surface) return; - - wl_signal_add(&surface->destroy_signal, &pointer->current_listener); - pointer->current_listener.notify = _current_surface_destroy; -} - -EAPI void wl_keyboard_init(struct wl_keyboard *keyboard) { memset(keyboard, 0, sizeof *keyboard); @@ -911,7 +911,7 @@ e_comp_wl_input_modifiers_update(unsigned int serial) static void _seat_send_updated_caps(struct wl_seat *seat) { - struct wl_resource *r; + struct wl_list *lst; enum wl_seat_capability caps = 0; if (seat->pointer) @@ -921,8 +921,9 @@ _seat_send_updated_caps(struct wl_seat *seat) if (seat->touch) caps |= WL_SEAT_CAPABILITY_TOUCH; - wl_list_for_each(r, &seat->base_resource_list, link) - wl_seat_send_capabilities(r, caps); + for (lst = seat->base_resource_list.next; + lst != &seat->base_resource_list; lst = lst->next) + wl_seat_send_capabilities(wl_resource_from_link(lst), caps); } static void @@ -952,16 +953,9 @@ _lose_touch_focus(struct wl_listener *listener, void *data EINA_UNUSED) static struct wl_resource * _find_resource_for_surface(struct wl_list *list, struct wl_resource *surface) { - struct wl_resource *r; - if (!surface) return NULL; - wl_list_for_each(r, list, link) - { - if (r->client == surface->client) - return r; - } - return NULL; + return wl_resource_find_for_client(list, wl_resource_get_client(surface)); } static void @@ -1091,7 +1085,9 @@ _default_grab_touch_motion(struct wl_touch_grab *grab, uint32_t timestamp, int t static void _data_offer_accept(struct wl_client *client EINA_UNUSED, struct wl_resource *resource, uint32_t serial, const char *mime_type) { - struct wl_data_offer *offer = resource->data; + struct wl_data_offer *offer; + + offer = wl_resource_get_user_data(resource); if (offer->source) offer->source->accept(offer->source, serial, mime_type); @@ -1100,7 +1096,9 @@ _data_offer_accept(struct wl_client *client EINA_UNUSED, struct wl_resource *res static void _data_offer_receive(struct wl_client *client EINA_UNUSED, struct wl_resource *resource, const char *mime_type, int32_t fd) { - struct wl_data_offer *offer = resource->data; + struct wl_data_offer *offer; + + offer = wl_resource_get_user_data(resource); if (offer->source) offer->source->send(offer->source, mime_type, fd); @@ -1117,7 +1115,9 @@ _data_offer_destroy(struct wl_client *client EINA_UNUSED, struct wl_resource *re static void _destroy_data_offer(struct wl_resource *resource) { - struct wl_data_offer *offer = resource->data; + struct wl_data_offer *offer; + + offer = wl_resource_get_user_data(resource); if (offer->source) wl_list_remove(&offer->source_destroy_listener.link); @@ -1178,7 +1178,7 @@ _get_data_device(struct wl_client *client, struct wl_resource *manager_resource resource = wl_resource_create(client, &wl_data_device_interface, 1, id); - wl_list_insert(&seat->drag_resource_list, &resource->link); + wl_list_insert(&seat->drag_resource_list, wl_resource_get_link(resource)); wl_resource_set_implementation(resource, &_e_data_device_interface, seat, _unbind_data_device); @@ -1252,7 +1252,9 @@ _default_grab_modifiers(struct wl_keyboard_grab *grab, uint32_t serial, uint32_t static void _data_device_start_drag(struct wl_client *client, struct wl_resource *resource, struct wl_resource *source_resource, struct wl_resource *origin_resource EINA_UNUSED, struct wl_resource *icon_resource, uint32_t serial EINA_UNUSED) { - struct wl_seat *seat = resource->data; + struct wl_seat *seat; + + seat = wl_resource_get_user_data(resource); seat->drag_grab.interface = &_e_drag_grab_interface; seat->drag_client = client; @@ -1260,18 +1262,25 @@ _data_device_start_drag(struct wl_client *client, struct wl_resource *resource, if (source_resource) { - seat->drag_data_source = wl_resource_get_user_data(source_resource); + struct wl_data_source *source; + + source = wl_resource_get_user_data(source_resource); + seat->drag_data_source = source; seat->drag_data_source_listener.notify = _destroy_data_device_source; - wl_signal_add(&source_resource->destroy_signal, + wl_signal_add(&source->destroy_signal, &seat->drag_data_source_listener); } if (icon_resource) { - seat->drag_surface = wl_resource_get_user_data(icon_resource); + E_Wayland_Surface *icon; + + icon = wl_resource_get_user_data(icon_resource); + + seat->drag_surface = icon->wl.surface; seat->drag_icon_listener.notify = _destroy_data_device_icon; - wl_signal_add(&icon_resource->destroy_signal, + wl_signal_add(&icon->wl.destroy_signal, &seat->drag_icon_listener); wl_signal_emit(&seat->drag_icon_signal, icon_resource); } @@ -1337,9 +1346,10 @@ _destroy_data_device_source(struct wl_listener *listener, void *data EINA_UNUSED static void _data_source_offer(struct wl_client *client EINA_UNUSED, struct wl_resource *resource, const char *type) { - struct wl_data_source *source = resource->data; + struct wl_data_source *source; char **p; + source = wl_resource_get_user_data(resource); p = wl_array_add(&source->mime_types, sizeof *p); if (p) *p = strdup(type); @@ -1434,6 +1444,7 @@ _drag_grab_focus(struct wl_pointer_grab *grab, struct wl_resource *surface, wl_f struct wl_resource *resource, *offer = NULL; struct wl_display *display; uint32_t serial; + E_Wayland_Surface *ews; if (seat->drag_focus_resource) { @@ -1446,11 +1457,12 @@ _drag_grab_focus(struct wl_pointer_grab *grab, struct wl_resource *surface, wl_f if (!surface) return; if (!seat->drag_data_source && - surface->client != seat->drag_client) + wl_resource_get_client(surface) != seat->drag_client) return; resource = - wl_resource_find_for_client(&seat->drag_resource_list, surface->client); + wl_resource_find_for_client(&seat->drag_resource_list, + wl_resource_get_client(surface)); if (!resource) return; display = wl_client_get_display(wl_resource_get_client(resource)); @@ -1462,10 +1474,11 @@ _drag_grab_focus(struct wl_pointer_grab *grab, struct wl_resource *surface, wl_f wl_data_device_send_enter(resource, serial, surface, x, y, offer); + ews = wl_resource_get_user_data(surface); + seat->drag_focus = surface; seat->drag_focus_listener.notify = _destroy_drag_focus; - wl_signal_add(&resource->destroy_signal, - &seat->drag_focus_listener); + wl_signal_add(&ews->wl.destroy_signal, &seat->drag_focus_listener); seat->drag_focus_resource = resource; grab->focus = surface; } @@ -1923,7 +1936,7 @@ _e_comp_wl_input_cb_bind(struct wl_client *client, void *data, unsigned int vers resource = wl_resource_create(client, &wl_seat_interface, MIN(version, 2), id); - wl_list_insert(&seat->base_resource_list, &resource->link); + wl_list_insert(&seat->base_resource_list, wl_resource_get_link(resource)); wl_resource_set_implementation(resource, &_e_input_interface, data, _e_comp_wl_input_cb_unbind); @@ -2112,7 +2125,8 @@ _e_comp_wl_input_cb_pointer_get(struct wl_client *client, struct wl_resource *re /* add a pointer object to the client */ ptr = wl_resource_create(client, &wl_pointer_interface, wl_resource_get_version(resource), id); - wl_list_insert(&input->wl.seat.pointer->resource_list, &ptr->link); + wl_list_insert(&input->wl.seat.pointer->resource_list, + wl_resource_get_link(ptr)); wl_resource_set_implementation(ptr, &_e_pointer_interface, input, _e_comp_wl_input_cb_unbind); @@ -2184,7 +2198,8 @@ _e_comp_wl_input_cb_touch_get(struct wl_client *client, struct wl_resource *reso /* add a touch object to the client */ tch = wl_resource_create(client, &wl_touch_interface, wl_resource_get_version(resource), id); - wl_list_insert(&input->wl.seat.touch->resource_list, &tch->link); + wl_list_insert(&input->wl.seat.touch->resource_list, + wl_resource_get_link(tch)); wl_resource_set_implementation(tch, &_e_touch_interface, input, _e_comp_wl_input_cb_unbind); } diff --git a/src/bin/e_comp_wl.h b/src/bin/e_comp_wl.h index 05a4aac..44c6225 100644 --- a/src/bin/e_comp_wl.h +++ b/src/bin/e_comp_wl.h @@ -4,6 +4,8 @@ # ifndef E_COMP_WL_H # define E_COMP_WL_H +# define WL_HIDE_DEPRECATED + # include <pixman.h> # include <wayland-server.h> # include <xkbcommon/xkbcommon.h> @@ -601,20 +603,16 @@ EAPI void wl_seat_set_keyboard(struct wl_seat *seat, struct wl_keyboard *keyboar EAPI void wl_seat_set_touch(struct wl_seat *seat, struct wl_touch *touch); EAPI void wl_pointer_init(struct wl_pointer *pointer); -EAPI void wl_pointer_release(struct wl_pointer *pointer); EAPI void wl_pointer_set_focus(struct wl_pointer *pointer, struct wl_resource *surface, wl_fixed_t sx, wl_fixed_t sy); EAPI void wl_pointer_start_grab(struct wl_pointer *pointer, struct wl_pointer_grab *grab); EAPI void wl_pointer_end_grab(struct wl_pointer *pointer); -EAPI void wl_pointer_set_current(struct wl_pointer *pointer, struct wl_resource *surface); EAPI void wl_keyboard_init(struct wl_keyboard *keyboard); -EAPI void wl_keyboard_release(struct wl_keyboard *keyboard); EAPI void wl_keyboard_set_focus(struct wl_keyboard *keyboard, struct wl_resource *surface); EAPI void wl_keyboard_start_grab(struct wl_keyboard *device, struct wl_keyboard_grab *grab); EAPI void wl_keyboard_end_grab(struct wl_keyboard *keyboard); EAPI void wl_touch_init(struct wl_touch *touch); -EAPI void wl_touch_release(struct wl_touch *touch); EAPI void wl_touch_start_grab(struct wl_touch *device, struct wl_touch_grab *grab); EAPI void wl_touch_end_grab(struct wl_touch *touch); -- |