aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHermet Park <hermetpark@gmail.com>2019-04-19 15:29:18 +0900
committerHermet Park <hermetpark@gmail.com>2019-04-19 15:29:18 +0900
commit9f98d55ba1f24699c049cbbb8ac75022ffa2b5d1 (patch)
treebf80574ec427f70bee6eb02f3a96233e948f2975
parentRevert "evas gl: move to floating point coordinate system." (diff)
parentevas svg: code refactoring. (diff)
downloadefl-devs/hermet/lottie.tar.gz
Merge branch 'master' into devs/hermet/lottiedevs/hermet/lottie
-rw-r--r--.travis.yml4
-rw-r--r--configure.ac16
-rw-r--r--doc/docfx/filterConfig.yml2
-rw-r--r--header_checks/meson.build19
-rw-r--r--m4/efl.m42
-rw-r--r--pc/efl-net.pc.in2
-rw-r--r--po/ca.po74
-rw-r--r--po/cs.po74
-rw-r--r--po/da.po74
-rw-r--r--po/de.po74
-rw-r--r--po/el.po74
-rw-r--r--po/eo.po74
-rw-r--r--po/es.po74
-rw-r--r--po/fi.po74
-rw-r--r--po/fr.po74
-rw-r--r--po/gl.po74
-rw-r--r--po/hu.po74
-rw-r--r--po/it.po74
-rw-r--r--po/ja.po74
-rw-r--r--po/ko.po74
-rw-r--r--po/lt.po74
-rw-r--r--po/nl.po74
-rw-r--r--po/pl.po74
-rw-r--r--po/pt.po74
-rw-r--r--po/ru.po74
-rw-r--r--po/sl.po74
-rw-r--r--po/sr.po74
-rw-r--r--po/tr.po74
-rw-r--r--po/vi.po74
-rw-r--r--po/zh_CN.po74
-rw-r--r--src/Makefile_Cxx.am6
-rw-r--r--src/Makefile_EPhysics.am2
-rw-r--r--src/Makefile_Ecore.am1
-rw-r--r--src/Makefile_Ecore_Audio.am2
-rw-r--r--src/Makefile_Ecore_Avahi.am2
-rw-r--r--src/Makefile_Ecore_Con.am1
-rw-r--r--src/Makefile_Ecore_Evas.am4
-rw-r--r--src/Makefile_Ecore_File.am2
-rw-r--r--src/Makefile_Ecore_IMF.am1
-rw-r--r--src/Makefile_Ecore_IMF_Evas.am2
-rw-r--r--src/Makefile_Ecore_Input.am2
-rw-r--r--src/Makefile_Ecore_Input_Evas.am2
-rw-r--r--src/Makefile_Ecore_Ipc.am2
-rw-r--r--src/Makefile_Ecore_SDL.am2
-rw-r--r--src/Makefile_Ecore_Win32.am2
-rw-r--r--src/Makefile_Ecore_X.am1
-rw-r--r--src/Makefile_Ector.am1
-rw-r--r--src/Makefile_Edje.am3
-rw-r--r--src/Makefile_Eet.am1
-rw-r--r--src/Makefile_Eeze.am1
-rw-r--r--src/Makefile_Efl.am2
-rw-r--r--src/Makefile_Efl_Mono.am1
-rw-r--r--src/Makefile_Efreet.am6
-rw-r--r--src/Makefile_Eina.am7
-rw-r--r--src/Makefile_Eio.am2
-rw-r--r--src/Makefile_Eldbus.am1
-rw-r--r--src/Makefile_Elementary.am17
-rw-r--r--src/Makefile_Elocation.am2
-rw-r--r--src/Makefile_Elput.am1
-rw-r--r--src/Makefile_Elua.am1
-rw-r--r--src/Makefile_Embryo.am1
-rw-r--r--src/Makefile_Emile.am1
-rw-r--r--src/Makefile_Emotion.am7
-rw-r--r--src/Makefile_Eo.am3
-rw-r--r--src/Makefile_Eolian.am1
-rw-r--r--src/Makefile_Eolian_Files_Helper.am8
-rw-r--r--src/Makefile_Ethumb.am2
-rw-r--r--src/Makefile_Ethumb_Client.am2
-rw-r--r--src/Makefile_Evas.am53
-rw-r--r--src/Makefile_Evil.am35
-rw-r--r--src/bin/elementary/test.c10
-rw-r--r--src/bin/elementary/test_panes.c47
-rw-r--r--src/bin/elementary/test_ui_pager.c30
-rw-r--r--src/bin/elementary/test_ui_pager_scroll.c72
-rw-r--r--src/bin/eolian/docs.c48
-rw-r--r--src/bin/eolian/docs.h3
-rw-r--r--src/bin/eolian/headers.c6
-rw-r--r--src/bin/eolian/headers.h2
-rw-r--r--src/bin/eolian/main.c53
-rw-r--r--src/bin/eolian/types.c18
-rw-r--r--src/bin/eolian/types.h2
-rw-r--r--src/bin/eolian_mono/eolian/mono/documentation.hh10
-rw-r--r--src/bin/eolian_mono/eolian/mono/function_definition.hh4
-rw-r--r--src/bin/eolian_mono/eolian/mono/function_pointer.hh2
-rw-r--r--src/bin/eolian_mono/eolian/mono/klass.hh26
-rw-r--r--src/bin/eolian_mono/eolian/mono/marshall_annotation.hh4
-rw-r--r--src/bin/eolian_mono/eolian/mono/name_helpers.hh25
-rw-r--r--src/bindings/cxx/efl_cxx/meson.build2
-rw-r--r--src/bindings/cxx/eina_cxx/meson.build2
-rw-r--r--src/bindings/cxx/eldbus_cxx/Eldbus_Model.hh2
-rw-r--r--src/bindings/cxx/meson.build7
-rw-r--r--src/bindings/mono/efl_mono/efl_all.cs21
-rw-r--r--src/bindings/mono/eina_mono/eina_accessor.cs2
-rw-r--r--src/bindings/mono/eina_mono/eina_array.cs2
-rw-r--r--src/bindings/mono/eina_mono/eina_binbuf.cs2
-rw-r--r--src/bindings/mono/eina_mono/eina_hash.cs2
-rw-r--r--src/bindings/mono/eina_mono/eina_inarray.cs2
-rw-r--r--src/bindings/mono/eina_mono/eina_iterator.cs2
-rw-r--r--src/bindings/mono/eina_mono/eina_strbuf.cs2
-rw-r--r--src/bindings/mono/eina_mono/eina_value.cs2
-rw-r--r--src/bindings/mono/eldbus_mono/eldbus_connection.cs2
-rw-r--r--src/bindings/mono/eldbus_mono/eldbus_message.cs2
-rw-r--r--src/bindings/mono/eldbus_mono/eldbus_object.cs2
-rw-r--r--src/bindings/mono/eldbus_mono/eldbus_proxy.cs2
-rw-r--r--src/bindings/mono/eo_mono/iwrapper.cs61
-rw-r--r--src/lib/ecore/Ecore_Getopt.h3
-rw-r--r--src/lib/ecore/efl_composite_model.c13
-rw-r--r--src/lib/ecore/efl_composite_model_private.h5
-rw-r--r--src/lib/ecore_drm2/Ecore_Drm2.h17
-rw-r--r--src/lib/ecore_drm2/ecore_drm2_device.c22
-rw-r--r--src/lib/ecore_drm2/ecore_drm2_fb.c9
-rw-r--r--src/lib/ecore_drm2/ecore_drm2_outputs.c32
-rw-r--r--src/lib/ecore_drm2/ecore_drm2_private.h4
-rw-r--r--src/lib/ecore_imf/ecore_imf_module.c2
-rw-r--r--src/lib/ecore_sdl/meson.build2
-rw-r--r--src/lib/ecore_win32/ecore_win32.c29
-rw-r--r--src/lib/ecore_x/ecore_x.c4
-rw-r--r--src/lib/efl/interfaces/efl_content.eo17
-rw-r--r--src/lib/efl/interfaces/efl_pack_linear.eo62
-rw-r--r--src/lib/eina/eina_vpath.c1
-rw-r--r--src/lib/eina/eina_vpath.h4
-rw-r--r--src/lib/eina/eina_vpath_xdg.c55
-rw-r--r--src/lib/elementary/.gitignore2
-rw-r--r--src/lib/elementary/Efl_Ui.h70
-rw-r--r--src/lib/elementary/Elementary.h1
-rw-r--r--src/lib/elementary/efl_page_indicator.c13
-rw-r--r--src/lib/elementary/efl_page_indicator_icon.c20
-rw-r--r--src/lib/elementary/efl_page_transition.c11
-rw-r--r--src/lib/elementary/efl_page_transition_scroll.c20
-rw-r--r--src/lib/elementary/efl_ui_alert_popup.c2
-rw-r--r--src/lib/elementary/efl_ui_anchor_popup.c2
-rw-r--r--src/lib/elementary/efl_ui_bg.c1
-rw-r--r--src/lib/elementary/efl_ui_box.c485
-rw-r--r--src/lib/elementary/efl_ui_box.eo2
-rw-r--r--src/lib/elementary/efl_ui_box_flow.c28
-rw-r--r--src/lib/elementary/efl_ui_box_layout.c13
-rw-r--r--src/lib/elementary/efl_ui_box_private.h20
-rw-r--r--src/lib/elementary/efl_ui_box_stack.c14
-rw-r--r--src/lib/elementary/efl_ui_button.c1
-rw-r--r--src/lib/elementary/efl_ui_calendar.c2
-rw-r--r--src/lib/elementary/efl_ui_clock.c1
-rw-r--r--src/lib/elementary/efl_ui_datepicker.c2
-rw-r--r--src/lib/elementary/efl_ui_flip.c1
-rw-r--r--src/lib/elementary/efl_ui_frame.c1
-rw-r--r--src/lib/elementary/efl_ui_image.c3
-rw-r--r--src/lib/elementary/efl_ui_image_zoomable.c2
-rw-r--r--src/lib/elementary/efl_ui_layout.c2
-rw-r--r--src/lib/elementary/efl_ui_list_view.c1
-rw-r--r--src/lib/elementary/efl_ui_navigation_bar.c2
-rw-r--r--src/lib/elementary/efl_ui_navigation_layout.c2
-rw-r--r--src/lib/elementary/efl_ui_nstate.c1
-rw-r--r--src/lib/elementary/efl_ui_pager.c83
-rw-r--r--src/lib/elementary/efl_ui_pager.eo1
-rw-r--r--src/lib/elementary/efl_ui_panel.c1
-rw-r--r--src/lib/elementary/efl_ui_panes.c1
-rw-r--r--src/lib/elementary/efl_ui_popup.c2
-rw-r--r--src/lib/elementary/efl_ui_progressbar.c1
-rw-r--r--src/lib/elementary/efl_ui_relative_layout.c1
-rw-r--r--src/lib/elementary/efl_ui_scroll_alert_popup.c2
-rw-r--r--src/lib/elementary/efl_ui_scroll_manager.c5
-rw-r--r--src/lib/elementary/efl_ui_slider.c1
-rw-r--r--src/lib/elementary/efl_ui_spin.c2
-rw-r--r--src/lib/elementary/efl_ui_spin_button.c1
-rw-r--r--src/lib/elementary/efl_ui_tab_bar.c3
-rw-r--r--src/lib/elementary/efl_ui_tab_page.c3
-rw-r--r--src/lib/elementary/efl_ui_tab_pager.c1
-rw-r--r--src/lib/elementary/efl_ui_table.c44
-rw-r--r--src/lib/elementary/efl_ui_tags.c1
-rw-r--r--src/lib/elementary/efl_ui_text.c2
-rw-r--r--src/lib/elementary/efl_ui_text_alert_popup.c2
-rw-r--r--src/lib/elementary/efl_ui_textpath.c1
-rw-r--r--src/lib/elementary/efl_ui_timepicker.c2
-rw-r--r--src/lib/elementary/efl_ui_video.c1
-rw-r--r--src/lib/elementary/efl_ui_widget.c11
-rw-r--r--src/lib/elementary/efl_ui_win.eo2
-rw-r--r--src/lib/elementary/elc_combobox.c1
-rw-r--r--src/lib/elementary/elc_ctxpopup.c1
-rw-r--r--src/lib/elementary/elc_fileselector.c39
-rw-r--r--src/lib/elementary/elc_fileselector_button.c1
-rw-r--r--src/lib/elementary/elc_fileselector_entry.c1
-rw-r--r--src/lib/elementary/elc_hoversel.c1
-rw-r--r--src/lib/elementary/elc_multibuttonentry.c1
-rw-r--r--src/lib/elementary/elc_naviframe.c1
-rw-r--r--src/lib/elementary/elc_player.c1
-rw-r--r--src/lib/elementary/elc_popup.c1
-rw-r--r--src/lib/elementary/elm_access.c1
-rw-r--r--src/lib/elementary/elm_actionslider.c1
-rw-r--r--src/lib/elementary/elm_box.c1
-rw-r--r--src/lib/elementary/elm_bubble.c1
-rw-r--r--src/lib/elementary/elm_calendar.c1
-rw-r--r--src/lib/elementary/elm_clock.c1
-rw-r--r--src/lib/elementary/elm_colorselector.c1
-rw-r--r--src/lib/elementary/elm_conform.c1
-rw-r--r--src/lib/elementary/elm_dayselector.c1
-rw-r--r--src/lib/elementary/elm_diskselector.c2
-rw-r--r--src/lib/elementary/elm_entry.c1
-rw-r--r--src/lib/elementary/elm_flipselector.c1
-rw-r--r--src/lib/elementary/elm_gengrid.c1
-rw-r--r--src/lib/elementary/elm_genlist.c1
-rw-r--r--src/lib/elementary/elm_gesture_layer.c1
-rw-r--r--src/lib/elementary/elm_glview.c2
-rw-r--r--src/lib/elementary/elm_grid.c2
-rw-r--r--src/lib/elementary/elm_hover.c1
-rw-r--r--src/lib/elementary/elm_icon.c1
-rw-r--r--src/lib/elementary/elm_image_legacy.h2
-rw-r--r--src/lib/elementary/elm_index.c1
-rw-r--r--src/lib/elementary/elm_inwin.c1
-rw-r--r--src/lib/elementary/elm_label.c2
-rw-r--r--src/lib/elementary/elm_layout_legacy.h2
-rw-r--r--src/lib/elementary/elm_list.c1
-rw-r--r--src/lib/elementary/elm_map.c2
-rw-r--r--src/lib/elementary/elm_mapbuf.c1
-rw-r--r--src/lib/elementary/elm_menu.c1
-rw-r--r--src/lib/elementary/elm_notify.c13
-rw-r--r--src/lib/elementary/elm_panel.c1
-rw-r--r--src/lib/elementary/elm_photo.c1
-rw-r--r--src/lib/elementary/elm_plug.c1
-rw-r--r--src/lib/elementary/elm_prefs.c1
-rw-r--r--src/lib/elementary/elm_priv.h2
-rw-r--r--src/lib/elementary/elm_progressbar_legacy.h2
-rw-r--r--src/lib/elementary/elm_route.c1
-rw-r--r--src/lib/elementary/elm_scroller.c2
-rw-r--r--src/lib/elementary/elm_scroller_legacy.h40
-rw-r--r--src/lib/elementary/elm_segment_control.c1
-rw-r--r--src/lib/elementary/elm_separator.c1
-rw-r--r--src/lib/elementary/elm_slider_legacy.h2
-rw-r--r--src/lib/elementary/elm_slideshow.c1
-rw-r--r--src/lib/elementary/elm_spinner.c1
-rw-r--r--src/lib/elementary/elm_table.c2
-rw-r--r--src/lib/elementary/elm_thumb.c1
-rw-r--r--src/lib/elementary/elm_toolbar.c2
-rw-r--r--src/lib/elementary/meson.build15
-rw-r--r--src/lib/evas/Evas_Legacy.h20
-rw-r--r--src/lib/evas/canvas/efl_canvas_image.c22
-rw-r--r--src/lib/evas/canvas/efl_canvas_image.eo1
-rw-r--r--src/lib/evas/canvas/evas_image_eo.c1
-rw-r--r--src/lib/evas/canvas/evas_image_legacy.c8
-rw-r--r--src/lib/evas/canvas/evas_image_private.h1
-rw-r--r--src/lib/evas/canvas/evas_map.c8
-rw-r--r--src/lib/evas/canvas/evas_object_image.c2
-rw-r--r--src/lib/evas/canvas/evas_object_textblock.c1
-rw-r--r--src/lib/evas/canvas/meson.build10
-rw-r--r--src/lib/evas/common/evas_convert_yuv.c7
-rw-r--r--src/lib/evas/common/evas_map_image_internal_high.c7
-rw-r--r--src/lib/evas/gesture/meson.build20
-rw-r--r--src/lib/evas/meson.build10
-rw-r--r--src/lib/evil/evil_fnmatch.c231
-rw-r--r--src/lib/evil/evil_fnmatch_list_of_states.c77
-rw-r--r--src/lib/evil/evil_fnmatch_private.h24
-rw-r--r--src/lib/evil/evil_util.c13
-rw-r--r--src/lib/evil/evil_util.h53
-rw-r--r--src/lib/evil/fnmatch.h57
-rw-r--r--src/lib/evil/meson.build15
-rw-r--r--src/lib/evil/regex/cclass.h31
-rw-r--r--src/lib/evil/regex/cname.h102
-rw-r--r--src/lib/evil/regex/engine.c1019
-rw-r--r--src/lib/evil/regex/engine.ih35
-rw-r--r--src/lib/evil/regex/meson.build10
-rw-r--r--src/lib/evil/regex/regcomp.c1604
-rw-r--r--src/lib/evil/regex/regcomp.ih51
-rw-r--r--src/lib/evil/regex/regerror.c122
-rw-r--r--src/lib/evil/regex/regerror.ih12
-rw-r--r--src/lib/evil/regex/regex.h78
-rw-r--r--src/lib/evil/regex/regex2.h134
-rw-r--r--src/lib/evil/regex/regexec.c138
-rw-r--r--src/lib/evil/regex/regfree.c37
-rw-r--r--src/lib/evil/regex/utils.h22
-rw-r--r--src/modules/ecore_imf/meson.build3
-rw-r--r--src/modules/elementary/web/none/elm_web_none.c1
-rw-r--r--src/modules/evas/engines/gl_common/evas_gl_common.h7
-rw-r--r--src/modules/evas/engines/gl_common/evas_gl_context.c75
-rw-r--r--src/modules/evas/engines/gl_common/evas_gl_font.c6
-rw-r--r--src/modules/evas/engines/gl_generic/evas_engine.c7
-rw-r--r--src/modules/evas/engines/gl_x11/evas_x_main.c1
-rw-r--r--src/modules/evas/engines/software_generic/evas_engine.c3
-rw-r--r--src/modules/evas/vg_loaders/svg/evas_vg_load_svg.c58
-rw-r--r--src/static_libs/vg_common/vg_common.h4
-rw-r--r--src/static_libs/vg_common/vg_common_svg.c43
-rw-r--r--src/tests/ecore/ecore_test_ecore_imf.c2
-rw-r--r--src/tests/eio/eio_test_file.c6
-rw-r--r--src/tests/elementary/efl_ui_test_box.c152
-rw-r--r--src/tests/elementary/efl_ui_test_table.c5
-rw-r--r--src/tests/elementary/meson.build1
-rw-r--r--src/tests/elementary/spec/efl_test_container.c56
-rw-r--r--src/tests/elementary/spec/efl_test_pack.c348
-rw-r--r--src/tests/elementary/spec/efl_test_pack_linear.c396
-rw-r--r--src/tests/elementary/spec/efl_ui_spec_suite.c66
-rw-r--r--src/tests/elementary/spec/efl_ui_spec_suite.h26
-rwxr-xr-xsrc/tests/elementary/spec/generator.py67
-rw-r--r--src/tests/elementary/spec/meson.build32
-rw-r--r--src/tests/eolian/eolian_generation.c2
-rw-r--r--src/tests/evas/evas_test_image.c35
-rw-r--r--src/tests/evil/evil_suite.c2
-rw-r--r--src/tests/evil/evil_suite.h2
-rw-r--r--src/tests/evil/evil_test_libgen.c308
295 files changed, 3431 insertions, 6114 deletions
diff --git a/.travis.yml b/.travis.yml
index 7b84077161..e501011b24 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -18,8 +18,8 @@ jobs:
include:
- os: osx
env: BUILDSYSTEM=ninja
- - os: linux
- env: DISTRO=Fedora29-mingw CI_BUILD_TYPE=mingw
+ #- os: linux
+ #env: DISTRO=Fedora29-mingw CI_BUILD_TYPE=mingw
- os: linux
env: DISTRO=Fedora29 CI_BUILD_TYPE=options-enabled
- os: linux
diff --git a/configure.ac b/configure.ac
index 8cebe7c999..a80b2e084f 100644
--- a/configure.ac
+++ b/configure.ac
@@ -810,10 +810,14 @@ EFL_SELECT_WINDOWS_VERSION
### Checks for libraries
-EFL_ADD_LIBS([EVIL], [-lpsapi -lole32 -lws2_32 -lsecur32 -luuid])
+EFL_ADD_LIBS([EVIL], [-lpsapi -lole32 -lws2_32 -lsecur32 -luuid -lregex])
### Checks for header files
+AC_CHECK_HEADERS([regex.h fnmatch.h],
+ [],
+ [AC_MSG_ERROR([regex.h or fnmatch.h can not be found])])
+
### Checks for types
### Checks for structures
@@ -839,6 +843,14 @@ AC_SUBST([EVIL_CXXFLAGS])
### Checks for library functions
+AC_SEARCH_LIBS([regcomp], [regex],
+ [],
+ [AC_MSG_ERROR([regcomp() can not be found in libregex])])
+
+AC_SEARCH_LIBS([fnmatch], [regex],
+ [],
+ [AC_MSG_ERROR([fnmatch() can not be found in libregex])])
+
EFL_LIB_END_OPTIONAL([Evil])
AC_SUBST([USE_EVIL_CFLAGS])
@@ -4480,7 +4492,7 @@ if test "x${want_xim}" = "xyes" && test "x${want_ecore_imf_xim}" = "xyes" ; then
[X11 XOpenIM],
[
have_ecore_imf_xim=yes
- AC_DEFINE([ENABLE_XIM], [1], [Enable X Input Method])
+ AC_DEFINE([BUILD_ECORE_IMF_XIM], [1], [Enable X Input Method])
])
fi
diff --git a/doc/docfx/filterConfig.yml b/doc/docfx/filterConfig.yml
index ed7f549ee7..d6ddf9d5b4 100644
--- a/doc/docfx/filterConfig.yml
+++ b/doc/docfx/filterConfig.yml
@@ -3,8 +3,6 @@ apiRules:
uidRegex: ^.*NativeInherit$
- exclude:
uidRegex: ^.*NativeStruct$
-- exclude:
- uidRegex: ^.*Concrete$
- include:
uidRegex: ^Efl
- include:
diff --git a/header_checks/meson.build b/header_checks/meson.build
index 42d638fc6a..af5ef11149 100644
--- a/header_checks/meson.build
+++ b/header_checks/meson.build
@@ -189,12 +189,29 @@ if (cc.has_header('sys/mman.h'))
config_h.set10('HAVE_MMAN_H', true)
endif
+regexp = []
+if sys_windows == true
+ regexp = cc.find_library('regex',
+ has_headers: ['regex.h', 'fnmatch.h'],
+ required: true)
+ if regexp.found() == false
+ error('regex can not be found')
+ endif
+else
+ if cc.has_header_symbol('fnmatch.h', 'fnmatch') == false
+ error('fnmatch can not be found')
+ endif
+ if cc.has_header_symbol('regex.h', 'regcomp') == false
+ error('regcomp can not be found')
+ endif
+endif
+
config_h.set('VMAJ', version_major)
config_h.set('VMIN', version_minor)
config_h.set('VMIC', version_micro)
config_h.set('VREV', '0')
-#jpeg detection ... life is a bit more complex there
+#jpeg detection ... life is a bit more complex there
jpeg = dependency('libjpeg', required: false)
if jpeg.found() == false
diff --git a/m4/efl.m4 b/m4/efl.m4
index d051155e56..a01c5b401c 100644
--- a/m4/efl.m4
+++ b/m4/efl.m4
@@ -424,7 +424,7 @@ m4_defn([UP])_LIBS=" ${m4_defn([UP])_LDFLAGS} ${EFLALL_COV_LIBS} ${EFLALL_LIBS}
m4_defn([UP])_INTERNAL_LIBS="${m4_defn([UP])_INTERNAL_LIBS} ${requirements_internal_libs_[]m4_defn([DOWN])}"
USE_[]m4_defn([UP])_LIBS="${m4_defn([UP])_LIBS} lib/${libdirname}/lib${libname}.la"
USE_[]m4_defn([UP])_INTERNAL_LIBS="${m4_defn([UP])_INTERNAL_LIBS} lib/${libdirname}/lib${libname}.la"
-m4_defn([UP])_CFLAGS="${EFL_WINDOWS_VERSION_CFLAGS} ${EFLALL_COV_CFLAGS} ${EFLALL_CFLAGS} ${m4_defn([UP])_CFLAGS} -I\$(top_srcdir)/src/lib/${libdirname} -I\$(top_builddir)/src/lib/${libdirname} -I\$(top_srcdir)/src/bindings/cxx/${libdirname} -I\$(top_builddir)/src/bindings/${libdirname} ${requirements_cflags_[]m4_defn([DOWN])} ${requirements_cflags_eflall} -DEFL_BUILD=1"
+m4_defn([UP])_CFLAGS="${EFL_WINDOWS_VERSION_CFLAGS} ${EFLALL_COV_CFLAGS} ${EFLALL_CFLAGS} ${m4_defn([UP])_CFLAGS} -I\$(top_srcdir)/src/lib/${libdirname} -I\$(top_builddir)/src/lib/${libdirname} -I\$(top_srcdir)/src/bindings/cxx/${libdirname} -I\$(top_builddir)/src/bindings/${libdirname} ${requirements_cflags_[]m4_defn([DOWN])} ${requirements_cflags_eflall}"
requirements_pc_[]m4_defn([DOWN])="${requirements_pc_[]m4_defn([DOWN])} ${requirements_pc_eflall}"
requirements_pc_deps_[]m4_defn([DOWN])="${requirements_pc_deps_[]m4_defn([DOWN])} ${requirements_pc_deps_eflall}"
diff --git a/pc/efl-net.pc.in b/pc/efl-net.pc.in
index b68328c213..176d8cf470 100644
--- a/pc/efl-net.pc.in
+++ b/pc/efl-net.pc.in
@@ -2,6 +2,8 @@ prefix=@prefix@
exec_prefix=@exec_prefix@
libdir=@libdir@
includedir=@includedir@
+datarootdir=@datarootdir@
+datadir=@datadir@
eoincludedir=@datadir@/eolian/include
eolian_flags=-I${pc_sysrootdir}${eoincludedir}/ecore-con-@VMAJ@ -I${pc_sysrootdir}${eoincludedir}/ecore-@VMAJ@ -I${pc_sysrootdir}${eoincludedir}/efl-@VMAJ@ -I${pc_sysrootdir}${eoincludedir}/eo-@VMAJ@ -I${pc_sysrootdir}${eoincludedir}/eet-@VMAJ@ -I${pc_sysrootdir}${eoincludedir}/emile-@VMAJ@ -I${pc_sysrootdir}${eoincludedir}/eina-@VMAJ@
diff --git a/po/ca.po b/po/ca.po
index ede2ab544a..d74907342f 100644
--- a/po/ca.po
+++ b/po/ca.po
@@ -4,12 +4,12 @@
# Marc Furtià i Puig <marc.furtia@gmail.com>, 2013.
# Joan Coll <jcoll2@gmail.com>, 2013.
#
-#: src/lib/elementary/elm_config.c:4306
+#: src/lib/elementary/elm_config.c:4135
msgid ""
msgstr ""
"Project-Id-Version: Elementary\n"
"Report-Msgid-Bugs-To: enlightenment-devel@lists.sourceforge.net\n"
-"POT-Creation-Date: 2018-12-06 14:49+0000\n"
+"POT-Creation-Date: 2019-04-15 12:03+0100\n"
"PO-Revision-Date: 2015-02-10 09:34+0000\n"
"Last-Translator: JoanColl <Unknown>\n"
"Language-Team: Catalan\n"
@@ -240,37 +240,37 @@ msgstr "Imatges"
msgid "Videos"
msgstr "Vídeos"
-#: src/lib/elementary/elc_fileselector.c:1799
+#: src/lib/elementary/elc_fileselector.c:1705
msgid "Up"
msgstr "Amunt"
-#: src/lib/elementary/elc_fileselector.c:1813
+#: src/lib/elementary/elc_fileselector.c:1719
msgid "Home"
msgstr "Carpeta personal"
-#: src/lib/elementary/elc_fileselector.c:1832
+#: src/lib/elementary/elc_fileselector.c:1738
msgid "Search"
msgstr "Cerca"
-#: src/lib/elementary/elc_fileselector.c:2104
+#: src/lib/elementary/elc_fileselector.c:2012
msgid "OK"
msgstr "Accepta"
-#: src/lib/elementary/elc_fileselector.c:2114
-#: src/lib/elementary/elm_entry.c:1739 src/lib/elementary/elm_entry.c:1764
+#: src/lib/elementary/elc_fileselector.c:2022
+#: src/lib/elementary/elm_entry.c:1759 src/lib/elementary/elm_entry.c:1784
msgid "Cancel"
msgstr "Cancel·la"
-#: src/lib/elementary/elc_hoversel.c:438 src/lib/elementary/efl_ui_button.c:208
-#: src/lib/elementary/efl_ui_check.c:188 src/lib/elementary/elm_gengrid.c:1523
-#: src/lib/elementary/elm_genlist.c:1764 src/lib/elementary/elm_list.c:2185
+#: src/lib/elementary/elc_hoversel.c:439 src/lib/elementary/efl_ui_button.c:208
+#: src/lib/elementary/efl_ui_check.c:187 src/lib/elementary/elm_gengrid.c:1532
+#: src/lib/elementary/elm_genlist.c:1769 src/lib/elementary/elm_list.c:2185
#: src/lib/elementary/efl_ui_radio.c:201
-#: src/lib/elementary/elm_segment_control.c:528
-#: src/lib/elementary/elm_spinner.c:1041 src/lib/elementary/elm_toolbar.c:2291
+#: src/lib/elementary/elm_segment_control.c:525
+#: src/lib/elementary/elm_spinner.c:1041 src/lib/elementary/elm_toolbar.c:2294
msgid "State: Disabled"
msgstr "Estat: desactivat"
-#: src/lib/elementary/elc_hoversel.c:651
+#: src/lib/elementary/elc_hoversel.c:652
msgid "Hoversel"
msgstr ""
@@ -305,15 +305,15 @@ msgstr "Enrere"
msgid "Next"
msgstr "Següent"
-#: src/lib/elementary/elc_popup.c:320 src/lib/elementary/elc_popup.c:992
+#: src/lib/elementary/elc_popup.c:320 src/lib/elementary/elc_popup.c:984
msgid "Popup Title"
msgstr "Títol finestra emergent"
-#: src/lib/elementary/elc_popup.c:330 src/lib/elementary/elc_popup.c:1068
+#: src/lib/elementary/elc_popup.c:330 src/lib/elementary/elc_popup.c:1060
msgid "Popup Body Text"
msgstr "Text de la finestra emergent"
-#: src/lib/elementary/elc_popup.c:1842
+#: src/lib/elementary/elc_popup.c:1836
msgid "Alert"
msgstr ""
@@ -374,21 +374,21 @@ msgstr "mes del calendari"
msgid "calendar year"
msgstr "any del calendari"
-#: src/lib/elementary/efl_ui_check.c:76 src/lib/elementary/efl_ui_check.c:201
+#: src/lib/elementary/efl_ui_check.c:76 src/lib/elementary/efl_ui_check.c:200
#: src/lib/elementary/efl_ui_radio.c:136 src/lib/elementary/efl_ui_radio.c:202
msgid "State: On"
msgstr "Estat: activat"
-#: src/lib/elementary/efl_ui_check.c:96 src/lib/elementary/efl_ui_check.c:213
+#: src/lib/elementary/efl_ui_check.c:96 src/lib/elementary/efl_ui_check.c:212
#: src/lib/elementary/efl_ui_radio.c:204
msgid "State: Off"
msgstr "Estat: desactivat"
-#: src/lib/elementary/efl_ui_check.c:197 src/lib/elementary/efl_ui_check.c:210
+#: src/lib/elementary/efl_ui_check.c:196 src/lib/elementary/efl_ui_check.c:209
msgid "State"
msgstr "Estat"
-#: src/lib/elementary/efl_ui_check.c:349
+#: src/lib/elementary/efl_ui_check.c:348
msgid "Check"
msgstr "Comprova"
@@ -438,7 +438,7 @@ msgstr "paleta de selecció de color"
#. but if this is a right-to-left language like arabic, Farsi,
#. Hebrew, etc. then change this string to be "default:RTL"
#.
-#: src/lib/elementary/elm_config.c:4329
+#: src/lib/elementary/elm_config.c:4158
msgid "default:LTR"
msgstr "default:LTR"
@@ -450,23 +450,23 @@ msgstr "selector de dia"
msgid "diskselector item"
msgstr "selector de disc"
-#: src/lib/elementary/elm_entry.c:1729
+#: src/lib/elementary/elm_entry.c:1749
msgid "Cut"
msgstr "Retalla"
-#: src/lib/elementary/elm_entry.c:1732
+#: src/lib/elementary/elm_entry.c:1752
msgid "Copy"
msgstr "Copia"
-#: src/lib/elementary/elm_entry.c:1736 src/lib/elementary/elm_entry.c:1758
+#: src/lib/elementary/elm_entry.c:1756 src/lib/elementary/elm_entry.c:1778
msgid "Paste"
msgstr "Enganxa"
-#: src/lib/elementary/elm_entry.c:1751
+#: src/lib/elementary/elm_entry.c:1771
msgid "Select"
msgstr "Selecciona"
-#: src/lib/elementary/elm_entry.c:3910
+#: src/lib/elementary/elm_entry.c:3937
msgid "Entry"
msgstr "Entrada"
@@ -510,20 +510,20 @@ msgstr "barra de progrés"
msgid "Radio"
msgstr "Opció"
-#: src/lib/elementary/elm_segment_control.c:531
-#: src/lib/elementary/elm_toolbar.c:2293
+#: src/lib/elementary/elm_segment_control.c:528
+#: src/lib/elementary/elm_toolbar.c:2296
msgid "State: Selected"
msgstr "Estat: Seleccionat"
-#: src/lib/elementary/elm_segment_control.c:533
+#: src/lib/elementary/elm_segment_control.c:530
msgid "State: Unselected"
msgstr "Estat: No seleccionat"
-#: src/lib/elementary/elm_segment_control.c:547
+#: src/lib/elementary/elm_segment_control.c:544
msgid "Segment Control Item"
msgstr "Element de control del segment"
-#: src/lib/elementary/efl_ui_slider.c:681
+#: src/lib/elementary/efl_ui_slider.c:704
msgid "slider"
msgstr "control lliscant"
@@ -551,23 +551,23 @@ msgstr "botó de decrement del spinner"
msgid "spinner text"
msgstr "text rotatiu"
-#: src/lib/elementary/elm_toolbar.c:1750 src/lib/elementary/elm_toolbar.c:2352
+#: src/lib/elementary/elm_toolbar.c:1753 src/lib/elementary/elm_toolbar.c:2355
msgid "Selected"
msgstr "Seleccionat"
-#: src/lib/elementary/elm_toolbar.c:2289
+#: src/lib/elementary/elm_toolbar.c:2292
msgid "Separator"
msgstr "Separador"
-#: src/lib/elementary/elm_toolbar.c:2295
+#: src/lib/elementary/elm_toolbar.c:2298
msgid "Has menu"
msgstr "Té menú"
-#: src/lib/elementary/elm_toolbar.c:2347
+#: src/lib/elementary/elm_toolbar.c:2350
msgid "Unselected"
msgstr "No seleccionat"
-#: src/lib/elementary/elm_toolbar.c:2364
+#: src/lib/elementary/elm_toolbar.c:2367
msgid "Toolbar Item"
msgstr "Element de barra d'eines"
diff --git a/po/cs.po b/po/cs.po
index fac0a1efb4..d84b91170d 100644
--- a/po/cs.po
+++ b/po/cs.po
@@ -5,12 +5,12 @@
# quaker66@gmail.com
# Vít Pelčák <vit@pelcak.org>, 2011.
# Tomáš Čech <sleep_walker@suse.cz>, 2012.
-#: src/lib/elementary/elm_config.c:4306
+#: src/lib/elementary/elm_config.c:4135
msgid ""
msgstr ""
"Project-Id-Version: \n"
"Report-Msgid-Bugs-To: enlightenment-devel@lists.sourceforge.net\n"
-"POT-Creation-Date: 2018-12-06 14:49+0000\n"
+"POT-Creation-Date: 2019-04-15 12:03+0100\n"
"PO-Revision-Date: 2014-05-22 22:44+0200\n"
"Last-Translator: Tomáš Čech <sleep_walker@suse.cz>\n"
"Language-Team: Czech <kde-i18n-doc@kde.org>\n"
@@ -243,37 +243,37 @@ msgstr "Obrázky"
msgid "Videos"
msgstr "Videa"
-#: src/lib/elementary/elc_fileselector.c:1799
+#: src/lib/elementary/elc_fileselector.c:1705
msgid "Up"
msgstr "Nahoru"
-#: src/lib/elementary/elc_fileselector.c:1813
+#: src/lib/elementary/elc_fileselector.c:1719
msgid "Home"
msgstr "Domů"
-#: src/lib/elementary/elc_fileselector.c:1832
+#: src/lib/elementary/elc_fileselector.c:1738
msgid "Search"
msgstr ""
-#: src/lib/elementary/elc_fileselector.c:2104
+#: src/lib/elementary/elc_fileselector.c:2012
msgid "OK"
msgstr "OK"
-#: src/lib/elementary/elc_fileselector.c:2114
-#: src/lib/elementary/elm_entry.c:1739 src/lib/elementary/elm_entry.c:1764
+#: src/lib/elementary/elc_fileselector.c:2022
+#: src/lib/elementary/elm_entry.c:1759 src/lib/elementary/elm_entry.c:1784
msgid "Cancel"
msgstr "Zrušit"
-#: src/lib/elementary/elc_hoversel.c:438 src/lib/elementary/efl_ui_button.c:208
-#: src/lib/elementary/efl_ui_check.c:188 src/lib/elementary/elm_gengrid.c:1523
-#: src/lib/elementary/elm_genlist.c:1764 src/lib/elementary/elm_list.c:2185
+#: src/lib/elementary/elc_hoversel.c:439 src/lib/elementary/efl_ui_button.c:208
+#: src/lib/elementary/efl_ui_check.c:187 src/lib/elementary/elm_gengrid.c:1532
+#: src/lib/elementary/elm_genlist.c:1769 src/lib/elementary/elm_list.c:2185
#: src/lib/elementary/efl_ui_radio.c:201
-#: src/lib/elementary/elm_segment_control.c:528
-#: src/lib/elementary/elm_spinner.c:1041 src/lib/elementary/elm_toolbar.c:2291
+#: src/lib/elementary/elm_segment_control.c:525
+#: src/lib/elementary/elm_spinner.c:1041 src/lib/elementary/elm_toolbar.c:2294
msgid "State: Disabled"
msgstr "Stav: Zakázáno"
-#: src/lib/elementary/elc_hoversel.c:651
+#: src/lib/elementary/elc_hoversel.c:652
msgid "Hoversel"
msgstr ""
@@ -308,15 +308,15 @@ msgstr "Zpět"
msgid "Next"
msgstr "Další"
-#: src/lib/elementary/elc_popup.c:320 src/lib/elementary/elc_popup.c:992
+#: src/lib/elementary/elc_popup.c:320 src/lib/elementary/elc_popup.c:984
msgid "Popup Title"
msgstr "Titulek vyskakujícího okna"
-#: src/lib/elementary/elc_popup.c:330 src/lib/elementary/elc_popup.c:1068
+#: src/lib/elementary/elc_popup.c:330 src/lib/elementary/elc_popup.c:1060
msgid "Popup Body Text"
msgstr "Text vyskakovacího okna"
-#: src/lib/elementary/elc_popup.c:1842
+#: src/lib/elementary/elc_popup.c:1836
msgid "Alert"
msgstr ""
@@ -377,21 +377,21 @@ msgstr "kalendářní měsíc"
msgid "calendar year"
msgstr "kalendářní rok"
-#: src/lib/elementary/efl_ui_check.c:76 src/lib/elementary/efl_ui_check.c:201
+#: src/lib/elementary/efl_ui_check.c:76 src/lib/elementary/efl_ui_check.c:200
#: src/lib/elementary/efl_ui_radio.c:136 src/lib/elementary/efl_ui_radio.c:202
msgid "State: On"
msgstr "Stav: Zapnuto"
-#: src/lib/elementary/efl_ui_check.c:96 src/lib/elementary/efl_ui_check.c:213
+#: src/lib/elementary/efl_ui_check.c:96 src/lib/elementary/efl_ui_check.c:212
#: src/lib/elementary/efl_ui_radio.c:204
msgid "State: Off"
msgstr "Stav: Vypnuto"
-#: src/lib/elementary/efl_ui_check.c:197 src/lib/elementary/efl_ui_check.c:210
+#: src/lib/elementary/efl_ui_check.c:196 src/lib/elementary/efl_ui_check.c:209
msgid "State"
msgstr "Stav"
-#: src/lib/elementary/efl_ui_check.c:349
+#: src/lib/elementary/efl_ui_check.c:348
msgid "Check"
msgstr "Ověřit"
@@ -441,7 +441,7 @@ msgstr "položka výběru barvy z palety"
#. but if this is a right-to-left language like arabic, Farsi,
#. Hebrew, etc. then change this string to be "default:RTL"
#.
-#: src/lib/elementary/elm_config.c:4329
+#: src/lib/elementary/elm_config.c:4158
msgid "default:LTR"
msgstr "default:LTR"
@@ -453,23 +453,23 @@ msgstr "položka výběru dne"
msgid "diskselector item"
msgstr "položka výběru disků"
-#: src/lib/elementary/elm_entry.c:1729
+#: src/lib/elementary/elm_entry.c:1749
msgid "Cut"
msgstr "Vyjmout"
-#: src/lib/elementary/elm_entry.c:1732
+#: src/lib/elementary/elm_entry.c:1752
msgid "Copy"
msgstr "Kopírovat"
-#: src/lib/elementary/elm_entry.c:1736 src/lib/elementary/elm_entry.c:1758
+#: src/lib/elementary/elm_entry.c:1756 src/lib/elementary/elm_entry.c:1778
msgid "Paste"
msgstr "Vložit"
-#: src/lib/elementary/elm_entry.c:1751
+#: src/lib/elementary/elm_entry.c:1771
msgid "Select"
msgstr "Vybrat"
-#: src/lib/elementary/elm_entry.c:3910
+#: src/lib/elementary/elm_entry.c:3937
msgid "Entry"
msgstr "Vstup"
@@ -513,20 +513,20 @@ msgstr "ukazatel průběhu"
msgid "Radio"
msgstr "Přepínač"
-#: src/lib/elementary/elm_segment_control.c:531
-#: src/lib/elementary/elm_toolbar.c:2293
+#: src/lib/elementary/elm_segment_control.c:528
+#: src/lib/elementary/elm_toolbar.c:2296
msgid "State: Selected"
msgstr "Stav: Vybráno"
-#: src/lib/elementary/elm_segment_control.c:533
+#: src/lib/elementary/elm_segment_control.c:530
msgid "State: Unselected"
msgstr "Stav: Nevybráno"
-#: src/lib/elementary/elm_segment_control.c:547
+#: src/lib/elementary/elm_segment_control.c:544
msgid "Segment Control Item"
msgstr "položka ovládání segmentu"
-#: src/lib/elementary/efl_ui_slider.c:681
+#: src/lib/elementary/efl_ui_slider.c:704
msgid "slider"
msgstr "šoupátko"
@@ -555,23 +555,23 @@ msgstr "odečítací tlačítko spinneru"
msgid "spinner text"
msgstr "spinner"
-#: src/lib/elementary/elm_toolbar.c:1750 src/lib/elementary/elm_toolbar.c:2352
+#: src/lib/elementary/elm_toolbar.c:1753 src/lib/elementary/elm_toolbar.c:2355
msgid "Selected"
msgstr "Vybrané"
-#: src/lib/elementary/elm_toolbar.c:2289
+#: src/lib/elementary/elm_toolbar.c:2292
msgid "Separator"
msgstr "Oddělovač"
-#: src/lib/elementary/elm_toolbar.c:2295
+#: src/lib/elementary/elm_toolbar.c:2298
msgid "Has menu"
msgstr "Má nabídku"
-#: src/lib/elementary/elm_toolbar.c:2347
+#: src/lib/elementary/elm_toolbar.c:2350
msgid "Unselected"
msgstr "Nevybrané"
-#: src/lib/elementary/elm_toolbar.c:2364
+#: src/lib/elementary/elm_toolbar.c:2367
msgid "Toolbar Item"
msgstr "Položka panelu nástrojů"
diff --git a/po/da.po b/po/da.po
index 8635367bd3..25bbc265b3 100644
--- a/po/da.po
+++ b/po/da.po
@@ -2,12 +2,12 @@
# Copyright (C) 2017 Enlightenment development team
# This file is distributed under the same license as the efl package.
# scootergrisen, 2017-2018.
-#: src/lib/elementary/elm_config.c:4306
+#: src/lib/elementary/elm_config.c:4135
msgid ""
msgstr ""
"Project-Id-Version: efl 1.21\n"
"Report-Msgid-Bugs-To: enlightenment-devel@lists.sourceforge.net\n"
-"POT-Creation-Date: 2018-12-06 14:49+0000\n"
+"POT-Creation-Date: 2019-04-15 12:03+0100\n"
"PO-Revision-Date: 2018-08-09 18:38+0200\n"
"Last-Translator: scootergrisen\n"
"Language-Team: Danish\n"
@@ -237,37 +237,37 @@ msgstr "Billeder"
msgid "Videos"
msgstr "Videoer"
-#: src/lib/elementary/elc_fileselector.c:1799
+#: src/lib/elementary/elc_fileselector.c:1705
msgid "Up"
msgstr "Op"
-#: src/lib/elementary/elc_fileselector.c:1813
+#: src/lib/elementary/elc_fileselector.c:1719
msgid "Home"
msgstr "Hjem"
-#: src/lib/elementary/elc_fileselector.c:1832
+#: src/lib/elementary/elc_fileselector.c:1738
msgid "Search"
msgstr "Søg"
-#: src/lib/elementary/elc_fileselector.c:2104
+#: src/lib/elementary/elc_fileselector.c:2012
msgid "OK"
msgstr "OK"
-#: src/lib/elementary/elc_fileselector.c:2114
-#: src/lib/elementary/elm_entry.c:1739 src/lib/elementary/elm_entry.c:1764
+#: src/lib/elementary/elc_fileselector.c:2022
+#: src/lib/elementary/elm_entry.c:1759 src/lib/elementary/elm_entry.c:1784
msgid "Cancel"
msgstr "Annuller"
-#: src/lib/elementary/elc_hoversel.c:438 src/lib/elementary/efl_ui_button.c:208
-#: src/lib/elementary/efl_ui_check.c:188 src/lib/elementary/elm_gengrid.c:1523
-#: src/lib/elementary/elm_genlist.c:1764 src/lib/elementary/elm_list.c:2185
+#: src/lib/elementary/elc_hoversel.c:439 src/lib/elementary/efl_ui_button.c:208
+#: src/lib/elementary/efl_ui_check.c:187 src/lib/elementary/elm_gengrid.c:1532
+#: src/lib/elementary/elm_genlist.c:1769 src/lib/elementary/elm_list.c:2185
#: src/lib/elementary/efl_ui_radio.c:201
-#: src/lib/elementary/elm_segment_control.c:528
-#: src/lib/elementary/elm_spinner.c:1041 src/lib/elementary/elm_toolbar.c:2291
+#: src/lib/elementary/elm_segment_control.c:525
+#: src/lib/elementary/elm_spinner.c:1041 src/lib/elementary/elm_toolbar.c:2294
msgid "State: Disabled"
msgstr "Tilstand: Deaktiveret"
-#: src/lib/elementary/elc_hoversel.c:651
+#: src/lib/elementary/elc_hoversel.c:652
msgid "Hoversel"
msgstr "Svævemarkering"
@@ -301,15 +301,15 @@ msgstr "Tilbage"
msgid "Next"
msgstr "Næste"
-#: src/lib/elementary/elc_popup.c:320 src/lib/elementary/elc_popup.c:992
+#: src/lib/elementary/elc_popup.c:320 src/lib/elementary/elc_popup.c:984
msgid "Popup Title"
msgstr "Titel til pop op"
-#: src/lib/elementary/elc_popup.c:330 src/lib/elementary/elc_popup.c:1068
+#: src/lib/elementary/elc_popup.c:330 src/lib/elementary/elc_popup.c:1060
msgid "Popup Body Text"
msgstr "Brødtekst til pop op"
-#: src/lib/elementary/elc_popup.c:1842
+#: src/lib/elementary/elc_popup.c:1836
msgid "Alert"
msgstr "Besked"
@@ -370,21 +370,21 @@ msgstr "kalender måned"
msgid "calendar year"
msgstr "kalender år"
-#: src/lib/elementary/efl_ui_check.c:76 src/lib/elementary/efl_ui_check.c:201
+#: src/lib/elementary/efl_ui_check.c:76 src/lib/elementary/efl_ui_check.c:200
#: src/lib/elementary/efl_ui_radio.c:136 src/lib/elementary/efl_ui_radio.c:202
msgid "State: On"
msgstr "Tilstand: Til"
-#: src/lib/elementary/efl_ui_check.c:96 src/lib/elementary/efl_ui_check.c:213
+#: src/lib/elementary/efl_ui_check.c:96 src/lib/elementary/efl_ui_check.c:212
#: src/lib/elementary/efl_ui_radio.c:204
msgid "State: Off"
msgstr "Tilstand: Fra"
-#: src/lib/elementary/efl_ui_check.c:197 src/lib/elementary/efl_ui_check.c:210
+#: src/lib/elementary/efl_ui_check.c:196 src/lib/elementary/efl_ui_check.c:209
msgid "State"
msgstr "Tilstand"
-#: src/lib/elementary/efl_ui_check.c:349
+#: src/lib/elementary/efl_ui_check.c:348
msgid "Check"
msgstr "Tilvælg"
@@ -434,7 +434,7 @@ msgstr "palet-element til farvevælger"
#. but if this is a right-to-left language like arabic, Farsi,
#. Hebrew, etc. then change this string to be "default:RTL"
#.
-#: src/lib/elementary/elm_config.c:4329
+#: src/lib/elementary/elm_config.c:4158
msgid "default:LTR"
msgstr "default:LTR"
@@ -446,23 +446,23 @@ msgstr "dagvælger-element"
msgid "diskselector item"
msgstr "diskvælger-element"
-#: src/lib/elementary/elm_entry.c:1729
+#: src/lib/elementary/elm_entry.c:1749
msgid "Cut"
msgstr "Klip"
-#: src/lib/elementary/elm_entry.c:1732
+#: src/lib/elementary/elm_entry.c:1752
msgid "Copy"
msgstr "Kopiér"
-#: src/lib/elementary/elm_entry.c:1736 src/lib/elementary/elm_entry.c:1758
+#: src/lib/elementary/elm_entry.c:1756 src/lib/elementary/elm_entry.c:1778
msgid "Paste"
msgstr "Indsæt"
-#: src/lib/elementary/elm_entry.c:1751
+#: src/lib/elementary/elm_entry.c:1771
msgid "Select"
msgstr "Vælg"
-#: src/lib/elementary/elm_entry.c:3910
+#: src/lib/elementary/elm_entry.c:3937
msgid "Entry"
msgstr "Indtastning"
@@ -506,20 +506,20 @@ msgstr "forløbslinje"
msgid "Radio"
msgstr "Radio"
-#: src/lib/elementary/elm_segment_control.c:531
-#: src/lib/elementary/elm_toolbar.c:2293
+#: src/lib/elementary/elm_segment_control.c:528
+#: src/lib/elementary/elm_toolbar.c:2296
msgid "State: Selected"
msgstr "Tilstand: Valgt"
-#: src/lib/elementary/elm_segment_control.c:533
+#: src/lib/elementary/elm_segment_control.c:530
msgid "State: Unselected"
msgstr "Tilstand: Fravalgt"
-#: src/lib/elementary/elm_segment_control.c:547
+#: src/lib/elementary/elm_segment_control.c:544
msgid "Segment Control Item"
msgstr "Segmentkontrol-element"
-#: src/lib/elementary/efl_ui_slider.c:681
+#: src/lib/elementary/efl_ui_slider.c:704
msgid "slider"
msgstr "skyder"
@@ -547,23 +547,23 @@ msgstr "formindsk-knap til ruller"
msgid "spinner text"
msgstr "rullertekst"
-#: src/lib/elementary/elm_toolbar.c:1750 src/lib/elementary/elm_toolbar.c:2352
+#: src/lib/elementary/elm_toolbar.c:1753 src/lib/elementary/elm_toolbar.c:2355
msgid "Selected"
msgstr "Valgt"
-#: src/lib/elementary/elm_toolbar.c:2289
+#: src/lib/elementary/elm_toolbar.c:2292
msgid "Separator"
msgstr "Separator"
-#: src/lib/elementary/elm_toolbar.c:2295
+#: src/lib/elementary/elm_toolbar.c:2298
msgid "Has menu"
msgstr "Har menu"
-#: src/lib/elementary/elm_toolbar.c:2347
+#: src/lib/elementary/elm_toolbar.c:2350
msgid "Unselected"
msgstr "Fravalgt"
-#: src/lib/elementary/elm_toolbar.c:2364
+#: src/lib/elementary/elm_toolbar.c:2367
msgid "Toolbar Item"
msgstr "Værktøjslinje-element"
diff --git a/po/de.po b/po/de.po
index d195ca8eba..9a21732685 100644
--- a/po/de.po
+++ b/po/de.po
@@ -4,12 +4,12 @@
# Chris Leick <c.leick@vollbio.de>, 2009.
# Fabian Nowak <timystery@arcor.de>, 2010.
#
-#: src/lib/elementary/elm_config.c:4306
+#: src/lib/elementary/elm_config.c:4135
msgid ""
msgstr ""
"Project-Id-Version: elementary 0.7.0.57309\n"
"Report-Msgid-Bugs-To: enlightenment-devel@lists.sourceforge.net\n"
-"POT-Creation-Date: 2018-12-06 14:49+0000\n"
+"POT-Creation-Date: 2019-04-15 12:03+0100\n"
"PO-Revision-Date: 2011-02-25 20:22+0100\n"
"Last-Translator: Fabian Nowak <timystery@arcor.de>\n"
"Language-Team: German\n"
@@ -241,37 +241,37 @@ msgstr ""
msgid "Videos"
msgstr ""
-#: src/lib/elementary/elc_fileselector.c:1799
+#: src/lib/elementary/elc_fileselector.c:1705
msgid "Up"
msgstr "Aufwärts"
-#: src/lib/elementary/elc_fileselector.c:1813
+#: src/lib/elementary/elc_fileselector.c:1719
msgid "Home"
msgstr "Persönlicher Ordner"
-#: src/lib/elementary/elc_fileselector.c:1832
+#: src/lib/elementary/elc_fileselector.c:1738
msgid "Search"
msgstr ""
-#: src/lib/elementary/elc_fileselector.c:2104
+#: src/lib/elementary/elc_fileselector.c:2012
msgid "OK"
msgstr "OK"
-#: src/lib/elementary/elc_fileselector.c:2114
-#: src/lib/elementary/elm_entry.c:1739 src/lib/elementary/elm_entry.c:1764
+#: src/lib/elementary/elc_fileselector.c:2022
+#: src/lib/elementary/elm_entry.c:1759 src/lib/elementary/elm_entry.c:1784
msgid "Cancel"
msgstr "Abbrechen"
-#: src/lib/elementary/elc_hoversel.c:438 src/lib/elementary/efl_ui_button.c:208
-#: src/lib/elementary/efl_ui_check.c:188 src/lib/elementary/elm_gengrid.c:1523
-#: src/lib/elementary/elm_genlist.c:1764 src/lib/elementary/elm_list.c:2185
+#: src/lib/elementary/elc_hoversel.c:439 src/lib/elementary/efl_ui_button.c:208
+#: src/lib/elementary/efl_ui_check.c:187 src/lib/elementary/elm_gengrid.c:1532
+#: src/lib/elementary/elm_genlist.c:1769 src/lib/elementary/elm_list.c:2185
#: src/lib/elementary/efl_ui_radio.c:201
-#: src/lib/elementary/elm_segment_control.c:528
-#: src/lib/elementary/elm_spinner.c:1041 src/lib/elementary/elm_toolbar.c:2291
+#: src/lib/elementary/elm_segment_control.c:525
+#: src/lib/elementary/elm_spinner.c:1041 src/lib/elementary/elm_toolbar.c:2294
msgid "State: Disabled"
msgstr ""
-#: src/lib/elementary/elc_hoversel.c:651
+#: src/lib/elementary/elc_hoversel.c:652
msgid "Hoversel"
msgstr ""
@@ -305,15 +305,15 @@ msgstr ""
msgid "Next"
msgstr ""
-#: src/lib/elementary/elc_popup.c:320 src/lib/elementary/elc_popup.c:992
+#: src/lib/elementary/elc_popup.c:320 src/lib/elementary/elc_popup.c:984
msgid "Popup Title"
msgstr ""
-#: src/lib/elementary/elc_popup.c:330 src/lib/elementary/elc_popup.c:1068
+#: src/lib/elementary/elc_popup.c:330 src/lib/elementary/elc_popup.c:1060
msgid "Popup Body Text"
msgstr ""
-#: src/lib/elementary/elc_popup.c:1842
+#: src/lib/elementary/elc_popup.c:1836
msgid "Alert"
msgstr ""
@@ -374,21 +374,21 @@ msgstr ""
msgid "calendar year"
msgstr ""
-#: src/lib/elementary/efl_ui_check.c:76 src/lib/elementary/efl_ui_check.c:201
+#: src/lib/elementary/efl_ui_check.c:76 src/lib/elementary/efl_ui_check.c:200
#: src/lib/elementary/efl_ui_radio.c:136 src/lib/elementary/efl_ui_radio.c:202
msgid "State: On"
msgstr ""
-#: src/lib/elementary/efl_ui_check.c:96 src/lib/elementary/efl_ui_check.c:213
+#: src/lib/elementary/efl_ui_check.c:96 src/lib/elementary/efl_ui_check.c:212
#: src/lib/elementary/efl_ui_radio.c:204
msgid "State: Off"
msgstr ""
-#: src/lib/elementary/efl_ui_check.c:197 src/lib/elementary/efl_ui_check.c:210
+#: src/lib/elementary/efl_ui_check.c:196 src/lib/elementary/efl_ui_check.c:209
msgid "State"
msgstr ""
-#: src/lib/elementary/efl_ui_check.c:349
+#: src/lib/elementary/efl_ui_check.c:348
msgid "Check"
msgstr ""
@@ -438,7 +438,7 @@ msgstr ""
#. but if this is a right-to-left language like arabic, Farsi,
#. Hebrew, etc. then change this string to be "default:RTL"
#.
-#: src/lib/elementary/elm_config.c:4329
+#: src/lib/elementary/elm_config.c:4158
msgid "default:LTR"
msgstr "default:LTR"
@@ -450,23 +450,23 @@ msgstr ""
msgid "diskselector item"
msgstr ""
-#: src/lib/elementary/elm_entry.c:1729
+#: src/lib/elementary/elm_entry.c:1749
msgid "Cut"
msgstr "Ausschneiden"
-#: src/lib/elementary/elm_entry.c:1732
+#: src/lib/elementary/elm_entry.c:1752
msgid "Copy"
msgstr "Kopieren"
-#: src/lib/elementary/elm_entry.c:1736 src/lib/elementary/elm_entry.c:1758
+#: src/lib/elementary/elm_entry.c:1756 src/lib/elementary/elm_entry.c:1778
msgid "Paste"
msgstr "Einfügen"
-#: src/lib/elementary/elm_entry.c:1751
+#: src/lib/elementary/elm_entry.c:1771
msgid "Select"
msgstr "Auswählen"
-#: src/lib/elementary/elm_entry.c:3910
+#: src/lib/elementary/elm_entry.c:3937
msgid "Entry"
msgstr ""
@@ -510,21 +510,21 @@ msgstr ""
msgid "Radio"
msgstr ""
-#: src/lib/elementary/elm_segment_control.c:531
-#: src/lib/elementary/elm_toolbar.c:2293
+#: src/lib/elementary/elm_segment_control.c:528
+#: src/lib/elementary/elm_toolbar.c:2296
msgid "State: Selected"
msgstr ""
-#: src/lib/elementary/elm_segment_control.c:533
+#: src/lib/elementary/elm_segment_control.c:530
#, fuzzy
msgid "State: Unselected"
msgstr "Auswählen"
-#: src/lib/elementary/elm_segment_control.c:547
+#: src/lib/elementary/elm_segment_control.c:544
msgid "Segment Control Item"
msgstr ""
-#: src/lib/elementary/efl_ui_slider.c:681
+#: src/lib/elementary/efl_ui_slider.c:704
msgid "slider"
msgstr ""
@@ -552,24 +552,24 @@ msgstr ""
msgid "spinner text"
msgstr ""
-#: src/lib/elementary/elm_toolbar.c:1750 src/lib/elementary/elm_toolbar.c:2352
+#: src/lib/elementary/elm_toolbar.c:1753 src/lib/elementary/elm_toolbar.c:2355
#, fuzzy
msgid "Selected"
msgstr "Auswählen"
-#: src/lib/elementary/elm_toolbar.c:2289
+#: src/lib/elementary/elm_toolbar.c:2292
msgid "Separator"
msgstr ""
-#: src/lib/elementary/elm_toolbar.c:2295
+#: src/lib/elementary/elm_toolbar.c:2298
msgid "Has menu"
msgstr ""
-#: src/lib/elementary/elm_toolbar.c:2347
+#: src/lib/elementary/elm_toolbar.c:2350
#, fuzzy
msgid "Unselected"
msgstr "Auswählen"
-#: src/lib/elementary/elm_toolbar.c:2364
+#: src/lib/elementary/elm_toolbar.c:2367
msgid "Toolbar Item"
msgstr ""
diff --git a/po/el.po b/po/el.po
index 315427a190..d70548b9d6 100644
--- a/po/el.po
+++ b/po/el.po
@@ -6,12 +6,12 @@
# Alex-P. Natsios <drakevr@linuxteam.teilar.gr> 2012
# Efstathios Iosifidis <iosifidis@opensuse.org>, 2012.
#
-#: src/lib/elementary/elm_config.c:4306
+#: src/lib/elementary/elm_config.c:4135
msgid ""
msgstr ""
"Project-Id-Version: elementary\n"
"Report-Msgid-Bugs-To: enlightenment-devel@lists.sourceforge.net\n"
-"POT-Creation-Date: 2018-12-06 14:49+0000\n"
+"POT-Creation-Date: 2019-04-15 12:03+0100\n"
"PO-Revision-Date: 2012-12-19 15:58+0200\n"
"Last-Translator: Efstathios Iosifidis <iosifidis@opensuse.org>\n"
"Language-Team: Ελληνικά, Σύγχρονα <opensuse-translation-el@opensuse.org>\n"
@@ -244,37 +244,37 @@ msgstr "Εικόνες"
msgid "Videos"
msgstr "Βίντεο"
-#: src/lib/elementary/elc_fileselector.c:1799
+#: src/lib/elementary/elc_fileselector.c:1705
msgid "Up"
msgstr "Πάνω"
-#: src/lib/elementary/elc_fileselector.c:1813
+#: src/lib/elementary/elc_fileselector.c:1719
msgid "Home"
msgstr "Αρχική"
-#: src/lib/elementary/elc_fileselector.c:1832
+#: src/lib/elementary/elc_fileselector.c:1738
msgid "Search"
msgstr ""
-#: src/lib/elementary/elc_fileselector.c:2104
+#: src/lib/elementary/elc_fileselector.c:2012
msgid "OK"
msgstr "Εντάξει"
-#: src/lib/elementary/elc_fileselector.c:2114
-#: src/lib/elementary/elm_entry.c:1739 src/lib/elementary/elm_entry.c:1764
+#: src/lib/elementary/elc_fileselector.c:2022
+#: src/lib/elementary/elm_entry.c:1759 src/lib/elementary/elm_entry.c:1784
msgid "Cancel"
msgstr "Άκυρο"
-#: src/lib/elementary/elc_hoversel.c:438 src/lib/elementary/efl_ui_button.c:208
-#: src/lib/elementary/efl_ui_check.c:188 src/lib/elementary/elm_gengrid.c:1523
-#: src/lib/elementary/elm_genlist.c:1764 src/lib/elementary/elm_list.c:2185
+#: src/lib/elementary/elc_hoversel.c:439 src/lib/elementary/efl_ui_button.c:208
+#: src/lib/elementary/efl_ui_check.c:187 src/lib/elementary/elm_gengrid.c:1532
+#: src/lib/elementary/elm_genlist.c:1769 src/lib/elementary/elm_list.c:2185
#: src/lib/elementary/efl_ui_radio.c:201
-#: src/lib/elementary/elm_segment_control.c:528
-#: src/lib/elementary/elm_spinner.c:1041 src/lib/elementary/elm_toolbar.c:2291
+#: src/lib/elementary/elm_segment_control.c:525
+#: src/lib/elementary/elm_spinner.c:1041 src/lib/elementary/elm_toolbar.c:2294
msgid "State: Disabled"
msgstr "Κατάσταση: Απενεργοποιημένο"
-#: src/lib/elementary/elc_hoversel.c:651
+#: src/lib/elementary/elc_hoversel.c:652
msgid "Hoversel"
msgstr ""
@@ -308,15 +308,15 @@ msgstr ""
msgid "Next"
msgstr ""
-#: src/lib/elementary/elc_popup.c:320 src/lib/elementary/elc_popup.c:992
+#: src/lib/elementary/elc_popup.c:320 src/lib/elementary/elc_popup.c:984
msgid "Popup Title"
msgstr ""
-#: src/lib/elementary/elc_popup.c:330 src/lib/elementary/elc_popup.c:1068
+#: src/lib/elementary/elc_popup.c:330 src/lib/elementary/elc_popup.c:1060
msgid "Popup Body Text"
msgstr ""
-#: src/lib/elementary/elc_popup.c:1842
+#: src/lib/elementary/elc_popup.c:1836
msgid "Alert"
msgstr ""
@@ -383,21 +383,21 @@ msgstr "Μηνας Ημερολογίου"
msgid "calendar year"
msgstr "αντικείμενο ημερολογίου"
-#: src/lib/elementary/efl_ui_check.c:76 src/lib/elementary/efl_ui_check.c:201
+#: src/lib/elementary/efl_ui_check.c:76 src/lib/elementary/efl_ui_check.c:200
#: src/lib/elementary/efl_ui_radio.c:136 src/lib/elementary/efl_ui_radio.c:202
msgid "State: On"
msgstr "Κατάσταση: Ενεργό"
-#: src/lib/elementary/efl_ui_check.c:96 src/lib/elementary/efl_ui_check.c:213
+#: src/lib/elementary/efl_ui_check.c:96 src/lib/elementary/efl_ui_check.c:212
#: src/lib/elementary/efl_ui_radio.c:204
msgid "State: Off"
msgstr "Κατάσταση: Ανενεργό"
-#: src/lib/elementary/efl_ui_check.c:197 src/lib/elementary/efl_ui_check.c:210
+#: src/lib/elementary/efl_ui_check.c:196 src/lib/elementary/efl_ui_check.c:209
msgid "State"
msgstr "Κατάσταση"
-#: src/lib/elementary/efl_ui_check.c:349
+#: src/lib/elementary/efl_ui_check.c:348
msgid "Check"
msgstr "Επιλογή"
@@ -449,7 +449,7 @@ msgstr "παλέτα επιλογής χρώματος"
#. but if this is a right-to-left language like arabic, Farsi,
#. Hebrew, etc. then change this string to be "default:RTL"
#.
-#: src/lib/elementary/elm_config.c:4329
+#: src/lib/elementary/elm_config.c:4158
msgid "default:LTR"
msgstr "default:LTR"
@@ -462,23 +462,23 @@ msgstr "επιλογή δίσκου"
msgid "diskselector item"
msgstr "επιλογή δίσκου"
-#: src/lib/elementary/elm_entry.c:1729
+#: src/lib/elementary/elm_entry.c:1749
msgid "Cut"
msgstr "Αποκοπή"
-#: src/lib/elementary/elm_entry.c:1732
+#: src/lib/elementary/elm_entry.c:1752
msgid "Copy"
msgstr "Αντιγραφή"
-#: src/lib/elementary/elm_entry.c:1736 src/lib/elementary/elm_entry.c:1758
+#: src/lib/elementary/elm_entry.c:1756 src/lib/elementary/elm_entry.c:1778
msgid "Paste"
msgstr "Επικόλληση"
-#: src/lib/elementary/elm_entry.c:1751
+#: src/lib/elementary/elm_entry.c:1771
msgid "Select"
msgstr "Επιλογή"
-#: src/lib/elementary/elm_entry.c:3910
+#: src/lib/elementary/elm_entry.c:3937
msgid "Entry"
msgstr "Καταχώριση"
@@ -522,21 +522,21 @@ msgstr "Μπάρα Προόδου"
msgid "Radio"
msgstr "Επιλογή"
-#: src/lib/elementary/elm_segment_control.c:531
-#: src/lib/elementary/elm_toolbar.c:2293
+#: src/lib/elementary/elm_segment_control.c:528
+#: src/lib/elementary/elm_toolbar.c:2296
msgid "State: Selected"
msgstr "Κατάσταση: Επιλεγμένο"
-#: src/lib/elementary/elm_segment_control.c:533
+#: src/lib/elementary/elm_segment_control.c:530
#, fuzzy
msgid "State: Unselected"
msgstr "Κατάσταση: Επιλεγμένο"
-#: src/lib/elementary/elm_segment_control.c:547
+#: src/lib/elementary/elm_segment_control.c:544
msgid "Segment Control Item"
msgstr ""
-#: src/lib/elementary/efl_ui_slider.c:681
+#: src/lib/elementary/efl_ui_slider.c:704
msgid "slider"
msgstr "μπάρα κύλισης"
@@ -568,23 +568,23 @@ msgstr "κουμπί spinner προηγούμενο"
msgid "spinner text"
msgstr "spinner"
-#: src/lib/elementary/elm_toolbar.c:1750 src/lib/elementary/elm_toolbar.c:2352
+#: src/lib/elementary/elm_toolbar.c:1753 src/lib/elementary/elm_toolbar.c:2355
msgid "Selected"
msgstr "Επιλεγμένο"
-#: src/lib/elementary/elm_toolbar.c:2289
+#: src/lib/elementary/elm_toolbar.c:2292
msgid "Separator"
msgstr "Διαχωριστικό"
-#: src/lib/elementary/elm_toolbar.c:2295
+#: src/lib/elementary/elm_toolbar.c:2298
msgid "Has menu"
msgstr "Έχει μενού"
-#: src/lib/elementary/elm_toolbar.c:2347
+#: src/lib/elementary/elm_toolbar.c:2350
msgid "Unselected"
msgstr "Μη Επιλεγμένο"
-#: src/lib/elementary/elm_toolbar.c:2364
+#: src/lib/elementary/elm_toolbar.c:2367
msgid "Toolbar Item"
msgstr "Αντικείμενο μπάρας εργαλείων"
diff --git a/po/eo.po b/po/eo.po
index a04210d81d..6f19cab7bd 100644
--- a/po/eo.po
+++ b/po/eo.po
@@ -3,12 +3,12 @@
# This file is distributed under the same license as the enlightenment package.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2012.
#
-#: src/lib/elementary/elm_config.c:4306
+#: src/lib/elementary/elm_config.c:4135
msgid ""
msgstr ""
"Project-Id-Version: enlightenment\n"
"Report-Msgid-Bugs-To: enlightenment-devel@lists.sourceforge.net\n"
-"POT-Creation-Date: 2018-12-06 14:49+0000\n"
+"POT-Creation-Date: 2019-04-15 12:03+0100\n"
"PO-Revision-Date: 2013-11-05 18:59+0000\n"
"Last-Translator: Eliovir <Unknown>\n"
"Language-Team: Esperanto <eo@li.org>\n"
@@ -239,37 +239,37 @@ msgstr "Bildujo"
msgid "Videos"
msgstr "Videujo"
-#: src/lib/elementary/elc_fileselector.c:1799
+#: src/lib/elementary/elc_fileselector.c:1705
msgid "Up"
msgstr "Supren"
-#: src/lib/elementary/elc_fileselector.c:1813
+#: src/lib/elementary/elc_fileselector.c:1719
msgid "Home"
msgstr "Hejmo"
-#: src/lib/elementary/elc_fileselector.c:1832
+#: src/lib/elementary/elc_fileselector.c:1738
msgid "Search"
msgstr ""
-#: src/lib/elementary/elc_fileselector.c:2104
+#: src/lib/elementary/elc_fileselector.c:2012
msgid "OK"
msgstr "Bone"
-#: src/lib/elementary/elc_fileselector.c:2114
-#: src/lib/elementary/elm_entry.c:1739 src/lib/elementary/elm_entry.c:1764
+#: src/lib/elementary/elc_fileselector.c:2022
+#: src/lib/elementary/elm_entry.c:1759 src/lib/elementary/elm_entry.c:1784
msgid "Cancel"
msgstr "Nuligi"
-#: src/lib/elementary/elc_hoversel.c:438 src/lib/elementary/efl_ui_button.c:208
-#: src/lib/elementary/efl_ui_check.c:188 src/lib/elementary/elm_gengrid.c:1523
-#: src/lib/elementary/elm_genlist.c:1764 src/lib/elementary/elm_list.c:2185
+#: src/lib/elementary/elc_hoversel.c:439 src/lib/elementary/efl_ui_button.c:208
+#: src/lib/elementary/efl_ui_check.c:187 src/lib/elementary/elm_gengrid.c:1532
+#: src/lib/elementary/elm_genlist.c:1769 src/lib/elementary/elm_list.c:2185
#: src/lib/elementary/efl_ui_radio.c:201
-#: src/lib/elementary/elm_segment_control.c:528
-#: src/lib/elementary/elm_spinner.c:1041 src/lib/elementary/elm_toolbar.c:2291
+#: src/lib/elementary/elm_segment_control.c:525
+#: src/lib/elementary/elm_spinner.c:1041 src/lib/elementary/elm_toolbar.c:2294
msgid "State: Disabled"
msgstr "Stato: malŝaltita"
-#: src/lib/elementary/elc_hoversel.c:651
+#: src/lib/elementary/elc_hoversel.c:652
msgid "Hoversel"
msgstr ""
@@ -304,15 +304,15 @@ msgstr "Reen"
msgid "Next"
msgstr "Antaŭen"
-#: src/lib/elementary/elc_popup.c:320 src/lib/elementary/elc_popup.c:992
+#: src/lib/elementary/elc_popup.c:320 src/lib/elementary/elc_popup.c:984
msgid "Popup Title"
msgstr "Titolo de spruĉfenestro"
-#: src/lib/elementary/elc_popup.c:330 src/lib/elementary/elc_popup.c:1068
+#: src/lib/elementary/elc_popup.c:330 src/lib/elementary/elc_popup.c:1060
msgid "Popup Body Text"
msgstr "Enhava teksto de spruĉfenestro"
-#: src/lib/elementary/elc_popup.c:1842
+#: src/lib/elementary/elc_popup.c:1836
msgid "Alert"
msgstr ""
@@ -373,21 +373,21 @@ msgstr "monato de kalendaro"
msgid "calendar year"
msgstr "jara kalendaro"
-#: src/lib/elementary/efl_ui_check.c:76 src/lib/elementary/efl_ui_check.c:201
+#: src/lib/elementary/efl_ui_check.c:76 src/lib/elementary/efl_ui_check.c:200
#: src/lib/elementary/efl_ui_radio.c:136 src/lib/elementary/efl_ui_radio.c:202
msgid "State: On"
msgstr "Stato: enŝaltita"
-#: src/lib/elementary/efl_ui_check.c:96 src/lib/elementary/efl_ui_check.c:213
+#: src/lib/elementary/efl_ui_check.c:96 src/lib/elementary/efl_ui_check.c:212
#: src/lib/elementary/efl_ui_radio.c:204
msgid "State: Off"
msgstr "Stato: malŝaltita"
-#: src/lib/elementary/efl_ui_check.c:197 src/lib/elementary/efl_ui_check.c:210
+#: src/lib/elementary/efl_ui_check.c:196 src/lib/elementary/efl_ui_check.c:209
msgid "State"
msgstr "Stato"
-#: src/lib/elementary/efl_ui_check.c:349
+#: src/lib/elementary/efl_ui_check.c:348
msgid "Check"
msgstr "Kontroli"
@@ -437,7 +437,7 @@ msgstr "ero de elektilo de kolorpaletro"
#. but if this is a right-to-left language like arabic, Farsi,
#. Hebrew, etc. then change this string to be "default:RTL"
#.
-#: src/lib/elementary/elm_config.c:4329
+#: src/lib/elementary/elm_config.c:4158
msgid "default:LTR"
msgstr "default:LTR"
@@ -449,23 +449,23 @@ msgstr ""
msgid "diskselector item"
msgstr "ero de diskelektilo"
-#: src/lib/elementary/elm_entry.c:1729
+#: src/lib/elementary/elm_entry.c:1749
msgid "Cut"
msgstr "Eltondi"
-#: src/lib/elementary/elm_entry.c:1732
+#: src/lib/elementary/elm_entry.c:1752
msgid "Copy"
msgstr "Kopii"
-#: src/lib/elementary/elm_entry.c:1736 src/lib/elementary/elm_entry.c:1758
+#: src/lib/elementary/elm_entry.c:1756 src/lib/elementary/elm_entry.c:1778
msgid "Paste"
msgstr "Alglui"
-#: src/lib/elementary/elm_entry.c:1751
+#: src/lib/elementary/elm_entry.c:1771
msgid "Select"
msgstr "Elekti"
-#: src/lib/elementary/elm_entry.c:3910
+#: src/lib/elementary/elm_entry.c:3937
msgid "Entry"
msgstr "Ero"
@@ -509,20 +509,20 @@ msgstr "progresbreto"
msgid "Radio"
msgstr "Radiobutono"
-#: src/lib/elementary/elm_segment_control.c:531
-#: src/lib/elementary/elm_toolbar.c:2293
+#: src/lib/elementary/elm_segment_control.c:528
+#: src/lib/elementary/elm_toolbar.c:2296
msgid "State: Selected"
msgstr "Stato: elektita"
-#: src/lib/elementary/elm_segment_control.c:533
+#: src/lib/elementary/elm_segment_control.c:530
msgid "State: Unselected"
msgstr "Stato: ne elektita"
-#: src/lib/elementary/elm_segment_control.c:547
+#: src/lib/elementary/elm_segment_control.c:544
msgid "Segment Control Item"
msgstr ""
-#: src/lib/elementary/efl_ui_slider.c:681
+#: src/lib/elementary/efl_ui_slider.c:704
msgid "slider"
msgstr "ŝovilo"
@@ -551,23 +551,23 @@ msgstr "dekrementa sago-butono"
msgid "spinner text"
msgstr "sago-butono"
-#: src/lib/elementary/elm_toolbar.c:1750 src/lib/elementary/elm_toolbar.c:2352
+#: src/lib/elementary/elm_toolbar.c:1753 src/lib/elementary/elm_toolbar.c:2355
msgid "Selected"
msgstr "Elektita"
-#: src/lib/elementary/elm_toolbar.c:2289
+#: src/lib/elementary/elm_toolbar.c:2292
msgid "Separator"
msgstr "Disigilo"
-#: src/lib/elementary/elm_toolbar.c:2295
+#: src/lib/elementary/elm_toolbar.c:2298
msgid "Has menu"
msgstr "Ĝi havas menuo"
-#: src/lib/elementary/elm_toolbar.c:2347
+#: src/lib/elementary/elm_toolbar.c:2350
msgid "Unselected"
msgstr "Malelektita"
-#: src/lib/elementary/elm_toolbar.c:2364
+#: src/lib/elementary/elm_toolbar.c:2367
msgid "Toolbar Item"
msgstr "Ilobretero"
diff --git a/po/es.po b/po/es.po
index 652b0618b2..4c913ce6c4 100644
--- a/po/es.po
+++ b/po/es.po
@@ -4,12 +4,12 @@
# Aníbal Garrido <khany@member.trisquel.info>, 2012.
# Adrián Arévalo <adri58@gmail.com>, 2015.
# Roy W. Reese <waterbearer54@gmx.com> 2015.
-#: src/lib/elementary/elm_config.c:4306
+#: src/lib/elementary/elm_config.c:4135
msgid ""
msgstr ""
"Project-Id-Version: elementary\n"
"Report-Msgid-Bugs-To: enlightenment-devel@lists.sourceforge.net\n"
-"POT-Creation-Date: 2018-12-06 14:49+0000\n"
+"POT-Creation-Date: 2019-04-15 12:03+0100\n"
"PO-Revision-Date: 2015-05-03 18:19+0100\n"
"Last-Translator: Adrián Arévalo <adri58@gmail.com>\n"
"Language-Team: Enlightenment Team\n"
@@ -239,37 +239,37 @@ msgstr "Imágenes"
msgid "Videos"
msgstr "Vídeos"
-#: src/lib/elementary/elc_fileselector.c:1799
+#: src/lib/elementary/elc_fileselector.c:1705
msgid "Up"
msgstr "Arriba"
-#: src/lib/elementary/elc_fileselector.c:1813
+#: src/lib/elementary/elc_fileselector.c:1719
msgid "Home"
msgstr "Carpeta personal"
-#: src/lib/elementary/elc_fileselector.c:1832
+#: src/lib/elementary/elc_fileselector.c:1738
msgid "Search"
msgstr "Buscar"
-#: src/lib/elementary/elc_fileselector.c:2104
+#: src/lib/elementary/elc_fileselector.c:2012
msgid "OK"
msgstr "Aceptar"
-#: src/lib/elementary/elc_fileselector.c:2114
-#: src/lib/elementary/elm_entry.c:1739 src/lib/elementary/elm_entry.c:1764
+#: src/lib/elementary/elc_fileselector.c:2022
+#: src/lib/elementary/elm_entry.c:1759 src/lib/elementary/elm_entry.c:1784
msgid "Cancel"
msgstr "Cancelar"
-#: src/lib/elementary/elc_hoversel.c:438 src/lib/elementary/efl_ui_button.c:208
-#: src/lib/elementary/efl_ui_check.c:188 src/lib/elementary/elm_gengrid.c:1523
-#: src/lib/elementary/elm_genlist.c:1764 src/lib/elementary/elm_list.c:2185
+#: src/lib/elementary/elc_hoversel.c:439 src/lib/elementary/efl_ui_button.c:208
+#: src/lib/elementary/efl_ui_check.c:187 src/lib/elementary/elm_gengrid.c:1532
+#: src/lib/elementary/elm_genlist.c:1769 src/lib/elementary/elm_list.c:2185
#: src/lib/elementary/efl_ui_radio.c:201
-#: src/lib/elementary/elm_segment_control.c:528
-#: src/lib/elementary/elm_spinner.c:1041 src/lib/elementary/elm_toolbar.c:2291
+#: src/lib/elementary/elm_segment_control.c:525
+#: src/lib/elementary/elm_spinner.c:1041 src/lib/elementary/elm_toolbar.c:2294
msgid "State: Disabled"
msgstr "Estado: Desactivado"
-#: src/lib/elementary/elc_hoversel.c:651
+#: src/lib/elementary/elc_hoversel.c:652
msgid "Hoversel"
msgstr ""
@@ -304,17 +304,17 @@ msgstr "Atrás"
msgid "Next"
msgstr "Siguiente"
-#: src/lib/elementary/elc_popup.c:320 src/lib/elementary/elc_popup.c:992
+#: src/lib/elementary/elc_popup.c:320 src/lib/elementary/elc_popup.c:984
#, fuzzy
msgid "Popup Title"
msgstr "Nombre emergente"
-#: src/lib/elementary/elc_popup.c:330 src/lib/elementary/elc_popup.c:1068
+#: src/lib/elementary/elc_popup.c:330 src/lib/elementary/elc_popup.c:1060
#, fuzzy
msgid "Popup Body Text"
msgstr "Texto emergente"
-#: src/lib/elementary/elc_popup.c:1842
+#: src/lib/elementary/elc_popup.c:1836
msgid "Alert"
msgstr ""
@@ -377,21 +377,21 @@ msgid "calendar year"
msgstr "año del calendario"
# RR: Traducción italiana usa ativado/desactivado. No sé a que refiere la cadena.
-#: src/lib/elementary/efl_ui_check.c:76 src/lib/elementary/efl_ui_check.c:201
+#: src/lib/elementary/efl_ui_check.c:76 src/lib/elementary/efl_ui_check.c:200
#: src/lib/elementary/efl_ui_radio.c:136 src/lib/elementary/efl_ui_radio.c:202
msgid "State: On"
msgstr "Estado: Conectado"
-#: src/lib/elementary/efl_ui_check.c:96 src/lib/elementary/efl_ui_check.c:213
+#: src/lib/elementary/efl_ui_check.c:96 src/lib/elementary/efl_ui_check.c:212
#: src/lib/elementary/efl_ui_radio.c:204
msgid "State: Off"
msgstr "Estado: Desconectado"
-#: src/lib/elementary/efl_ui_check.c:197 src/lib/elementary/efl_ui_check.c:210
+#: src/lib/elementary/efl_ui_check.c:196 src/lib/elementary/efl_ui_check.c:209
msgid "State"
msgstr "Estado"
-#: src/lib/elementary/efl_ui_check.c:349
+#: src/lib/elementary/efl_ui_check.c:348
msgid "Check"
msgstr "Comprobar"
@@ -442,7 +442,7 @@ msgstr "Selector de color de paleta"
#. but if this is a right-to-left language like arabic, Farsi,
#. Hebrew, etc. then change this string to be "default:RTL"
#.
-#: src/lib/elementary/elm_config.c:4329
+#: src/lib/elementary/elm_config.c:4158
msgid "default:LTR"
msgstr "default:LTR"
@@ -454,23 +454,23 @@ msgstr "Selector de día"
msgid "diskselector item"
msgstr "Selector de disco"
-#: src/lib/elementary/elm_entry.c:1729
+#: src/lib/elementary/elm_entry.c:1749
msgid "Cut"
msgstr "Cortar"
-#: src/lib/elementary/elm_entry.c:1732
+#: src/lib/elementary/elm_entry.c:1752
msgid "Copy"
msgstr "Copiar"
-#: src/lib/elementary/elm_entry.c:1736 src/lib/elementary/elm_entry.c:1758
+#: src/lib/elementary/elm_entry.c:1756 src/lib/elementary/elm_entry.c:1778
msgid "Paste"
msgstr "Pegar"
-#: src/lib/elementary/elm_entry.c:1751
+#: src/lib/elementary/elm_entry.c:1771
msgid "Select"
msgstr "Seleccionar"
-#: src/lib/elementary/elm_entry.c:3910
+#: src/lib/elementary/elm_entry.c:3937
msgid "Entry"
msgstr "Entrada"
@@ -514,20 +514,20 @@ msgstr "barra de progreso"
msgid "Radio"
msgstr "Radio"
-#: src/lib/elementary/elm_segment_control.c:531
-#: src/lib/elementary/elm_toolbar.c:2293
+#: src/lib/elementary/elm_segment_control.c:528
+#: src/lib/elementary/elm_toolbar.c:2296
msgid "State: Selected"
msgstr "Estado: Seleccionado"
-#: src/lib/elementary/elm_segment_control.c:533
+#: src/lib/elementary/elm_segment_control.c:530
msgid "State: Unselected"
msgstr "Estado: No seleccionado"
-#: src/lib/elementary/elm_segment_control.c:547
+#: src/lib/elementary/elm_segment_control.c:544
msgid "Segment Control Item"
msgstr "Elemento del control del segmento"
-#: src/lib/elementary/efl_ui_slider.c:681
+#: src/lib/elementary/efl_ui_slider.c:704
msgid "slider"
msgstr "deslizador"
@@ -556,23 +556,23 @@ msgstr "botón de decremento del spinner"
msgid "spinner text"
msgstr "spinner"
-#: src/lib/elementary/elm_toolbar.c:1750 src/lib/elementary/elm_toolbar.c:2352
+#: src/lib/elementary/elm_toolbar.c:1753 src/lib/elementary/elm_toolbar.c:2355
msgid "Selected"
msgstr "Seleccionado"
-#: src/lib/elementary/elm_toolbar.c:2289
+#: src/lib/elementary/elm_toolbar.c:2292
msgid "Separator"
msgstr "Separador"
-#: src/lib/elementary/elm_toolbar.c:2295
+#: src/lib/elementary/elm_toolbar.c:2298
msgid "Has menu"
msgstr "Tiene menú"
-#: src/lib/elementary/elm_toolbar.c:2347
+#: src/lib/elementary/elm_toolbar.c:2350
msgid "Unselected"
msgstr "Sin seleccionar"
-#: src/lib/elementary/elm_toolbar.c:2364
+#: src/lib/elementary/elm_toolbar.c:2367
msgid "Toolbar Item"
msgstr "Elemento de la barra de herramientas"
diff --git a/po/fi.po b/po/fi.po
index e2f87954c8..950af55d7c 100644
--- a/po/fi.po
+++ b/po/fi.po
@@ -3,12 +3,12 @@
# This file is distributed under the same license as the enlightenment package.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2014.
#
-#: src/lib/elementary/elm_config.c:4306
+#: src/lib/elementary/elm_config.c:4135
msgid ""
msgstr ""
"Project-Id-Version: enlightenment\n"
"Report-Msgid-Bugs-To: enlightenment-devel@lists.sourceforge.net\n"
-"POT-Creation-Date: 2018-12-06 14:49+0000\n"
+"POT-Creation-Date: 2019-04-15 12:03+0100\n"
"PO-Revision-Date: 2014-08-31 15:13+0000\n"
"Last-Translator: Kai Huuhko <kai.huuhko@gmail.com>\n"
"Language-Team: Finnish <fi@li.org>\n"
@@ -239,37 +239,37 @@ msgstr "Kuvat"
msgid "Videos"
msgstr "Videot"
-#: src/lib/elementary/elc_fileselector.c:1799
+#: src/lib/elementary/elc_fileselector.c:1705
msgid "Up"
msgstr "Ylös"
-#: src/lib/elementary/elc_fileselector.c:1813
+#: src/lib/elementary/elc_fileselector.c:1719
msgid "Home"
msgstr "Koti"
-#: src/lib/elementary/elc_fileselector.c:1832
+#: src/lib/elementary/elc_fileselector.c:1738
msgid "Search"
msgstr ""
-#: src/lib/elementary/elc_fileselector.c:2104
+#: src/lib/elementary/elc_fileselector.c:2012
msgid "OK"
msgstr "OK"
-#: src/lib/elementary/elc_fileselector.c:2114
-#: src/lib/elementary/elm_entry.c:1739 src/lib/elementary/elm_entry.c:1764
+#: src/lib/elementary/elc_fileselector.c:2022
+#: src/lib/elementary/elm_entry.c:1759 src/lib/elementary/elm_entry.c:1784
msgid "Cancel"
msgstr "Peruuta"
-#: src/lib/elementary/elc_hoversel.c:438 src/lib/elementary/efl_ui_button.c:208
-#: src/lib/elementary/efl_ui_check.c:188 src/lib/elementary/elm_gengrid.c:1523
-#: src/lib/elementary/elm_genlist.c:1764 src/lib/elementary/elm_list.c:2185
+#: src/lib/elementary/elc_hoversel.c:439 src/lib/elementary/efl_ui_button.c:208
+#: src/lib/elementary/efl_ui_check.c:187 src/lib/elementary/elm_gengrid.c:1532
+#: src/lib/elementary/elm_genlist.c:1769 src/lib/elementary/elm_list.c:2185
#: src/lib/elementary/efl_ui_radio.c:201
-#: src/lib/elementary/elm_segment_control.c:528
-#: src/lib/elementary/elm_spinner.c:1041 src/lib/elementary/elm_toolbar.c:2291
+#: src/lib/elementary/elm_segment_control.c:525
+#: src/lib/elementary/elm_spinner.c:1041 src/lib/elementary/elm_toolbar.c:2294
msgid "State: Disabled"
msgstr "Tila: Pois käytöstä"
-#: src/lib/elementary/elc_hoversel.c:651
+#: src/lib/elementary/elc_hoversel.c:652
msgid "Hoversel"
msgstr ""
@@ -304,15 +304,15 @@ msgstr "Takaisin"
msgid "Next"
msgstr "Seuraava"
-#: src/lib/elementary/elc_popup.c:320 src/lib/elementary/elc_popup.c:992
+#: src/lib/elementary/elc_popup.c:320 src/lib/elementary/elc_popup.c:984
msgid "Popup Title"
msgstr "Ponnahdusikkunan otsikko"
-#: src/lib/elementary/elc_popup.c:330 src/lib/elementary/elc_popup.c:1068
+#: src/lib/elementary/elc_popup.c:330 src/lib/elementary/elc_popup.c:1060
msgid "Popup Body Text"
msgstr "Ponnahdusikkunan leipäteksti"
-#: src/lib/elementary/elc_popup.c:1842
+#: src/lib/elementary/elc_popup.c:1836
msgid "Alert"
msgstr ""
@@ -373,21 +373,21 @@ msgstr "kalenterikuukausi"
msgid "calendar year"
msgstr "kalenterivuosi"
-#: src/lib/elementary/efl_ui_check.c:76 src/lib/elementary/efl_ui_check.c:201
+#: src/lib/elementary/efl_ui_check.c:76 src/lib/elementary/efl_ui_check.c:200
#: src/lib/elementary/efl_ui_radio.c:136 src/lib/elementary/efl_ui_radio.c:202
msgid "State: On"
msgstr "Tila: päällä"
-#: src/lib/elementary/efl_ui_check.c:96 src/lib/elementary/efl_ui_check.c:213
+#: src/lib/elementary/efl_ui_check.c:96 src/lib/elementary/efl_ui_check.c:212
#: src/lib/elementary/efl_ui_radio.c:204
msgid "State: Off"
msgstr "Tila: pois päältä"
-#: src/lib/elementary/efl_ui_check.c:197 src/lib/elementary/efl_ui_check.c:210
+#: src/lib/elementary/efl_ui_check.c:196 src/lib/elementary/efl_ui_check.c:209
msgid "State"
msgstr "Tila"
-#: src/lib/elementary/efl_ui_check.c:349
+#: src/lib/elementary/efl_ui_check.c:348
msgid "Check"
msgstr "Valinta"
@@ -437,7 +437,7 @@ msgstr "värivalitsimen palettikohta"
#. but if this is a right-to-left language like arabic, Farsi,
#. Hebrew, etc. then change this string to be "default:RTL"
#.
-#: src/lib/elementary/elm_config.c:4329
+#: src/lib/elementary/elm_config.c:4158
msgid "default:LTR"
msgstr "default:LTR"
@@ -449,23 +449,23 @@ msgstr "päivyrin kohta"
msgid "diskselector item"
msgstr "kiekkovalitsimen kohta"
-#: src/lib/elementary/elm_entry.c:1729
+#: src/lib/elementary/elm_entry.c:1749
msgid "Cut"
msgstr "Leikkaa"
-#: src/lib/elementary/elm_entry.c:1732
+#: src/lib/elementary/elm_entry.c:1752
msgid "Copy"
msgstr "Kopioi"
-#: src/lib/elementary/elm_entry.c:1736 src/lib/elementary/elm_entry.c:1758
+#: src/lib/elementary/elm_entry.c:1756 src/lib/elementary/elm_entry.c:1778
msgid "Paste"
msgstr "Liitä"
-#: src/lib/elementary/elm_entry.c:1751
+#: src/lib/elementary/elm_entry.c:1771
msgid "Select"
msgstr "Valitse"
-#: src/lib/elementary/elm_entry.c:3910
+#: src/lib/elementary/elm_entry.c:3937
msgid "Entry"
msgstr "Syöttökenttä"
@@ -509,20 +509,20 @@ msgstr "Tilanneilmaisin"
msgid "Radio"
msgstr "Vaihtoehto"
-#: src/lib/elementary/elm_segment_control.c:531
-#: src/lib/elementary/elm_toolbar.c:2293
+#: src/lib/elementary/elm_segment_control.c:528
+#: src/lib/elementary/elm_toolbar.c:2296
msgid "State: Selected"
msgstr "Tila: valittu"
-#: src/lib/elementary/elm_segment_control.c:533
+#: src/lib/elementary/elm_segment_control.c:530
msgid "State: Unselected"
msgstr "Tila: valitsematon"
-#: src/lib/elementary/elm_segment_control.c:547
+#: src/lib/elementary/elm_segment_control.c:544
msgid "Segment Control Item"
msgstr ""
-#: src/lib/elementary/efl_ui_slider.c:681
+#: src/lib/elementary/efl_ui_slider.c:704
msgid "slider"
msgstr "liukusäädin"
@@ -551,23 +551,23 @@ msgstr "Pyörövalitsimen vähennä-nappi"
msgid "spinner text"
msgstr "pyörövalitsin"
-#: src/lib/elementary/elm_toolbar.c:1750 src/lib/elementary/elm_toolbar.c:2352
+#: src/lib/elementary/elm_toolbar.c:1753 src/lib/elementary/elm_toolbar.c:2355
msgid "Selected"
msgstr "Valittu"
-#: src/lib/elementary/elm_toolbar.c:2289
+#: src/lib/elementary/elm_toolbar.c:2292
msgid "Separator"
msgstr "Erotin"
-#: src/lib/elementary/elm_toolbar.c:2295
+#: src/lib/elementary/elm_toolbar.c:2298
msgid "Has menu"
msgstr "Valikollinen"
-#: src/lib/elementary/elm_toolbar.c:2347
+#: src/lib/elementary/elm_toolbar.c:2350
msgid "Unselected"
msgstr "Valitsematon"
-#: src/lib/elementary/elm_toolbar.c:2364
+#: src/lib/elementary/elm_toolbar.c:2367
msgid "Toolbar Item"
msgstr "Työkalupalkin kohta"
diff --git a/po/fr.po b/po/fr.po
index a41c2f990b..2c9b3b7ade 100644
--- a/po/fr.po
+++ b/po/fr.po
@@ -6,12 +6,12 @@
# Jerome Pinot <ngc891@gmail.com>, 2012.
# Chidambar Zinnoury <illogict@online.fr>, 2013.
#
-#: src/lib/elementary/elm_config.c:4306
+#: src/lib/elementary/elm_config.c:4135
msgid ""
msgstr ""
"Project-Id-Version: Elementary\n"
"Report-Msgid-Bugs-To: enlightenment-devel@lists.sourceforge.net\n"
-"POT-Creation-Date: 2018-12-06 14:49+0000\n"
+"POT-Creation-Date: 2019-04-15 12:03+0100\n"
"PO-Revision-Date: 2014-05-25 20:18+0000\n"
"Last-Translator: Eliovir <Unknown>\n"
"Language-Team: French <sansgourou@gmail.com>\n"
@@ -245,37 +245,37 @@ msgstr "Images"
msgid "Videos"
msgstr "Vidéos"
-#: src/lib/elementary/elc_fileselector.c:1799
+#: src/lib/elementary/elc_fileselector.c:1705
msgid "Up"
msgstr "Monter"
-#: src/lib/elementary/elc_fileselector.c:1813
+#: src/lib/elementary/elc_fileselector.c:1719
msgid "Home"
msgstr "Home"
-#: src/lib/elementary/elc_fileselector.c:1832
+#: src/lib/elementary/elc_fileselector.c:1738
msgid "Search"
msgstr ""
-#: src/lib/elementary/elc_fileselector.c:2104
+#: src/lib/elementary/elc_fileselector.c:2012
msgid "OK"
msgstr "OK"
-#: src/lib/elementary/elc_fileselector.c:2114
-#: src/lib/elementary/elm_entry.c:1739 src/lib/elementary/elm_entry.c:1764
+#: src/lib/elementary/elc_fileselector.c:2022
+#: src/lib/elementary/elm_entry.c:1759 src/lib/elementary/elm_entry.c:1784
msgid "Cancel"
msgstr "Annuler"
-#: src/lib/elementary/elc_hoversel.c:438 src/lib/elementary/efl_ui_button.c:208
-#: src/lib/elementary/efl_ui_check.c:188 src/lib/elementary/elm_gengrid.c:1523
-#: src/lib/elementary/elm_genlist.c:1764 src/lib/elementary/elm_list.c:2185
+#: src/lib/elementary/elc_hoversel.c:439 src/lib/elementary/efl_ui_button.c:208
+#: src/lib/elementary/efl_ui_check.c:187 src/lib/elementary/elm_gengrid.c:1532
+#: src/lib/elementary/elm_genlist.c:1769 src/lib/elementary/elm_list.c:2185
#: src/lib/elementary/efl_ui_radio.c:201
-#: src/lib/elementary/elm_segment_control.c:528
-#: src/lib/elementary/elm_spinner.c:1041 src/lib/elementary/elm_toolbar.c:2291
+#: src/lib/elementary/elm_segment_control.c:525
+#: src/lib/elementary/elm_spinner.c:1041 src/lib/elementary/elm_toolbar.c:2294
msgid "State: Disabled"
msgstr "État : désactivé"
-#: src/lib/elementary/elc_hoversel.c:651
+#: src/lib/elementary/elc_hoversel.c:652
msgid "Hoversel"
msgstr ""
@@ -310,15 +310,15 @@ msgstr "Retour"
msgid "Next"
msgstr "Suivant"
-#: src/lib/elementary/elc_popup.c:320 src/lib/elementary/elc_popup.c:992
+#: src/lib/elementary/elc_popup.c:320 src/lib/elementary/elc_popup.c:984
msgid "Popup Title"
msgstr "Titre du Popup"
-#: src/lib/elementary/elc_popup.c:330 src/lib/elementary/elc_popup.c:1068
+#: src/lib/elementary/elc_popup.c:330 src/lib/elementary/elc_popup.c:1060
msgid "Popup Body Text"
msgstr "Corps du texte du Popup"
-#: src/lib/elementary/elc_popup.c:1842
+#: src/lib/elementary/elc_popup.c:1836
msgid "Alert"
msgstr ""
@@ -379,21 +379,21 @@ msgstr "Mois du calendrier"
msgid "calendar year"
msgstr "Année du calendrier"
-#: src/lib/elementary/efl_ui_check.c:76 src/lib/elementary/efl_ui_check.c:201
+#: src/lib/elementary/efl_ui_check.c:76 src/lib/elementary/efl_ui_check.c:200
#: src/lib/elementary/efl_ui_radio.c:136 src/lib/elementary/efl_ui_radio.c:202
msgid "State: On"
msgstr "État : activé"
-#: src/lib/elementary/efl_ui_check.c:96 src/lib/elementary/efl_ui_check.c:213
+#: src/lib/elementary/efl_ui_check.c:96 src/lib/elementary/efl_ui_check.c:212
#: src/lib/elementary/efl_ui_radio.c:204
msgid "State: Off"
msgstr "État : désactivé"
-#: src/lib/elementary/efl_ui_check.c:197 src/lib/elementary/efl_ui_check.c:210
+#: src/lib/elementary/efl_ui_check.c:196 src/lib/elementary/efl_ui_check.c:209
msgid "State"
msgstr "État"
-#: src/lib/elementary/efl_ui_check.c:349
+#: src/lib/elementary/efl_ui_check.c:348
msgid "Check"
msgstr "À cocher"
@@ -443,7 +443,7 @@ msgstr "élément de palette de choix de couleur"
#. but if this is a right-to-left language like arabic, Farsi,
#. Hebrew, etc. then change this string to be "default:RTL"
#.
-#: src/lib/elementary/elm_config.c:4329
+#: src/lib/elementary/elm_config.c:4158
msgid "default:LTR"
msgstr "default:LTR"
@@ -455,23 +455,23 @@ msgstr "élement de choix de date"
msgid "diskselector item"
msgstr "élément de choix de disque"
-#: src/lib/elementary/elm_entry.c:1729
+#: src/lib/elementary/elm_entry.c:1749
msgid "Cut"
msgstr "Couper"
-#: src/lib/elementary/elm_entry.c:1732
+#: src/lib/elementary/elm_entry.c:1752
msgid "Copy"
msgstr "Copier"
-#: src/lib/elementary/elm_entry.c:1736 src/lib/elementary/elm_entry.c:1758
+#: src/lib/elementary/elm_entry.c:1756 src/lib/elementary/elm_entry.c:1778
msgid "Paste"
msgstr "Coller"
-#: src/lib/elementary/elm_entry.c:1751
+#: src/lib/elementary/elm_entry.c:1771
msgid "Select"
msgstr "Sélectionner"
-#: src/lib/elementary/elm_entry.c:3910
+#: src/lib/elementary/elm_entry.c:3937
msgid "Entry"
msgstr "Entrée"
@@ -515,20 +515,20 @@ msgstr "barre de progression"
msgid "Radio"
msgstr "Radio"
-#: src/lib/elementary/elm_segment_control.c:531
-#: src/lib/elementary/elm_toolbar.c:2293
+#: src/lib/elementary/elm_segment_control.c:528
+#: src/lib/elementary/elm_toolbar.c:2296
msgid "State: Selected"
msgstr "État : sélectionné"
-#: src/lib/elementary/elm_segment_control.c:533
+#: src/lib/elementary/elm_segment_control.c:530
msgid "State: Unselected"
msgstr "État : désélectionné"
-#: src/lib/elementary/elm_segment_control.c:547
+#: src/lib/elementary/elm_segment_control.c:544
msgid "Segment Control Item"
msgstr "Élément de contrôle de segment"
-#: src/lib/elementary/efl_ui_slider.c:681
+#: src/lib/elementary/efl_ui_slider.c:704
msgid "slider"
msgstr "curseur"
@@ -557,22 +557,22 @@ msgstr "bouton fléché de décrémentation"
msgid "spinner text"
msgstr "bouton fléché"
-#: src/lib/elementary/elm_toolbar.c:1750 src/lib/elementary/elm_toolbar.c:2352
+#: src/lib/elementary/elm_toolbar.c:1753 src/lib/elementary/elm_toolbar.c:2355
msgid "Selected"
msgstr "Sélectionné"
-#: src/lib/elementary/elm_toolbar.c:2289
+#: src/lib/elementary/elm_toolbar.c:2292
msgid "Separator"
msgstr "Séparateur"
-#: src/lib/elementary/elm_toolbar.c:2295
+#: src/lib/elementary/elm_toolbar.c:2298
msgid "Has menu"
msgstr "Possède un menu"
-#: src/lib/elementary/elm_toolbar.c:2347
+#: src/lib/elementary/elm_toolbar.c:2350
msgid "Unselected"
msgstr "Désélectionné"
-#: src/lib/elementary/elm_toolbar.c:2364
+#: src/lib/elementary/elm_toolbar.c:2367
msgid "Toolbar Item"
msgstr "Élément de barre d'outils"
diff --git a/po/gl.po b/po/gl.po
index 3ef2282a91..da1df63d5a 100644
--- a/po/gl.po
+++ b/po/gl.po
@@ -2,12 +2,12 @@
# This file is put in the public domain.
# Aníbal Garrido <khany@member.trisquel.info>, 2012.
#
-#: src/lib/elementary/elm_config.c:4306
+#: src/lib/elementary/elm_config.c:4135
msgid ""
msgstr ""
"Project-Id-Version: elementary\n"
"Report-Msgid-Bugs-To: enlightenment-devel@lists.sourceforge.net\n"
-"POT-Creation-Date: 2018-12-06 14:49+0000\n"
+"POT-Creation-Date: 2019-04-15 12:03+0100\n"
"PO-Revision-Date: 2014-05-24 08:39+0000\n"
"Last-Translator: Kaptan <khanyux@gmail.com>\n"
"Language-Team: Galician <proxecto@trasno.net>\n"
@@ -238,37 +238,37 @@ msgstr "Imaxes"
msgid "Videos"
msgstr "Vídeos"
-#: src/lib/elementary/elc_fileselector.c:1799
+#: src/lib/elementary/elc_fileselector.c:1705
msgid "Up"
msgstr "Arriba"
-#: src/lib/elementary/elc_fileselector.c:1813
+#: src/lib/elementary/elc_fileselector.c:1719
msgid "Home"
msgstr "Cartafol persoal"
-#: src/lib/elementary/elc_fileselector.c:1832
+#: src/lib/elementary/elc_fileselector.c:1738
msgid "Search"
msgstr ""
-#: src/lib/elementary/elc_fileselector.c:2104
+#: src/lib/elementary/elc_fileselector.c:2012
msgid "OK"
msgstr "Aceptar"
-#: src/lib/elementary/elc_fileselector.c:2114
-#: src/lib/elementary/elm_entry.c:1739 src/lib/elementary/elm_entry.c:1764
+#: src/lib/elementary/elc_fileselector.c:2022
+#: src/lib/elementary/elm_entry.c:1759 src/lib/elementary/elm_entry.c:1784
msgid "Cancel"
msgstr "Cancelar"
-#: src/lib/elementary/elc_hoversel.c:438 src/lib/elementary/efl_ui_button.c:208
-#: src/lib/elementary/efl_ui_check.c:188 src/lib/elementary/elm_gengrid.c:1523
-#: src/lib/elementary/elm_genlist.c:1764 src/lib/elementary/elm_list.c:2185
+#: src/lib/elementary/elc_hoversel.c:439 src/lib/elementary/efl_ui_button.c:208
+#: src/lib/elementary/efl_ui_check.c:187 src/lib/elementary/elm_gengrid.c:1532
+#: src/lib/elementary/elm_genlist.c:1769 src/lib/elementary/elm_list.c:2185
#: src/lib/elementary/efl_ui_radio.c:201
-#: src/lib/elementary/elm_segment_control.c:528
-#: src/lib/elementary/elm_spinner.c:1041 src/lib/elementary/elm_toolbar.c:2291
+#: src/lib/elementary/elm_segment_control.c:525
+#: src/lib/elementary/elm_spinner.c:1041 src/lib/elementary/elm_toolbar.c:2294
msgid "State: Disabled"
msgstr "Estado: Desactivado"
-#: src/lib/elementary/elc_hoversel.c:651
+#: src/lib/elementary/elc_hoversel.c:652
msgid "Hoversel"
msgstr ""
@@ -303,15 +303,15 @@ msgstr "Atrás"
msgid "Next"
msgstr "Seguinte"
-#: src/lib/elementary/elc_popup.c:320 src/lib/elementary/elc_popup.c:992
+#: src/lib/elementary/elc_popup.c:320 src/lib/elementary/elc_popup.c:984
msgid "Popup Title"
msgstr "Título da emerxente"
-#: src/lib/elementary/elc_popup.c:330 src/lib/elementary/elc_popup.c:1068
+#: src/lib/elementary/elc_popup.c:330 src/lib/elementary/elc_popup.c:1060
msgid "Popup Body Text"
msgstr "Corpo de texto emerxente"
-#: src/lib/elementary/elc_popup.c:1842
+#: src/lib/elementary/elc_popup.c:1836
msgid "Alert"
msgstr ""
@@ -372,21 +372,21 @@ msgstr "mes do calendario"
msgid "calendar year"
msgstr "ano do calendario"
-#: src/lib/elementary/efl_ui_check.c:76 src/lib/elementary/efl_ui_check.c:201
+#: src/lib/elementary/efl_ui_check.c:76 src/lib/elementary/efl_ui_check.c:200
#: src/lib/elementary/efl_ui_radio.c:136 src/lib/elementary/efl_ui_radio.c:202
msgid "State: On"
msgstr "Estado: Conectado"
-#: src/lib/elementary/efl_ui_check.c:96 src/lib/elementary/efl_ui_check.c:213
+#: src/lib/elementary/efl_ui_check.c:96 src/lib/elementary/efl_ui_check.c:212
#: src/lib/elementary/efl_ui_radio.c:204
msgid "State: Off"
msgstr "Estado: Desconectado"
-#: src/lib/elementary/efl_ui_check.c:197 src/lib/elementary/efl_ui_check.c:210
+#: src/lib/elementary/efl_ui_check.c:196 src/lib/elementary/efl_ui_check.c:209
msgid "State"
msgstr "Estado"
-#: src/lib/elementary/efl_ui_check.c:349
+#: src/lib/elementary/efl_ui_check.c:348
msgid "Check"
msgstr "Comprobar"
@@ -436,7 +436,7 @@ msgstr "Paleta de selección de cor"
#. but if this is a right-to-left language like arabic, Farsi,
#. Hebrew, etc. then change this string to be "default:RTL"
#.
-#: src/lib/elementary/elm_config.c:4329
+#: src/lib/elementary/elm_config.c:4158
msgid "default:LTR"
msgstr "default:LTR"
@@ -448,23 +448,23 @@ msgstr "selector de día"
msgid "diskselector item"
msgstr "Selector de disco"
-#: src/lib/elementary/elm_entry.c:1729
+#: src/lib/elementary/elm_entry.c:1749
msgid "Cut"
msgstr "Cortar"
-#: src/lib/elementary/elm_entry.c:1732
+#: src/lib/elementary/elm_entry.c:1752
msgid "Copy"
msgstr "Copiar"
-#: src/lib/elementary/elm_entry.c:1736 src/lib/elementary/elm_entry.c:1758
+#: src/lib/elementary/elm_entry.c:1756 src/lib/elementary/elm_entry.c:1778
msgid "Paste"
msgstr "Pegar"
-#: src/lib/elementary/elm_entry.c:1751
+#: src/lib/elementary/elm_entry.c:1771
msgid "Select"
msgstr "Seleccionar"
-#: src/lib/elementary/elm_entry.c:3910
+#: src/lib/elementary/elm_entry.c:3937
msgid "Entry"
msgstr "Entrada"
@@ -508,20 +508,20 @@ msgstr "barra de progreso"
msgid "Radio"
msgstr "Radio"
-#: src/lib/elementary/elm_segment_control.c:531
-#: src/lib/elementary/elm_toolbar.c:2293
+#: src/lib/elementary/elm_segment_control.c:528
+#: src/lib/elementary/elm_toolbar.c:2296
msgid "State: Selected"
msgstr "Estado: Seleccionado"
-#: src/lib/elementary/elm_segment_control.c:533
+#: src/lib/elementary/elm_segment_control.c:530
msgid "State: Unselected"
msgstr "Estado: Sen seleccionar"
-#: src/lib/elementary/elm_segment_control.c:547
+#: src/lib/elementary/elm_segment_control.c:544
msgid "Segment Control Item"
msgstr "Segmento de control"
-#: src/lib/elementary/efl_ui_slider.c:681
+#: src/lib/elementary/efl_ui_slider.c:704
msgid "slider"
msgstr "Barra de desprazamento"
@@ -550,23 +550,23 @@ msgstr "botón de disminución"
msgid "spinner text"
msgstr "botón de spinner"
-#: src/lib/elementary/elm_toolbar.c:1750 src/lib/elementary/elm_toolbar.c:2352
+#: src/lib/elementary/elm_toolbar.c:1753 src/lib/elementary/elm_toolbar.c:2355
msgid "Selected"
msgstr "Seleccionado"
-#: src/lib/elementary/elm_toolbar.c:2289
+#: src/lib/elementary/elm_toolbar.c:2292
msgid "Separator"
msgstr "Separador"
-#: src/lib/elementary/elm_toolbar.c:2295
+#: src/lib/elementary/elm_toolbar.c:2298
msgid "Has menu"
msgstr "Ten menú"
-#: src/lib/elementary/elm_toolbar.c:2347
+#: src/lib/elementary/elm_toolbar.c:2350
msgid "Unselected"
msgstr "Non seleccionado"
-#: src/lib/elementary/elm_toolbar.c:2364
+#: src/lib/elementary/elm_toolbar.c:2367
msgid "Toolbar Item"
msgstr "Elemento da barra de ferramentas"
diff --git a/po/hu.po b/po/hu.po
index bde809fc70..adcd4a1649 100644
--- a/po/hu.po
+++ b/po/hu.po
@@ -3,12 +3,12 @@
# This file is distributed under the same license as the PACKAGE package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
-#: src/lib/elementary/elm_config.c:4306
+#: src/lib/elementary/elm_config.c:4135
msgid ""
msgstr ""
"Project-Id-Version: elementary 1.8.2\n"
"Report-Msgid-Bugs-To: enlightenment-devel@lists.sourceforge.net\n"
-"POT-Creation-Date: 2018-12-06 14:49+0000\n"
+"POT-Creation-Date: 2019-04-15 12:03+0100\n"
"PO-Revision-Date: 2014-01-29 15:27+0100\n"
"Last-Translator: rezso <rezso@rezso.net>\n"
"Language-Team: General\n"
@@ -240,37 +240,37 @@ msgstr "Képek"
msgid "Videos"
msgstr "Videók"
-#: src/lib/elementary/elc_fileselector.c:1799
+#: src/lib/elementary/elc_fileselector.c:1705
msgid "Up"
msgstr "Fel"
-#: src/lib/elementary/elc_fileselector.c:1813
+#: src/lib/elementary/elc_fileselector.c:1719
msgid "Home"
msgstr "Kezdőlap"
-#: src/lib/elementary/elc_fileselector.c:1832
+#: src/lib/elementary/elc_fileselector.c:1738
msgid "Search"
msgstr ""
-#: src/lib/elementary/elc_fileselector.c:2104
+#: src/lib/elementary/elc_fileselector.c:2012
msgid "OK"
msgstr "OK"
-#: src/lib/elementary/elc_fileselector.c:2114
-#: src/lib/elementary/elm_entry.c:1739 src/lib/elementary/elm_entry.c:1764
+#: src/lib/elementary/elc_fileselector.c:2022
+#: src/lib/elementary/elm_entry.c:1759 src/lib/elementary/elm_entry.c:1784
msgid "Cancel"
msgstr "Mégsem"
-#: src/lib/elementary/elc_hoversel.c:438 src/lib/elementary/efl_ui_button.c:208
-#: src/lib/elementary/efl_ui_check.c:188 src/lib/elementary/elm_gengrid.c:1523
-#: src/lib/elementary/elm_genlist.c:1764 src/lib/elementary/elm_list.c:2185
+#: src/lib/elementary/elc_hoversel.c:439 src/lib/elementary/efl_ui_button.c:208
+#: src/lib/elementary/efl_ui_check.c:187 src/lib/elementary/elm_gengrid.c:1532
+#: src/lib/elementary/elm_genlist.c:1769 src/lib/elementary/elm_list.c:2185
#: src/lib/elementary/efl_ui_radio.c:201
-#: src/lib/elementary/elm_segment_control.c:528
-#: src/lib/elementary/elm_spinner.c:1041 src/lib/elementary/elm_toolbar.c:2291
+#: src/lib/elementary/elm_segment_control.c:525
+#: src/lib/elementary/elm_spinner.c:1041 src/lib/elementary/elm_toolbar.c:2294
msgid "State: Disabled"
msgstr "Állapot: letiltva"
-#: src/lib/elementary/elc_hoversel.c:651
+#: src/lib/elementary/elc_hoversel.c:652
msgid "Hoversel"
msgstr ""
@@ -305,15 +305,15 @@ msgstr "Vissza"
msgid "Next"
msgstr "Következő"
-#: src/lib/elementary/elc_popup.c:320 src/lib/elementary/elc_popup.c:992
+#: src/lib/elementary/elc_popup.c:320 src/lib/elementary/elc_popup.c:984
msgid "Popup Title"
msgstr "Popup címsora"
-#: src/lib/elementary/elc_popup.c:330 src/lib/elementary/elc_popup.c:1068
+#: src/lib/elementary/elc_popup.c:330 src/lib/elementary/elc_popup.c:1060
msgid "Popup Body Text"
msgstr "Popup szövege"
-#: src/lib/elementary/elc_popup.c:1842
+#: src/lib/elementary/elc_popup.c:1836
msgid "Alert"
msgstr ""
@@ -374,21 +374,21 @@ msgstr "naptár hónapja"
msgid "calendar year"
msgstr "naptár éve"
-#: src/lib/elementary/efl_ui_check.c:76 src/lib/elementary/efl_ui_check.c:201
+#: src/lib/elementary/efl_ui_check.c:76 src/lib/elementary/efl_ui_check.c:200
#: src/lib/elementary/efl_ui_radio.c:136 src/lib/elementary/efl_ui_radio.c:202
msgid "State: On"
msgstr "Állapot: be"
-#: src/lib/elementary/efl_ui_check.c:96 src/lib/elementary/efl_ui_check.c:213
+#: src/lib/elementary/efl_ui_check.c:96 src/lib/elementary/efl_ui_check.c:212
#: src/lib/elementary/efl_ui_radio.c:204
msgid "State: Off"
msgstr "Állapot: ki"
-#: src/lib/elementary/efl_ui_check.c:197 src/lib/elementary/efl_ui_check.c:210
+#: src/lib/elementary/efl_ui_check.c:196 src/lib/elementary/efl_ui_check.c:209
msgid "State"
msgstr "Állapot"
-#: src/lib/elementary/efl_ui_check.c:349
+#: src/lib/elementary/efl_ui_check.c:348
msgid "Check"
msgstr "Ellenőrzés"
@@ -438,7 +438,7 @@ msgstr ""
#. but if this is a right-to-left language like arabic, Farsi,
#. Hebrew, etc. then change this string to be "default:RTL"
#.
-#: src/lib/elementary/elm_config.c:4329
+#: src/lib/elementary/elm_config.c:4158
msgid "default:LTR"
msgstr "default:LTR"
@@ -450,23 +450,23 @@ msgstr ""
msgid "diskselector item"
msgstr ""
-#: src/lib/elementary/elm_entry.c:1729
+#: src/lib/elementary/elm_entry.c:1749
msgid "Cut"
msgstr "Kivágás"
-#: src/lib/elementary/elm_entry.c:1732
+#: src/lib/elementary/elm_entry.c:1752
msgid "Copy"
msgstr "Másolás"
-#: src/lib/elementary/elm_entry.c:1736 src/lib/elementary/elm_entry.c:1758
+#: src/lib/elementary/elm_entry.c:1756 src/lib/elementary/elm_entry.c:1778
msgid "Paste"
msgstr "Beillesztés"
-#: src/lib/elementary/elm_entry.c:1751
+#: src/lib/elementary/elm_entry.c:1771
msgid "Select"
msgstr "Kiválaszt"
-#: src/lib/elementary/elm_entry.c:3910
+#: src/lib/elementary/elm_entry.c:3937
msgid "Entry"
msgstr "Bejegyzés"
@@ -510,20 +510,20 @@ msgstr "folyamatjelző"
msgid "Radio"
msgstr "Rádió"
-#: src/lib/elementary/elm_segment_control.c:531
-#: src/lib/elementary/elm_toolbar.c:2293
+#: src/lib/elementary/elm_segment_control.c:528
+#: src/lib/elementary/elm_toolbar.c:2296
msgid "State: Selected"
msgstr "Állapot: kijelölve"
-#: src/lib/elementary/elm_segment_control.c:533
+#: src/lib/elementary/elm_segment_control.c:530
msgid "State: Unselected"
msgstr "Állapot: nincs kijelölve"
-#: src/lib/elementary/elm_segment_control.c:547
+#: src/lib/elementary/elm_segment_control.c:544
msgid "Segment Control Item"
msgstr ""
-#: src/lib/elementary/efl_ui_slider.c:681
+#: src/lib/elementary/efl_ui_slider.c:704
msgid "slider"
msgstr "csúszka"
@@ -551,22 +551,22 @@ msgstr ""
msgid "spinner text"
msgstr ""
-#: src/lib/elementary/elm_toolbar.c:1750 src/lib/elementary/elm_toolbar.c:2352
+#: src/lib/elementary/elm_toolbar.c:1753 src/lib/elementary/elm_toolbar.c:2355
msgid "Selected"
msgstr "Kiválasztva"
-#: src/lib/elementary/elm_toolbar.c:2289
+#: src/lib/elementary/elm_toolbar.c:2292
msgid "Separator"
msgstr "Elválasztó"
-#: src/lib/elementary/elm_toolbar.c:2295
+#: src/lib/elementary/elm_toolbar.c:2298
msgid "Has menu"
msgstr ""
-#: src/lib/elementary/elm_toolbar.c:2347
+#: src/lib/elementary/elm_toolbar.c:2350
msgid "Unselected"
msgstr "Nincs kijelölve"
-#: src/lib/elementary/elm_toolbar.c:2364
+#: src/lib/elementary/elm_toolbar.c:2367
msgid "Toolbar Item"
msgstr "Eszköztár elem"
diff --git a/po/it.po b/po/it.po
index 207003c220..f861007734 100644
--- a/po/it.po
+++ b/po/it.po
@@ -3,12 +3,12 @@
# This file is put in the public domain.
# Massimo Maiurana <maiurana@gmail.com>, 2013
#
-#: src/lib/elementary/elm_config.c:4306
+#: src/lib/elementary/elm_config.c:4135
msgid ""
msgstr ""
"Project-Id-Version: Elementary\n"
"Report-Msgid-Bugs-To: enlightenment-devel@lists.sourceforge.net\n"
-"POT-Creation-Date: 2018-12-06 14:49+0000\n"
+"POT-Creation-Date: 2019-04-15 12:03+0100\n"
"PO-Revision-Date: 2018-04-01 19:01+0200\n"
"Last-Translator: Massimo Maiurana <maiurana@gmail.com>\n"
"Language-Team: General\n"
@@ -238,37 +238,37 @@ msgstr "Immagini"
msgid "Videos"
msgstr "Video"
-#: src/lib/elementary/elc_fileselector.c:1799
+#: src/lib/elementary/elc_fileselector.c:1705
msgid "Up"
msgstr "Su"
-#: src/lib/elementary/elc_fileselector.c:1813
+#: src/lib/elementary/elc_fileselector.c:1719
msgid "Home"
msgstr "Home"
-#: src/lib/elementary/elc_fileselector.c:1832
+#: src/lib/elementary/elc_fileselector.c:1738
msgid "Search"
msgstr "Cerca"
-#: src/lib/elementary/elc_fileselector.c:2104
+#: src/lib/elementary/elc_fileselector.c:2012
msgid "OK"
msgstr "OK"
-#: src/lib/elementary/elc_fileselector.c:2114
-#: src/lib/elementary/elm_entry.c:1739 src/lib/elementary/elm_entry.c:1764
+#: src/lib/elementary/elc_fileselector.c:2022
+#: src/lib/elementary/elm_entry.c:1759 src/lib/elementary/elm_entry.c:1784
msgid "Cancel"
msgstr "Annulla"
-#: src/lib/elementary/elc_hoversel.c:438 src/lib/elementary/efl_ui_button.c:208
-#: src/lib/elementary/efl_ui_check.c:188 src/lib/elementary/elm_gengrid.c:1523
-#: src/lib/elementary/elm_genlist.c:1764 src/lib/elementary/elm_list.c:2185
+#: src/lib/elementary/elc_hoversel.c:439 src/lib/elementary/efl_ui_button.c:208
+#: src/lib/elementary/efl_ui_check.c:187 src/lib/elementary/elm_gengrid.c:1532
+#: src/lib/elementary/elm_genlist.c:1769 src/lib/elementary/elm_list.c:2185
#: src/lib/elementary/efl_ui_radio.c:201
-#: src/lib/elementary/elm_segment_control.c:528
-#: src/lib/elementary/elm_spinner.c:1041 src/lib/elementary/elm_toolbar.c:2291
+#: src/lib/elementary/elm_segment_control.c:525
+#: src/lib/elementary/elm_spinner.c:1041 src/lib/elementary/elm_toolbar.c:2294
msgid "State: Disabled"
msgstr "Stato: disabilitato"
-#: src/lib/elementary/elc_hoversel.c:651
+#: src/lib/elementary/elc_hoversel.c:652
msgid "Hoversel"
msgstr "Lista per bottone (hoversel)"
@@ -302,15 +302,15 @@ msgstr "Indietro"
msgid "Next"
msgstr "Avanti"
-#: src/lib/elementary/elc_popup.c:320 src/lib/elementary/elc_popup.c:992
+#: src/lib/elementary/elc_popup.c:320 src/lib/elementary/elc_popup.c:984
msgid "Popup Title"
msgstr "Titolo popup"
-#: src/lib/elementary/elc_popup.c:330 src/lib/elementary/elc_popup.c:1068
+#: src/lib/elementary/elc_popup.c:330 src/lib/elementary/elc_popup.c:1060
msgid "Popup Body Text"
msgstr "Testo corpo popup"
-#: src/lib/elementary/elc_popup.c:1842
+#: src/lib/elementary/elc_popup.c:1836
msgid "Alert"
msgstr "Allarme"
@@ -371,21 +371,21 @@ msgstr "mese del calendario"
msgid "calendar year"
msgstr "anno del calendario"
-#: src/lib/elementary/efl_ui_check.c:76 src/lib/elementary/efl_ui_check.c:201
+#: src/lib/elementary/efl_ui_check.c:76 src/lib/elementary/efl_ui_check.c:200
#: src/lib/elementary/efl_ui_radio.c:136 src/lib/elementary/efl_ui_radio.c:202
msgid "State: On"
msgstr "Stato: attivo"
-#: src/lib/elementary/efl_ui_check.c:96 src/lib/elementary/efl_ui_check.c:213
+#: src/lib/elementary/efl_ui_check.c:96 src/lib/elementary/efl_ui_check.c:212
#: src/lib/elementary/efl_ui_radio.c:204
msgid "State: Off"
msgstr "Stato: inattivo"
-#: src/lib/elementary/efl_ui_check.c:197 src/lib/elementary/efl_ui_check.c:210
+#: src/lib/elementary/efl_ui_check.c:196 src/lib/elementary/efl_ui_check.c:209
msgid "State"
msgstr "Stato"
-#: src/lib/elementary/efl_ui_check.c:349
+#: src/lib/elementary/efl_ui_check.c:348
msgid "Check"
msgstr "Controllo"
@@ -435,7 +435,7 @@ msgstr "oggetto palette selezione colore"
#. but if this is a right-to-left language like arabic, Farsi,
#. Hebrew, etc. then change this string to be "default:RTL"
#.
-#: src/lib/elementary/elm_config.c:4329
+#: src/lib/elementary/elm_config.c:4158
msgid "default:LTR"
msgstr "default:LTR"
@@ -447,23 +447,23 @@ msgstr "oggetto selettore giorno"
msgid "diskselector item"
msgstr "selettore disco"
-#: src/lib/elementary/elm_entry.c:1729
+#: src/lib/elementary/elm_entry.c:1749
msgid "Cut"
msgstr "Taglia"
-#: src/lib/elementary/elm_entry.c:1732
+#: src/lib/elementary/elm_entry.c:1752
msgid "Copy"
msgstr "Copia"
-#: src/lib/elementary/elm_entry.c:1736 src/lib/elementary/elm_entry.c:1758
+#: src/lib/elementary/elm_entry.c:1756 src/lib/elementary/elm_entry.c:1778
msgid "Paste"
msgstr "Incolla"
-#: src/lib/elementary/elm_entry.c:1751
+#: src/lib/elementary/elm_entry.c:1771
msgid "Select"
msgstr "Seleziona"
-#: src/lib/elementary/elm_entry.c:3910
+#: src/lib/elementary/elm_entry.c:3937
msgid "Entry"
msgstr "Voce"
@@ -507,20 +507,20 @@ msgstr "barra avanzamento"
msgid "Radio"
msgstr "Opzione"
-#: src/lib/elementary/elm_segment_control.c:531
-#: src/lib/elementary/elm_toolbar.c:2293
+#: src/lib/elementary/elm_segment_control.c:528
+#: src/lib/elementary/elm_toolbar.c:2296
msgid "State: Selected"
msgstr "Stato: selezionato"
-#: src/lib/elementary/elm_segment_control.c:533
+#: src/lib/elementary/elm_segment_control.c:530
msgid "State: Unselected"
msgstr "Stato: non selezionato"
-#: src/lib/elementary/elm_segment_control.c:547
+#: src/lib/elementary/elm_segment_control.c:544
msgid "Segment Control Item"
msgstr "Oggetto controllo segmento"
-#: src/lib/elementary/efl_ui_slider.c:681
+#: src/lib/elementary/efl_ui_slider.c:704
msgid "slider"
msgstr "cursore"
@@ -548,23 +548,23 @@ msgstr "bottone diminuzione spinner"
msgid "spinner text"
msgstr "testo spinner"
-#: src/lib/elementary/elm_toolbar.c:1750 src/lib/elementary/elm_toolbar.c:2352
+#: src/lib/elementary/elm_toolbar.c:1753 src/lib/elementary/elm_toolbar.c:2355
msgid "Selected"
msgstr "Selezionato"
-#: src/lib/elementary/elm_toolbar.c:2289
+#: src/lib/elementary/elm_toolbar.c:2292
msgid "Separator"
msgstr "Separatore"
-#: src/lib/elementary/elm_toolbar.c:2295
+#: src/lib/elementary/elm_toolbar.c:2298
msgid "Has menu"
msgstr "Include menù"
-#: src/lib/elementary/elm_toolbar.c:2347
+#: src/lib/elementary/elm_toolbar.c:2350
msgid "Unselected"
msgstr "Non selezionato"
-#: src/lib/elementary/elm_toolbar.c:2364
+#: src/lib/elementary/elm_toolbar.c:2367
msgid "Toolbar Item"
msgstr "Oggetto della barra strumenti"
diff --git a/po/ja.po b/po/ja.po
index 2bc55ffc0d..87e3e040b3 100644
--- a/po/ja.po
+++ b/po/ja.po
@@ -2,12 +2,12 @@
# Copyright (C) 2012 Enlightenment development team
# This file is put in the public domain.
#
-#: src/lib/elementary/elm_config.c:4306
+#: src/lib/elementary/elm_config.c:4135
msgid ""
msgstr ""
"Project-Id-Version: Efl\n"
"Report-Msgid-Bugs-To: enlightenment-devel@lists.sourceforge.net\n"
-"POT-Creation-Date: 2018-12-06 14:49+0000\n"
+"POT-Creation-Date: 2019-04-15 12:03+0100\n"
"PO-Revision-Date: 2012-06-24 17:10+0900\n"
"Last-Translator: Daichi Fukui<when.a.cat.sits.beside.you@gmail.com>\n"
"Language-Team: Enlightenment Team\n"
@@ -238,37 +238,37 @@ msgstr "Pictures"
msgid "Videos"
msgstr "Videos"
-#: src/lib/elementary/elc_fileselector.c:1799
+#: src/lib/elementary/elc_fileselector.c:1705
msgid "Up"
msgstr ""
-#: src/lib/elementary/elc_fileselector.c:1813
+#: src/lib/elementary/elc_fileselector.c:1719
msgid "Home"
msgstr ""
-#: src/lib/elementary/elc_fileselector.c:1832
+#: src/lib/elementary/elc_fileselector.c:1738
msgid "Search"
msgstr ""
-#: src/lib/elementary/elc_fileselector.c:2104
+#: src/lib/elementary/elc_fileselector.c:2012
msgid "OK"
msgstr ""
-#: src/lib/elementary/elc_fileselector.c:2114
-#: src/lib/elementary/elm_entry.c:1739 src/lib/elementary/elm_entry.c:1764
+#: src/lib/elementary/elc_fileselector.c:2022
+#: src/lib/elementary/elm_entry.c:1759 src/lib/elementary/elm_entry.c:1784
msgid "Cancel"
msgstr ""
-#: src/lib/elementary/elc_hoversel.c:438 src/lib/elementary/efl_ui_button.c:208
-#: src/lib/elementary/efl_ui_check.c:188 src/lib/elementary/elm_gengrid.c:1523
-#: src/lib/elementary/elm_genlist.c:1764 src/lib/elementary/elm_list.c:2185
+#: src/lib/elementary/elc_hoversel.c:439 src/lib/elementary/efl_ui_button.c:208
+#: src/lib/elementary/efl_ui_check.c:187 src/lib/elementary/elm_gengrid.c:1532
+#: src/lib/elementary/elm_genlist.c:1769 src/lib/elementary/elm_list.c:2185
#: src/lib/elementary/efl_ui_radio.c:201
-#: src/lib/elementary/elm_segment_control.c:528
-#: src/lib/elementary/elm_spinner.c:1041 src/lib/elementary/elm_toolbar.c:2291
+#: src/lib/elementary/elm_segment_control.c:525
+#: src/lib/elementary/elm_spinner.c:1041 src/lib/elementary/elm_toolbar.c:2294
msgid "State: Disabled"
msgstr ""
-#: src/lib/elementary/elc_hoversel.c:651
+#: src/lib/elementary/elc_hoversel.c:652
msgid "Hoversel"
msgstr ""
@@ -302,15 +302,15 @@ msgstr ""
msgid "Next"
msgstr ""
-#: src/lib/elementary/elc_popup.c:320 src/lib/elementary/elc_popup.c:992
+#: src/lib/elementary/elc_popup.c:320 src/lib/elementary/elc_popup.c:984
msgid "Popup Title"
msgstr ""
-#: src/lib/elementary/elc_popup.c:330 src/lib/elementary/elc_popup.c:1068
+#: src/lib/elementary/elc_popup.c:330 src/lib/elementary/elc_popup.c:1060
msgid "Popup Body Text"
msgstr ""
-#: src/lib/elementary/elc_popup.c:1842
+#: src/lib/elementary/elc_popup.c:1836
msgid "Alert"
msgstr ""
@@ -371,21 +371,21 @@ msgstr ""
msgid "calendar year"
msgstr ""
-#: src/lib/elementary/efl_ui_check.c:76 src/lib/elementary/efl_ui_check.c:201
+#: src/lib/elementary/efl_ui_check.c:76 src/lib/elementary/efl_ui_check.c:200
#: src/lib/elementary/efl_ui_radio.c:136 src/lib/elementary/efl_ui_radio.c:202
msgid "State: On"
msgstr ""
-#: src/lib/elementary/efl_ui_check.c:96 src/lib/elementary/efl_ui_check.c:213
+#: src/lib/elementary/efl_ui_check.c:96 src/lib/elementary/efl_ui_check.c:212
#: src/lib/elementary/efl_ui_radio.c:204
msgid "State: Off"
msgstr ""
-#: src/lib/elementary/efl_ui_check.c:197 src/lib/elementary/efl_ui_check.c:210
+#: src/lib/elementary/efl_ui_check.c:196 src/lib/elementary/efl_ui_check.c:209
msgid "State"
msgstr ""
-#: src/lib/elementary/efl_ui_check.c:349
+#: src/lib/elementary/efl_ui_check.c:348
msgid "Check"
msgstr ""
@@ -435,7 +435,7 @@ msgstr ""
#. but if this is a right-to-left language like arabic, Farsi,
#. Hebrew, etc. then change this string to be "default:RTL"
#.
-#: src/lib/elementary/elm_config.c:4329
+#: src/lib/elementary/elm_config.c:4158
#, fuzzy
msgid "default:LTR"
msgstr "default:LTR"
@@ -448,23 +448,23 @@ msgstr ""
msgid "diskselector item"
msgstr ""
-#: src/lib/elementary/elm_entry.c:1729
+#: src/lib/elementary/elm_entry.c:1749
msgid "Cut"
msgstr ""
-#: src/lib/elementary/elm_entry.c:1732
+#: src/lib/elementary/elm_entry.c:1752
msgid "Copy"
msgstr ""
-#: src/lib/elementary/elm_entry.c:1736 src/lib/elementary/elm_entry.c:1758
+#: src/lib/elementary/elm_entry.c:1756 src/lib/elementary/elm_entry.c:1778
msgid "Paste"
msgstr ""
-#: src/lib/elementary/elm_entry.c:1751
+#: src/lib/elementary/elm_entry.c:1771
msgid "Select"
msgstr ""
-#: src/lib/elementary/elm_entry.c:3910
+#: src/lib/elementary/elm_entry.c:3937
msgid "Entry"
msgstr ""
@@ -508,20 +508,20 @@ msgstr ""
msgid "Radio"
msgstr ""
-#: src/lib/elementary/elm_segment_control.c:531
-#: src/lib/elementary/elm_toolbar.c:2293
+#: src/lib/elementary/elm_segment_control.c:528
+#: src/lib/elementary/elm_toolbar.c:2296
msgid "State: Selected"
msgstr ""
-#: src/lib/elementary/elm_segment_control.c:533
+#: src/lib/elementary/elm_segment_control.c:530
msgid "State: Unselected"
msgstr ""
-#: src/lib/elementary/elm_segment_control.c:547
+#: src/lib/elementary/elm_segment_control.c:544
msgid "Segment Control Item"
msgstr ""
-#: src/lib/elementary/efl_ui_slider.c:681
+#: src/lib/elementary/efl_ui_slider.c:704
msgid "slider"
msgstr ""
@@ -549,22 +549,22 @@ msgstr ""
msgid "spinner text"
msgstr ""
-#: src/lib/elementary/elm_toolbar.c:1750 src/lib/elementary/elm_toolbar.c:2352
+#: src/lib/elementary/elm_toolbar.c:1753 src/lib/elementary/elm_toolbar.c:2355
msgid "Selected"
msgstr ""
-#: src/lib/elementary/elm_toolbar.c:2289
+#: src/lib/elementary/elm_toolbar.c:2292
msgid "Separator"
msgstr ""
-#: src/lib/elementary/elm_toolbar.c:2295
+#: src/lib/elementary/elm_toolbar.c:2298
msgid "Has menu"
msgstr ""
-#: src/lib/elementary/elm_toolbar.c:2347
+#: src/lib/elementary/elm_toolbar.c:2350
msgid "Unselected"
msgstr ""
-#: src/lib/elementary/elm_toolbar.c:2364
+#: src/lib/elementary/elm_toolbar.c:2367
msgid "Toolbar Item"
msgstr ""
diff --git a/po/ko.po b/po/ko.po
index 0146bac6a7..027a3c5665 100644
--- a/po/ko.po
+++ b/po/ko.po
@@ -5,12 +5,12 @@
# Daniel Juyung Seo <seojuyung2@gmail.com>, 2011-2013
# Seong-ho Cho <darkcircle.0426@gmail.com>, 2012-2013
#
-#: src/lib/elementary/elm_config.c:4306
+#: src/lib/elementary/elm_config.c:4135
msgid ""
msgstr ""
"Project-Id-Version: Efl\n"
"Report-Msgid-Bugs-To: enlightenment-devel@lists.sourceforge.net\n"
-"POT-Creation-Date: 2018-12-06 14:49+0000\n"
+"POT-Creation-Date: 2019-04-15 12:03+0100\n"
"PO-Revision-Date: 2014-11-10 01:01+0900\n"
"Last-Translator: Daniel Juyung Seo <seojuyung2@gmail.com>\n"
"Language-Team: Enlightenment Team\n"
@@ -242,37 +242,37 @@ msgstr "사진"
msgid "Videos"
msgstr "영상"
-#: src/lib/elementary/elc_fileselector.c:1799
+#: src/lib/elementary/elc_fileselector.c:1705
msgid "Up"
msgstr ""
-#: src/lib/elementary/elc_fileselector.c:1813
+#: src/lib/elementary/elc_fileselector.c:1719
msgid "Home"
msgstr ""
-#: src/lib/elementary/elc_fileselector.c:1832
+#: src/lib/elementary/elc_fileselector.c:1738
msgid "Search"
msgstr ""
-#: src/lib/elementary/elc_fileselector.c:2104
+#: src/lib/elementary/elc_fileselector.c:2012
msgid "OK"
msgstr ""
-#: src/lib/elementary/elc_fileselector.c:2114
-#: src/lib/elementary/elm_entry.c:1739 src/lib/elementary/elm_entry.c:1764
+#: src/lib/elementary/elc_fileselector.c:2022
+#: src/lib/elementary/elm_entry.c:1759 src/lib/elementary/elm_entry.c:1784
msgid "Cancel"
msgstr ""
-#: src/lib/elementary/elc_hoversel.c:438 src/lib/elementary/efl_ui_button.c:208
-#: src/lib/elementary/efl_ui_check.c:188 src/lib/elementary/elm_gengrid.c:1523
-#: src/lib/elementary/elm_genlist.c:1764 src/lib/elementary/elm_list.c:2185
+#: src/lib/elementary/elc_hoversel.c:439 src/lib/elementary/efl_ui_button.c:208
+#: src/lib/elementary/efl_ui_check.c:187 src/lib/elementary/elm_gengrid.c:1532
+#: src/lib/elementary/elm_genlist.c:1769 src/lib/elementary/elm_list.c:2185
#: src/lib/elementary/efl_ui_radio.c:201
-#: src/lib/elementary/elm_segment_control.c:528
-#: src/lib/elementary/elm_spinner.c:1041 src/lib/elementary/elm_toolbar.c:2291
+#: src/lib/elementary/elm_segment_control.c:525
+#: src/lib/elementary/elm_spinner.c:1041 src/lib/elementary/elm_toolbar.c:2294
msgid "State: Disabled"
msgstr ""
-#: src/lib/elementary/elc_hoversel.c:651
+#: src/lib/elementary/elc_hoversel.c:652
msgid "Hoversel"
msgstr ""
@@ -306,15 +306,15 @@ msgstr ""
msgid "Next"
msgstr ""
-#: src/lib/elementary/elc_popup.c:320 src/lib/elementary/elc_popup.c:992
+#: src/lib/elementary/elc_popup.c:320 src/lib/elementary/elc_popup.c:984
msgid "Popup Title"
msgstr ""
-#: src/lib/elementary/elc_popup.c:330 src/lib/elementary/elc_popup.c:1068
+#: src/lib/elementary/elc_popup.c:330 src/lib/elementary/elc_popup.c:1060
msgid "Popup Body Text"
msgstr ""
-#: src/lib/elementary/elc_popup.c:1842
+#: src/lib/elementary/elc_popup.c:1836
msgid "Alert"
msgstr ""
@@ -375,21 +375,21 @@ msgstr ""
msgid "calendar year"
msgstr ""
-#: src/lib/elementary/efl_ui_check.c:76 src/lib/elementary/efl_ui_check.c:201
+#: src/lib/elementary/efl_ui_check.c:76 src/lib/elementary/efl_ui_check.c:200
#: src/lib/elementary/efl_ui_radio.c:136 src/lib/elementary/efl_ui_radio.c:202
msgid "State: On"
msgstr ""
-#: src/lib/elementary/efl_ui_check.c:96 src/lib/elementary/efl_ui_check.c:213
+#: src/lib/elementary/efl_ui_check.c:96 src/lib/elementary/efl_ui_check.c:212
#: src/lib/elementary/efl_ui_radio.c:204
msgid "State: Off"
msgstr ""
-#: src/lib/elementary/efl_ui_check.c:197 src/lib/elementary/efl_ui_check.c:210
+#: src/lib/elementary/efl_ui_check.c:196 src/lib/elementary/efl_ui_check.c:209
msgid "State"
msgstr ""
-#: src/lib/elementary/efl_ui_check.c:349
+#: src/lib/elementary/efl_ui_check.c:348
msgid "Check"
msgstr ""
@@ -439,7 +439,7 @@ msgstr ""
#. but if this is a right-to-left language like arabic, Farsi,
#. Hebrew, etc. then change this string to be "default:RTL"
#.
-#: src/lib/elementary/elm_config.c:4329
+#: src/lib/elementary/elm_config.c:4158
#, fuzzy
msgid "default:LTR"
msgstr "default:LTR"
@@ -452,23 +452,23 @@ msgstr ""
msgid "diskselector item"
msgstr ""
-#: src/lib/elementary/elm_entry.c:1729
+#: src/lib/elementary/elm_entry.c:1749
msgid "Cut"
msgstr ""
-#: src/lib/elementary/elm_entry.c:1732
+#: src/lib/elementary/elm_entry.c:1752
msgid "Copy"
msgstr ""
-#: src/lib/elementary/elm_entry.c:1736 src/lib/elementary/elm_entry.c:1758
+#: src/lib/elementary/elm_entry.c:1756 src/lib/elementary/elm_entry.c:1778
msgid "Paste"
msgstr ""
-#: src/lib/elementary/elm_entry.c:1751
+#: src/lib/elementary/elm_entry.c:1771
msgid "Select"
msgstr ""
-#: src/lib/elementary/elm_entry.c:3910
+#: src/lib/elementary/elm_entry.c:3937
msgid "Entry"
msgstr ""
@@ -512,20 +512,20 @@ msgstr ""
msgid "Radio"
msgstr ""
-#: src/lib/elementary/elm_segment_control.c:531
-#: src/lib/elementary/elm_toolbar.c:2293
+#: src/lib/elementary/elm_segment_control.c:528
+#: src/lib/elementary/elm_toolbar.c:2296
msgid "State: Selected"
msgstr ""
-#: src/lib/elementary/elm_segment_control.c:533
+#: src/lib/elementary/elm_segment_control.c:530
msgid "State: Unselected"
msgstr ""
-#: src/lib/elementary/elm_segment_control.c:547
+#: src/lib/elementary/elm_segment_control.c:544
msgid "Segment Control Item"
msgstr ""
-#: src/lib/elementary/efl_ui_slider.c:681
+#: src/lib/elementary/efl_ui_slider.c:704
msgid "slider"
msgstr ""
@@ -553,22 +553,22 @@ msgstr ""
msgid "spinner text"
msgstr ""
-#: src/lib/elementary/elm_toolbar.c:1750 src/lib/elementary/elm_toolbar.c:2352
+#: src/lib/elementary/elm_toolbar.c:1753 src/lib/elementary/elm_toolbar.c:2355
msgid "Selected"
msgstr ""
-#: src/lib/elementary/elm_toolbar.c:2289
+#: src/lib/elementary/elm_toolbar.c:2292
msgid "Separator"
msgstr ""
-#: src/lib/elementary/elm_toolbar.c:2295
+#: src/lib/elementary/elm_toolbar.c:2298
msgid "Has menu"
msgstr ""
-#: src/lib/elementary/elm_toolbar.c:2347
+#: src/lib/elementary/elm_toolbar.c:2350
msgid "Unselected"
msgstr ""
-#: src/lib/elementary/elm_toolbar.c:2364
+#: src/lib/elementary/elm_toolbar.c:2367
msgid "Toolbar Item"
msgstr ""
diff --git a/po/lt.po b/po/lt.po
index 676baf9d97..7eb730f400 100644
--- a/po/lt.po
+++ b/po/lt.po
@@ -3,12 +3,12 @@
# This file is distributed under the same license as the enlightenment package.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2010.
#
-#: src/lib/elementary/elm_config.c:4306
+#: src/lib/elementary/elm_config.c:4135
msgid ""
msgstr ""
"Project-Id-Version: enlightenment\n"
"Report-Msgid-Bugs-To: enlightenment-devel@lists.sourceforge.net\n"
-"POT-Creation-Date: 2018-12-06 14:49+0000\n"
+"POT-Creation-Date: 2019-04-15 12:03+0100\n"
"PO-Revision-Date: 2014-02-21 22:38+0000\n"
"Last-Translator: Mantas Kriaučiūnas <mantas@akl.lt>\n"
"Language-Team: Lithuanian <lt@li.org>\n"
@@ -239,37 +239,37 @@ msgstr "Paveikslėliai"
msgid "Videos"
msgstr "Video"
-#: src/lib/elementary/elc_fileselector.c:1799
+#: src/lib/elementary/elc_fileselector.c:1705
msgid "Up"
msgstr ""
-#: src/lib/elementary/elc_fileselector.c:1813
+#: src/lib/elementary/elc_fileselector.c:1719
msgid "Home"
msgstr ""
-#: src/lib/elementary/elc_fileselector.c:1832
+#: src/lib/elementary/elc_fileselector.c:1738
msgid "Search"
msgstr ""
-#: src/lib/elementary/elc_fileselector.c:2104
+#: src/lib/elementary/elc_fileselector.c:2012
msgid "OK"
msgstr "Gerai"
-#: src/lib/elementary/elc_fileselector.c:2114
-#: src/lib/elementary/elm_entry.c:1739 src/lib/elementary/elm_entry.c:1764
+#: src/lib/elementary/elc_fileselector.c:2022
+#: src/lib/elementary/elm_entry.c:1759 src/lib/elementary/elm_entry.c:1784
msgid "Cancel"
msgstr "Atsisakyti"
-#: src/lib/elementary/elc_hoversel.c:438 src/lib/elementary/efl_ui_button.c:208
-#: src/lib/elementary/efl_ui_check.c:188 src/lib/elementary/elm_gengrid.c:1523
-#: src/lib/elementary/elm_genlist.c:1764 src/lib/elementary/elm_list.c:2185
+#: src/lib/elementary/elc_hoversel.c:439 src/lib/elementary/efl_ui_button.c:208
+#: src/lib/elementary/efl_ui_check.c:187 src/lib/elementary/elm_gengrid.c:1532
+#: src/lib/elementary/elm_genlist.c:1769 src/lib/elementary/elm_list.c:2185
#: src/lib/elementary/efl_ui_radio.c:201
-#: src/lib/elementary/elm_segment_control.c:528
-#: src/lib/elementary/elm_spinner.c:1041 src/lib/elementary/elm_toolbar.c:2291
+#: src/lib/elementary/elm_segment_control.c:525
+#: src/lib/elementary/elm_spinner.c:1041 src/lib/elementary/elm_toolbar.c:2294
msgid "State: Disabled"
msgstr ""
-#: src/lib/elementary/elc_hoversel.c:651
+#: src/lib/elementary/elc_hoversel.c:652
msgid "Hoversel"
msgstr ""
@@ -303,15 +303,15 @@ msgstr "Atgal"
msgid "Next"
msgstr ""
-#: src/lib/elementary/elc_popup.c:320 src/lib/elementary/elc_popup.c:992
+#: src/lib/elementary/elc_popup.c:320 src/lib/elementary/elc_popup.c:984
msgid "Popup Title"
msgstr ""
-#: src/lib/elementary/elc_popup.c:330 src/lib/elementary/elc_popup.c:1068
+#: src/lib/elementary/elc_popup.c:330 src/lib/elementary/elc_popup.c:1060
msgid "Popup Body Text"
msgstr ""
-#: src/lib/elementary/elc_popup.c:1842
+#: src/lib/elementary/elc_popup.c:1836
msgid "Alert"
msgstr ""
@@ -372,21 +372,21 @@ msgstr ""
msgid "calendar year"
msgstr ""
-#: src/lib/elementary/efl_ui_check.c:76 src/lib/elementary/efl_ui_check.c:201
+#: src/lib/elementary/efl_ui_check.c:76 src/lib/elementary/efl_ui_check.c:200
#: src/lib/elementary/efl_ui_radio.c:136 src/lib/elementary/efl_ui_radio.c:202
msgid "State: On"
msgstr ""
-#: src/lib/elementary/efl_ui_check.c:96 src/lib/elementary/efl_ui_check.c:213
+#: src/lib/elementary/efl_ui_check.c:96 src/lib/elementary/efl_ui_check.c:212
#: src/lib/elementary/efl_ui_radio.c:204
msgid "State: Off"
msgstr ""
-#: src/lib/elementary/efl_ui_check.c:197 src/lib/elementary/efl_ui_check.c:210
+#: src/lib/elementary/efl_ui_check.c:196 src/lib/elementary/efl_ui_check.c:209
msgid "State"
msgstr "Būsena"
-#: src/lib/elementary/efl_ui_check.c:349
+#: src/lib/elementary/efl_ui_check.c:348
msgid "Check"
msgstr ""
@@ -436,7 +436,7 @@ msgstr ""
#. but if this is a right-to-left language like arabic, Farsi,
#. Hebrew, etc. then change this string to be "default:RTL"
#.
-#: src/lib/elementary/elm_config.c:4329
+#: src/lib/elementary/elm_config.c:4158
msgid "default:LTR"
msgstr "default:LTR"
@@ -448,23 +448,23 @@ msgstr ""
msgid "diskselector item"
msgstr ""
-#: src/lib/elementary/elm_entry.c:1729
+#: src/lib/elementary/elm_entry.c:1749
msgid "Cut"
msgstr "Iškirpti"
-#: src/lib/elementary/elm_entry.c:1732
+#: src/lib/elementary/elm_entry.c:1752
msgid "Copy"
msgstr "Kopijuoti"
-#: src/lib/elementary/elm_entry.c:1736 src/lib/elementary/elm_entry.c:1758
+#: src/lib/elementary/elm_entry.c:1756 src/lib/elementary/elm_entry.c:1778
msgid "Paste"
msgstr "Įdėti"
-#: src/lib/elementary/elm_entry.c:1751
+#: src/lib/elementary/elm_entry.c:1771
msgid "Select"
msgstr "Pasirinkti"
-#: src/lib/elementary/elm_entry.c:3910
+#: src/lib/elementary/elm_entry.c:3937
msgid "Entry"
msgstr ""
@@ -508,20 +508,20 @@ msgstr ""
msgid "Radio"
msgstr ""
-#: src/lib/elementary/elm_segment_control.c:531
-#: src/lib/elementary/elm_toolbar.c:2293
+#: src/lib/elementary/elm_segment_control.c:528
+#: src/lib/elementary/elm_toolbar.c:2296
msgid "State: Selected"
msgstr ""
-#: src/lib/elementary/elm_segment_control.c:533
+#: src/lib/elementary/elm_segment_control.c:530
msgid "State: Unselected"
msgstr ""
-#: src/lib/elementary/elm_segment_control.c:547
+#: src/lib/elementary/elm_segment_control.c:544
msgid "Segment Control Item"
msgstr ""
-#: src/lib/elementary/efl_ui_slider.c:681
+#: src/lib/elementary/efl_ui_slider.c:704
msgid "slider"
msgstr "šliaužiklis"
@@ -549,22 +549,22 @@ msgstr ""
msgid "spinner text"
msgstr ""
-#: src/lib/elementary/elm_toolbar.c:1750 src/lib/elementary/elm_toolbar.c:2352
+#: src/lib/elementary/elm_toolbar.c:1753 src/lib/elementary/elm_toolbar.c:2355
msgid "Selected"
msgstr ""
-#: src/lib/elementary/elm_toolbar.c:2289
+#: src/lib/elementary/elm_toolbar.c:2292
msgid "Separator"
msgstr "Skirtukas"
-#: src/lib/elementary/elm_toolbar.c:2295
+#: src/lib/elementary/elm_toolbar.c:2298
msgid "Has menu"
msgstr "Turi meniu"
-#: src/lib/elementary/elm_toolbar.c:2347
+#: src/lib/elementary/elm_toolbar.c:2350
msgid "Unselected"
msgstr "Nepasirinkta(s)"
-#: src/lib/elementary/elm_toolbar.c:2364
+#: src/lib/elementary/elm_toolbar.c:2367
msgid "Toolbar Item"
msgstr ""
diff --git a/po/nl.po b/po/nl.po
index e0b283aaf4..75e00ad89f 100644
--- a/po/nl.po
+++ b/po/nl.po
@@ -3,12 +3,12 @@
# This file is put in the public domain.
# Fabian Nowak <timystery@arcor.de>, 2011.
#
-#: src/lib/elementary/elm_config.c:4306
+#: src/lib/elementary/elm_config.c:4135
msgid ""
msgstr ""
"Project-Id-Version: elementary 0.7.0.57309\n"
"Report-Msgid-Bugs-To: enlightenment-devel@lists.sourceforge.net\n"
-"POT-Creation-Date: 2018-12-06 14:49+0000\n"
+"POT-Creation-Date: 2019-04-15 12:03+0100\n"
"PO-Revision-Date: 2011-06-19 16:41+0100\n"
"Last-Translator: Heimen Stoffels <vistausss@gmail.com>\n"
"Language-Team: Dutch <vistausss@gmail.com>\n"
@@ -242,37 +242,37 @@ msgstr ""
msgid "Videos"
msgstr ""
-#: src/lib/elementary/elc_fileselector.c:1799
+#: src/lib/elementary/elc_fileselector.c:1705
msgid "Up"
msgstr "Omhoog"
-#: src/lib/elementary/elc_fileselector.c:1813
+#: src/lib/elementary/elc_fileselector.c:1719
msgid "Home"
msgstr "Persoonlijke map"
-#: src/lib/elementary/elc_fileselector.c:1832
+#: src/lib/elementary/elc_fileselector.c:1738
msgid "Search"
msgstr ""
-#: src/lib/elementary/elc_fileselector.c:2104
+#: src/lib/elementary/elc_fileselector.c:2012
msgid "OK"
msgstr "OK"
-#: src/lib/elementary/elc_fileselector.c:2114
-#: src/lib/elementary/elm_entry.c:1739 src/lib/elementary/elm_entry.c:1764
+#: src/lib/elementary/elc_fileselector.c:2022
+#: src/lib/elementary/elm_entry.c:1759 src/lib/elementary/elm_entry.c:1784
msgid "Cancel"
msgstr "Annuleren"
-#: src/lib/elementary/elc_hoversel.c:438 src/lib/elementary/efl_ui_button.c:208
-#: src/lib/elementary/efl_ui_check.c:188 src/lib/elementary/elm_gengrid.c:1523
-#: src/lib/elementary/elm_genlist.c:1764 src/lib/elementary/elm_list.c:2185
+#: src/lib/elementary/elc_hoversel.c:439 src/lib/elementary/efl_ui_button.c:208
+#: src/lib/elementary/efl_ui_check.c:187 src/lib/elementary/elm_gengrid.c:1532
+#: src/lib/elementary/elm_genlist.c:1769 src/lib/elementary/elm_list.c:2185
#: src/lib/elementary/efl_ui_radio.c:201
-#: src/lib/elementary/elm_segment_control.c:528
-#: src/lib/elementary/elm_spinner.c:1041 src/lib/elementary/elm_toolbar.c:2291
+#: src/lib/elementary/elm_segment_control.c:525
+#: src/lib/elementary/elm_spinner.c:1041 src/lib/elementary/elm_toolbar.c:2294
msgid "State: Disabled"
msgstr ""
-#: src/lib/elementary/elc_hoversel.c:651
+#: src/lib/elementary/elc_hoversel.c:652
msgid "Hoversel"
msgstr ""
@@ -306,15 +306,15 @@ msgstr ""
msgid "Next"
msgstr ""
-#: src/lib/elementary/elc_popup.c:320 src/lib/elementary/elc_popup.c:992
+#: src/lib/elementary/elc_popup.c:320 src/lib/elementary/elc_popup.c:984
msgid "Popup Title"
msgstr ""
-#: src/lib/elementary/elc_popup.c:330 src/lib/elementary/elc_popup.c:1068
+#: src/lib/elementary/elc_popup.c:330 src/lib/elementary/elc_popup.c:1060
msgid "Popup Body Text"
msgstr ""
-#: src/lib/elementary/elc_popup.c:1842
+#: src/lib/elementary/elc_popup.c:1836
msgid "Alert"
msgstr ""
@@ -375,21 +375,21 @@ msgstr ""
msgid "calendar year"
msgstr ""
-#: src/lib/elementary/efl_ui_check.c:76 src/lib/elementary/efl_ui_check.c:201
+#: src/lib/elementary/efl_ui_check.c:76 src/lib/elementary/efl_ui_check.c:200
#: src/lib/elementary/efl_ui_radio.c:136 src/lib/elementary/efl_ui_radio.c:202
msgid "State: On"
msgstr ""
-#: src/lib/elementary/efl_ui_check.c:96 src/lib/elementary/efl_ui_check.c:213
+#: src/lib/elementary/efl_ui_check.c:96 src/lib/elementary/efl_ui_check.c:212
#: src/lib/elementary/efl_ui_radio.c:204
msgid "State: Off"
msgstr ""
-#: src/lib/elementary/efl_ui_check.c:197 src/lib/elementary/efl_ui_check.c:210
+#: src/lib/elementary/efl_ui_check.c:196 src/lib/elementary/efl_ui_check.c:209
msgid "State"
msgstr ""
-#: src/lib/elementary/efl_ui_check.c:349
+#: src/lib/elementary/efl_ui_check.c:348
msgid "Check"
msgstr ""
@@ -439,7 +439,7 @@ msgstr ""
#. but if this is a right-to-left language like arabic, Farsi,
#. Hebrew, etc. then change this string to be "default:RTL"
#.
-#: src/lib/elementary/elm_config.c:4329
+#: src/lib/elementary/elm_config.c:4158
msgid "default:LTR"
msgstr "default:LTR"
@@ -451,23 +451,23 @@ msgstr ""
msgid "diskselector item"
msgstr ""
-#: src/lib/elementary/elm_entry.c:1729
+#: src/lib/elementary/elm_entry.c:1749
msgid "Cut"
msgstr "Knippen"
-#: src/lib/elementary/elm_entry.c:1732
+#: src/lib/elementary/elm_entry.c:1752
msgid "Copy"
msgstr "Kopiëren"
-#: src/lib/elementary/elm_entry.c:1736 src/lib/elementary/elm_entry.c:1758
+#: src/lib/elementary/elm_entry.c:1756 src/lib/elementary/elm_entry.c:1778
msgid "Paste"
msgstr "Plakken"
-#: src/lib/elementary/elm_entry.c:1751
+#: src/lib/elementary/elm_entry.c:1771
msgid "Select"
msgstr "Selecteren"
-#: src/lib/elementary/elm_entry.c:3910
+#: src/lib/elementary/elm_entry.c:3937
msgid "Entry"
msgstr ""
@@ -511,21 +511,21 @@ msgstr ""
msgid "Radio"
msgstr ""
-#: src/lib/elementary/elm_segment_control.c:531
-#: src/lib/elementary/elm_toolbar.c:2293
+#: src/lib/elementary/elm_segment_control.c:528
+#: src/lib/elementary/elm_toolbar.c:2296
msgid "State: Selected"
msgstr ""
-#: src/lib/elementary/elm_segment_control.c:533
+#: src/lib/elementary/elm_segment_control.c:530
#, fuzzy
msgid "State: Unselected"
msgstr "Selecteren"
-#: src/lib/elementary/elm_segment_control.c:547
+#: src/lib/elementary/elm_segment_control.c:544
msgid "Segment Control Item"
msgstr ""
-#: src/lib/elementary/efl_ui_slider.c:681
+#: src/lib/elementary/efl_ui_slider.c:704
msgid "slider"
msgstr ""
@@ -553,24 +553,24 @@ msgstr ""
msgid "spinner text"
msgstr ""
-#: src/lib/elementary/elm_toolbar.c:1750 src/lib/elementary/elm_toolbar.c:2352
+#: src/lib/elementary/elm_toolbar.c:1753 src/lib/elementary/elm_toolbar.c:2355
#, fuzzy
msgid "Selected"
msgstr "Selecteren"
-#: src/lib/elementary/elm_toolbar.c:2289
+#: src/lib/elementary/elm_toolbar.c:2292
msgid "Separator"
msgstr ""
-#: src/lib/elementary/elm_toolbar.c:2295
+#: src/lib/elementary/elm_toolbar.c:2298
msgid "Has menu"
msgstr ""
-#: src/lib/elementary/elm_toolbar.c:2347
+#: src/lib/elementary/elm_toolbar.c:2350
#, fuzzy
msgid "Unselected"
msgstr "Selecteren"
-#: src/lib/elementary/elm_toolbar.c:2364
+#: src/lib/elementary/elm_toolbar.c:2367
msgid "Toolbar Item"
msgstr ""
diff --git a/po/pl.po b/po/pl.po
index 3f8384899a..1cacce7e14 100644
--- a/po/pl.po
+++ b/po/pl.po
@@ -3,12 +3,12 @@
# This file is put in the public domain.
# Konrad Makowski <poczta@konradmakowski.pl>, 2013
#
-#: src/lib/elementary/elm_config.c:4306
+#: src/lib/elementary/elm_config.c:4135
msgid ""
msgstr ""
"Project-Id-Version: elementary\n"
"Report-Msgid-Bugs-To: enlightenment-devel@lists.sourceforge.net\n"
-"POT-Creation-Date: 2018-12-06 14:49+0000\n"
+"POT-Creation-Date: 2019-04-15 12:03+0100\n"
"PO-Revision-Date: 2013-11-23 14:48+0100\n"
"Last-Translator: Konrad Makowski <poczta@konradmakowski.pl>\n"
"Language-Team: General\n"
@@ -241,37 +241,37 @@ msgstr "Obrazy"
msgid "Videos"
msgstr "Wideo"
-#: src/lib/elementary/elc_fileselector.c:1799
+#: src/lib/elementary/elc_fileselector.c:1705
msgid "Up"
msgstr "Do góry"
-#: src/lib/elementary/elc_fileselector.c:1813
+#: src/lib/elementary/elc_fileselector.c:1719
msgid "Home"
msgstr "Początek"
-#: src/lib/elementary/elc_fileselector.c:1832
+#: src/lib/elementary/elc_fileselector.c:1738
msgid "Search"
msgstr ""
-#: src/lib/elementary/elc_fileselector.c:2104
+#: src/lib/elementary/elc_fileselector.c:2012
msgid "OK"
msgstr "OK"
-#: src/lib/elementary/elc_fileselector.c:2114
-#: src/lib/elementary/elm_entry.c:1739 src/lib/elementary/elm_entry.c:1764
+#: src/lib/elementary/elc_fileselector.c:2022
+#: src/lib/elementary/elm_entry.c:1759 src/lib/elementary/elm_entry.c:1784
msgid "Cancel"
msgstr "Anuluj"
-#: src/lib/elementary/elc_hoversel.c:438 src/lib/elementary/efl_ui_button.c:208
-#: src/lib/elementary/efl_ui_check.c:188 src/lib/elementary/elm_gengrid.c:1523
-#: src/lib/elementary/elm_genlist.c:1764 src/lib/elementary/elm_list.c:2185
+#: src/lib/elementary/elc_hoversel.c:439 src/lib/elementary/efl_ui_button.c:208
+#: src/lib/elementary/efl_ui_check.c:187 src/lib/elementary/elm_gengrid.c:1532
+#: src/lib/elementary/elm_genlist.c:1769 src/lib/elementary/elm_list.c:2185
#: src/lib/elementary/efl_ui_radio.c:201
-#: src/lib/elementary/elm_segment_control.c:528
-#: src/lib/elementary/elm_spinner.c:1041 src/lib/elementary/elm_toolbar.c:2291
+#: src/lib/elementary/elm_segment_control.c:525
+#: src/lib/elementary/elm_spinner.c:1041 src/lib/elementary/elm_toolbar.c:2294
msgid "State: Disabled"
msgstr "Statuj: wyłączony"
-#: src/lib/elementary/elc_hoversel.c:651
+#: src/lib/elementary/elc_hoversel.c:652
msgid "Hoversel"
msgstr ""
@@ -306,15 +306,15 @@ msgstr "Cofnij"
msgid "Next"
msgstr "Następny"
-#: src/lib/elementary/elc_popup.c:320 src/lib/elementary/elc_popup.c:992
+#: src/lib/elementary/elc_popup.c:320 src/lib/elementary/elc_popup.c:984
msgid "Popup Title"
msgstr "Tytuł okienka"
-#: src/lib/elementary/elc_popup.c:330 src/lib/elementary/elc_popup.c:1068
+#: src/lib/elementary/elc_popup.c:330 src/lib/elementary/elc_popup.c:1060
msgid "Popup Body Text"
msgstr "Treść główna okienka"
-#: src/lib/elementary/elc_popup.c:1842
+#: src/lib/elementary/elc_popup.c:1836
msgid "Alert"
msgstr ""
@@ -375,21 +375,21 @@ msgstr "kalendarz z miesiącami"
msgid "calendar year"
msgstr "kalendarz roczny"
-#: src/lib/elementary/efl_ui_check.c:76 src/lib/elementary/efl_ui_check.c:201
+#: src/lib/elementary/efl_ui_check.c:76 src/lib/elementary/efl_ui_check.c:200
#: src/lib/elementary/efl_ui_radio.c:136 src/lib/elementary/efl_ui_radio.c:202
msgid "State: On"
msgstr "Stan: włączony"
-#: src/lib/elementary/efl_ui_check.c:96 src/lib/elementary/efl_ui_check.c:213
+#: src/lib/elementary/efl_ui_check.c:96 src/lib/elementary/efl_ui_check.c:212
#: src/lib/elementary/efl_ui_radio.c:204
msgid "State: Off"
msgstr "Stan: wyłączony"
-#: src/lib/elementary/efl_ui_check.c:197 src/lib/elementary/efl_ui_check.c:210
+#: src/lib/elementary/efl_ui_check.c:196 src/lib/elementary/efl_ui_check.c:209
msgid "State"
msgstr "Stan"
-#: src/lib/elementary/efl_ui_check.c:349
+#: src/lib/elementary/efl_ui_check.c:348
msgid "Check"
msgstr "Sprawdzony"
@@ -439,7 +439,7 @@ msgstr "paleta wyboru kolorów"
#. but if this is a right-to-left language like arabic, Farsi,
#. Hebrew, etc. then change this string to be "default:RTL"
#.
-#: src/lib/elementary/elm_config.c:4329
+#: src/lib/elementary/elm_config.c:4158
msgid "default:LTR"
msgstr "default:LTR"
@@ -451,23 +451,23 @@ msgstr "wybór dni"
msgid "diskselector item"
msgstr "wybór dysków"
-#: src/lib/elementary/elm_entry.c:1729
+#: src/lib/elementary/elm_entry.c:1749
msgid "Cut"
msgstr "Wytnij"
-#: src/lib/elementary/elm_entry.c:1732
+#: src/lib/elementary/elm_entry.c:1752
msgid "Copy"
msgstr "Kopiuj"
-#: src/lib/elementary/elm_entry.c:1736 src/lib/elementary/elm_entry.c:1758
+#: src/lib/elementary/elm_entry.c:1756 src/lib/elementary/elm_entry.c:1778
msgid "Paste"
msgstr "Wklej"
-#: src/lib/elementary/elm_entry.c:1751
+#: src/lib/elementary/elm_entry.c:1771
msgid "Select"
msgstr "Wybór"
-#: src/lib/elementary/elm_entry.c:3910
+#: src/lib/elementary/elm_entry.c:3937
msgid "Entry"
msgstr "Pozycja"
@@ -511,20 +511,20 @@ msgstr "pasek postępu"
msgid "Radio"
msgstr ""
-#: src/lib/elementary/elm_segment_control.c:531
-#: src/lib/elementary/elm_toolbar.c:2293
+#: src/lib/elementary/elm_segment_control.c:528
+#: src/lib/elementary/elm_toolbar.c:2296
msgid "State: Selected"
msgstr "Stan: wybrany"
-#: src/lib/elementary/elm_segment_control.c:533
+#: src/lib/elementary/elm_segment_control.c:530
msgid "State: Unselected"
msgstr "Stan: nie wybrany"
-#: src/lib/elementary/elm_segment_control.c:547
+#: src/lib/elementary/elm_segment_control.c:544
msgid "Segment Control Item"
msgstr "Kontrola Segmentami"
-#: src/lib/elementary/efl_ui_slider.c:681
+#: src/lib/elementary/efl_ui_slider.c:704
msgid "slider"
msgstr "slajder"
@@ -553,22 +553,22 @@ msgstr "przycisk zmniejszający typu spinner"
msgid "spinner text"
msgstr "spinner"
-#: src/lib/elementary/elm_toolbar.c:1750 src/lib/elementary/elm_toolbar.c:2352
+#: src/lib/elementary/elm_toolbar.c:1753 src/lib/elementary/elm_toolbar.c:2355
msgid "Selected"
msgstr "Wybrany"
-#: src/lib/elementary/elm_toolbar.c:2289
+#: src/lib/elementary/elm_toolbar.c:2292
msgid "Separator"
msgstr "Separator"
-#: src/lib/elementary/elm_toolbar.c:2295
+#: src/lib/elementary/elm_toolbar.c:2298
msgid "Has menu"
msgstr "Posiada menu"
-#: src/lib/elementary/elm_toolbar.c:2347
+#: src/lib/elementary/elm_toolbar.c:2350
msgid "Unselected"
msgstr "Nie wybrany"
-#: src/lib/elementary/elm_toolbar.c:2364
+#: src/lib/elementary/elm_toolbar.c:2367
msgid "Toolbar Item"
msgstr "Pasek narzędzi"
diff --git a/po/pt.po b/po/pt.po
index 3cacb45927..57711831a9 100644
--- a/po/pt.po
+++ b/po/pt.po
@@ -3,12 +3,12 @@
# This file is public domain.
# Sérgio Marques <smarquespt@gmail.com>, 2010-2014
#
-#: src/lib/elementary/elm_config.c:4306
+#: src/lib/elementary/elm_config.c:4135
msgid ""
msgstr ""
"Project-Id-Version: Elementary\n"
"Report-Msgid-Bugs-To: enlightenment-devel@lists.sourceforge.net\n"
-"POT-Creation-Date: 2018-12-06 14:49+0000\n"
+"POT-Creation-Date: 2019-04-15 12:03+0100\n"
"PO-Revision-Date: 2013-11-05 14:11-0000\n"
"Last-Translator: Sérgio Marques <smarquespt@gmail.com>\n"
"Language-Team: General\n"
@@ -239,37 +239,37 @@ msgstr "Imagens"
msgid "Videos"
msgstr "Vídeos"
-#: src/lib/elementary/elc_fileselector.c:1799
+#: src/lib/elementary/elc_fileselector.c:1705
msgid "Up"
msgstr "Para cima"
-#: src/lib/elementary/elc_fileselector.c:1813
+#: src/lib/elementary/elc_fileselector.c:1719
msgid "Home"
msgstr "Pasta pessoal"
-#: src/lib/elementary/elc_fileselector.c:1832
+#: src/lib/elementary/elc_fileselector.c:1738
msgid "Search"
msgstr ""
-#: src/lib/elementary/elc_fileselector.c:2104
+#: src/lib/elementary/elc_fileselector.c:2012
msgid "OK"
msgstr "Aceitar"
-#: src/lib/elementary/elc_fileselector.c:2114
-#: src/lib/elementary/elm_entry.c:1739 src/lib/elementary/elm_entry.c:1764
+#: src/lib/elementary/elc_fileselector.c:2022
+#: src/lib/elementary/elm_entry.c:1759 src/lib/elementary/elm_entry.c:1784
msgid "Cancel"
msgstr "Cancelar"
-#: src/lib/elementary/elc_hoversel.c:438 src/lib/elementary/efl_ui_button.c:208
-#: src/lib/elementary/efl_ui_check.c:188 src/lib/elementary/elm_gengrid.c:1523
-#: src/lib/elementary/elm_genlist.c:1764 src/lib/elementary/elm_list.c:2185
+#: src/lib/elementary/elc_hoversel.c:439 src/lib/elementary/efl_ui_button.c:208
+#: src/lib/elementary/efl_ui_check.c:187 src/lib/elementary/elm_gengrid.c:1532
+#: src/lib/elementary/elm_genlist.c:1769 src/lib/elementary/elm_list.c:2185
#: src/lib/elementary/efl_ui_radio.c:201
-#: src/lib/elementary/elm_segment_control.c:528
-#: src/lib/elementary/elm_spinner.c:1041 src/lib/elementary/elm_toolbar.c:2291
+#: src/lib/elementary/elm_segment_control.c:525
+#: src/lib/elementary/elm_spinner.c:1041 src/lib/elementary/elm_toolbar.c:2294
msgid "State: Disabled"
msgstr "Estado: inativo"
-#: src/lib/elementary/elc_hoversel.c:651
+#: src/lib/elementary/elc_hoversel.c:652
msgid "Hoversel"
msgstr ""
@@ -304,15 +304,15 @@ msgstr "Recuar"
msgid "Next"
msgstr "Avançar"
-#: src/lib/elementary/elc_popup.c:320 src/lib/elementary/elc_popup.c:992
+#: src/lib/elementary/elc_popup.c:320 src/lib/elementary/elc_popup.c:984
msgid "Popup Title"
msgstr "Título do alerta"
-#: src/lib/elementary/elc_popup.c:330 src/lib/elementary/elc_popup.c:1068
+#: src/lib/elementary/elc_popup.c:330 src/lib/elementary/elc_popup.c:1060
msgid "Popup Body Text"
msgstr "Texto do alerta"
-#: src/lib/elementary/elc_popup.c:1842
+#: src/lib/elementary/elc_popup.c:1836
msgid "Alert"
msgstr ""
@@ -373,21 +373,21 @@ msgstr "mês do calendário"
msgid "calendar year"
msgstr "ano do calendário"
-#: src/lib/elementary/efl_ui_check.c:76 src/lib/elementary/efl_ui_check.c:201
+#: src/lib/elementary/efl_ui_check.c:76 src/lib/elementary/efl_ui_check.c:200
#: src/lib/elementary/efl_ui_radio.c:136 src/lib/elementary/efl_ui_radio.c:202
msgid "State: On"
msgstr "Estado: ligado"
-#: src/lib/elementary/efl_ui_check.c:96 src/lib/elementary/efl_ui_check.c:213
+#: src/lib/elementary/efl_ui_check.c:96 src/lib/elementary/efl_ui_check.c:212
#: src/lib/elementary/efl_ui_radio.c:204
msgid "State: Off"
msgstr "Estado: desligado"
-#: src/lib/elementary/efl_ui_check.c:197 src/lib/elementary/efl_ui_check.c:210
+#: src/lib/elementary/efl_ui_check.c:196 src/lib/elementary/efl_ui_check.c:209
msgid "State"
msgstr "Estado"
-#: src/lib/elementary/efl_ui_check.c:349
+#: src/lib/elementary/efl_ui_check.c:348
msgid "Check"
msgstr "Seleção"
@@ -437,7 +437,7 @@ msgstr "item do seletor de cor"
#. but if this is a right-to-left language like arabic, Farsi,
#. Hebrew, etc. then change this string to be "default:RTL"
#.
-#: src/lib/elementary/elm_config.c:4329
+#: src/lib/elementary/elm_config.c:4158
msgid "default:LTR"
msgstr "default:LTR"
@@ -449,23 +449,23 @@ msgstr "item do seletor de dia"
msgid "diskselector item"
msgstr "item do seletor de disco"
-#: src/lib/elementary/elm_entry.c:1729
+#: src/lib/elementary/elm_entry.c:1749
msgid "Cut"
msgstr "Cortar"
-#: src/lib/elementary/elm_entry.c:1732
+#: src/lib/elementary/elm_entry.c:1752
msgid "Copy"
msgstr "Copiar"
-#: src/lib/elementary/elm_entry.c:1736 src/lib/elementary/elm_entry.c:1758
+#: src/lib/elementary/elm_entry.c:1756 src/lib/elementary/elm_entry.c:1778
msgid "Paste"
msgstr "Colar"
-#: src/lib/elementary/elm_entry.c:1751
+#: src/lib/elementary/elm_entry.c:1771
msgid "Select"
msgstr "Selecionar"
-#: src/lib/elementary/elm_entry.c:3910
+#: src/lib/elementary/elm_entry.c:3937
msgid "Entry"
msgstr "Entrada"
@@ -509,20 +509,20 @@ msgstr "barra de progresso"
msgid "Radio"
msgstr "Opção"
-#: src/lib/elementary/elm_segment_control.c:531
-#: src/lib/elementary/elm_toolbar.c:2293
+#: src/lib/elementary/elm_segment_control.c:528
+#: src/lib/elementary/elm_toolbar.c:2296
msgid "State: Selected"
msgstr "Estado: selecionado"
-#: src/lib/elementary/elm_segment_control.c:533
+#: src/lib/elementary/elm_segment_control.c:530
msgid "State: Unselected"
msgstr "Estado: não selecionado"
-#: src/lib/elementary/elm_segment_control.c:547
+#: src/lib/elementary/elm_segment_control.c:544
msgid "Segment Control Item"
msgstr "Item do controlo de segmento"
-#: src/lib/elementary/efl_ui_slider.c:681
+#: src/lib/elementary/efl_ui_slider.c:704
msgid "slider"
msgstr "barra deslizante"
@@ -551,23 +551,23 @@ msgstr "botão de diminuição do spinner"
msgid "spinner text"
msgstr "spinner"
-#: src/lib/elementary/elm_toolbar.c:1750 src/lib/elementary/elm_toolbar.c:2352
+#: src/lib/elementary/elm_toolbar.c:1753 src/lib/elementary/elm_toolbar.c:2355
msgid "Selected"
msgstr "Selecionado"
-#: src/lib/elementary/elm_toolbar.c:2289
+#: src/lib/elementary/elm_toolbar.c:2292
msgid "Separator"
msgstr "Separador"
-#: src/lib/elementary/elm_toolbar.c:2295
+#: src/lib/elementary/elm_toolbar.c:2298
msgid "Has menu"
msgstr "Tem menu"
-#: src/lib/elementary/elm_toolbar.c:2347
+#: src/lib/elementary/elm_toolbar.c:2350
msgid "Unselected"
msgstr "Não selecionado"
-#: src/lib/elementary/elm_toolbar.c:2364
+#: src/lib/elementary/elm_toolbar.c:2367
msgid "Toolbar Item"
msgstr "Item da barra de ferramentas"
diff --git a/po/ru.po b/po/ru.po
index 2ffd124c7f..e2de39c7f1 100644
--- a/po/ru.po
+++ b/po/ru.po
@@ -4,12 +4,12 @@
# Danny Moshnakov <dm@agent.co.il>, 2012.
# Igor Murzov <garik@efl.so>, 2015.
#
-#: src/lib/elementary/elm_config.c:4306
+#: src/lib/elementary/elm_config.c:4135
msgid ""
msgstr ""
"Project-Id-Version: elementary 1.11\n"
"Report-Msgid-Bugs-To: enlightenment-devel@lists.sourceforge.net\n"
-"POT-Creation-Date: 2018-12-06 14:49+0000\n"
+"POT-Creation-Date: 2019-04-15 12:03+0100\n"
"PO-Revision-Date: 2015-02-07 15:16+0300\n"
"Last-Translator: Игорь Мурзов <garik@efl.so>\n"
"Language-Team: ru <enlightenment-intl@lists.sourceforge.net>\n"
@@ -240,37 +240,37 @@ msgstr "Изображения"
msgid "Videos"
msgstr "Видео"
-#: src/lib/elementary/elc_fileselector.c:1799
+#: src/lib/elementary/elc_fileselector.c:1705
msgid "Up"
msgstr "Вверх"
-#: src/lib/elementary/elc_fileselector.c:1813
+#: src/lib/elementary/elc_fileselector.c:1719
msgid "Home"
msgstr "Дом"
-#: src/lib/elementary/elc_fileselector.c:1832
+#: src/lib/elementary/elc_fileselector.c:1738
msgid "Search"
msgstr "Поиск"
-#: src/lib/elementary/elc_fileselector.c:2104
+#: src/lib/elementary/elc_fileselector.c:2012
msgid "OK"
msgstr "ОК"
-#: src/lib/elementary/elc_fileselector.c:2114
-#: src/lib/elementary/elm_entry.c:1739 src/lib/elementary/elm_entry.c:1764
+#: src/lib/elementary/elc_fileselector.c:2022
+#: src/lib/elementary/elm_entry.c:1759 src/lib/elementary/elm_entry.c:1784
msgid "Cancel"
msgstr "Отмена"
-#: src/lib/elementary/elc_hoversel.c:438 src/lib/elementary/efl_ui_button.c:208
-#: src/lib/elementary/efl_ui_check.c:188 src/lib/elementary/elm_gengrid.c:1523
-#: src/lib/elementary/elm_genlist.c:1764 src/lib/elementary/elm_list.c:2185
+#: src/lib/elementary/elc_hoversel.c:439 src/lib/elementary/efl_ui_button.c:208
+#: src/lib/elementary/efl_ui_check.c:187 src/lib/elementary/elm_gengrid.c:1532
+#: src/lib/elementary/elm_genlist.c:1769 src/lib/elementary/elm_list.c:2185
#: src/lib/elementary/efl_ui_radio.c:201
-#: src/lib/elementary/elm_segment_control.c:528
-#: src/lib/elementary/elm_spinner.c:1041 src/lib/elementary/elm_toolbar.c:2291
+#: src/lib/elementary/elm_segment_control.c:525
+#: src/lib/elementary/elm_spinner.c:1041 src/lib/elementary/elm_toolbar.c:2294
msgid "State: Disabled"
msgstr "Состояние: Отключено"
-#: src/lib/elementary/elc_hoversel.c:651
+#: src/lib/elementary/elc_hoversel.c:652
msgid "Hoversel"
msgstr ""
@@ -305,15 +305,15 @@ msgstr "Назад"
msgid "Next"
msgstr "Вперёд"
-#: src/lib/elementary/elc_popup.c:320 src/lib/elementary/elc_popup.c:992
+#: src/lib/elementary/elc_popup.c:320 src/lib/elementary/elc_popup.c:984
msgid "Popup Title"
msgstr "Заголовок всплывающего окна"
-#: src/lib/elementary/elc_popup.c:330 src/lib/elementary/elc_popup.c:1068
+#: src/lib/elementary/elc_popup.c:330 src/lib/elementary/elc_popup.c:1060
msgid "Popup Body Text"
msgstr "Текст всплывающего окна"
-#: src/lib/elementary/elc_popup.c:1842
+#: src/lib/elementary/elc_popup.c:1836
msgid "Alert"
msgstr ""
@@ -374,21 +374,21 @@ msgstr "месяц календаря"
msgid "calendar year"
msgstr "год календаря"
-#: src/lib/elementary/efl_ui_check.c:76 src/lib/elementary/efl_ui_check.c:201
+#: src/lib/elementary/efl_ui_check.c:76 src/lib/elementary/efl_ui_check.c:200
#: src/lib/elementary/efl_ui_radio.c:136 src/lib/elementary/efl_ui_radio.c:202
msgid "State: On"
msgstr "Состояния: Включено"
-#: src/lib/elementary/efl_ui_check.c:96 src/lib/elementary/efl_ui_check.c:213
+#: src/lib/elementary/efl_ui_check.c:96 src/lib/elementary/efl_ui_check.c:212
#: src/lib/elementary/efl_ui_radio.c:204
msgid "State: Off"
msgstr "Состояние: Выключено"
-#: src/lib/elementary/efl_ui_check.c:197 src/lib/elementary/efl_ui_check.c:210
+#: src/lib/elementary/efl_ui_check.c:196 src/lib/elementary/efl_ui_check.c:209
msgid "State"
msgstr "Состояние"
-#: src/lib/elementary/efl_ui_check.c:349
+#: src/lib/elementary/efl_ui_check.c:348
msgid "Check"
msgstr "Флажок"
@@ -438,7 +438,7 @@ msgstr "элемент выбора цвета палитры"
#. but if this is a right-to-left language like arabic, Farsi,
#. Hebrew, etc. then change this string to be "default:RTL"
#.
-#: src/lib/elementary/elm_config.c:4329
+#: src/lib/elementary/elm_config.c:4158
msgid "default:LTR"
msgstr "default:LTR"
@@ -450,23 +450,23 @@ msgstr "элемент выбора дня"
msgid "diskselector item"
msgstr "элемент диска выбора"
-#: src/lib/elementary/elm_entry.c:1729
+#: src/lib/elementary/elm_entry.c:1749
msgid "Cut"
msgstr "Вырезать"
-#: src/lib/elementary/elm_entry.c:1732
+#: src/lib/elementary/elm_entry.c:1752
msgid "Copy"
msgstr "Копировать"
-#: src/lib/elementary/elm_entry.c:1736 src/lib/elementary/elm_entry.c:1758
+#: src/lib/elementary/elm_entry.c:1756 src/lib/elementary/elm_entry.c:1778
msgid "Paste"
msgstr "Вставить"
-#: src/lib/elementary/elm_entry.c:1751
+#: src/lib/elementary/elm_entry.c:1771
msgid "Select"
msgstr "Выбрать"
-#: src/lib/elementary/elm_entry.c:3910
+#: src/lib/elementary/elm_entry.c:3937
msgid "Entry"
msgstr "Запись"
@@ -510,20 +510,20 @@ msgstr "индикатор выполнения"
msgid "Radio"
msgstr "Радио флажок"
-#: src/lib/elementary/elm_segment_control.c:531
-#: src/lib/elementary/elm_toolbar.c:2293
+#: src/lib/elementary/elm_segment_control.c:528
+#: src/lib/elementary/elm_toolbar.c:2296
msgid "State: Selected"
msgstr "Состояние: Выбрано"
-#: src/lib/elementary/elm_segment_control.c:533
+#: src/lib/elementary/elm_segment_control.c:530
msgid "State: Unselected"
msgstr "Состояние: Невыбрано"
-#: src/lib/elementary/elm_segment_control.c:547
+#: src/lib/elementary/elm_segment_control.c:544
msgid "Segment Control Item"
msgstr "Элемент сегментного элемента управления"
-#: src/lib/elementary/efl_ui_slider.c:681
+#: src/lib/elementary/efl_ui_slider.c:704
msgid "slider"
msgstr "бегунок"
@@ -552,23 +552,23 @@ msgstr "кнопка уменьшения счётчика"
msgid "spinner text"
msgstr "счётчик"
-#: src/lib/elementary/elm_toolbar.c:1750 src/lib/elementary/elm_toolbar.c:2352
+#: src/lib/elementary/elm_toolbar.c:1753 src/lib/elementary/elm_toolbar.c:2355
msgid "Selected"
msgstr "Выбрано"
-#: src/lib/elementary/elm_toolbar.c:2289
+#: src/lib/elementary/elm_toolbar.c:2292
msgid "Separator"
msgstr "Разделитель"
-#: src/lib/elementary/elm_toolbar.c:2295
+#: src/lib/elementary/elm_toolbar.c:2298
msgid "Has menu"
msgstr "С меню"
-#: src/lib/elementary/elm_toolbar.c:2347
+#: src/lib/elementary/elm_toolbar.c:2350
msgid "Unselected"
msgstr "Невыбрано"
-#: src/lib/elementary/elm_toolbar.c:2364
+#: src/lib/elementary/elm_toolbar.c:2367
msgid "Toolbar Item"
msgstr "Элемент панели инструментов"
diff --git a/po/sl.po b/po/sl.po
index 997d0f3ab1..cd379dcaf0 100644
--- a/po/sl.po
+++ b/po/sl.po
@@ -3,12 +3,12 @@
# This file is put in the public domain.
# r1to <renato.rener@gmail.com>, 2011.
#
-#: src/lib/elementary/elm_config.c:4306
+#: src/lib/elementary/elm_config.c:4135
msgid ""
msgstr ""
"Project-Id-Version: Efl\n"
"Report-Msgid-Bugs-To: enlightenment-devel@lists.sourceforge.net\n"
-"POT-Creation-Date: 2018-12-06 14:49+0000\n"
+"POT-Creation-Date: 2019-04-15 12:03+0100\n"
"PO-Revision-Date: 2016-09-21 17:00+0200\n"
"Last-Translator: Renato Rener <renato.rener@gmail.com>\n"
"Language-Team: Enlightenment Team\n"
@@ -238,37 +238,37 @@ msgstr "Slike"
msgid "Videos"
msgstr "Videi"
-#: src/lib/elementary/elc_fileselector.c:1799
+#: src/lib/elementary/elc_fileselector.c:1705
msgid "Up"
msgstr "Gor"
-#: src/lib/elementary/elc_fileselector.c:1813
+#: src/lib/elementary/elc_fileselector.c:1719
msgid "Home"
msgstr "Dom"
-#: src/lib/elementary/elc_fileselector.c:1832
+#: src/lib/elementary/elc_fileselector.c:1738
msgid "Search"
msgstr "Poišči"
-#: src/lib/elementary/elc_fileselector.c:2104
+#: src/lib/elementary/elc_fileselector.c:2012
msgid "OK"
msgstr "V redu"
-#: src/lib/elementary/elc_fileselector.c:2114
-#: src/lib/elementary/elm_entry.c:1739 src/lib/elementary/elm_entry.c:1764
+#: src/lib/elementary/elc_fileselector.c:2022
+#: src/lib/elementary/elm_entry.c:1759 src/lib/elementary/elm_entry.c:1784
msgid "Cancel"
msgstr "Prekliči"
-#: src/lib/elementary/elc_hoversel.c:438 src/lib/elementary/efl_ui_button.c:208
-#: src/lib/elementary/efl_ui_check.c:188 src/lib/elementary/elm_gengrid.c:1523
-#: src/lib/elementary/elm_genlist.c:1764 src/lib/elementary/elm_list.c:2185
+#: src/lib/elementary/elc_hoversel.c:439 src/lib/elementary/efl_ui_button.c:208
+#: src/lib/elementary/efl_ui_check.c:187 src/lib/elementary/elm_gengrid.c:1532
+#: src/lib/elementary/elm_genlist.c:1769 src/lib/elementary/elm_list.c:2185
#: src/lib/elementary/efl_ui_radio.c:201
-#: src/lib/elementary/elm_segment_control.c:528
-#: src/lib/elementary/elm_spinner.c:1041 src/lib/elementary/elm_toolbar.c:2291
+#: src/lib/elementary/elm_segment_control.c:525
+#: src/lib/elementary/elm_spinner.c:1041 src/lib/elementary/elm_toolbar.c:2294
msgid "State: Disabled"
msgstr "Stanje: onemogočeno"
-#: src/lib/elementary/elc_hoversel.c:651
+#: src/lib/elementary/elc_hoversel.c:652
msgid "Hoversel"
msgstr ""
@@ -303,15 +303,15 @@ msgstr "Nazaj"
msgid "Next"
msgstr "Naslednje"
-#: src/lib/elementary/elc_popup.c:320 src/lib/elementary/elc_popup.c:992
+#: src/lib/elementary/elc_popup.c:320 src/lib/elementary/elc_popup.c:984
msgid "Popup Title"
msgstr "Naslov pojavnika"
-#: src/lib/elementary/elc_popup.c:330 src/lib/elementary/elc_popup.c:1068
+#: src/lib/elementary/elc_popup.c:330 src/lib/elementary/elc_popup.c:1060
msgid "Popup Body Text"
msgstr "Besedilo telesa pojavnika"
-#: src/lib/elementary/elc_popup.c:1842
+#: src/lib/elementary/elc_popup.c:1836
msgid "Alert"
msgstr ""
@@ -372,21 +372,21 @@ msgstr "mesečni koledar"
msgid "calendar year"
msgstr "letni koledar"
-#: src/lib/elementary/efl_ui_check.c:76 src/lib/elementary/efl_ui_check.c:201
+#: src/lib/elementary/efl_ui_check.c:76 src/lib/elementary/efl_ui_check.c:200
#: src/lib/elementary/efl_ui_radio.c:136 src/lib/elementary/efl_ui_radio.c:202
msgid "State: On"
msgstr "Stanje: Vključeno"
-#: src/lib/elementary/efl_ui_check.c:96 src/lib/elementary/efl_ui_check.c:213
+#: src/lib/elementary/efl_ui_check.c:96 src/lib/elementary/efl_ui_check.c:212
#: src/lib/elementary/efl_ui_radio.c:204
msgid "State: Off"
msgstr "Stanje: Izključeno"
-#: src/lib/elementary/efl_ui_check.c:197 src/lib/elementary/efl_ui_check.c:210
+#: src/lib/elementary/efl_ui_check.c:196 src/lib/elementary/efl_ui_check.c:209
msgid "State"
msgstr "Stanje"
-#: src/lib/elementary/efl_ui_check.c:349
+#: src/lib/elementary/efl_ui_check.c:348
msgid "Check"
msgstr "Preveri"
@@ -436,7 +436,7 @@ msgstr "izbirnik s paleto barve"
#. but if this is a right-to-left language like arabic, Farsi,
#. Hebrew, etc. then change this string to be "default:RTL"
#.
-#: src/lib/elementary/elm_config.c:4329
+#: src/lib/elementary/elm_config.c:4158
msgid "default:LTR"
msgstr "default:LTR"
@@ -448,23 +448,23 @@ msgstr "izbirnik dneva"
msgid "diskselector item"
msgstr "izbirnik diska"
-#: src/lib/elementary/elm_entry.c:1729
+#: src/lib/elementary/elm_entry.c:1749
msgid "Cut"
msgstr "Izreži"
-#: src/lib/elementary/elm_entry.c:1732
+#: src/lib/elementary/elm_entry.c:1752
msgid "Copy"
msgstr "Kopiraj"
-#: src/lib/elementary/elm_entry.c:1736 src/lib/elementary/elm_entry.c:1758
+#: src/lib/elementary/elm_entry.c:1756 src/lib/elementary/elm_entry.c:1778
msgid "Paste"
msgstr "Prilepi"
-#: src/lib/elementary/elm_entry.c:1751
+#: src/lib/elementary/elm_entry.c:1771
msgid "Select"
msgstr "Izberi"
-#: src/lib/elementary/elm_entry.c:3910
+#: src/lib/elementary/elm_entry.c:3937
msgid "Entry"
msgstr "Vnos"
@@ -508,20 +508,20 @@ msgstr "vrstica poteka"
msgid "Radio"
msgstr "Radio"
-#: src/lib/elementary/elm_segment_control.c:531
-#: src/lib/elementary/elm_toolbar.c:2293
+#: src/lib/elementary/elm_segment_control.c:528
+#: src/lib/elementary/elm_toolbar.c:2296
msgid "State: Selected"
msgstr "Stanje: Izbrano"
-#: src/lib/elementary/elm_segment_control.c:533
+#: src/lib/elementary/elm_segment_control.c:530
msgid "State: Unselected"
msgstr "Stanje: Neizbrano"
-#: src/lib/elementary/elm_segment_control.c:547
+#: src/lib/elementary/elm_segment_control.c:544
msgid "Segment Control Item"
msgstr "Nadzornik segmenta"
-#: src/lib/elementary/efl_ui_slider.c:681
+#: src/lib/elementary/efl_ui_slider.c:704
msgid "slider"
msgstr "drsnik"
@@ -549,23 +549,23 @@ msgstr "gumb za zniževanje vrtilnika"
msgid "spinner text"
msgstr "besedilo vrtilnika"
-#: src/lib/elementary/elm_toolbar.c:1750 src/lib/elementary/elm_toolbar.c:2352
+#: src/lib/elementary/elm_toolbar.c:1753 src/lib/elementary/elm_toolbar.c:2355
msgid "Selected"
msgstr "Izbrano"
-#: src/lib/elementary/elm_toolbar.c:2289
+#: src/lib/elementary/elm_toolbar.c:2292
msgid "Separator"
msgstr "Ločilnik"
-#: src/lib/elementary/elm_toolbar.c:2295
+#: src/lib/elementary/elm_toolbar.c:2298
msgid "Has menu"
msgstr "Ima meni"
-#: src/lib/elementary/elm_toolbar.c:2347
+#: src/lib/elementary/elm_toolbar.c:2350
msgid "Unselected"
msgstr "Neizbrano"
-#: src/lib/elementary/elm_toolbar.c:2364
+#: src/lib/elementary/elm_toolbar.c:2367
msgid "Toolbar Item"
msgstr "Predmet orodne vrstice"
diff --git a/po/sr.po b/po/sr.po
index 079ded283c..3f9e78f084 100644
--- a/po/sr.po
+++ b/po/sr.po
@@ -4,12 +4,12 @@
# FIRST AUTHOR <EMAIL@ADDRESS>, 2013.
# Саша Петровић <salepetronije@gmail.com>, 2013, 2015.
#
-#: src/lib/elementary/elm_config.c:4306
+#: src/lib/elementary/elm_config.c:4135
msgid ""
msgstr ""
"Project-Id-Version: а\n"
"Report-Msgid-Bugs-To: enlightenment-devel@lists.sourceforge.net\n"
-"POT-Creation-Date: 2018-12-06 14:49+0000\n"
+"POT-Creation-Date: 2019-04-15 12:03+0100\n"
"PO-Revision-Date: 2015-01-31 14:06+0100\n"
"Last-Translator: Саша Петровић <salepetronije@gmail.com>\n"
"Language-Team: српски <xfce4@xfce4.org>\n"
@@ -242,37 +242,37 @@ msgstr "Слике"
msgid "Videos"
msgstr "Видео снимци"
-#: src/lib/elementary/elc_fileselector.c:1799
+#: src/lib/elementary/elc_fileselector.c:1705
msgid "Up"
msgstr "Горе"
-#: src/lib/elementary/elc_fileselector.c:1813
+#: src/lib/elementary/elc_fileselector.c:1719
msgid "Home"
msgstr "Лична фасцикла"
-#: src/lib/elementary/elc_fileselector.c:1832
+#: src/lib/elementary/elc_fileselector.c:1738
msgid "Search"
msgstr "Тражи"
-#: src/lib/elementary/elc_fileselector.c:2104
+#: src/lib/elementary/elc_fileselector.c:2012
msgid "OK"
msgstr "У реду"
-#: src/lib/elementary/elc_fileselector.c:2114
-#: src/lib/elementary/elm_entry.c:1739 src/lib/elementary/elm_entry.c:1764
+#: src/lib/elementary/elc_fileselector.c:2022
+#: src/lib/elementary/elm_entry.c:1759 src/lib/elementary/elm_entry.c:1784
msgid "Cancel"
msgstr "Откажи"
-#: src/lib/elementary/elc_hoversel.c:438 src/lib/elementary/efl_ui_button.c:208
-#: src/lib/elementary/efl_ui_check.c:188 src/lib/elementary/elm_gengrid.c:1523
-#: src/lib/elementary/elm_genlist.c:1764 src/lib/elementary/elm_list.c:2185
+#: src/lib/elementary/elc_hoversel.c:439 src/lib/elementary/efl_ui_button.c:208
+#: src/lib/elementary/efl_ui_check.c:187 src/lib/elementary/elm_gengrid.c:1532
+#: src/lib/elementary/elm_genlist.c:1769 src/lib/elementary/elm_list.c:2185
#: src/lib/elementary/efl_ui_radio.c:201
-#: src/lib/elementary/elm_segment_control.c:528
-#: src/lib/elementary/elm_spinner.c:1041 src/lib/elementary/elm_toolbar.c:2291
+#: src/lib/elementary/elm_segment_control.c:525
+#: src/lib/elementary/elm_spinner.c:1041 src/lib/elementary/elm_toolbar.c:2294
msgid "State: Disabled"
msgstr "Стање: онемогућено"
-#: src/lib/elementary/elc_hoversel.c:651
+#: src/lib/elementary/elc_hoversel.c:652
msgid "Hoversel"
msgstr ""
@@ -307,15 +307,15 @@ msgstr "Назад"
msgid "Next"
msgstr "Следеће"
-#: src/lib/elementary/elc_popup.c:320 src/lib/elementary/elc_popup.c:992
+#: src/lib/elementary/elc_popup.c:320 src/lib/elementary/elc_popup.c:984
msgid "Popup Title"
msgstr "Искачући наслов"
-#: src/lib/elementary/elc_popup.c:330 src/lib/elementary/elc_popup.c:1068
+#: src/lib/elementary/elc_popup.c:330 src/lib/elementary/elc_popup.c:1060
msgid "Popup Body Text"
msgstr "Тело искачућег текста"
-#: src/lib/elementary/elc_popup.c:1842
+#: src/lib/elementary/elc_popup.c:1836
msgid "Alert"
msgstr ""
@@ -376,21 +376,21 @@ msgstr "месец календара"
msgid "calendar year"
msgstr "година календара"
-#: src/lib/elementary/efl_ui_check.c:76 src/lib/elementary/efl_ui_check.c:201
+#: src/lib/elementary/efl_ui_check.c:76 src/lib/elementary/efl_ui_check.c:200
#: src/lib/elementary/efl_ui_radio.c:136 src/lib/elementary/efl_ui_radio.c:202
msgid "State: On"
msgstr "Стање : укључен"
-#: src/lib/elementary/efl_ui_check.c:96 src/lib/elementary/efl_ui_check.c:213
+#: src/lib/elementary/efl_ui_check.c:96 src/lib/elementary/efl_ui_check.c:212
#: src/lib/elementary/efl_ui_radio.c:204
msgid "State: Off"
msgstr "Стање: искључен"
-#: src/lib/elementary/efl_ui_check.c:197 src/lib/elementary/efl_ui_check.c:210
+#: src/lib/elementary/efl_ui_check.c:196 src/lib/elementary/efl_ui_check.c:209
msgid "State"
msgstr "Стање"
-#: src/lib/elementary/efl_ui_check.c:349
+#: src/lib/elementary/efl_ui_check.c:348
msgid "Check"
msgstr "Провера"
@@ -440,7 +440,7 @@ msgstr "ставка избирача палете боја"
#. but if this is a right-to-left language like arabic, Farsi,
#. Hebrew, etc. then change this string to be "default:RTL"
#.
-#: src/lib/elementary/elm_config.c:4329
+#: src/lib/elementary/elm_config.c:4158
msgid "default:LTR"
msgstr "default:LTR"
@@ -452,23 +452,23 @@ msgstr "ставка одабирач дана"
msgid "diskselector item"
msgstr "ставка одабира диска"
-#: src/lib/elementary/elm_entry.c:1729
+#: src/lib/elementary/elm_entry.c:1749
msgid "Cut"
msgstr "Исеци"
-#: src/lib/elementary/elm_entry.c:1732
+#: src/lib/elementary/elm_entry.c:1752
msgid "Copy"
msgstr "Умножи"
-#: src/lib/elementary/elm_entry.c:1736 src/lib/elementary/elm_entry.c:1758
+#: src/lib/elementary/elm_entry.c:1756 src/lib/elementary/elm_entry.c:1778
msgid "Paste"
msgstr "Прилепи"
-#: src/lib/elementary/elm_entry.c:1751
+#: src/lib/elementary/elm_entry.c:1771
msgid "Select"
msgstr "Изаберите"
-#: src/lib/elementary/elm_entry.c:3910
+#: src/lib/elementary/elm_entry.c:3937
msgid "Entry"
msgstr "Улаз"
@@ -512,20 +512,20 @@ msgstr "трака напретка"
msgid "Radio"
msgstr "Искључујуће дугме"
-#: src/lib/elementary/elm_segment_control.c:531
-#: src/lib/elementary/elm_toolbar.c:2293
+#: src/lib/elementary/elm_segment_control.c:528
+#: src/lib/elementary/elm_toolbar.c:2296
msgid "State: Selected"
msgstr "Стање: означено"
-#: src/lib/elementary/elm_segment_control.c:533
+#: src/lib/elementary/elm_segment_control.c:530
msgid "State: Unselected"
msgstr "Стање: неозначено"
-#: src/lib/elementary/elm_segment_control.c:547
+#: src/lib/elementary/elm_segment_control.c:544
msgid "Segment Control Item"
msgstr "Ставка провере дела"
-#: src/lib/elementary/efl_ui_slider.c:681
+#: src/lib/elementary/efl_ui_slider.c:704
msgid "slider"
msgstr "клизач"
@@ -554,23 +554,23 @@ msgstr "стрелица избирача смањења"
msgid "spinner text"
msgstr "избирач са стрелицама"
-#: src/lib/elementary/elm_toolbar.c:1750 src/lib/elementary/elm_toolbar.c:2352
+#: src/lib/elementary/elm_toolbar.c:1753 src/lib/elementary/elm_toolbar.c:2355
msgid "Selected"
msgstr "Изабрано"
-#: src/lib/elementary/elm_toolbar.c:2289
+#: src/lib/elementary/elm_toolbar.c:2292
msgid "Separator"
msgstr "Одвајач"
-#: src/lib/elementary/elm_toolbar.c:2295
+#: src/lib/elementary/elm_toolbar.c:2298
msgid "Has menu"
msgstr "Има изборник"
-#: src/lib/elementary/elm_toolbar.c:2347
+#: src/lib/elementary/elm_toolbar.c:2350
msgid "Unselected"
msgstr "Неозначено"
-#: src/lib/elementary/elm_toolbar.c:2364
+#: src/lib/elementary/elm_toolbar.c:2367
msgid "Toolbar Item"
msgstr "Ставка траке алата"
diff --git a/po/tr.po b/po/tr.po
index a0cc346027..362df2c208 100644
--- a/po/tr.po
+++ b/po/tr.po
@@ -3,12 +3,12 @@
# This file is distributed under the same license as the enlightenment package.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2010.
#
-#: src/lib/elementary/elm_config.c:4306
+#: src/lib/elementary/elm_config.c:4135
msgid ""
msgstr ""
"Project-Id-Version: enlightenment\n"
"Report-Msgid-Bugs-To: enlightenment-devel@lists.sourceforge.net\n"
-"POT-Creation-Date: 2018-12-06 14:49+0000\n"
+"POT-Creation-Date: 2019-04-15 12:03+0100\n"
"PO-Revision-Date: 2014-04-18 13:35+0000\n"
"Last-Translator: Ali E.İMREK <alierkanimrek@gmail.com>\n"
"Language-Team: Turkish <tr@li.org>\n"
@@ -239,37 +239,37 @@ msgstr "Resimler"
msgid "Videos"
msgstr "Videolar"
-#: src/lib/elementary/elc_fileselector.c:1799
+#: src/lib/elementary/elc_fileselector.c:1705
msgid "Up"
msgstr "Yukarı"
-#: src/lib/elementary/elc_fileselector.c:1813
+#: src/lib/elementary/elc_fileselector.c:1719
msgid "Home"
msgstr "Ev"
-#: src/lib/elementary/elc_fileselector.c:1832
+#: src/lib/elementary/elc_fileselector.c:1738
msgid "Search"
msgstr ""
-#: src/lib/elementary/elc_fileselector.c:2104
+#: src/lib/elementary/elc_fileselector.c:2012
msgid "OK"
msgstr "Tamam"
-#: src/lib/elementary/elc_fileselector.c:2114
-#: src/lib/elementary/elm_entry.c:1739 src/lib/elementary/elm_entry.c:1764
+#: src/lib/elementary/elc_fileselector.c:2022
+#: src/lib/elementary/elm_entry.c:1759 src/lib/elementary/elm_entry.c:1784
msgid "Cancel"
msgstr "İptal"
-#: src/lib/elementary/elc_hoversel.c:438 src/lib/elementary/efl_ui_button.c:208
-#: src/lib/elementary/efl_ui_check.c:188 src/lib/elementary/elm_gengrid.c:1523
-#: src/lib/elementary/elm_genlist.c:1764 src/lib/elementary/elm_list.c:2185
+#: src/lib/elementary/elc_hoversel.c:439 src/lib/elementary/efl_ui_button.c:208
+#: src/lib/elementary/efl_ui_check.c:187 src/lib/elementary/elm_gengrid.c:1532
+#: src/lib/elementary/elm_genlist.c:1769 src/lib/elementary/elm_list.c:2185
#: src/lib/elementary/efl_ui_radio.c:201
-#: src/lib/elementary/elm_segment_control.c:528
-#: src/lib/elementary/elm_spinner.c:1041 src/lib/elementary/elm_toolbar.c:2291
+#: src/lib/elementary/elm_segment_control.c:525
+#: src/lib/elementary/elm_spinner.c:1041 src/lib/elementary/elm_toolbar.c:2294
msgid "State: Disabled"
msgstr "Durum: Kapalı"
-#: src/lib/elementary/elc_hoversel.c:651
+#: src/lib/elementary/elc_hoversel.c:652
msgid "Hoversel"
msgstr ""
@@ -304,15 +304,15 @@ msgstr "Geri"
msgid "Next"
msgstr "Sonraki"
-#: src/lib/elementary/elc_popup.c:320 src/lib/elementary/elc_popup.c:992
+#: src/lib/elementary/elc_popup.c:320 src/lib/elementary/elc_popup.c:984
msgid "Popup Title"
msgstr "Pencere başlığı"
-#: src/lib/elementary/elc_popup.c:330 src/lib/elementary/elc_popup.c:1068
+#: src/lib/elementary/elc_popup.c:330 src/lib/elementary/elc_popup.c:1060
msgid "Popup Body Text"
msgstr "Pencere gövde metni"
-#: src/lib/elementary/elc_popup.c:1842
+#: src/lib/elementary/elc_popup.c:1836
msgid "Alert"
msgstr ""
@@ -373,21 +373,21 @@ msgstr "takvim ayı"
msgid "calendar year"
msgstr "takvim yılı"
-#: src/lib/elementary/efl_ui_check.c:76 src/lib/elementary/efl_ui_check.c:201
+#: src/lib/elementary/efl_ui_check.c:76 src/lib/elementary/efl_ui_check.c:200
#: src/lib/elementary/efl_ui_radio.c:136 src/lib/elementary/efl_ui_radio.c:202
msgid "State: On"
msgstr "Durum: Açık"
-#: src/lib/elementary/efl_ui_check.c:96 src/lib/elementary/efl_ui_check.c:213
+#: src/lib/elementary/efl_ui_check.c:96 src/lib/elementary/efl_ui_check.c:212
#: src/lib/elementary/efl_ui_radio.c:204
msgid "State: Off"
msgstr "Durum: Kapalı"
-#: src/lib/elementary/efl_ui_check.c:197 src/lib/elementary/efl_ui_check.c:210
+#: src/lib/elementary/efl_ui_check.c:196 src/lib/elementary/efl_ui_check.c:209
msgid "State"
msgstr "Durum"
-#: src/lib/elementary/efl_ui_check.c:349
+#: src/lib/elementary/efl_ui_check.c:348
msgid "Check"
msgstr "Kontrol et"
@@ -437,7 +437,7 @@ msgstr "renk seçici paleti öğesi"
#. but if this is a right-to-left language like arabic, Farsi,
#. Hebrew, etc. then change this string to be "default:RTL"
#.
-#: src/lib/elementary/elm_config.c:4329
+#: src/lib/elementary/elm_config.c:4158
msgid "default:LTR"
msgstr "default:LTR"
@@ -449,23 +449,23 @@ msgstr "gün seçici ögesi"
msgid "diskselector item"
msgstr "disk seçici öğesi"
-#: src/lib/elementary/elm_entry.c:1729
+#: src/lib/elementary/elm_entry.c:1749
msgid "Cut"
msgstr "Kes"
-#: src/lib/elementary/elm_entry.c:1732
+#: src/lib/elementary/elm_entry.c:1752
msgid "Copy"
msgstr "Kopyala"
-#: src/lib/elementary/elm_entry.c:1736 src/lib/elementary/elm_entry.c:1758
+#: src/lib/elementary/elm_entry.c:1756 src/lib/elementary/elm_entry.c:1778
msgid "Paste"
msgstr "Yapıştır"
-#: src/lib/elementary/elm_entry.c:1751
+#: src/lib/elementary/elm_entry.c:1771
msgid "Select"
msgstr "Seç"
-#: src/lib/elementary/elm_entry.c:3910
+#: src/lib/elementary/elm_entry.c:3937
msgid "Entry"
msgstr "Girdi"
@@ -509,20 +509,20 @@ msgstr "ilerleme çubuğu"
msgid "Radio"
msgstr "Radyo"
-#: src/lib/elementary/elm_segment_control.c:531
-#: src/lib/elementary/elm_toolbar.c:2293
+#: src/lib/elementary/elm_segment_control.c:528
+#: src/lib/elementary/elm_toolbar.c:2296
msgid "State: Selected"
msgstr "Durum: Seçili"
-#: src/lib/elementary/elm_segment_control.c:533
+#: src/lib/elementary/elm_segment_control.c:530
msgid "State: Unselected"
msgstr "Bölge: Seçilmedi"
-#: src/lib/elementary/elm_segment_control.c:547
+#: src/lib/elementary/elm_segment_control.c:544
msgid "Segment Control Item"
msgstr "Bölüm Kontrol Öğesi"
-#: src/lib/elementary/efl_ui_slider.c:681
+#: src/lib/elementary/efl_ui_slider.c:704
msgid "slider"
msgstr "kaydırıcı"
@@ -551,23 +551,23 @@ msgstr "değiştirici azaltma düğmesi"
msgid "spinner text"
msgstr "değiştirici"
-#: src/lib/elementary/elm_toolbar.c:1750 src/lib/elementary/elm_toolbar.c:2352
+#: src/lib/elementary/elm_toolbar.c:1753 src/lib/elementary/elm_toolbar.c:2355
msgid "Selected"
msgstr "Seçili"
-#: src/lib/elementary/elm_toolbar.c:2289
+#: src/lib/elementary/elm_toolbar.c:2292
msgid "Separator"
msgstr "Ayraç"
-#: src/lib/elementary/elm_toolbar.c:2295
+#: src/lib/elementary/elm_toolbar.c:2298
msgid "Has menu"
msgstr "menü"
-#: src/lib/elementary/elm_toolbar.c:2347
+#: src/lib/elementary/elm_toolbar.c:2350
msgid "Unselected"
msgstr "Seçili değil"
-#: src/lib/elementary/elm_toolbar.c:2364
+#: src/lib/elementary/elm_toolbar.c:2367
msgid "Toolbar Item"
msgstr "Araç Çubuğu Öğesi"
diff --git a/po/vi.po b/po/vi.po
index a741f5d663..8660a5ac09 100644
--- a/po/vi.po
+++ b/po/vi.po
@@ -3,12 +3,12 @@
# This file is put in the public domain.
# Thiep Ha <thiepha@gmail.com>, 2015.
#
-#: src/lib/elementary/elm_config.c:4306
+#: src/lib/elementary/elm_config.c:4135
msgid ""
msgstr ""
"Project-Id-Version: elementary\n"
"Report-Msgid-Bugs-To: enlightenment-devel@lists.sourceforge.net\n"
-"POT-Creation-Date: 2018-12-06 14:49+0000\n"
+"POT-Creation-Date: 2019-04-15 12:03+0100\n"
"PO-Revision-Date: 2015-09-29 18:06+0900\n"
"Last-Translator: Thiep Ha <thiepha@gmail.com>\n"
"Language-Team: General\n"
@@ -240,37 +240,37 @@ msgstr "Hình Ảnh"
msgid "Videos"
msgstr "Video"
-#: src/lib/elementary/elc_fileselector.c:1799
+#: src/lib/elementary/elc_fileselector.c:1705
msgid "Up"
msgstr "Trên"
-#: src/lib/elementary/elc_fileselector.c:1813
+#: src/lib/elementary/elc_fileselector.c:1719
msgid "Home"
msgstr "Trang Chủ"
-#: src/lib/elementary/elc_fileselector.c:1832
+#: src/lib/elementary/elc_fileselector.c:1738
msgid "Search"
msgstr "Tìm Kiếm"
-#: src/lib/elementary/elc_fileselector.c:2104
+#: src/lib/elementary/elc_fileselector.c:2012
msgid "OK"
msgstr "Đồng Ý"
-#: src/lib/elementary/elc_fileselector.c:2114
-#: src/lib/elementary/elm_entry.c:1739 src/lib/elementary/elm_entry.c:1764
+#: src/lib/elementary/elc_fileselector.c:2022
+#: src/lib/elementary/elm_entry.c:1759 src/lib/elementary/elm_entry.c:1784
msgid "Cancel"
msgstr "Hủy"
-#: src/lib/elementary/elc_hoversel.c:438 src/lib/elementary/efl_ui_button.c:208
-#: src/lib/elementary/efl_ui_check.c:188 src/lib/elementary/elm_gengrid.c:1523
-#: src/lib/elementary/elm_genlist.c:1764 src/lib/elementary/elm_list.c:2185
+#: src/lib/elementary/elc_hoversel.c:439 src/lib/elementary/efl_ui_button.c:208
+#: src/lib/elementary/efl_ui_check.c:187 src/lib/elementary/elm_gengrid.c:1532
+#: src/lib/elementary/elm_genlist.c:1769 src/lib/elementary/elm_list.c:2185
#: src/lib/elementary/efl_ui_radio.c:201
-#: src/lib/elementary/elm_segment_control.c:528
-#: src/lib/elementary/elm_spinner.c:1041 src/lib/elementary/elm_toolbar.c:2291
+#: src/lib/elementary/elm_segment_control.c:525
+#: src/lib/elementary/elm_spinner.c:1041 src/lib/elementary/elm_toolbar.c:2294
msgid "State: Disabled"
msgstr "Trạng Thái: Không Khả Dụng"
-#: src/lib/elementary/elc_hoversel.c:651
+#: src/lib/elementary/elc_hoversel.c:652
msgid "Hoversel"
msgstr ""
@@ -305,15 +305,15 @@ msgstr "Quay Lại"
msgid "Next"
msgstr "Tiếp"
-#: src/lib/elementary/elc_popup.c:320 src/lib/elementary/elc_popup.c:992
+#: src/lib/elementary/elc_popup.c:320 src/lib/elementary/elc_popup.c:984
msgid "Popup Title"
msgstr "Tiêu Đề Hộp Thoại"
-#: src/lib/elementary/elc_popup.c:330 src/lib/elementary/elc_popup.c:1068
+#: src/lib/elementary/elc_popup.c:330 src/lib/elementary/elc_popup.c:1060
msgid "Popup Body Text"
msgstr "Văn Bản Thân Hộp Thoại"
-#: src/lib/elementary/elc_popup.c:1842
+#: src/lib/elementary/elc_popup.c:1836
msgid "Alert"
msgstr ""
@@ -374,21 +374,21 @@ msgstr "Lịch Tháng"
msgid "calendar year"
msgstr "Lịch Năm"
-#: src/lib/elementary/efl_ui_check.c:76 src/lib/elementary/efl_ui_check.c:201
+#: src/lib/elementary/efl_ui_check.c:76 src/lib/elementary/efl_ui_check.c:200
#: src/lib/elementary/efl_ui_radio.c:136 src/lib/elementary/efl_ui_radio.c:202
msgid "State: On"
msgstr "Trạng Thái: Bật"
-#: src/lib/elementary/efl_ui_check.c:96 src/lib/elementary/efl_ui_check.c:213
+#: src/lib/elementary/efl_ui_check.c:96 src/lib/elementary/efl_ui_check.c:212
#: src/lib/elementary/efl_ui_radio.c:204
msgid "State: Off"
msgstr "Trạng Thái: Tắt"
-#: src/lib/elementary/efl_ui_check.c:197 src/lib/elementary/efl_ui_check.c:210
+#: src/lib/elementary/efl_ui_check.c:196 src/lib/elementary/efl_ui_check.c:209
msgid "State"
msgstr "Trạng Thái"
-#: src/lib/elementary/efl_ui_check.c:349
+#: src/lib/elementary/efl_ui_check.c:348
msgid "Check"
msgstr "Chọn"
@@ -438,7 +438,7 @@ msgstr "Mục Của Bảng Chọn Màu"
#. but if this is a right-to-left language like arabic, Farsi,
#. Hebrew, etc. then change this string to be "default:RTL"
#.
-#: src/lib/elementary/elm_config.c:4329
+#: src/lib/elementary/elm_config.c:4158
msgid "default:LTR"
msgstr "default:LTR"
@@ -450,23 +450,23 @@ msgstr "Mục Của Bảng Chọn Ngày"
msgid "diskselector item"
msgstr "Mục Của Bộ Chọn Đĩa"
-#: src/lib/elementary/elm_entry.c:1729
+#: src/lib/elementary/elm_entry.c:1749
msgid "Cut"
msgstr "Cắt"
-#: src/lib/elementary/elm_entry.c:1732
+#: src/lib/elementary/elm_entry.c:1752
msgid "Copy"
msgstr "Sao Chép"
-#: src/lib/elementary/elm_entry.c:1736 src/lib/elementary/elm_entry.c:1758
+#: src/lib/elementary/elm_entry.c:1756 src/lib/elementary/elm_entry.c:1778
msgid "Paste"
msgstr "Dán"
-#: src/lib/elementary/elm_entry.c:1751
+#: src/lib/elementary/elm_entry.c:1771
msgid "Select"
msgstr "Chọn"
-#: src/lib/elementary/elm_entry.c:3910
+#: src/lib/elementary/elm_entry.c:3937
msgid "Entry"
msgstr "Bộ Nhập"
@@ -510,20 +510,20 @@ msgstr "Thanh Trạng Thái"
msgid "Radio"
msgstr "Đài"
-#: src/lib/elementary/elm_segment_control.c:531
-#: src/lib/elementary/elm_toolbar.c:2293
+#: src/lib/elementary/elm_segment_control.c:528
+#: src/lib/elementary/elm_toolbar.c:2296
msgid "State: Selected"
msgstr "Trạng Thái: Đã Chọn"
-#: src/lib/elementary/elm_segment_control.c:533
+#: src/lib/elementary/elm_segment_control.c:530
msgid "State: Unselected"
msgstr "Trạng Thái: Chưa Chọn"
-#: src/lib/elementary/elm_segment_control.c:547
+#: src/lib/elementary/elm_segment_control.c:544
msgid "Segment Control Item"
msgstr "Mục Điều Khiển Đoạn"
-#: src/lib/elementary/efl_ui_slider.c:681
+#: src/lib/elementary/efl_ui_slider.c:704
msgid "slider"
msgstr "Thanh Trượt"
@@ -551,23 +551,23 @@ msgstr "Nút Giảm Bộ Xoay"
msgid "spinner text"
msgstr "Văn Bản Bộ Xoay"
-#: src/lib/elementary/elm_toolbar.c:1750 src/lib/elementary/elm_toolbar.c:2352
+#: src/lib/elementary/elm_toolbar.c:1753 src/lib/elementary/elm_toolbar.c:2355
msgid "Selected"
msgstr "Đã Chọn"
-#: src/lib/elementary/elm_toolbar.c:2289
+#: src/lib/elementary/elm_toolbar.c:2292
msgid "Separator"
msgstr "Bộ Tách"
-#: src/lib/elementary/elm_toolbar.c:2295
+#: src/lib/elementary/elm_toolbar.c:2298
msgid "Has menu"
msgstr "Có Bảng Chọn"
-#: src/lib/elementary/elm_toolbar.c:2347
+#: src/lib/elementary/elm_toolbar.c:2350
msgid "Unselected"
msgstr "Không Chọn"
-#: src/lib/elementary/elm_toolbar.c:2364
+#: src/lib/elementary/elm_toolbar.c:2367
msgid "Toolbar Item"
msgstr "Mục Của Thanh Công Cụ"
diff --git a/po/zh_CN.po b/po/zh_CN.po
index f18f93f2c0..a7c568a692 100644
--- a/po/zh_CN.po
+++ b/po/zh_CN.po
@@ -4,12 +4,12 @@
# This file is distributed under the same license as the Efl package.
# Aron Xu <happyaron.xu@gmail.com>, 2012.
#
-#: src/lib/elementary/elm_config.c:4306
+#: src/lib/elementary/elm_config.c:4135
msgid ""
msgstr ""
"Project-Id-Version: elementary\n"
"Report-Msgid-Bugs-To: enlightenment-devel@lists.sourceforge.net\n"
-"POT-Creation-Date: 2018-12-06 14:49+0000\n"
+"POT-Creation-Date: 2019-04-15 12:03+0100\n"
"PO-Revision-Date: 2012-12-22 03:55+0800\n"
"Last-Translator: Aron Xu <happyaron.xu@gmail.com>\n"
"Language-Team: Chinese (simplified)\n"
@@ -240,37 +240,37 @@ msgstr "图片"
msgid "Videos"
msgstr "视频"
-#: src/lib/elementary/elc_fileselector.c:1799
+#: src/lib/elementary/elc_fileselector.c:1705
msgid "Up"
msgstr "向上"
-#: src/lib/elementary/elc_fileselector.c:1813
+#: src/lib/elementary/elc_fileselector.c:1719
msgid "Home"
msgstr "主目录"
-#: src/lib/elementary/elc_fileselector.c:1832
+#: src/lib/elementary/elc_fileselector.c:1738
msgid "Search"
msgstr ""
-#: src/lib/elementary/elc_fileselector.c:2104
+#: src/lib/elementary/elc_fileselector.c:2012
msgid "OK"
msgstr "确定"
-#: src/lib/elementary/elc_fileselector.c:2114
-#: src/lib/elementary/elm_entry.c:1739 src/lib/elementary/elm_entry.c:1764
+#: src/lib/elementary/elc_fileselector.c:2022
+#: src/lib/elementary/elm_entry.c:1759 src/lib/elementary/elm_entry.c:1784
msgid "Cancel"
msgstr "取消"
-#: src/lib/elementary/elc_hoversel.c:438 src/lib/elementary/efl_ui_button.c:208
-#: src/lib/elementary/efl_ui_check.c:188 src/lib/elementary/elm_gengrid.c:1523
-#: src/lib/elementary/elm_genlist.c:1764 src/lib/elementary/elm_list.c:2185
+#: src/lib/elementary/elc_hoversel.c:439 src/lib/elementary/efl_ui_button.c:208
+#: src/lib/elementary/efl_ui_check.c:187 src/lib/elementary/elm_gengrid.c:1532
+#: src/lib/elementary/elm_genlist.c:1769 src/lib/elementary/elm_list.c:2185
#: src/lib/elementary/efl_ui_radio.c:201
-#: src/lib/elementary/elm_segment_control.c:528
-#: src/lib/elementary/elm_spinner.c:1041 src/lib/elementary/elm_toolbar.c:2291
+#: src/lib/elementary/elm_segment_control.c:525
+#: src/lib/elementary/elm_spinner.c:1041 src/lib/elementary/elm_toolbar.c:2294
msgid "State: Disabled"
msgstr "状态:已禁用"
-#: src/lib/elementary/elc_hoversel.c:651
+#: src/lib/elementary/elc_hoversel.c:652
msgid "Hoversel"
msgstr ""
@@ -304,15 +304,15 @@ msgstr ""
msgid "Next"
msgstr ""
-#: src/lib/elementary/elc_popup.c:320 src/lib/elementary/elc_popup.c:992
+#: src/lib/elementary/elc_popup.c:320 src/lib/elementary/elc_popup.c:984
msgid "Popup Title"
msgstr ""
-#: src/lib/elementary/elc_popup.c:330 src/lib/elementary/elc_popup.c:1068
+#: src/lib/elementary/elc_popup.c:330 src/lib/elementary/elc_popup.c:1060
msgid "Popup Body Text"
msgstr ""
-#: src/lib/elementary/elc_popup.c:1842
+#: src/lib/elementary/elc_popup.c:1836
msgid "Alert"
msgstr ""
@@ -378,21 +378,21 @@ msgstr "日历月"
msgid "calendar year"
msgstr "日历条目"
-#: src/lib/elementary/efl_ui_check.c:76 src/lib/elementary/efl_ui_check.c:201
+#: src/lib/elementary/efl_ui_check.c:76 src/lib/elementary/efl_ui_check.c:200
#: src/lib/elementary/efl_ui_radio.c:136 src/lib/elementary/efl_ui_radio.c:202
msgid "State: On"
msgstr "状态:开启"
-#: src/lib/elementary/efl_ui_check.c:96 src/lib/elementary/efl_ui_check.c:213
+#: src/lib/elementary/efl_ui_check.c:96 src/lib/elementary/efl_ui_check.c:212
#: src/lib/elementary/efl_ui_radio.c:204
msgid "State: Off"
msgstr "状态:关闭"
-#: src/lib/elementary/efl_ui_check.c:197 src/lib/elementary/efl_ui_check.c:210
+#: src/lib/elementary/efl_ui_check.c:196 src/lib/elementary/efl_ui_check.c:209
msgid "State"
msgstr "状态"
-#: src/lib/elementary/efl_ui_check.c:349
+#: src/lib/elementary/efl_ui_check.c:348
msgid "Check"
msgstr "检查"
@@ -443,7 +443,7 @@ msgstr "色彩选择器项目"
#. but if this is a right-to-left language like arabic, Farsi,
#. Hebrew, etc. then change this string to be "default:RTL"
#.
-#: src/lib/elementary/elm_config.c:4329
+#: src/lib/elementary/elm_config.c:4158
msgid "default:LTR"
msgstr "default:LTR"
@@ -456,23 +456,23 @@ msgstr "磁盘选择器项目"
msgid "diskselector item"
msgstr "磁盘选择器项目"
-#: src/lib/elementary/elm_entry.c:1729
+#: src/lib/elementary/elm_entry.c:1749
msgid "Cut"
msgstr "粘贴"
-#: src/lib/elementary/elm_entry.c:1732
+#: src/lib/elementary/elm_entry.c:1752
msgid "Copy"
msgstr "复制"
-#: src/lib/elementary/elm_entry.c:1736 src/lib/elementary/elm_entry.c:1758
+#: src/lib/elementary/elm_entry.c:1756 src/lib/elementary/elm_entry.c:1778
msgid "Paste"
msgstr "粘贴"
-#: src/lib/elementary/elm_entry.c:1751
+#: src/lib/elementary/elm_entry.c:1771
msgid "Select"
msgstr "选择"
-#: src/lib/elementary/elm_entry.c:3910
+#: src/lib/elementary/elm_entry.c:3937
msgid "Entry"
msgstr "条目"
@@ -516,21 +516,21 @@ msgstr "进度条"
msgid "Radio"
msgstr "无线电"
-#: src/lib/elementary/elm_segment_control.c:531
-#: src/lib/elementary/elm_toolbar.c:2293
+#: src/lib/elementary/elm_segment_control.c:528
+#: src/lib/elementary/elm_toolbar.c:2296
msgid "State: Selected"
msgstr "状态:已选择"
-#: src/lib/elementary/elm_segment_control.c:533
+#: src/lib/elementary/elm_segment_control.c:530
#, fuzzy
msgid "State: Unselected"
msgstr "状态:已选择"
-#: src/lib/elementary/elm_segment_control.c:547
+#: src/lib/elementary/elm_segment_control.c:544
msgid "Segment Control Item"
msgstr ""
-#: src/lib/elementary/efl_ui_slider.c:681
+#: src/lib/elementary/efl_ui_slider.c:704
msgid "slider"
msgstr "滑块"
@@ -558,23 +558,23 @@ msgstr ""
msgid "spinner text"
msgstr ""
-#: src/lib/elementary/elm_toolbar.c:1750 src/lib/elementary/elm_toolbar.c:2352
+#: src/lib/elementary/elm_toolbar.c:1753 src/lib/elementary/elm_toolbar.c:2355
msgid "Selected"
msgstr "已选择"
-#: src/lib/elementary/elm_toolbar.c:2289
+#: src/lib/elementary/elm_toolbar.c:2292
msgid "Separator"
msgstr "分隔符"
-#: src/lib/elementary/elm_toolbar.c:2295
+#: src/lib/elementary/elm_toolbar.c:2298
msgid "Has menu"
msgstr "有菜单"
-#: src/lib/elementary/elm_toolbar.c:2347
+#: src/lib/elementary/elm_toolbar.c:2350
msgid "Unselected"
msgstr "未选择"
-#: src/lib/elementary/elm_toolbar.c:2364
+#: src/lib/elementary/elm_toolbar.c:2367
msgid "Toolbar Item"
msgstr "工具栏项目"
diff --git a/src/Makefile_Cxx.am b/src/Makefile_Cxx.am
index 7d38d643dc..a3cc88c1d8 100644
--- a/src/Makefile_Cxx.am
+++ b/src/Makefile_Cxx.am
@@ -103,7 +103,7 @@ nodist_installed_eocxxheaders_DATA = $(eo_eolian_cxx_hh) $(eo_eolian_cxx_impl_hh
nodist_installed_eflcxxmainheaders_DATA = $(efl_eolian_cxx_hh) $(efl_eolian_cxx_impl_hh) lib/efl/Efl.eo.hh
nodist_installed_elementarycxxmainheaders_DATA = $(elementary_eolian_cxx_hh) $(elementary_eolian_cxx_impl_hh) \
lib/elementary/Elementary.eo.hh
-nodist_installed_eldbuscxxmainheaders_DATA = $(eldbus_eolian_cxx_hh) $(eldbus_eolian_cxx_impl_hh) lib/eldbus/Eldbus_Model.eo.hh
+nodist_installed_eldbuscxxmainheaders_DATA = $(eldbus_eolian_cxx_hh) $(eldbus_eolian_cxx_impl_hh) lib/eldbus/Eldbus.eo.hh
CLEANFILES += $(eo_eolian_cxx_hh) $(eo_eolian_cxx_impl_hh)
@@ -144,12 +144,12 @@ CLEANFILES += $(evas_canvas_eolian_cxx_hh) $(evas_canvas_eolian_cxx_impl_hh) \
lib/evas/Evas.eo.hh
-lib/eldbus/Eldbus_Model.eo.hh: $(eldbus_eolian_files) $(_EOLIAN_CXX_DEP)
+lib/eldbus/Eldbus.eo.hh: $(eldbus_eolian_files) $(_EOLIAN_CXX_DEP)
$(AM_V_EOLCXX) \
$(MKDIR_P) $(dir $@); \
$(EOLIAN_CXX) $(EOLIAN_FLAGS) -m -o $@ $(filter %.eo, $^)
-CLEANFILES += $(eldbus_eolian_cxx_hh) $(eldbus_eolian_cxx_impl_hh) lib/eldbus/Eldbus_Model.eo.hh
+CLEANFILES += $(eldbus_eolian_cxx_hh) $(eldbus_eolian_cxx_impl_hh) lib/eldbus/Eldbus.eo.hh
### Eet C++
diff --git a/src/Makefile_EPhysics.am b/src/Makefile_EPhysics.am
index 708248a616..78d28d9f77 100644
--- a/src/Makefile_EPhysics.am
+++ b/src/Makefile_EPhysics.am
@@ -21,7 +21,7 @@ lib/ephysics/ephysics_quaternion.cpp \
lib/ephysics/ephysics_shape.cpp \
lib/ephysics/ephysics_world.cpp
-lib_ephysics_libephysics_la_CPPFLAGS = -I$(top_builddir)/src/lib/efl @EPHYSICS_CFLAGS@
+lib_ephysics_libephysics_la_CPPFLAGS = -I$(top_builddir)/src/lib/efl @EPHYSICS_CFLAGS@ -DEFL_BUILD
lib_ephysics_libephysics_la_LIBADD = @EPHYSICS_LIBS@
lib_ephysics_libephysics_la_DEPENDENCIES = @EPHYSICS_INTERNAL_LIBS@
lib_ephysics_libephysics_la_LDFLAGS = @EFL_LTLIBRARY_FLAGS@
diff --git a/src/Makefile_Ecore.am b/src/Makefile_Ecore.am
index 1b83d74fa5..649dbbec28 100644
--- a/src/Makefile_Ecore.am
+++ b/src/Makefile_Ecore.am
@@ -207,6 +207,7 @@ lib_ecore_libecore_la_CPPFLAGS = -I$(top_builddir)/src/lib/efl \
-DPACKAGE_DATA_DIR=\"$(datadir)/ecore\" \
-DPACKAGE_BUILD_DIR=\"$(abs_top_builddir)\" \
-DPACKAGE_SRC_DIR=\"$(abs_top_srcdir)\" \
+-DEFL_BUILD \
@ECORE_CFLAGS@
lib_ecore_libecore_la_LIBADD = @ECORE_LIBS@ @EVIL_LIBS@
lib_ecore_libecore_la_DEPENDENCIES = @ECORE_INTERNAL_LIBS@
diff --git a/src/Makefile_Ecore_Audio.am b/src/Makefile_Ecore_Audio.am
index 330a5129e2..695879f170 100644
--- a/src/Makefile_Ecore_Audio.am
+++ b/src/Makefile_Ecore_Audio.am
@@ -53,7 +53,7 @@ lib/ecore_audio/ecore_audio_obj_out.c \
lib/ecore_audio/ecore_audio_obj_in_tone.c \
lib/ecore_audio/ecore_audio_private.h
-lib_ecore_audio_libecore_audio_la_CPPFLAGS = -I$(top_builddir)/src/lib/efl @ECORE_AUDIO_CFLAGS@ @ECORE_AUDIO_ALSA_CFLAGS@ @ECORE_AUDIO_PULSE_CFLAGS@ @ECORE_AUDIO_SNDFILE_CFLAGS@
+lib_ecore_audio_libecore_audio_la_CPPFLAGS = -I$(top_builddir)/src/lib/efl @ECORE_AUDIO_CFLAGS@ @ECORE_AUDIO_ALSA_CFLAGS@ @ECORE_AUDIO_PULSE_CFLAGS@ @ECORE_AUDIO_SNDFILE_CFLAGS@ -DEFL_BUILD
lib_ecore_audio_libecore_audio_la_LIBADD = @ECORE_AUDIO_LIBS@ @ECORE_AUDIO_ALSA_LIBS@
lib_ecore_audio_libecore_audio_la_DEPENDENCIES = @ECORE_AUDIO_INTERNAL_LIBS@
lib_ecore_audio_libecore_audio_la_LDFLAGS = @EFL_LTLIBRARY_FLAGS@
diff --git a/src/Makefile_Ecore_Avahi.am b/src/Makefile_Ecore_Avahi.am
index 3dba43e6ca..0390020c78 100644
--- a/src/Makefile_Ecore_Avahi.am
+++ b/src/Makefile_Ecore_Avahi.am
@@ -10,7 +10,7 @@ lib/ecore_avahi/Ecore_Avahi.h
lib_ecore_avahi_libecore_avahi_la_SOURCES = \
lib/ecore_avahi/ecore_avahi.c
-lib_ecore_avahi_libecore_avahi_la_CPPFLAGS = -I$(top_builddir)/src/lib/efl @ECORE_AVAHI_CFLAGS@
+lib_ecore_avahi_libecore_avahi_la_CPPFLAGS = -I$(top_builddir)/src/lib/efl @ECORE_AVAHI_CFLAGS@ -DEFL_BUILD
lib_ecore_avahi_libecore_avahi_la_LIBADD = @ECORE_AVAHI_LIBS@
lib_ecore_avahi_libecore_avahi_la_DEPENDENCIES = @ECORE_AVAHI_INTERNAL_LIBS@
lib_ecore_avahi_libecore_avahi_la_LDFLAGS = @EFL_LTLIBRARY_FLAGS@
diff --git a/src/Makefile_Ecore_Con.am b/src/Makefile_Ecore_Con.am
index c51e38f2f4..594046b3c5 100644
--- a/src/Makefile_Ecore_Con.am
+++ b/src/Makefile_Ecore_Con.am
@@ -188,6 +188,7 @@ lib_ecore_con_libecore_con_la_CPPFLAGS = -I$(top_builddir)/src/lib/efl \
-DPACKAGE_DATA_DIR=\"$(datadir)/ecore\" \
-DPACKAGE_BUILD_DIR=\"$(abs_top_builddir)\" \
-DPACKAGE_SRC_DIR=\"$(abs_top_srcdir)\" \
+-DEFL_BUILD \
@ECORE_CON_CFLAGS@
lib_ecore_con_libecore_con_la_LIBADD = @ECORE_CON_LIBS@ @EVIL_LIBS@
lib_ecore_con_libecore_con_la_DEPENDENCIES = @ECORE_CON_INTERNAL_LIBS@
diff --git a/src/Makefile_Ecore_Evas.am b/src/Makefile_Ecore_Evas.am
index 0c3c335679..8f74f95b0b 100644
--- a/src/Makefile_Ecore_Evas.am
+++ b/src/Makefile_Ecore_Evas.am
@@ -34,6 +34,7 @@ lib_ecore_evas_libecore_evas_la_CPPFLAGS = -I$(top_builddir)/src/lib/efl \
-DPACKAGE_DATA_DIR=\"$(datadir)/ecore_evas\" \
-DPACKAGE_BUILD_DIR=\"$(abs_top_builddir)\" \
-DPACKAGE_SRC_DIR=\"$(abs_top_srcdir)\" \
+-DEFL_BUILD \
@ECORE_EVAS_CFLAGS@
lib_ecore_evas_libecore_evas_la_LIBADD = @ECORE_EVAS_LIBS@
lib_ecore_evas_libecore_evas_la_DEPENDENCIES = @ECORE_EVAS_INTERNAL_LIBS@
@@ -83,6 +84,7 @@ $(install_ecoreevasenginexpkgLTLIBRARIES): install-libLTLIBRARIES
modules_ecore_evas_engines_x_module_la_SOURCES = $(XSOURCES)
modules_ecore_evas_engines_x_module_la_CPPFLAGS = -I$(top_builddir)/src/lib/efl \
+-DEFL_BUILD \
@ECORE_EVAS_CFLAGS@ \
@ECORE_X_CFLAGS@ \
-I$(top_srcdir)/src/modules/evas/engines/software_x11 \
@@ -193,6 +195,7 @@ $(install_ecoreevasenginesdlpkgLTLIBRARIES): install-libLTLIBRARIES
modules_ecore_evas_engines_sdl_module_la_SOURCES = $(SDLSOURCES)
modules_ecore_evas_engines_sdl_module_la_CPPFLAGS = -I$(top_builddir)/src/lib/efl \
+-DEFL_BUILD \
@ECORE_EVAS_CFLAGS@ \
@ECORE_SDL_CFLAGS@ \
-I$(top_srcdir)/src/modules/evas/engines/buffer \
@@ -220,6 +223,7 @@ $(install_ecoreevasengineswin32pkgLTLIBRARIES): install-libLTLIBRARIES
modules_ecore_evas_engines_win32_module_la_SOURCES = $(WIN32SOURCES)
modules_ecore_evas_engines_win32_module_la_CPPFLAGS = -I$(top_builddir)/src/lib/efl \
+-DEFL_BUILD \
@ECORE_EVAS_CFLAGS@ \
@ECORE_WIN32_CFLAGS@ \
-I$(top_srcdir)/src/modules/evas/engines/software_ddraw \
diff --git a/src/Makefile_Ecore_File.am b/src/Makefile_Ecore_File.am
index a31431508e..8f5924504f 100644
--- a/src/Makefile_Ecore_File.am
+++ b/src/Makefile_Ecore_File.am
@@ -27,7 +27,7 @@ lib/ecore_file/ecore_file_monitor_poll.c
endif
endif
-lib_ecore_file_libecore_file_la_CPPFLAGS = -I$(top_builddir)/src/lib/efl @ECORE_FILE_CFLAGS@
+lib_ecore_file_libecore_file_la_CPPFLAGS = -I$(top_builddir)/src/lib/efl @ECORE_FILE_CFLAGS@ -DEFL_BUILD
lib_ecore_file_libecore_file_la_LIBADD = @ECORE_FILE_LIBS@
lib_ecore_file_libecore_file_la_DEPENDENCIES = @ECORE_FILE_INTERNAL_LIBS@
lib_ecore_file_libecore_file_la_LDFLAGS = @EFL_LTLIBRARY_FLAGS@
diff --git a/src/Makefile_Ecore_IMF.am b/src/Makefile_Ecore_IMF.am
index c43f2a82c1..ac099c38bb 100644
--- a/src/Makefile_Ecore_IMF.am
+++ b/src/Makefile_Ecore_IMF.am
@@ -22,6 +22,7 @@ lib_ecore_imf_libecore_imf_la_CPPFLAGS = -I$(top_builddir)/src/lib/efl \
-DPACKAGE_DATA_DIR=\"$(datadir)/ecore_imf\" \
-DPACKAGE_BUILD_DIR=\"$(abs_top_builddir)\" \
-DPACKAGE_SRC_DIR=\"$(abs_top_srcdir)\" \
+-DEFL_BUILD \
@ECORE_IMF_CFLAGS@
lib_ecore_imf_libecore_imf_la_LIBADD = @ECORE_IMF_LIBS@
lib_ecore_imf_libecore_imf_la_DEPENDENCIES = @ECORE_IMF_INTERNAL_LIBS@
diff --git a/src/Makefile_Ecore_IMF_Evas.am b/src/Makefile_Ecore_IMF_Evas.am
index abb3d57ae6..b2fd780713 100644
--- a/src/Makefile_Ecore_IMF_Evas.am
+++ b/src/Makefile_Ecore_IMF_Evas.am
@@ -9,7 +9,7 @@ lib_LTLIBRARIES += \
lib/ecore_imf_evas/libecore_imf_evas.la
lib_ecore_imf_evas_libecore_imf_evas_la_SOURCES = lib/ecore_imf_evas/ecore_imf_evas.c
-lib_ecore_imf_evas_libecore_imf_evas_la_CPPFLAGS = -I$(top_builddir)/src/lib/efl @ECORE_IMF_EVAS_CFLAGS@
+lib_ecore_imf_evas_libecore_imf_evas_la_CPPFLAGS = -I$(top_builddir)/src/lib/efl @ECORE_IMF_EVAS_CFLAGS@ -DEFL_BUILD
lib_ecore_imf_evas_libecore_imf_evas_la_LIBADD = @ECORE_IMF_EVAS_LIBS@
lib_ecore_imf_evas_libecore_imf_evas_la_DEPENDENCIES = @ECORE_IMF_EVAS_INTERNAL_LIBS@
lib_ecore_imf_evas_libecore_imf_evas_la_LDFLAGS = @EFL_LTLIBRARY_FLAGS@
diff --git a/src/Makefile_Ecore_Input.am b/src/Makefile_Ecore_Input.am
index a664cfba6d..0dc407bab5 100644
--- a/src/Makefile_Ecore_Input.am
+++ b/src/Makefile_Ecore_Input.am
@@ -15,7 +15,7 @@ lib/ecore_input/ecore_input_joystick.c \
lib/ecore_input/ecore_input_compose.h \
lib/ecore_input/ecore_input_private.h
-lib_ecore_input_libecore_input_la_CPPFLAGS = -I$(top_builddir)/src/lib/efl @ECORE_INPUT_CFLAGS@
+lib_ecore_input_libecore_input_la_CPPFLAGS = -I$(top_builddir)/src/lib/efl @ECORE_INPUT_CFLAGS@ -DEFL_BUILD
lib_ecore_input_libecore_input_la_LIBADD = @ECORE_INPUT_LIBS@
lib_ecore_input_libecore_input_la_DEPENDENCIES = @ECORE_INPUT_INTERNAL_LIBS@
lib_ecore_input_libecore_input_la_LDFLAGS = @EFL_LTLIBRARY_FLAGS@
diff --git a/src/Makefile_Ecore_Input_Evas.am b/src/Makefile_Ecore_Input_Evas.am
index b56efc3741..23bcb92cda 100644
--- a/src/Makefile_Ecore_Input_Evas.am
+++ b/src/Makefile_Ecore_Input_Evas.am
@@ -12,7 +12,7 @@ lib_ecore_input_evas_libecore_input_evas_la_SOURCES = \
lib/ecore_input_evas/ecore_input_evas.c \
lib/ecore_input_evas/ecore_input_evas_private.h
-lib_ecore_input_evas_libecore_input_evas_la_CPPFLAGS = -I$(top_builddir)/src/lib/efl @ECORE_INPUT_EVAS_CFLAGS@
+lib_ecore_input_evas_libecore_input_evas_la_CPPFLAGS = -I$(top_builddir)/src/lib/efl @ECORE_INPUT_EVAS_CFLAGS@ -DEFL_BUILD
lib_ecore_input_evas_libecore_input_evas_la_LIBADD = @ECORE_INPUT_EVAS_LIBS@
lib_ecore_input_evas_libecore_input_evas_la_DEPENDENCIES = @ECORE_INPUT_EVAS_INTERNAL_LIBS@
lib_ecore_input_evas_libecore_input_evas_la_LDFLAGS = @EFL_LTLIBRARY_FLAGS@
diff --git a/src/Makefile_Ecore_Ipc.am b/src/Makefile_Ecore_Ipc.am
index 4740b76253..0f09209f47 100644
--- a/src/Makefile_Ecore_Ipc.am
+++ b/src/Makefile_Ecore_Ipc.am
@@ -11,7 +11,7 @@ lib_ecore_ipc_libecore_ipc_la_SOURCES = \
lib/ecore_ipc/ecore_ipc.c \
lib/ecore_ipc/ecore_ipc_private.h
-lib_ecore_ipc_libecore_ipc_la_CPPFLAGS = -I$(top_builddir)/src/lib/efl @ECORE_IPC_CFLAGS@
+lib_ecore_ipc_libecore_ipc_la_CPPFLAGS = -I$(top_builddir)/src/lib/efl @ECORE_IPC_CFLAGS@ -DEFL_BUILD
lib_ecore_ipc_libecore_ipc_la_LIBADD = @ECORE_IPC_LIBS@ @EVIL_LIBS@
lib_ecore_ipc_libecore_ipc_la_DEPENDENCIES = @ECORE_IPC_INTERNAL_LIBS@
lib_ecore_ipc_libecore_ipc_la_LDFLAGS = @EFL_LTLIBRARY_FLAGS@
diff --git a/src/Makefile_Ecore_SDL.am b/src/Makefile_Ecore_SDL.am
index 7262c2b324..88eec1bd10 100644
--- a/src/Makefile_Ecore_SDL.am
+++ b/src/Makefile_Ecore_SDL.am
@@ -13,7 +13,7 @@ lib/ecore_sdl/ecore_sdl.c \
lib/ecore_sdl/Ecore_Sdl_Keys.h \
lib/ecore_sdl/ecore_sdl_private.h
-lib_ecore_sdl_libecore_sdl_la_CPPFLAGS = -I$(top_builddir)/src/lib/efl @ECORE_SDL_CFLAGS@
+lib_ecore_sdl_libecore_sdl_la_CPPFLAGS = -I$(top_builddir)/src/lib/efl @ECORE_SDL_CFLAGS@ -DEFL_BUILD
lib_ecore_sdl_libecore_sdl_la_LIBADD = @ECORE_SDL_LIBS@
lib_ecore_sdl_libecore_sdl_la_DEPENDENCIES = @ECORE_SDL_INTERNAL_LIBS@
lib_ecore_sdl_libecore_sdl_la_LDFLAGS = @EFL_LTLIBRARY_FLAGS@
diff --git a/src/Makefile_Ecore_Win32.am b/src/Makefile_Ecore_Win32.am
index c230a8b8f1..817eabe90b 100644
--- a/src/Makefile_Ecore_Win32.am
+++ b/src/Makefile_Ecore_Win32.am
@@ -28,7 +28,7 @@ lib/ecore_win32/ecore_win32_dnd_drop_source.h \
lib/ecore_win32/ecore_win32_dnd_drop_target.h \
lib/ecore_win32/ecore_win32_keysym_table.h
-lib_ecore_win32_libecore_win32_la_CPPFLAGS = -I$(top_builddir)/src/lib/efl @ECORE_WIN32_CFLAGS@
+lib_ecore_win32_libecore_win32_la_CPPFLAGS = -I$(top_builddir)/src/lib/efl @ECORE_WIN32_CFLAGS@ -DEFL_BUILD
lib_ecore_win32_libecore_win32_la_LIBADD = @ECORE_WIN32_LIBS@
lib_ecore_win32_libecore_win32_la_DEPENDENCIES = @ECORE_WIN32_INTERNAL_LIBS@
lib_ecore_win32_libecore_win32_la_LDFLAGS = @EFL_LTLIBRARY_FLAGS@
diff --git a/src/Makefile_Ecore_X.am b/src/Makefile_Ecore_X.am
index 3b0252290b..636f745d90 100644
--- a/src/Makefile_Ecore_X.am
+++ b/src/Makefile_Ecore_X.am
@@ -49,6 +49,7 @@ lib/ecore_x/ecore_x_private.h
lib_ecore_x_libecore_x_la_CPPFLAGS = \
-I$(top_builddir)/src/lib/efl \
+-DEFL_BUILD \
@ECORE_X_CFLAGS@ @ECORE_CON_CFLAGS@ \
-DPACKAGE_BIN_DIR=\"$(bindir)\" \
-DPACKAGE_LIB_DIR=\"$(libdir)\" \
diff --git a/src/Makefile_Ector.am b/src/Makefile_Ector.am
index 9288458fc3..52a6047067 100644
--- a/src/Makefile_Ector.am
+++ b/src/Makefile_Ector.am
@@ -161,6 +161,7 @@ lib_ector_libector_la_CPPFLAGS = -I$(top_builddir)/src/lib/efl \
-I$(top_srcdir)/src/static_libs/freetype \
-I$(top_srcdir)/src/static_libs/draw \
-I$(top_srcdir)/src/static_libs/triangulator \
+-DEFL_BUILD \
@ECTOR_CFLAGS@ \
-DPACKAGE_BIN_DIR=\"$(bindir)\" \
-DPACKAGE_LIB_DIR=\"$(libdir)\" \
diff --git a/src/Makefile_Edje.am b/src/Makefile_Edje.am
index 916ab65b98..827e7237f5 100644
--- a/src/Makefile_Edje.am
+++ b/src/Makefile_Edje.am
@@ -23,7 +23,6 @@ edje_eolian_priv_files = \
edje_eolian_c = $(edje_eolian_files:%.eo=%.eo.c)
edje_eolian_h = $(edje_eolian_files:%.eo=%.eo.h) \
- $(edje_eolian_files:%.eo=%.eo.legacy.h) \
$(edje_eolian_type_files:%.eot=%.eot.h)
edje_eolian_priv_c = $(edje_eolian_priv_files:%.eo=%.eo.c)
@@ -127,7 +126,7 @@ static_libs/buildsystem/buildsystem.h \
static_libs/buildsystem/buildsystem_autotools.c
-lib_edje_libedje_la_CPPFLAGS = -I$(top_builddir)/src/lib/efl $(EDJE_COMMON_CPPFLAGS)
+lib_edje_libedje_la_CPPFLAGS = -I$(top_builddir)/src/lib/efl $(EDJE_COMMON_CPPFLAGS) -DEFL_BUILD
lib_edje_libedje_la_LIBADD = @EDJE_LIBS@ @EDJE_LUA_LIBS@
lib_edje_libedje_la_DEPENDENCIES = @EDJE_INTERNAL_LIBS@
lib_edje_libedje_la_LDFLAGS = @EFL_LTLIBRARY_FLAGS@
diff --git a/src/Makefile_Eet.am b/src/Makefile_Eet.am
index 6724cdb4a5..3dc86a5c6e 100644
--- a/src/Makefile_Eet.am
+++ b/src/Makefile_Eet.am
@@ -27,6 +27,7 @@ lib_eet_libeet_la_CPPFLAGS = -I$(top_builddir)/src/lib/efl \
-DPACKAGE_BIN_DIR=\"$(bindir)\" \
-DPACKAGE_LIB_DIR=\"$(libdir)\" \
-DPACKAGE_DATA_DIR=\"$(datadir)/eet\" \
+-DEFL_BUILD \
@EET_CFLAGS@ \
@NEON_CFLAGS@
lib_eet_libeet_la_LIBADD = @EET_LIBS@ @EVIL_LIBS@
diff --git a/src/Makefile_Eeze.am b/src/Makefile_Eeze.am
index 2e650d8069..5f8eb02605 100644
--- a/src/Makefile_Eeze.am
+++ b/src/Makefile_Eeze.am
@@ -53,6 +53,7 @@ lib_eeze_libeeze_la_CPPFLAGS = -I$(top_builddir)/src/lib/efl \
-DPACKAGE_DATA_DIR=\"$(datadir)/eeze\" \
-DPACKAGE_BUILD_DIR=\"$(abs_top_builddir)\" \
-DPACKAGE_SRC_DIR=\"$(abs_top_srcdir)\" \
+-DEFL_BUILD \
@EEZE_CFLAGS@
lib_eeze_libeeze_la_LIBADD = @EEZE_LIBS@
lib_eeze_libeeze_la_DEPENDENCIES = @EEZE_INTERNAL_LIBS@
diff --git a/src/Makefile_Efl.am b/src/Makefile_Efl.am
index c178a7d4dc..283c8b975c 100644
--- a/src/Makefile_Efl.am
+++ b/src/Makefile_Efl.am
@@ -139,7 +139,7 @@ lib/efl/interfaces/efl_text_markup_util.c \
lib/efl/interfaces/efl_ui_direction_readonly.c \
$(NULL)
-lib_efl_libefl_la_CPPFLAGS = -I$(top_builddir)/src/lib/efl -I$(top_srcdir)/src/lib/efl @EFL_CFLAGS@ -DEFL_GFX_FILTER_BETA
+lib_efl_libefl_la_CPPFLAGS = -I$(top_builddir)/src/lib/efl -I$(top_srcdir)/src/lib/efl @EFL_CFLAGS@ -DEFL_GFX_FILTER_BETA -DEFL_BUILD
lib_efl_libefl_la_LIBADD = @EFL_LIBS@
lib_efl_libefl_la_DEPENDENCIES = @EFL_INTERNAL_LIBS@
lib_efl_libefl_la_LDFLAGS = @EFL_LTLIBRARY_FLAGS@
diff --git a/src/Makefile_Efl_Mono.am b/src/Makefile_Efl_Mono.am
index 43f2a1c6e2..5c6d57e626 100644
--- a/src/Makefile_Efl_Mono.am
+++ b/src/Makefile_Efl_Mono.am
@@ -244,6 +244,7 @@ lib_efl_mono_libeflcustomexportsmono_la_SOURCES = \
lib_efl_mono_libeflcustomexportsmono_la_CPPFLAGS = \
-DEFL_BETA_API_SUPPORT \
-I$(top_builddir)/src/lib/efl \
+-DEFL_BUILD \
@EFL_CUSTOM_EXPORTS_MONO_CFLAGS@
lib_efl_mono_libeflcustomexportsmono_la_LDFLAGS = @EFL_LTLIBRARY_FLAGS@
lib_efl_mono_libeflcustomexportsmono_la_LIBADD = @EFL_CUSTOM_EXPORTS_MONO_LIBS@
diff --git a/src/Makefile_Efreet.am b/src/Makefile_Efreet.am
index a8aa02ff2f..c0ad0d7b60 100644
--- a/src/Makefile_Efreet.am
+++ b/src/Makefile_Efreet.am
@@ -49,21 +49,21 @@ lib/efreet/efreet_cache_private.h \
static_libs/buildsystem/buildsystem.h \
static_libs/buildsystem/buildsystem_autotools.c
-lib_efreet_libefreet_la_CPPFLAGS = -I$(top_builddir)/src/lib/efl $(EFREET_COMMON_CPPFLAGS)
+lib_efreet_libefreet_la_CPPFLAGS = -I$(top_builddir)/src/lib/efl $(EFREET_COMMON_CPPFLAGS) -DEFL_BUILD
lib_efreet_libefreet_la_LIBADD = @EFREET_LIBS@ @EVIL_LIBS@
lib_efreet_libefreet_la_DEPENDENCIES = @EFREET_INTERNAL_LIBS@
lib_efreet_libefreet_la_LDFLAGS = @EFL_LTLIBRARY_FLAGS@
# libefreet_mime.la
lib_efreet_libefreet_mime_la_SOURCES = lib/efreet/efreet_mime.c
-lib_efreet_libefreet_mime_la_CPPFLAGS = -I$(top_builddir)/src/lib/efl $(EFREET_COMMON_CPPFLAGS)
+lib_efreet_libefreet_mime_la_CPPFLAGS = -I$(top_builddir)/src/lib/efl $(EFREET_COMMON_CPPFLAGS) -DEFL_BUILD
lib_efreet_libefreet_mime_la_LIBADD = @USE_EFREET_LIBS@ @EVIL_LIBS@
lib_efreet_libefreet_mime_la_DEPENDENCIES = @USE_EFREET_INTERNAL_LIBS@
lib_efreet_libefreet_mime_la_LDFLAGS = @EFL_LTLIBRARY_FLAGS@
# libefreet_trash.la
lib_efreet_libefreet_trash_la_SOURCES = lib/efreet/efreet_trash.c
-lib_efreet_libefreet_trash_la_CPPFLAGS = -I$(top_builddir)/src/lib/efl $(EFREET_COMMON_CPPFLAGS)
+lib_efreet_libefreet_trash_la_CPPFLAGS = -I$(top_builddir)/src/lib/efl $(EFREET_COMMON_CPPFLAGS) -DEFL_BUILD
lib_efreet_libefreet_trash_la_LIBADD = @USE_EFREET_LIBS@ @EVIL_LIBS@
lib_efreet_libefreet_trash_la_DEPENDENCIES = @USE_EFREET_INTERNAL_LIBS@
lib_efreet_libefreet_trash_la_LDFLAGS = @EFL_LTLIBRARY_FLAGS@
diff --git a/src/Makefile_Eina.am b/src/Makefile_Eina.am
index c274887438..40ef392965 100644
--- a/src/Makefile_Eina.am
+++ b/src/Makefile_Eina.am
@@ -210,7 +210,7 @@ einampchainedpool_LTLIBRARIES = modules/eina/mp/chained_pool/chained_pool_module
install_einampchainedpoolLTLIBRARIES = install-einampchainedpoolLTLIBRARIES
$(install_einampchainedpoolLTLIBRARIES): install-libLTLIBRARIES
-modules_eina_mp_chained_pool_chained_pool_module_la_CFLAGS = $(EINA_MODULE_COMMON_CFLAGS)
+modules_eina_mp_chained_pool_chained_pool_module_la_CFLAGS = $(EINA_MODULE_COMMON_CFLAGS) -DEFL_BUILD
modules_eina_mp_chained_pool_chained_pool_module_la_LIBADD = @USE_EINA_LIBS@
modules_eina_mp_chained_pool_chained_pool_module_la_DEPENDENCIES = @USE_EINA_INTERNAL_LIBS@
modules_eina_mp_chained_pool_chained_pool_module_la_LDFLAGS = -module @EFL_LTMODULE_FLAGS@
@@ -229,7 +229,7 @@ einamponebig_LTLIBRARIES = modules/eina/mp/one_big/one_big_module.la
install_einamponebigLTLIBRARIES = install-einamponebigLTLIBRARIES
$(install_einamponebigLTLIBRARIES): install-libLTLIBRARIES
-modules_eina_mp_one_big_one_big_module_la_CFLAGS = $(EINA_MODULE_COMMON_CFLAGS)
+modules_eina_mp_one_big_one_big_module_la_CFLAGS = $(EINA_MODULE_COMMON_CFLAGS) -DEFL_BUILD
modules_eina_mp_one_big_one_big_module_la_LIBADD = @USE_EINA_LIBS@
modules_eina_mp_one_big_one_big_module_la_DEPENDENCIES = @USE_EINA_INTERNAL_LIBS@
modules_eina_mp_one_big_one_big_module_la_LDFLAGS = -module @EFL_LTMODULE_FLAGS@
@@ -248,7 +248,7 @@ einamppassthrough_LTLIBRARIES = modules/eina/mp/pass_through/pass_through_module
install_einamppassthroughLTLIBRARIES = install-einamppassthroughLTLIBRARIES
$(install_einamppassthroughLTLIBRARIES): install-libLTLIBRARIES
-modules_eina_mp_pass_through_pass_through_module_la_CFLAGS = $(EINA_MODULE_COMMON_CFLAGS)
+modules_eina_mp_pass_through_pass_through_module_la_CFLAGS = $(EINA_MODULE_COMMON_CFLAGS) -DEFL_BUILD
modules_eina_mp_pass_through_pass_through_module_la_LIBADD = @USE_EINA_LIBS@
modules_eina_mp_pass_through_pass_through_module_la_DEPENDENCIES = @USE_EINA_INTERNAL_LIBS@
modules_eina_mp_pass_through_pass_through_module_la_LDFLAGS = -module @EFL_LTMODULE_FLAGS@
@@ -262,6 +262,7 @@ lib_eina_libeina_la_CPPFLAGS = -I$(top_builddir)/src/lib/efl \
-DPACKAGE_BIN_DIR=\"$(bindir)\" \
-DPACKAGE_LIB_DIR=\"$(libdir)\" \
-DPACKAGE_DATA_DIR=\"$(datadir)/eina\" \
+-DEFL_BUILD \
@VALGRIND_CFLAGS@
lib_eina_libeina_la_LIBADD = @EINA_LIBS@ @UNWIND_LIBS@
diff --git a/src/Makefile_Eio.am b/src/Makefile_Eio.am
index a92f13030b..aa75c5fbcf 100644
--- a/src/Makefile_Eio.am
+++ b/src/Makefile_Eio.am
@@ -61,7 +61,7 @@ endif
endif
endif
-lib_eio_libeio_la_CPPFLAGS = -I$(top_builddir)/src/lib/efl @EIO_CFLAGS@ @EFL_CFLAGS@
+lib_eio_libeio_la_CPPFLAGS = -I$(top_builddir)/src/lib/efl @EIO_CFLAGS@ @EFL_CFLAGS@ -DEFL_BUILD
lib_eio_libeio_la_LIBADD = @EIO_LIBS@ @EFL_LIBS@
lib_eio_libeio_la_DEPENDENCIES = @EIO_INTERNAL_LIBS@ @EFL_INTERNAL_LIBS@
lib_eio_libeio_la_LDFLAGS = @EFL_LTLIBRARY_FLAGS@
diff --git a/src/Makefile_Eldbus.am b/src/Makefile_Eldbus.am
index bb786104d5..dace370ec2 100644
--- a/src/Makefile_Eldbus.am
+++ b/src/Makefile_Eldbus.am
@@ -84,6 +84,7 @@ lib/eldbus/eldbus_introspection.c
lib_eldbus_libeldbus_la_CPPFLAGS = -I$(top_builddir)/src/lib/efl \
-include $(top_builddir)/config.h \
+-DEFL_BUILD \
@ELDBUS_CFLAGS@ @EFL_CFLAGS@
lib_eldbus_libeldbus_la_LIBADD = @ELDBUS_LIBS@ @EFL_LIBS@
lib_eldbus_libeldbus_la_DEPENDENCIES = @ELDBUS_INTERNAL_LIBS@ @EFL_INTERNAL_LIBS@
diff --git a/src/Makefile_Elementary.am b/src/Makefile_Elementary.am
index 9a36cbe910..dd050162ae 100644
--- a/src/Makefile_Elementary.am
+++ b/src/Makefile_Elementary.am
@@ -199,7 +199,6 @@ elm_eolian_type_files = \
elm_public_eolian_c = $(elm_public_eolian_files:%.eo=%.eo.c)
elm_public_eolian_h = $(elm_public_eolian_files:%.eo=%.eo.h) \
- $(elm_public_eolian_files:%.eo=%.eo.legacy.h) \
$(elm_eolian_type_files:%.eot=%.eot.h)
elm_private_eolian_c = $(elm_private_eolian_files:%.eo=%.eo.c)
@@ -207,7 +206,6 @@ elm_private_eolian_h = $(elm_private_eolian_files:%.eo=%.eo.h)
elm_legacy_eolian_c = $(elm_legacy_eolian_files:%.eo=%.eo.c)
elm_legacy_eolian_eo_h = $(elm_legacy_eolian_files:%.eo=%.eo.h)
-elm_legacy_eolian_legacy_h = $(elm_legacy_eolian_files:%.eo=%.eo.legacy.h)
BUILT_SOURCES += \
$(elm_public_eolian_c) \
@@ -215,8 +213,7 @@ BUILT_SOURCES += \
$(elm_private_eolian_c) \
$(elm_private_eolian_h) \
$(elm_legacy_eolian_c) \
- $(elm_legacy_eolian_eo_h) \
- $(elm_legacy_eolian_legacy_h)
+ $(elm_legacy_eolian_eo_h)
if INSTALL_EO_FILES
elementaryeolianfilesdir = $(datadir)/eolian/include/elementary-@VMAJ@
@@ -775,8 +772,7 @@ includesunstable_HEADERS = \
includesunstabledir = $(includedir)/elementary-@VMAJ@
nodist_includesunstable_HEADERS = \
- $(elm_public_eolian_h) \
- $(elm_legacy_eolian_legacy_h)
+ $(elm_public_eolian_h)
includesub_HEADERS = \
lib/elementary/elc_ctxpopup.h \
@@ -1250,7 +1246,7 @@ lib_elementary_libelementary_la_CPPFLAGS = \
-DLOCALE_DIR=\"$(localedir)\" \
-DICON_DIR=\"$(datadir)/icons\" \
-DELM_TOP_BUILD_DIR=\"$(top_builddir)\" \
--DELEMENTARY_BUILD \
+-DEFL_BUILD \
@ELEMENTARY_CFLAGS@
if HAVE_WINDOWS
@@ -1565,6 +1561,7 @@ modules_elementary_access_output_module_la_CPPFLAGS = \
-I$(top_builddir)/src/lib/elementary \
-DPACKAGE_DATA_DIR=\"$(pkgdatadir)\" \
-DPACKAGE_LIB_DIR=\"$(libdir)\" \
+-DEFL_BUILD \
@ELEMENTARY_CFLAGS@
modules_elementary_access_output_module_la_LIBADD = @USE_ELEMENTARY_LIBS@
modules_elementary_access_output_module_la_DEPENDENCIES = @USE_ELEMENTARY_INTERNAL_LIBS@
@@ -1592,6 +1589,7 @@ modules_elementary_clock_input_ctxpopup_module_la_CPPFLAGS = \
-I$(top_builddir)/src/lib/elementary \
-DPACKAGE_DATA_DIR=\"$(pkgdatadir)\" \
-DPACKAGE_LIB_DIR=\"$(libdir)\" \
+-DEFL_BUILD \
@ELEMENTARY_CFLAGS@
modules_elementary_clock_input_ctxpopup_module_la_LIBADD = @USE_ELEMENTARY_LIBS@
modules_elementary_clock_input_ctxpopup_module_la_DEPENDENCIES = @USE_ELEMENTARY_INTERNAL_LIBS@
@@ -1647,6 +1645,7 @@ modules_elementary_prefs_module_la_CPPFLAGS = \
-I$(top_builddir)/src/lib/elementary \
-DPACKAGE_DATA_DIR=\"$(pkgdatadir)\" \
-DPACKAGE_LIB_DIR=\"$(libdir)\" \
+-DEFL_BUILD \
@ELEMENTARY_CFLAGS@
if HAVE_WINDOWS
@@ -1681,6 +1680,7 @@ modules_elementary_test_entry_module_la_CPPFLAGS = \
-I$(top_builddir)/src/lib/elementary \
-DPACKAGE_DATA_DIR=\"$(pkgdatadir)\" \
-DPACKAGE_LIB_DIR=\"$(libdir)\" \
+-DEFL_BUILD \
@ELEMENTARY_CFLAGS@
modules_elementary_test_entry_module_la_LIBADD = @USE_ELEMENTARY_LIBS@
modules_elementary_test_entry_module_la_DEPENDENCIES = @USE_ELEMENTARY_INTERNAL_LIBS@
@@ -1707,6 +1707,7 @@ modules_elementary_test_map_module_la_CPPFLAGS = \
-I$(top_builddir)/src/lib/elementary \
-DPACKAGE_DATA_DIR=\"$(pkgdatadir)\" \
-DPACKAGE_LIB_DIR=\"$(libdir)\" \
+-DEFL_BUILD \
@ELEMENTARY_CFLAGS@
modules_elementary_test_map_module_la_LIBADD = @USE_ELEMENTARY_LIBS@
modules_elementary_test_map_module_la_DEPENDENCIES = @USE_ELEMENTARY_INTERNAL_LIBS@
@@ -1742,6 +1743,7 @@ modules_elementary_web_none_module_la_CPPFLAGS = \
-I$(top_builddir)/src/modules/elementary/web/none \
-DPACKAGE_DATA_DIR=\"$(pkgdatadir)\" \
-DPACKAGE_LIB_DIR=\"$(libdir)\" \
+-DEFL_BUILD \
@ELEMENTARY_CFLAGS@
modules_elementary_web_none_module_la_LIBADD = @USE_ELEMENTARY_LIBS@
modules_elementary_web_none_module_la_DEPENDENCIES = @USE_ELEMENTARY_INTERNAL_LIBS@
@@ -1811,6 +1813,7 @@ edje_external_elementary_module_la_CPPFLAGS = \
-I$(top_builddir)/src/edje_externals \
-DPACKAGE_DATA_DIR=\"$(pkgdatadir)\" \
-DPACKAGE_LIB_DIR=\"$(libdir)\" \
+-DEFL_BUILD \
@ELEMENTARY_CFLAGS@
edje_external_elementary_module_la_LIBADD = @USE_ELEMENTARY_LIBS@
edje_external_elementary_module_la_DEPENDENCIES = @USE_ELEMENTARY_INTERNAL_LIBS@
diff --git a/src/Makefile_Elocation.am b/src/Makefile_Elocation.am
index 292f4738be..d9c5a489a8 100644
--- a/src/Makefile_Elocation.am
+++ b/src/Makefile_Elocation.am
@@ -17,7 +17,7 @@ lib/elocation/gen/eldbus_geo_clue2_client.c \
lib/elocation/gen/eldbus_geo_clue2_location.c \
lib/elocation/gen/eldbus_geo_clue2_manager.c
-lib_elocation_libelocation_la_CPPFLAGS = -I$(top_builddir)/src/lib/efl @ELOCATION_CFLAGS@ @EFL_CFLAGS@
+lib_elocation_libelocation_la_CPPFLAGS = -I$(top_builddir)/src/lib/efl @ELOCATION_CFLAGS@ @EFL_CFLAGS@ -DEFL_BUILD
lib_elocation_libelocation_la_LIBADD = @ELOCATION_LIBS@
lib_elocation_libelocation_la_DEPENDENCIES = @ELOCATION_INTERNAL_LIBS@
lib_elocation_libelocation_la_LDFLAGS = @EFL_LTLIBRARY_FLAGS@
diff --git a/src/Makefile_Elput.am b/src/Makefile_Elput.am
index d2b97930ce..a3abb335b3 100644
--- a/src/Makefile_Elput.am
+++ b/src/Makefile_Elput.am
@@ -19,6 +19,7 @@ lib/elput/elput_private.h
lib_elput_libelput_la_CPPFLAGS = \
-I$(top_builddir)/src/lib/efl \
+ -DEFL_BUILD \
@ELPUT_CFLAGS@ @EFL_CFLAGS@ \
-DPACKAGE_LIB_DIR=\"$(libdir)\" \
-DMODULE_ARCH=\"$(MODULE_ARCH)\"
diff --git a/src/Makefile_Elua.am b/src/Makefile_Elua.am
index 5b1004b884..069a33c0ef 100644
--- a/src/Makefile_Elua.am
+++ b/src/Makefile_Elua.am
@@ -13,6 +13,7 @@ lib_elua_libelua_la_SOURCES = \
lib/elua/cache.c
lib_elua_libelua_la_CPPFLAGS = -I$(top_builddir)/src/lib/efl @ELUA_CFLAGS@ \
+ -DEFL_BUILD \
-DLOCALE_DIR=\"@LOCALE_DIR@\" \
-DPACKAGE_BIN_DIR=\"$(bindir)\" \
-DPACKAGE_DATA_DIR=\"$(datadir)/elua\"
diff --git a/src/Makefile_Embryo.am b/src/Makefile_Embryo.am
index f5e187c8f2..be764f4f92 100644
--- a/src/Makefile_Embryo.am
+++ b/src/Makefile_Embryo.am
@@ -20,6 +20,7 @@ lib_embryo_libembryo_la_CPPFLAGS = -I$(top_builddir)/src/lib/efl \
-DPACKAGE_BIN_DIR=\"$(bindir)\" \
-DPACKAGE_LIB_DIR=\"$(libdir)\" \
-DPACKAGE_DATA_DIR=\"$(datadir)/embryo\" \
+-DEFL_BUILD \
@EMBRYO_CFLAGS@
lib_embryo_libembryo_la_LIBADD = @EMBRYO_LIBS@
lib_embryo_libembryo_la_DEPENDENCIES = @EMBRYO_INTERNAL_LIBS@
diff --git a/src/Makefile_Emile.am b/src/Makefile_Emile.am
index 90834cfc3f..59ac7bb4e9 100644
--- a/src/Makefile_Emile.am
+++ b/src/Makefile_Emile.am
@@ -44,6 +44,7 @@ lib_emile_libemile_la_CPPFLAGS = -I$(top_builddir)/src/lib/efl \
-DPACKAGE_BIN_DIR=\"$(bindir)\" \
-DPACKAGE_LIB_DIR=\"$(libdir)\" \
-DPACKAGE_DATA_DIR=\"$(datadir)/emile\" \
+-DEFL_BUILD \
@EMILE_CFLAGS@ \
@NEON_CFLAGS@
diff --git a/src/Makefile_Emotion.am b/src/Makefile_Emotion.am
index 639557ea53..2de10651c2 100644
--- a/src/Makefile_Emotion.am
+++ b/src/Makefile_Emotion.am
@@ -47,6 +47,7 @@ lib_emotion_libemotion_la_CPPFLAGS = -I$(top_builddir)/src/lib/efl \
-DPACKAGE_DATA_DIR=\"$(datadir)/emotion\" \
-DPACKAGE_BUILD_DIR=\"$(abs_top_builddir)\" \
-DPACKAGE_SRC_DIR=\"$(abs_top_srcdir)\" \
+-DEFL_BUILD \
@EMOTION_CFLAGS@
lib_emotion_libemotion_la_LIBADD = @EMOTION_LIBS@
lib_emotion_libemotion_la_DEPENDENCIES = @EMOTION_INTERNAL_LIBS@
@@ -74,6 +75,7 @@ $(install_emotionmodulexineLTLIBRARIES): install-libLTLIBRARIES
modules_emotion_xine_module_la_SOURCES = $(EMOTION_XINE_SOURCES)
modules_emotion_xine_module_la_CPPFLAGS = -I$(top_builddir)/src/lib/efl \
+-DEFL_BUILD \
@EMOTION_CFLAGS@ \
@EMOTION_MODULE_XINE_CFLAGS@
modules_emotion_xine_module_la_LIBADD = \
@@ -108,6 +110,7 @@ $(install_emotionmodulegstreamerLTLIBRARIES): install-libLTLIBRARIES
modules_emotion_gstreamer_module_la_SOURCES = $(EMOTION_GSTREAMER_SOURCES)
modules_emotion_gstreamer_module_la_CPPFLAGS = -I$(top_builddir)/src/lib/efl \
+-DEFL_BUILD \
@EMOTION_CFLAGS@ \
@EMOTION_MODULE_GSTREAMER_CFLAGS@
modules_emotion_gstreamer_module_la_LIBADD = \
@@ -146,6 +149,7 @@ $(install_emotionmodulegstreamer1LTLIBRARIES): install-libLTLIBRARIES
modules_emotion_gstreamer1_module_la_SOURCES = $(EMOTION_GSTREAMER1_SOURCES)
modules_emotion_gstreamer1_module_la_CPPFLAGS = -I$(top_builddir)/src/lib/efl \
+-DEFL_BUILD \
@EMOTION_CFLAGS@ \
@EMOTION_MODULE_GSTREAMER1_CFLAGS@
modules_emotion_gstreamer1_module_la_LIBADD = \
@@ -175,6 +179,7 @@ $(install_emotionmodulelibvlcLTLIBRARIES): install-libLTLIBRARIES
modules_emotion_libvlc_module_la_SOURCES = $(EMOTION_LIBVLC_SOURCES)
modules_emotion_libvlc_module_la_CPPFLAGS = -I$(top_builddir)/src/lib/efl \
+-DEFL_BUILD \
@EMOTION_CFLAGS@ \
@EMOTION_MODULE_LIBVLC_CFLAGS@
modules_emotion_libvlc_module_la_LIBADD = \
@@ -205,6 +210,7 @@ $(install_emotionmodulegenericLTLIBRARIES): install-libLTLIBRARIES
modules_emotion_generic_module_la_SOURCES = $(EMOTION_GENERIC_SOURCES)
modules_emotion_generic_module_la_CPPFLAGS = -I$(top_builddir)/src/lib/efl \
+-DEFL_BUILD \
@EMOTION_CFLAGS@ \
@EMOTION_MODULE_GENERIC_CFLAGS@ \
-DPACKAGE_BIN_DIR=\"$(bindir)\" \
@@ -237,6 +243,7 @@ $(install_emotionedjeexternalLTLIBRARIES): install-libLTLIBRARIES
edje_external_emotion_module_la_SOURCES = \
edje_external/emotion/emotion.c
edje_external_emotion_module_la_CPPFLAGS = -I$(top_builddir)/src/lib/efl \
+-DEFL_BUILD \
@EDJE_CFLAGS@ \
@EMOTION_CFLAGS@ \
-DPACKAGE_DATA_DIR=\"$(datadir)/emotion\"
diff --git a/src/Makefile_Eo.am b/src/Makefile_Eo.am
index 68a8c02f3e..19179a78c3 100644
--- a/src/Makefile_Eo.am
+++ b/src/Makefile_Eo.am
@@ -35,6 +35,7 @@ lib/eo/eo_private.h
lib_eo_libeo_la_CPPFLAGS = \
-I$(top_builddir)/src/lib/efl \
+-DEFL_BUILD \
@EO_CFLAGS@ \
@VALGRIND_CFLAGS@
lib_eo_libeo_la_LIBADD = @EO_LIBS@
@@ -43,7 +44,7 @@ lib_eo_libeo_la_LDFLAGS = @EFL_LTLIBRARY_FLAGS@
### The Eo debug build
lib_eo_libeo_dbg_la_SOURCES = $(lib_eo_libeo_la_SOURCES)
-lib_eo_libeo_dbg_la_CPPFLAGS = $(lib_eo_libeo_la_CPPFLAGS) -DEO_DEBUG
+lib_eo_libeo_dbg_la_CPPFLAGS = $(lib_eo_libeo_la_CPPFLAGS) -DEO_DEBUG -DEFL_BUILD
lib_eo_libeo_dbg_la_LIBADD = $(lib_eo_libeo_la_LIBADD)
lib_eo_libeo_dbg_la_DEPENDENCIES = $(lib_eo_libeo_la_DEPENDENCIES)
lib_eo_libeo_dbg_la_LDFLAGS = $(lib_eo_libeo_la_LDFLAGS)
diff --git a/src/Makefile_Eolian.am b/src/Makefile_Eolian.am
index 06c7638c8e..c75394e03f 100644
--- a/src/Makefile_Eolian.am
+++ b/src/Makefile_Eolian.am
@@ -40,6 +40,7 @@ lib_eolian_libeolian_la_SOURCES = \
lib/eolian/eolian_aux.c
lib_eolian_libeolian_la_CPPFLAGS = -I$(top_builddir)/src/lib/efl @EOLIAN_CFLAGS@ \
+ -DEFL_BUILD \
-DPACKAGE_DATA_DIR=\"$(datadir)/eolian\"
lib_eolian_libeolian_la_LIBADD = @EOLIAN_LIBS@
diff --git a/src/Makefile_Eolian_Files_Helper.am b/src/Makefile_Eolian_Files_Helper.am
index 35bf1318cc..727e0ad229 100644
--- a/src/Makefile_Eolian_Files_Helper.am
+++ b/src/Makefile_Eolian_Files_Helper.am
@@ -3,14 +3,13 @@ AM_V_EOL = $(am__v_EOL_@AM_V@)
am__v_EOL_ = $(am__v_EOL_@AM_DEFAULT_V@)
am__v_EOL_0 = @echo " EOLIAN " $@;
-SUFFIXES = .eo .eo.c .eo.h .eo.legacy.h .eot .eot.h
+SUFFIXES = .eo .eo.c .eo.h .eot .eot.h
#disable rules for subdir builds to avoid recursive dependencies
../%.eo.c: %.eo ${_EOLIAN_GEN_DEP}
../%.eo.h: %.eo ${_EOLIAN_GEN_DEP}
../%.eot.h: %.eot ${_EOLIAN_GEN_DEP}
-../%.eo.legacy.h: %.eo ${_EOLIAN_GEN_DEP}
%.eo.c: %.eo ${_EOLIAN_GEN_DEP}
$(AM_V_EOL) \
@@ -26,8 +25,3 @@ SUFFIXES = .eo .eo.c .eo.h .eo.legacy.h .eot .eot.h
$(AM_V_EOL) \
$(MKDIR_P) $(@D); \
$(EOLIAN_GEN) $(EOLIAN_FLAGS) $(EOLIAN_GEN_FLAGS) -gh -o h:$@ $<
-
-%.eo.legacy.h: %.eo ${_EOLIAN_GEN_DEP}
- $(AM_V_EOL) \
- $(MKDIR_P) $(@D); \
- $(EOLIAN_GEN) $(EOLIAN_FLAGS) $(EOLIAN_GEN_FLAGS) -gl -o l:$@ $<
diff --git a/src/Makefile_Ethumb.am b/src/Makefile_Ethumb.am
index f359ef434b..6d9f0cb0ce 100644
--- a/src/Makefile_Ethumb.am
+++ b/src/Makefile_Ethumb.am
@@ -22,6 +22,7 @@ lib_ethumb_libethumb_la_CPPFLAGS = -I$(top_builddir)/src/lib/efl \
-DPACKAGE_DATA_DIR=\"$(datadir)/ethumb\" \
-DPACKAGE_BUILD_DIR=\"$(abs_top_builddir)\" \
-DPACKAGE_SRC_DIR=\"$(abs_top_srcdir)\" \
+-DEFL_BUILD \
@ETHUMB_CFLAGS@
lib_ethumb_libethumb_la_LIBADD = @ETHUMB_LIBS@
lib_ethumb_libethumb_la_DEPENDENCIES = @ETHUMB_INTERNAL_LIBS@
@@ -46,6 +47,7 @@ modules_ethumb_emotion_module_la_CPPFLAGS = -I$(top_builddir)/src/lib/efl \
-DPACKAGE_LIB_DIR=\"$(libdir)\" \
-DPACKAGE_DATA_DIR=\"$(datadir)/ethumb\" \
-DPACKAGE_BUILD_DIR=\"$(abs_top_builddir)\" \
+-DEFL_BUILD \
@EMOTION_CFLAGS@ \
@ETHUMB_CFLAGS@
modules_ethumb_emotion_module_la_LIBADD = \
diff --git a/src/Makefile_Ethumb_Client.am b/src/Makefile_Ethumb_Client.am
index 6b37b34dbd..a319f5da02 100644
--- a/src/Makefile_Ethumb_Client.am
+++ b/src/Makefile_Ethumb_Client.am
@@ -9,7 +9,7 @@ lib/ethumb_client/Ethumb_Client.h
# libethumb_client.la
lib_ethumb_client_libethumb_client_la_SOURCES = lib/ethumb_client/ethumb_client.c
-lib_ethumb_client_libethumb_client_la_CPPFLAGS = -I$(top_builddir)/src/lib/efl @ETHUMB_CLIENT_CFLAGS@
+lib_ethumb_client_libethumb_client_la_CPPFLAGS = -I$(top_builddir)/src/lib/efl @ETHUMB_CLIENT_CFLAGS@ -DEFL_BUILD
lib_ethumb_client_libethumb_client_la_LIBADD = @ETHUMB_CLIENT_LIBS@
lib_ethumb_client_libethumb_client_la_DEPENDENCIES = @ETHUMB_CLIENT_INTERNAL_LIBS@
lib_ethumb_client_libethumb_client_la_LDFLAGS = @EFL_LTLIBRARY_FLAGS@
diff --git a/src/Makefile_Evas.am b/src/Makefile_Evas.am
index 84138f338b..ea84cd2546 100644
--- a/src/Makefile_Evas.am
+++ b/src/Makefile_Evas.am
@@ -85,12 +85,10 @@ evas_gesture_eolian_priv_h = $(evas_gesture_eolian_priv_files:%.eo=%.eo.h)
evas_canvas_eolian_pub_c = $(evas_canvas_eolian_pub_files:%.eo=%.eo.c)
evas_canvas_eolian_pub_h = $(evas_canvas_eolian_pub_files:%.eo=%.eo.h) \
- $(evas_canvas_eolian_pub_files:%.eo=%.eo.legacy.h) \
$(evas_canvas_eolian_type_files:%.eot=%.eot.h)
evas_gesture_eolian_pub_c = $(evas_gesture_eolian_pub_files:%.eo=%.eo.c)
evas_gesture_eolian_pub_h = $(evas_gesture_eolian_pub_files:%.eo=%.eo.h) \
- $(evas_gesture_eolian_pub_files:%.eo=%.eo.legacy.h) \
$(evas_gesture_eolian_type_files:%.eot=%.eot.h)
evas_eolian_files = $(evas_canvas_eolian_pub_files) \
@@ -526,6 +524,7 @@ lib_evas_libevas_la_CPPFLAGS = -I$(top_builddir)/src/lib/efl \
-DPACKAGE_DATA_DIR=\"$(datadir)/evas\" \
-DPACKAGE_BUILD_DIR=\"$(abs_top_builddir)\" \
-DPACKAGE_SRC_DIR=\"$(abs_top_srcdir)\" \
+-DEFL_BUILD \
@EVAS_CFLAGS@ \
@VALGRIND_CFLAGS@ \
@NEON_CFLAGS@ \
@@ -540,6 +539,7 @@ lib/evas/common/evas_op_blend/op_blend_master_sse3.c \
static_libs/draw/draw_main_sse2.c
lib_evas_common_libevas_op_blend_sse3_la_CPPFLAGS = -I$(top_builddir)/src/lib/efl \
+-DEFL_BUILD \
$(lib_evas_libevas_la_CPPFLAGS) \
@SSE3_CFLAGS@
@@ -553,6 +553,7 @@ lib_evas_common_libevas_convert_rgb_32_la_SOURCES = \
lib/evas/common/evas_convert_rgb_32.c
lib_evas_common_libevas_convert_rgb_32_la_CPPFLAGS = -I$(top_builddir)/src/lib/efl \
+-DEFL_BUILD \
$(lib_evas_libevas_la_CPPFLAGS) \
@NEON_CFLAGS@
@@ -788,6 +789,7 @@ modules_evas_engines_software_generic_module_la_CPPFLAGS = -I$(top_builddir)/src
-I$(top_srcdir)/src/lib/evas/filters \
-I$(top_builddir)/src/lib/evas/canvas \
-I$(top_builddir)/src/modules/evas/engines/software_generic \
+-DEFL_BUILD \
@EVAS_CFLAGS@
modules_evas_engines_software_generic_module_la_LIBADD = @USE_EVAS_LIBS@
modules_evas_engines_software_generic_module_la_DEPENDENCIES = @USE_EVAS_INTERNAL_LIBS@
@@ -815,6 +817,7 @@ $(install_enginebufferpkgLTLIBRARIES): install-libLTLIBRARIES
modules_evas_engines_buffer_module_la_SOURCES = $(BUFFER_SOURCES)
modules_evas_engines_buffer_module_la_CPPFLAGS = -I$(top_builddir)/src/lib/efl \
-I$(top_srcdir)/src/lib/evas/include \
+-DEFL_BUILD \
@EVAS_CFLAGS@
modules_evas_engines_buffer_module_la_LIBADD = @USE_EVAS_LIBS@
modules_evas_engines_buffer_module_la_DEPENDENCIES = @USE_EVAS_INTERNAL_LIBS@
@@ -971,7 +974,6 @@ $(NULL)
evas_gl_generic_eolian_c = $(evas_gl_generic_eolian_files:%.eo=%.eo.c)
evas_gl_generic_eolian_h = $(evas_gl_generic_eolian_files:%.eo=%.eo.h) \
- $(evas_gl_generic_eolian_files:%.eo=%.eo.legacy.h) \
$(evas_gl_generic_eolian_type_files:%.eot=%.eot.h)
BUILT_SOURCES += \
@@ -1026,6 +1028,7 @@ modules_evas_engines_gl_generic_module_la_CFLAGS = \
-I$(top_builddir)/src/modules/evas/engines/gl_generic \
-I$(top_builddir)/src/modules/evas/engines/software_generic \
@evas_engine_gl_common_cflags@ \
+-DEFL_BUILD \
@EVAS_CFLAGS@
modules_evas_engines_gl_generic_module_la_LIBADD = \
modules/evas/engines/gl_common/libevas_engine_gl_common.la \
@@ -1038,7 +1041,7 @@ modules_evas_engines_gl_generic_module_la_LDFLAGS = -module @EFL_LTMODULE_FLAGS@
modules_evas_engines_gl_generic_module_la_LIBTOOLFLAGS = --tag=disable-static
if BUILD_ENGINE_GL_X11
-modules_evas_engines_gl_common_libevas_engine_gl_common_la_CPPFLAGS += @evas_engine_gl_xlib_cflags@
+modules_evas_engines_gl_common_libevas_engine_gl_common_la_CPPFLAGS += @evas_engine_gl_xlib_cflags@ -DEFL_BUILD
endif
if BUILD_ENGINE_WAYLAND_EGL
modules_evas_engines_gl_common_libevas_engine_gl_common_la_CPPFLAGS += @evas_engine_wayland_egl_cflags@
@@ -1047,7 +1050,7 @@ if BUILD_ENGINE_GL_DRM
modules_evas_engines_gl_common_libevas_engine_gl_common_la_CPPFLAGS += @evas_engine_gl_drm_cflags@
endif
if BUILD_ENGINE_EGLFS
-modules_evas_engines_gl_common_libevas_engine_gl_common_la_CPPFLAGS += @evas_engine_eglfs_cflags@
+modules_evas_engines_gl_common_libevas_engine_gl_common_la_CPPFLAGS += @evas_engine_eglfs_cflags@ -DEFL_BUILD
endif
if BUILD_ENGINE_GL_COCOA
modules_evas_engines_gl_common_libevas_engine_gl_common_la_CPPFLAGS += @evas_engine_gl_cocoa_cflags@
@@ -1120,6 +1123,7 @@ modules_evas_engines_gl_sdl_module_la_SOURCES = $(GL_SDL_SOURCES)
modules_evas_engines_gl_sdl_module_la_CPPFLAGS = -I$(top_builddir)/src/lib/efl \
-I$(top_srcdir)/src/lib/evas/include \
-I$(top_srcdir)/src/modules/evas/engines/gl_common \
+-DEFL_BUILD \
@EVAS_CFLAGS@ \
@evas_engine_gl_sdl_cflags@
modules_evas_engines_gl_sdl_module_la_LIBADD = \
@@ -1154,6 +1158,7 @@ $(install_engineglx11pkgLTLIBRARIES): install-libLTLIBRARIES
modules_evas_engines_gl_x11_module_la_SOURCES = $(GL_X11_SOURCES)
modules_evas_engines_gl_x11_module_la_CPPFLAGS = -I$(top_builddir)/src/lib/efl \
-I$(top_srcdir)/src/lib/evas/include \
+-DEFL_BUILD \
@EVAS_CFLAGS@ \
@evas_engine_gl_xlib_cflags@
modules_evas_engines_gl_x11_module_la_LIBADD = \
@@ -1199,6 +1204,7 @@ $(install_enginesoftwareddrawpkgLTLIBRARIES): install-libLTLIBRARIES
modules_evas_engines_software_ddraw_module_la_SOURCES = $(SOFTWARE_DDRAW_SOURCES)
modules_evas_engines_software_ddraw_module_la_CPPFLAGS = -I$(top_builddir)/src/lib/efl \
-I$(top_srcdir)/src/lib/evas/include \
+-DEFL_BUILD \
@EVAS_CFLAGS@ \
@evas_engine_software_ddraw_cflags@
modules_evas_engines_software_ddraw_module_la_CXXFLAGS = -fno-rtti -fno-exceptions
@@ -1235,6 +1241,7 @@ $(install_enginesoftwaregdipkgLTLIBRARIES): install-libLTLIBRARIES
modules_evas_engines_software_gdi_module_la_SOURCES = $(SOFTWARE_GDI_SOURCES)
modules_evas_engines_software_gdi_module_la_CPPFLAGS = -I$(top_builddir)/src/lib/efl \
-I$(top_srcdir)/src/lib/evas/include \
+-DEFL_BUILD \
@EVAS_CFLAGS@ \
@evas_engine_software_gdi_cflags@
modules_evas_engines_software_gdi_module_la_LIBADD = \
@@ -1292,7 +1299,7 @@ install_enginesoftwarex11pkgLTLIBRARIES = install-enginesoftwarex11pkgLTLIBRARIE
$(install_enginesoftwarex11pkgLTLIBRARIES): install-libLTLIBRARIES
modules_evas_engines_software_x11_module_la_SOURCES = $(SOFTWARE_X11_SOURCES)
-modules_evas_engines_software_x11_module_la_CPPFLAGS = -I$(top_builddir)/src/lib/efl $(SOFTWARE_X11_CPPFLAGS)
+modules_evas_engines_software_x11_module_la_CPPFLAGS = -I$(top_builddir)/src/lib/efl $(SOFTWARE_X11_CPPFLAGS) -DEFL_BUILD
modules_evas_engines_software_x11_module_la_LIBADD = @USE_ECORE_X_LIBS@ @USE_EVAS_LIBS@ $(SOFTWARE_X11_LIBADD)
modules_evas_engines_software_x11_module_la_DEPENDENCIES = @USE_ECORE_X_INTERNAL_LIBS@ @USE_EVAS_INTERNAL_LIBS@
modules_evas_engines_software_x11_module_la_LDFLAGS = -module @EFL_LTMODULE_FLAGS@
@@ -1476,6 +1483,7 @@ modules_evas_engines_eglfs_module_la_SOURCES = $(EGLFS_SOURCES)
modules_evas_engines_eglfs_module_la_CPPFLAGS = -I$(top_builddir)/src/lib/efl \
-I$(top_srcdir)/src/lib/evas/include \
-I$(top_srcdir)/src/modules/evas/engines/eglfs \
+-DEFL_BUILD \
@EVAS_CFLAGS@ \
@ECORE_DRM_CFLAGS@ \
@evas_engine_eglfs_cflags@
@@ -1514,6 +1522,7 @@ static_libs/vg_common/vg_common.h
modules_evas_vg_loaders_svg_module_la_CPPFLAGS = -I$(top_builddir)/src/lib/efl \
-I$(top_srcdir)/src/lib/evas/include \
-I$(top_srcdir)/src/static_libs/vg_common \
+-DEFL_BUILD \
@EVAS_CFLAGS@ \
@evas_vg_loader_svg_cflags@
modules_evas_vg_loaders_svg_module_la_LIBADD = \
@@ -1537,6 +1546,7 @@ static_libs/vg_common/vg_common.h
modules_evas_vg_savers_svg_module_la_CPPFLAGS = -I$(top_builddir)/src/lib/efl \
-I$(top_srcdir)/src/lib/evas/include \
-I$(top_srcdir)/src/static_libs/vg_common \
+-DEFL_BUILD \
@EVAS_CFLAGS@ \
@evas_vg_saver_svg_cflags@
modules_evas_vg_savers_svg_module_la_LIBADD = \
@@ -1565,6 +1575,7 @@ $(install_vgloadereetpkgLTLIBRARIES): install-libLTLIBRARIES
modules_evas_vg_loaders_eet_module_la_SOURCES = modules/evas/vg_loaders/eet/evas_vg_load_eet.c
modules_evas_vg_loaders_eet_module_la_CPPFLAGS = -I$(top_builddir)/src/lib/efl \
-I$(top_srcdir)/src/lib/evas/include \
+-DEFL_BUILD \
@EVAS_CFLAGS@ \
@evas_vg_loader_eet_cflags@
modules_evas_vg_loaders_eet_module_la_LIBADD = \
@@ -1585,6 +1596,7 @@ $(install_vgsavereetpkgLTLIBRARIES): install-libLTLIBRARIES
modules_evas_vg_savers_eet_module_la_SOURCES = modules/evas/vg_savers/eet/evas_vg_save_eet.c
modules_evas_vg_savers_eet_module_la_CPPFLAGS = -I$(top_builddir)/src/lib/efl \
-I$(top_srcdir)/src/lib/evas/include \
+-DEFL_BUILD \
@EVAS_CFLAGS@ \
@evas_vg_saver_eet_cflags@
modules_evas_vg_savers_eet_module_la_LIBADD = \
@@ -1644,6 +1656,7 @@ $(install_loaderbmppkgLTLIBRARIES): install-libLTLIBRARIES
modules_evas_image_loaders_bmp_module_la_SOURCES = modules/evas/image_loaders/bmp/evas_image_load_bmp.c
modules_evas_image_loaders_bmp_module_la_CPPFLAGS = -I$(top_builddir)/src/lib/efl \
-I$(top_srcdir)/src/lib/evas/include \
+-DEFL_BUILD \
@EVAS_CFLAGS@ \
@evas_image_loader_bmp_cflags@
modules_evas_image_loaders_bmp_module_la_LIBADD = \
@@ -1678,6 +1691,7 @@ modules/evas/image_loaders/dds/s3tc_decoder.c \
modules/evas/image_loaders/dds/s3tc.h
modules_evas_image_loaders_dds_module_la_CPPFLAGS = -I$(top_builddir)/src/lib/efl \
-I$(top_srcdir)/src/lib/evas/include \
+-DEFL_BUILD \
@EVAS_CFLAGS@ \
@evas_image_loader_dds_cflags@
modules_evas_image_loaders_dds_module_la_LIBADD = \
@@ -1706,6 +1720,7 @@ $(install_loadereetpkgLTLIBRARIES): install-libLTLIBRARIES
modules_evas_image_loaders_eet_module_la_SOURCES = modules/evas/image_loaders/eet/evas_image_load_eet.c
modules_evas_image_loaders_eet_module_la_CPPFLAGS = -I$(top_builddir)/src/lib/efl \
-I$(top_srcdir)/src/lib/evas/include \
+-DEFL_BUILD \
@EVAS_CFLAGS@ \
@evas_image_loader_eet_cflags@
modules_evas_image_loaders_eet_module_la_LIBADD = \
@@ -1734,6 +1749,7 @@ $(install_loadergenericpkgLTLIBRARIES): install-libLTLIBRARIES
modules_evas_image_loaders_generic_module_la_SOURCES = modules/evas/image_loaders/generic/evas_image_load_generic.c
modules_evas_image_loaders_generic_module_la_CPPFLAGS = -I$(top_builddir)/src/lib/efl \
-I$(top_srcdir)/src/lib/evas/include \
+-DEFL_BUILD \
@EVAS_CFLAGS@ \
@evas_image_loader_generic_cflags@
modules_evas_image_loaders_generic_module_la_LIBADD = \
@@ -1762,6 +1778,7 @@ $(install_loadergifpkgLTLIBRARIES): install-libLTLIBRARIES
modules_evas_image_loaders_gif_module_la_SOURCES = modules/evas/image_loaders/gif/evas_image_load_gif.c
modules_evas_image_loaders_gif_module_la_CPPFLAGS = -I$(top_builddir)/src/lib/efl \
-I$(top_srcdir)/src/lib/evas/include \
+-DEFL_BUILD \
@EVAS_CFLAGS@ \
@evas_image_loader_gif_cflags@
modules_evas_image_loaders_gif_module_la_LIBADD = \
@@ -1790,6 +1807,7 @@ $(install_loadericopkgLTLIBRARIES): install-libLTLIBRARIES
modules_evas_image_loaders_ico_module_la_SOURCES = modules/evas/image_loaders/ico/evas_image_load_ico.c
modules_evas_image_loaders_ico_module_la_CPPFLAGS = -I$(top_builddir)/src/lib/efl \
-I$(top_srcdir)/src/lib/evas/include \
+-DEFL_BUILD \
@EVAS_CFLAGS@ \
@evas_image_loader_ico_cflags@
modules_evas_image_loaders_ico_module_la_LIBADD = \
@@ -1819,6 +1837,7 @@ $(install_loaderjpegpkgLTLIBRARIES): install-libLTLIBRARIES
modules_evas_image_loaders_jpeg_module_la_SOURCES = modules/evas/image_loaders/jpeg/evas_image_load_jpeg.c
modules_evas_image_loaders_jpeg_module_la_CPPFLAGS = -I$(top_builddir)/src/lib/efl \
-I$(top_srcdir)/src/lib/evas/include \
+-DEFL_BUILD \
@EVAS_CFLAGS@ \
@evas_image_loader_jpeg_cflags@
modules_evas_image_loaders_jpeg_module_la_LIBADD = \
@@ -1838,6 +1857,7 @@ $(install_saverjpegpkgLTLIBRARIES): install-libLTLIBRARIES
modules_evas_image_savers_jpeg_module_la_SOURCES = modules/evas/image_savers/jpeg/evas_image_save_jpeg.c
modules_evas_image_savers_jpeg_module_la_CPPFLAGS = -I$(top_builddir)/src/lib/efl \
-I$(top_srcdir)/src/lib/evas/include \
+-DEFL_BUILD \
@EVAS_CFLAGS@ \
@evas_image_loader_jpeg_cflags@
modules_evas_image_savers_jpeg_module_la_LIBADD = \
@@ -1868,6 +1888,7 @@ modules_evas_image_loaders_jp2k_module_la_CPPFLAGS = \
@evas_image_loader_jp2k_cflags@ \
-I$(top_builddir)/src/lib/efl \
-I$(top_srcdir)/src/lib/evas/include \
+-DEFL_BUILD \
@EVAS_CFLAGS@
modules_evas_image_loaders_jp2k_module_la_LIBADD = \
@USE_EVAS_LIBS@ \
@@ -1895,6 +1916,7 @@ $(install_loaderpmapspkgLTLIBRARIES): install-libLTLIBRARIES
modules_evas_image_loaders_pmaps_module_la_SOURCES = modules/evas/image_loaders/pmaps/evas_image_load_pmaps.c
modules_evas_image_loaders_pmaps_module_la_CPPFLAGS = -I$(top_builddir)/src/lib/efl \
-I$(top_srcdir)/src/lib/evas/include \
+-DEFL_BUILD \
@EVAS_CFLAGS@ \
@evas_image_loader_pmaps_cflags@
modules_evas_image_loaders_pmaps_module_la_LIBADD = \
@@ -1923,6 +1945,7 @@ $(install_loaderpngpkgLTLIBRARIES): install-libLTLIBRARIES
modules_evas_image_loaders_png_module_la_SOURCES = modules/evas/image_loaders/png/evas_image_load_png.c
modules_evas_image_loaders_png_module_la_CPPFLAGS = -I$(top_builddir)/src/lib/efl \
-I$(top_srcdir)/src/lib/evas/include \
+-DEFL_BUILD \
@EVAS_CFLAGS@ \
@evas_image_loader_png_cflags@
modules_evas_image_loaders_png_module_la_LIBADD = \
@@ -1943,6 +1966,7 @@ $(install_saverpngpkgLTLIBRARIES): install-libLTLIBRARIES
modules_evas_image_savers_png_module_la_SOURCES = modules/evas/image_savers/png/evas_image_save_png.c
modules_evas_image_savers_png_module_la_CPPFLAGS = -I$(top_builddir)/src/lib/efl \
-I$(top_srcdir)/src/lib/evas/include \
+-DEFL_BUILD \
@EVAS_CFLAGS@ \
@evas_image_loader_png_cflags@
modules_evas_image_savers_png_module_la_LIBADD = \
@@ -1971,6 +1995,7 @@ $(install_loaderpsdpkgLTLIBRARIES): install-libLTLIBRARIES
modules_evas_image_loaders_psd_module_la_SOURCES = modules/evas/image_loaders/psd/evas_image_load_psd.c
modules_evas_image_loaders_psd_module_la_CPPFLAGS = -I$(top_builddir)/src/lib/efl \
-I$(top_srcdir)/src/lib/evas/include \
+-DEFL_BUILD \
@EVAS_CFLAGS@ \
@evas_image_loader_psd_cflags@
modules_evas_image_loaders_psd_module_la_LIBADD = \
@@ -1999,6 +2024,7 @@ $(install_loadertgapkgLTLIBRARIES): install-libLTLIBRARIES
modules_evas_image_loaders_tga_module_la_SOURCES = modules/evas/image_loaders/tga/evas_image_load_tga.c
modules_evas_image_loaders_tga_module_la_CPPFLAGS = -I$(top_builddir)/src/lib/efl \
-I$(top_srcdir)/src/lib/evas/include \
+-DEFL_BUILD \
@EVAS_CFLAGS@ \
@evas_image_loader_tga_cflags@
modules_evas_image_loaders_tga_module_la_LIBADD = \
@@ -2027,6 +2053,7 @@ $(install_loadertiffpkgLTLIBRARIES): install-libLTLIBRARIES
modules_evas_image_loaders_tiff_module_la_SOURCES = modules/evas/image_loaders/tiff/evas_image_load_tiff.c
modules_evas_image_loaders_tiff_module_la_CPPFLAGS = -I$(top_builddir)/src/lib/efl \
-I$(top_srcdir)/src/lib/evas/include \
+-DEFL_BUILD \
@EVAS_CFLAGS@ \
@evas_image_loader_tiff_cflags@
modules_evas_image_loaders_tiff_module_la_LIBADD = \
@@ -2047,6 +2074,7 @@ $(install_savertiffpkgLTLIBRARIES): install-libLTLIBRARIES
modules_evas_image_savers_tiff_module_la_SOURCES = modules/evas/image_savers/tiff/evas_image_save_tiff.c
modules_evas_image_savers_tiff_module_la_CPPFLAGS = -I$(top_builddir)/src/lib/efl \
-I$(top_srcdir)/src/lib/evas/include \
+-DEFL_BUILD \
@EVAS_CFLAGS@ \
@evas_image_loader_tiff_cflags@
modules_evas_image_savers_tiff_module_la_LIBADD = \
@@ -2075,6 +2103,7 @@ $(install_loaderwbmppkgLTLIBRARIES): install-libLTLIBRARIES
modules_evas_image_loaders_wbmp_module_la_SOURCES = modules/evas/image_loaders/wbmp/evas_image_load_wbmp.c
modules_evas_image_loaders_wbmp_module_la_CPPFLAGS = -I$(top_builddir)/src/lib/efl \
-I$(top_srcdir)/src/lib/evas/include \
+-DEFL_BUILD \
@EVAS_CFLAGS@ \
@evas_image_loader_wbmp_cflags@
modules_evas_image_loaders_wbmp_module_la_LIBADD = \
@@ -2103,6 +2132,7 @@ $(install_loaderwebppkgLTLIBRARIES): install-libLTLIBRARIES
modules_evas_image_loaders_webp_module_la_SOURCES = modules/evas/image_loaders/webp/evas_image_load_webp.c
modules_evas_image_loaders_webp_module_la_CPPFLAGS = -I$(top_builddir)/src/lib/efl \
-I$(top_srcdir)/src/lib/evas/include \
+-DEFL_BUILD \
@EVAS_CFLAGS@ \
@evas_image_loader_webp_cflags@
modules_evas_image_loaders_webp_module_la_LIBADD = \
@@ -2123,6 +2153,7 @@ $(install_saverwebppkgLTLIBRARIES): install-libLTLIBRARIES
modules_evas_image_savers_webp_module_la_SOURCES = modules/evas/image_savers/webp/evas_image_save_webp.c
modules_evas_image_savers_webp_module_la_CPPFLAGS = -I$(top_builddir)/src/lib/efl \
-I$(top_srcdir)/src/lib/evas/include \
+-DEFL_BUILD \
@EVAS_CFLAGS@ \
@evas_image_loader_webp_cflags@
modules_evas_image_savers_webp_module_la_LIBADD = \
@@ -2151,6 +2182,7 @@ $(install_loaderxpmpkgLTLIBRARIES): install-libLTLIBRARIES
modules_evas_image_loaders_xpm_module_la_SOURCES = modules/evas/image_loaders/xpm/evas_image_load_xpm.c
modules_evas_image_loaders_xpm_module_la_CPPFLAGS = -I$(top_builddir)/src/lib/efl \
-I$(top_srcdir)/src/lib/evas/include \
+-DEFL_BUILD \
@EVAS_CFLAGS@ \
@evas_image_loader_xpm_cflags@
modules_evas_image_loaders_xpm_module_la_LIBADD = \
@@ -2205,6 +2237,7 @@ modules_evas_image_loaders_tgv_module_la_CPPFLAGS = \
-I$(top_builddir)/src/lib/efl \
-I$(top_srcdir)/src/static_libs/rg_etc \
-I$(top_srcdir)/src/lib/evas/ \
+-DEFL_BUILD \
@EVAS_CFLAGS@ \
@NEON_CFLAGS@
if ! ENABLE_LIBLZ4
@@ -2241,15 +2274,15 @@ modules_evas_image_savers_tgv_module_la_CPPFLAGS = \
-I$(top_builddir)/src/lib/efl \
-I$(top_srcdir)/src/static_libs/rg_etc \
-I$(top_srcdir)/src/lib/evas/ \
-@EVAS_CFLAGS@ \
-@evas_image_saver_tgv_cflags@
+-DEFL_BUILD \
+@EVAS_CFLAGS@
+
if ! ENABLE_LIBLZ4
modules_evas_image_savers_tgv_module_la_CPPFLAGS += \
-I$(top_srcdir)/src/static_libs/lz4
endif
modules_evas_image_savers_tgv_module_la_LIBADD = \
-@USE_EVAS_LIBS@ \
-@evas_image_saver_tgv_libs@
+@USE_EVAS_LIBS@
modules_evas_image_savers_tgv_module_la_DEPENDENCIES = @USE_EVAS_INTERNAL_LIBS@
modules_evas_image_savers_tgv_module_la_LDFLAGS = -module @EFL_LTMODULE_FLAGS@
modules_evas_image_savers_tgv_module_la_LIBTOOLFLAGS = --tag=disable-static
diff --git a/src/Makefile_Evil.am b/src/Makefile_Evil.am
index c18e0eab4b..f3ed4787e2 100644
--- a/src/Makefile_Evil.am
+++ b/src/Makefile_Evil.am
@@ -21,7 +21,6 @@ lib/evil/evil_string.h \
lib/evil/evil_time.h \
lib/evil/evil_unistd.h \
lib/evil/evil_util.h \
-lib/evil/fnmatch.h \
lib/evil/pwd.h
evilmmanheadersdir = $(includedir)/evil-@VMAJ@/sys
@@ -31,8 +30,6 @@ lib/evil/sys/mman.h
lib_evil_libevil_la_SOURCES = \
lib/evil/evil_dlfcn.c \
lib/evil/evil_fcntl.c \
-lib/evil/evil_fnmatch.c \
-lib/evil/evil_fnmatch_list_of_states.c \
lib/evil/evil_langinfo.c \
lib/evil/evil_locale.c \
lib/evil/evil_main.c \
@@ -44,33 +41,14 @@ lib/evil/evil_string.c \
lib/evil/evil_time.c \
lib/evil/evil_unistd.c \
lib/evil/evil_util.c \
-lib/evil/evil_private.h \
-lib/evil/evil_fnmatch_private.h
+lib/evil/evil_private.h
-lib_evil_libevil_la_CPPFLAGS = @EVIL_CPPFLAGS@
+lib_evil_libevil_la_CPPFLAGS = @EVIL_CPPFLAGS@ -DEFL_BUILD
lib_evil_libevil_la_CFLAGS = @EVIL_CFLAGS@ @EVIL_CFLAGS_WRN@ -D__USE_MINGW_ANSI_STDIO
lib_evil_libevil_la_LIBADD = @EVIL_LIBS@
lib_evil_libevil_la_LDFLAGS = @EFL_LTLIBRARY_FLAGS@
-# regex
-
-dist_install_evilheaders_DATA += \
-lib/evil/regex/regex.h
-
-lib_evil_libevil_la_SOURCES += \
-lib/evil/regex/regcomp.c \
-lib/evil/regex/regerror.c \
-lib/evil/regex/regexec.c \
-lib/evil/regex/regfree.c \
-lib/evil/regex/cclass.h \
-lib/evil/regex/cname.h \
-lib/evil/regex/regex2.h \
-lib/evil/regex/utils.h
-
-lib_evil_libevil_la_CPPFLAGS += \
--I$(top_srcdir)/src/lib/evil \
--I$(top_srcdir)/src/lib/evil/regex \
--DPOSIX_MISTAKE
+lib_evil_libevil_la_CPPFLAGS += -I$(top_srcdir)/src/lib/evil
### Unit tests
@@ -83,7 +61,6 @@ tests_evil_evil_suite_SOURCES = \
tests/evil/evil_suite.c \
tests/evil/evil_suite.h \
tests/evil/evil_test_dlfcn.c \
-tests/evil/evil_test_libgen.c \
tests/evil/evil_test_main.c \
tests/evil/evil_test_stdio.c \
tests/evil/evil_test_stdlib.c \
@@ -103,9 +80,3 @@ tests_evil_evil_suite_DEPENDENCIES = @USE_EVIL_INTERNAL_LIBS@
endif
endif
-
-EXTRA_DIST2 += \
-lib/evil/regex/regerror.ih \
-lib/evil/regex/engine.ih \
-lib/evil/regex/regcomp.ih \
-lib/evil/regex/engine.c
diff --git a/src/bin/elementary/test.c b/src/bin/elementary/test.c
index f81af61ada..146d7ef902 100644
--- a/src/bin/elementary/test.c
+++ b/src/bin/elementary/test.c
@@ -212,6 +212,11 @@ void test_menu2(void *data, Evas_Object *obj, void *event_info);
void test_panel(void *data, Evas_Object *obj, void *event_info);
void test_panel2(void *data, Evas_Object *obj, void *event_info);
void test_panes(void *data, Evas_Object *obj, void *event_info);
+void test_panes_flush(void *data, Evas_Object *obj, void *event_info);
+void test_panes_left_fold(void *data, Evas_Object *obj, void *event_info);
+void test_panes_right_fold(void *data, Evas_Object *obj, void *event_info);
+void test_panes_up_fold(void *data, Evas_Object *obj, void *event_info);
+void test_panes_down_fold(void *data, Evas_Object *obj, void *event_info);
void test_panes_minsize(void *data, Evas_Object *obj, void *event_info);
void test_calendar(void *data, Evas_Object *obj, void *event_info);
void test_calendar2(void *data, Evas_Object *obj, void *event_info);
@@ -1172,6 +1177,11 @@ add_tests:
ADD_TEST(NULL, "Dividers", "Panel", test_panel);
ADD_TEST(NULL, "Dividers", "Panel Scrollable", test_panel2);
ADD_TEST(NULL, "Dividers", "Panes", test_panes);
+ ADD_TEST(NULL, "Dividers", "Panes Flush", test_panes_flush);
+ ADD_TEST(NULL, "Dividers", "Panes Left Fold", test_panes_left_fold);
+ ADD_TEST(NULL, "Dividers", "Panes Right Fold", test_panes_right_fold);
+ ADD_TEST(NULL, "Dividers", "Panes Up Fold", test_panes_up_fold);
+ ADD_TEST(NULL, "Dividers", "Panes Down Fold", test_panes_down_fold);
ADD_TEST_EO(NULL, "Dividers", "Efl.Ui.Panes", test_panes_minsize);
ADD_TEST_EO(NULL, "Dividers", "Efl.Ui.Panel", test_ui_panel);
ADD_TEST_EO(NULL, "Dividers", "Efl.Ui.Panel Scrollable", test_ui_panel2);
diff --git a/src/bin/elementary/test_panes.c b/src/bin/elementary/test_panes.c
index 21eb3dcf5b..8560daa504 100644
--- a/src/bin/elementary/test_panes.c
+++ b/src/bin/elementary/test_panes.c
@@ -38,8 +38,8 @@ _clicked_double(void *data, Evas_Object *obj, void *event_info EINA_UNUSED)
elm_panes_content_left_size_set(obj, *size);
}
-void
-test_panes(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED)
+static void
+_test_panes(const char *style)
{
Evas_Object *win, *bg, *panes, *panes_h, *bt;
static double vbar_size = 0.0;
@@ -56,6 +56,7 @@ test_panes(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event_inf
evas_object_show(bg);
panes = elm_panes_add(win);
+ elm_object_style_set(panes, style);
evas_object_size_hint_weight_set(panes, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
elm_panes_content_left_min_size_set(panes, 100);
elm_panes_content_left_size_set(panes, 0.7);
@@ -76,6 +77,7 @@ test_panes(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event_inf
// add panes
panes_h = elm_panes_add(win);
+ elm_object_style_set(panes_h, style);
elm_panes_horizontal_set(panes_h, EINA_TRUE);
elm_panes_content_right_min_size_set(panes_h, 100);
elm_panes_content_right_size_set(panes_h, 0.3);
@@ -102,4 +104,43 @@ test_panes(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event_inf
evas_object_resize(win, 320, 400);
evas_object_show(win);
-} \ No newline at end of file
+}
+
+void
+test_panes(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED)
+{
+ _test_panes("default");
+}
+
+void
+test_panes_flush(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED)
+{
+ _test_panes("flush");
+}
+
+void
+test_panes_left_fold(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED)
+{
+ _test_panes("left-fold");
+}
+
+void
+test_panes_right_fold(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED)
+{
+ _test_panes("right-fold");
+}
+
+void
+test_panes_up_fold(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED)
+{
+ _test_panes("up-fold");
+}
+
+void
+test_panes_down_fold(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED)
+{
+ _test_panes("down-fold");
+}
+
+
+
diff --git a/src/bin/elementary/test_ui_pager.c b/src/bin/elementary/test_ui_pager.c
index 78fb1b598e..32bc1d775a 100644
--- a/src/bin/elementary/test_ui_pager.c
+++ b/src/bin/elementary/test_ui_pager.c
@@ -36,7 +36,8 @@ typedef enum _Pack_Type {
PACK_BEFORE,
PACK_AFTER,
PACK_AT,
- UNPACK_AT
+ UNPACK_AT,
+ CLEAR
} Pack_Type;
typedef struct _Params {
@@ -218,7 +219,7 @@ static void pack_btn_cb(void *data, const Efl_Event *ev EINA_UNUSED)
Eo *page = NULL, *curr_page;
int index, cnt;
- if (param->type != UNPACK_AT) {
+ if ((param->type != UNPACK_AT) && (param->type != CLEAR)) {
index = efl_content_count(pager);
switch (index % 3) {
@@ -260,10 +261,12 @@ static void pack_btn_cb(void *data, const Efl_Event *ev EINA_UNUSED)
break;
case UNPACK_AT:
index = efl_ui_range_value_get(param->unpack_sp);
- page = efl_pack_content_get(pager, index);
- efl_pack_unpack(pager, page);
+ page = efl_pack_unpack_at(pager, index);
efl_del(page);
break;
+ case CLEAR:
+ efl_pack_clear(pager);
+ break;
}
cnt = efl_content_count(pager);
@@ -587,6 +590,25 @@ static void pack_cb(void *data,
efl_pack_end(box, in_box2);
efl_pack_end(in_box2, btn);
efl_pack_end(in_box2, sp2);
+
+ // Clear
+ pack_param = calloc(1, sizeof(Pack_Params));
+ if (!pack_param) return;
+
+ pack_param->pager = pager;
+ pack_param->pack_sp = sp1;
+ pack_param->unpack_sp = sp2;
+ pack_param->unpack_btn = btn;
+ pack_param->type = CLEAR;
+
+ efl_add(EFL_UI_BUTTON_CLASS, box,
+ efl_text_set(efl_added, "Clear"),
+ efl_event_callback_add(efl_added, EFL_UI_EVENT_CLICKED,
+ pack_btn_cb, pack_param),
+ efl_event_callback_add(efl_added, EFL_EVENT_DEL,
+ pack_btn_del_cb, pack_param),
+ efl_pack_end(box, efl_added));
+
}
static void current_page_cb(void *data,
diff --git a/src/bin/elementary/test_ui_pager_scroll.c b/src/bin/elementary/test_ui_pager_scroll.c
index 30a4306f63..8df58c6570 100644
--- a/src/bin/elementary/test_ui_pager_scroll.c
+++ b/src/bin/elementary/test_ui_pager_scroll.c
@@ -36,7 +36,8 @@ typedef enum _Pack_Type {
PACK_BEFORE,
PACK_AFTER,
PACK_AT,
- UNPACK_AT
+ UNPACK_AT,
+ CLEAR
} Pack_Type;
typedef struct _Params {
@@ -240,7 +241,7 @@ static void pack_btn_cb(void *data, const Efl_Event *ev EINA_UNUSED)
Eo *page = NULL, *curr_page;
int index, cnt;
- if (param->type != UNPACK_AT) {
+ if ((param->type != UNPACK_AT) && (param->type != CLEAR)) {
index = efl_content_count(pager);
switch (index % 3) {
@@ -282,10 +283,12 @@ static void pack_btn_cb(void *data, const Efl_Event *ev EINA_UNUSED)
break;
case UNPACK_AT:
index = efl_ui_range_value_get(param->unpack_sp);
- page = efl_pack_content_get(pager, index);
- efl_pack_unpack(pager, page);
+ page = efl_pack_unpack_at(pager, index);
efl_del(page);
break;
+ case CLEAR:
+ efl_pack_clear(pager);
+ break;
}
cnt = efl_content_count(pager);
@@ -353,13 +356,11 @@ static void next_block_check_cb(void *data, const Efl_Event *ev)
efl_ui_pager_scroll_block_set(pager, prev, next);
}
-static void loop_check_cb(void *data, const Efl_Event *ev)
+static void loop_radio_cb(void *data, const Efl_Event *ev)
{
Eo *pager = data;
int state = efl_ui_nstate_value_get(ev->object);
- //FIXME use other widget (i.e. radio) than check
- // since loop might not be enabled according to the number of items
efl_ui_pager_loop_mode_set(pager, state);
}
@@ -701,6 +702,24 @@ static void pack_cb(void *data,
efl_pack_end(box, in_box2);
efl_pack_end(in_box2, btn);
efl_pack_end(in_box2, sp2);
+
+ // Clear
+ pack_param = calloc(1, sizeof(Pack_Params));
+ if (!pack_param) return;
+
+ pack_param->pager = pager;
+ pack_param->pack_sp = sp1;
+ pack_param->unpack_sp = sp2;
+ pack_param->unpack_btn = btn;
+ pack_param->type = CLEAR;
+
+ efl_add(EFL_UI_BUTTON_CLASS, box,
+ efl_text_set(efl_added, "Clear"),
+ efl_event_callback_add(efl_added, EFL_UI_EVENT_CLICKED,
+ pack_btn_cb, pack_param),
+ efl_event_callback_add(efl_added, EFL_EVENT_DEL,
+ pack_btn_del_cb, pack_param),
+ efl_pack_end(box, efl_added));
}
static void current_page_cb(void *data,
@@ -798,7 +817,8 @@ static void loop_cb(void *data EINA_UNUSED,
Params *params = (Params *)data;
Evas_Object *navi = params->navi;
Eo *pager = params->pager;
- Eo *btn, *box;
+ Eo *btn, *box, *rd;
+ Efl_Ui_Pager_Loop loop;
btn = efl_add(EFL_UI_BUTTON_CLASS, navi,
efl_text_set(efl_added, "Back"),
@@ -810,13 +830,35 @@ static void loop_cb(void *data EINA_UNUSED,
elm_naviframe_item_push(navi, "Loop", btn, NULL,
efl_added, NULL));
- efl_add(EFL_UI_CHECK_CLASS, box,
- efl_ui_widget_style_set(efl_added, "toggle"),
- efl_text_set(efl_added, "Loop"),
- efl_ui_nstate_value_set(efl_added, efl_ui_pager_loop_mode_get(pager)),
- efl_event_callback_add(efl_added, EFL_UI_CHECK_EVENT_CHANGED,
- loop_check_cb, pager),
- efl_pack_end(box, efl_added));
+ rd = efl_add(EFL_UI_RADIO_CLASS, box,
+ efl_ui_radio_state_value_set(efl_added, EFL_UI_PAGER_LOOP_DISABLED),
+ efl_text_set(efl_added, "Disabled"),
+ efl_gfx_hint_weight_set(efl_added, 1, 0),
+ efl_event_callback_add(efl_added, EFL_UI_RADIO_EVENT_CHANGED,
+ loop_radio_cb, pager),
+ efl_pack(box, efl_added));
+
+ rd = efl_add(EFL_UI_RADIO_CLASS, box,
+ efl_ui_radio_state_value_set(efl_added, EFL_UI_PAGER_LOOP_ENABLED),
+ efl_ui_radio_group_add(efl_added, rd),
+ efl_text_set(efl_added, "Enabled"),
+ efl_gfx_hint_weight_set(efl_added, 1, 0),
+ efl_event_callback_add(efl_added, EFL_UI_RADIO_EVENT_CHANGED,
+ loop_radio_cb, pager),
+ efl_pack(box, efl_added));
+
+ loop = efl_ui_pager_loop_mode_get(pager);
+
+ efl_ui_nstate_value_set(rd, loop);
+
+ if (loop == EFL_UI_PAGER_LOOP_DISABLED)
+ {
+ Eina_Bool ret = efl_ui_pager_loop_mode_set(pager, EFL_UI_PAGER_LOOP_ENABLED);
+ if (!ret)
+ elm_object_disabled_set(rd, EINA_TRUE);
+ else
+ efl_ui_pager_loop_mode_set(pager, EFL_UI_PAGER_LOOP_DISABLED);
+ }
}
static void indicator_cb(void *data EINA_UNUSED,
diff --git a/src/bin/eolian/docs.c b/src/bin/eolian/docs.c
index 39fa89a429..9893005b4d 100644
--- a/src/bin/eolian/docs.c
+++ b/src/bin/eolian/docs.c
@@ -19,8 +19,7 @@ _indent_line(Eina_Strbuf *buf, int ind)
: DOC_LINE_LIMIT)
static void
-_generate_ref(const Eolian_State *state, const char *refn, Eina_Strbuf *wbuf,
- Eina_Bool use_legacy)
+_generate_ref(const Eolian_State *state, const char *refn, Eina_Strbuf *wbuf)
{
const Eolian_Object *decl = eolian_state_object_by_name_get(state, refn);
if (decl)
@@ -54,7 +53,7 @@ _generate_ref(const Eolian_State *state, const char *refn, Eina_Strbuf *wbuf,
eina_stringshare_del(bname);
goto noref;
}
- _generate_ref(state, bname, wbuf, use_legacy);
+ _generate_ref(state, bname, wbuf);
eina_strbuf_append(wbuf, sfx);
eina_stringshare_del(bname);
return;
@@ -122,7 +121,7 @@ noref:
static int
_append_section(const Eolian_State *state, const char *desc, int ind, int curl,
- Eina_Strbuf *buf, Eina_Strbuf *wbuf, Eina_Bool use_legacy)
+ Eina_Strbuf *buf, Eina_Strbuf *wbuf)
{
Eina_Bool try_note = EINA_TRUE;
while (*desc)
@@ -173,7 +172,7 @@ _append_section(const Eolian_State *state, const char *desc, int ind, int curl,
++desc;
if (*(desc - 1) == '.') --desc;
Eina_Stringshare *refn = eina_stringshare_add_length(ref, desc - ref);
- _generate_ref(state, refn, wbuf, use_legacy);
+ _generate_ref(state, refn, wbuf);
eina_stringshare_del(refn);
}
else
@@ -278,8 +277,7 @@ _append_group(Eina_Strbuf *buf, char *sgrp, int indent)
static void
_gen_doc_brief(const Eolian_State *state, const char *summary, const char *since,
- const char *group, const char *el, int indent, Eina_Strbuf *buf,
- Eina_Bool use_legacy)
+ const char *group, const char *el, int indent, Eina_Strbuf *buf)
{
int curl = 4 + indent;
Eina_Strbuf *wbuf = eina_strbuf_new();
@@ -287,7 +285,7 @@ _gen_doc_brief(const Eolian_State *state, const char *summary, const char *since
eina_strbuf_append(buf, "/**< ");
else
eina_strbuf_append(buf, "/** ");
- curl = _append_section(state, summary, indent, curl, buf, wbuf, use_legacy);
+ curl = _append_section(state, summary, indent, curl, buf, wbuf);
eina_strbuf_free(wbuf);
curl = _append_extra(el, indent, curl, EINA_FALSE, buf);
curl = _append_since(since, indent, curl, buf);
@@ -310,8 +308,7 @@ _gen_doc_brief(const Eolian_State *state, const char *summary, const char *since
static void
_gen_doc_full(const Eolian_State *state, const char *summary,
const char *description, const char *since,
- const char *group, const char *el, int indent, Eina_Strbuf *buf,
- Eina_Bool use_legacy)
+ const char *group, const char *el, int indent, Eina_Strbuf *buf)
{
int curl = 0;
Eina_Strbuf *wbuf = eina_strbuf_new();
@@ -322,13 +319,13 @@ _gen_doc_full(const Eolian_State *state, const char *summary,
curl += _indent_line(buf, indent);
eina_strbuf_append(buf, " * @brief ");
curl += sizeof(" * @brief ") - 1;
- _append_section(state, summary, indent, curl, buf, wbuf, use_legacy);
+ _append_section(state, summary, indent, curl, buf, wbuf);
eina_strbuf_append_char(buf, '\n');
_indent_line(buf, indent);
eina_strbuf_append(buf, " *\n");
curl = _indent_line(buf, indent);
eina_strbuf_append(buf, " * ");
- _append_section(state, description, indent, curl + 3, buf, wbuf, use_legacy);
+ _append_section(state, description, indent, curl + 3, buf, wbuf);
curl = _append_extra(el, indent, curl, EINA_TRUE, buf);
curl = _append_since(since, indent, curl, buf);
eina_strbuf_append_char(buf, '\n');
@@ -346,8 +343,7 @@ _gen_doc_full(const Eolian_State *state, const char *summary,
static Eina_Strbuf *
_gen_doc_buf(const Eolian_State *state, const Eolian_Documentation *doc,
- const char *group, const char *el, int indent,
- Eina_Bool use_legacy)
+ const char *group, const char *el, int indent)
{
if (!doc) return NULL;
@@ -357,17 +353,17 @@ _gen_doc_buf(const Eolian_State *state, const Eolian_Documentation *doc,
Eina_Strbuf *buf = eina_strbuf_new();
if (!desc)
- _gen_doc_brief(state, sum, since, group, el, indent, buf, use_legacy);
+ _gen_doc_brief(state, sum, since, group, el, indent, buf);
else
- _gen_doc_full(state, sum, desc, since, group, el, indent, buf, use_legacy);
+ _gen_doc_full(state, sum, desc, since, group, el, indent, buf);
return buf;
}
Eina_Strbuf *
eo_gen_docs_full_gen(const Eolian_State *state, const Eolian_Documentation *doc,
- const char *group, int indent, Eina_Bool use_legacy)
+ const char *group, int indent)
{
- return _gen_doc_buf(state, doc, group, NULL, indent, use_legacy);
+ return _gen_doc_buf(state, doc, group, NULL, indent);
}
Eina_Strbuf *
@@ -403,7 +399,7 @@ eo_gen_docs_event_gen(const Eolian_State *state, const Eolian_Event *ev,
return bufs;
}
- return _gen_doc_buf(state, doc, group, p, 0, EINA_FALSE);
+ return _gen_doc_buf(state, doc, group, p, 0);
}
Eina_Strbuf *
@@ -517,7 +513,7 @@ eo_gen_docs_func_gen(const Eolian_State *state, const Eolian_Function *fid,
if (!desc && !par && !vpar && !rdoc && (ftype == EOLIAN_METHOD || !pdoc))
{
_gen_doc_brief(state, sum ? sum : "No description supplied.", since, group,
- NULL, indent, buf, EINA_FALSE);
+ NULL, indent, buf);
return buf;
}
@@ -528,7 +524,7 @@ eo_gen_docs_func_gen(const Eolian_State *state, const Eolian_Function *fid,
eina_strbuf_append(buf, " * @brief ");
curl += sizeof(" * @brief ") - 1;
_append_section(state, sum ? sum : "No description supplied.",
- indent, curl, buf, wbuf, EINA_FALSE);
+ indent, curl, buf, wbuf);
eina_strbuf_append_char(buf, '\n');
if (desc || since || par || rdoc || pdoc)
@@ -541,7 +537,7 @@ eo_gen_docs_func_gen(const Eolian_State *state, const Eolian_Function *fid,
{
curl = _indent_line(buf, indent);
eina_strbuf_append(buf, " * ");
- _append_section(state, desc, indent, curl + 3, buf, wbuf, EINA_FALSE);
+ _append_section(state, desc, indent, curl + 3, buf, wbuf);
eina_strbuf_append_char(buf, '\n');
if (par || rdoc || pdoc || since)
{
@@ -556,7 +552,7 @@ eo_gen_docs_func_gen(const Eolian_State *state, const Eolian_Function *fid,
curl = _indent_line(buf, indent);
eina_strbuf_append(buf, " * ");
_append_section(state, eolian_documentation_summary_get(pdoc), indent,
- curl + 3, buf, wbuf, EINA_FALSE);
+ curl + 3, buf, wbuf);
eina_strbuf_append_char(buf, '\n');
if (pdesc)
{
@@ -564,7 +560,7 @@ eo_gen_docs_func_gen(const Eolian_State *state, const Eolian_Function *fid,
eina_strbuf_append(buf, " *\n");
curl = _indent_line(buf, indent);
eina_strbuf_append(buf, " * ");
- _append_section(state, pdesc, indent, curl + 3, buf, wbuf, EINA_FALSE);
+ _append_section(state, pdesc, indent, curl + 3, buf, wbuf);
eina_strbuf_append_char(buf, '\n');
}
if (par || rdoc || since)
@@ -619,7 +615,7 @@ eo_gen_docs_func_gen(const Eolian_State *state, const Eolian_Function *fid,
eina_strbuf_append_char(buf, ' ');
curl += 1;
_append_section(state, eolian_documentation_summary_get(adoc),
- indent, curl, buf, wbuf, EINA_FALSE);
+ indent, curl, buf, wbuf);
}
eina_strbuf_append_char(buf, '\n');
@@ -652,7 +648,7 @@ eo_gen_docs_func_gen(const Eolian_State *state, const Eolian_Function *fid,
eina_strbuf_append(buf, " * @return ");
curl += sizeof(" * @return ") - 1;
_append_section(state, eolian_documentation_summary_get(rdoc), indent,
- curl, buf, wbuf, EINA_FALSE);
+ curl, buf, wbuf);
eina_strbuf_append_char(buf, '\n');
if (since)
{
diff --git a/src/bin/eolian/docs.h b/src/bin/eolian/docs.h
index 91866ec012..3438f5d293 100644
--- a/src/bin/eolian/docs.h
+++ b/src/bin/eolian/docs.h
@@ -9,12 +9,11 @@
* @param[in] doc the documentation
* @param[in] group the group to use (can be NULL)
* @param[in] indent by how many spaces to indent the comment from second line
- * @param[in] use_legacy whether to use legacy names
*
* @return A documentation comment
*
*/
-Eina_Strbuf *eo_gen_docs_full_gen(const Eolian_State *state, const Eolian_Documentation *doc, const char *group, int indent, Eina_Bool use_legacy);
+Eina_Strbuf *eo_gen_docs_full_gen(const Eolian_State *state, const Eolian_Documentation *doc, const char *group, int indent);
/*
* @brief Generate function documentation
diff --git a/src/bin/eolian/headers.c b/src/bin/eolian/headers.c
index cc3b0ee293..d35c604577 100644
--- a/src/bin/eolian/headers.c
+++ b/src/bin/eolian/headers.c
@@ -176,9 +176,9 @@ _gen_func(const Eolian_State *state, const Eolian_Function *fid,
void
eo_gen_header_gen(const Eolian_State *state, const Eolian_Class *cl,
- Eina_Strbuf *buf, Eina_Bool legacy)
+ Eina_Strbuf *buf)
{
- if (!cl || legacy)
+ if (!cl)
return;
Eina_Iterator *itr;
@@ -196,7 +196,7 @@ eo_gen_header_gen(const Eolian_State *state, const Eolian_Class *cl,
if (doc)
{
Eina_Strbuf *cdoc = eo_gen_docs_full_gen(state, doc,
- eolian_class_name_get(cl), 0, EINA_FALSE);
+ eolian_class_name_get(cl), 0);
if (cdoc)
{
eina_strbuf_append(buf, eina_strbuf_string_get(cdoc));
diff --git a/src/bin/eolian/headers.h b/src/bin/eolian/headers.h
index 94fd89b908..9e45fb917e 100644
--- a/src/bin/eolian/headers.h
+++ b/src/bin/eolian/headers.h
@@ -4,6 +4,6 @@
#include "main.h"
void eo_gen_params(Eina_Iterator *itr, Eina_Strbuf *buf, Eina_Strbuf **flagbuf, int *nidx, Eolian_Function_Type ftype);
-void eo_gen_header_gen(const Eolian_State *state, const Eolian_Class *cl, Eina_Strbuf *buf, Eina_Bool legacy);
+void eo_gen_header_gen(const Eolian_State *state, const Eolian_Class *cl, Eina_Strbuf *buf);
#endif
diff --git a/src/bin/eolian/main.c b/src/bin/eolian/main.c
index 06f32fd418..691881f160 100644
--- a/src/bin/eolian/main.c
+++ b/src/bin/eolian/main.c
@@ -11,17 +11,16 @@ int _eolian_gen_log_dom = -1;
enum
{
GEN_H = 1 << 0,
- GEN_H_LEGACY = 1 << 1,
- GEN_H_STUB = 1 << 2,
- GEN_C = 1 << 3,
- GEN_C_IMPL = 1 << 4,
- GEN_D = 1 << 5,
- GEN_D_FULL = 1 << 6
+ GEN_H_STUB = 1 << 1,
+ GEN_C = 1 << 2,
+ GEN_C_IMPL = 1 << 3,
+ GEN_D = 1 << 4,
+ GEN_D_FULL = 1 << 5
};
-static const char *_dexts[7] =
+static const char *_dexts[6] =
{
- ".h", ".legacy.h", ".stub.h", ".c", ".c", ".d", ".d"
+ ".h", ".stub.h", ".c", ".c", ".d", ".d"
};
static int
@@ -48,7 +47,6 @@ _print_usage(const char *progn, FILE *outf)
"\n"
"Available types:\n"
" h: C header file (.eo.h/.eot.h)\n"
- " l: Legacy C header file (.eo.legacy.h/.eot.legacy.h)\n"
" s: Stub C header file (.eo.stub.h/.eot.stub.h)\n"
" c: C source file (.eo.c)\n"
" i: Implementation file (.c, merged with existing)\n"
@@ -86,10 +84,6 @@ _try_set_out(char t, char **outs, const char *val, int *what)
pos = _get_bit_pos(GEN_H);
*what |= GEN_H;
break;
- case 'l':
- pos = _get_bit_pos(GEN_H_LEGACY);
- *what |= GEN_H_LEGACY;
- break;
case 's':
pos = _get_bit_pos(GEN_H_STUB);
*what |= GEN_H_STUB;
@@ -331,13 +325,13 @@ void eo_gen_class_names_get(const Eolian_Class *cl, char **cname,
static Eina_Bool
_write_header(const Eolian_State *eos, const Eolian_State *state, const char *ofname,
- const char *ifname, Eina_Bool legacy)
+ const char *ifname)
{
- INF("generating header: %s (legacy: %d)", ofname, legacy);
+ INF("generating header: %s", ofname);
Eina_Strbuf *buf = eina_strbuf_new();
eo_gen_types_header_gen(state, eolian_state_objects_by_file_get(eos, ifname),
- buf, EINA_TRUE, legacy);
+ buf, EINA_TRUE);
buf = _include_guard(ifname, "TYPES", buf);
Eina_Strbuf *cltd = eo_gen_class_typedef_gen(eos, ifname);
@@ -349,16 +343,13 @@ _write_header(const Eolian_State *eos, const Eolian_State *state, const char *of
eina_strbuf_free(cltd);
}
- const Eolian_Class *cl = eolian_state_class_by_file_get(eos, ifname);
- eo_gen_header_gen(state, cl, buf, legacy);
- if (cl || !legacy)
+ eo_gen_header_gen(state, eolian_state_class_by_file_get(eos, ifname), buf);
+
+ buf = _include_guard(_get_filename(ofname), NULL, buf);
+ if (_write_file(ofname, buf))
{
- buf = _include_guard(_get_filename(ofname), NULL, buf);
- if (_write_file(ofname, buf))
- {
- eina_strbuf_free(buf);
- return EINA_TRUE;
- }
+ eina_strbuf_free(buf);
+ return EINA_TRUE;
}
eina_strbuf_free(buf);
@@ -373,7 +364,7 @@ _write_stub_header(const Eolian_State *eos, const Eolian_State *state, const cha
Eina_Strbuf *buf = eina_strbuf_new();
eo_gen_types_header_gen(state, eolian_state_objects_by_file_get(eos, ifname),
- buf, EINA_FALSE, EINA_FALSE);
+ buf, EINA_FALSE);
Eina_Strbuf *cltd = eo_gen_class_typedef_gen(eos, ifname);
if (cltd)
@@ -476,7 +467,6 @@ _write_deps(const Eolian_State *eos, const char *ofname, const char *ifname,
eina_strbuf_append_char(dbuf, '\n');
_append_dep_line(buf, dbuf, outs, gen_what, GEN_H);
- _append_dep_line(buf, dbuf, outs, gen_what, GEN_H_LEGACY);
_append_dep_line(buf, dbuf, outs, gen_what, GEN_H_STUB);
if (gen_what & GEN_D_FULL)
@@ -498,7 +488,7 @@ main(int argc, char **argv)
int pret = 1;
char *outs[sizeof(_dexts) / sizeof(void *)] = {
- NULL, NULL, NULL, NULL, NULL, NULL, NULL
+ NULL, NULL, NULL, NULL, NULL, NULL
};
char *basen = NULL;
Eina_List *includes = NULL;
@@ -540,9 +530,6 @@ main(int argc, char **argv)
case 'h':
gen_what |= GEN_H;
break;
- case 'l':
- gen_what |= GEN_H_LEGACY;
- break;
case 's':
gen_what |= GEN_H_STUB;
break;
@@ -646,9 +633,7 @@ main(int argc, char **argv)
Eina_Bool succ = EINA_TRUE;
if (gen_what & GEN_H)
- succ = _write_header(eos, eos, outs[_get_bit_pos(GEN_H)], eobn, EINA_FALSE);
- if (succ && (gen_what & GEN_H_LEGACY))
- succ = _write_header(eos, eos, outs[_get_bit_pos(GEN_H_LEGACY)], eobn, EINA_TRUE);
+ succ = _write_header(eos, eos, outs[_get_bit_pos(GEN_H)], eobn);
if (succ && (gen_what & GEN_H_STUB))
succ = _write_stub_header(eos, eos, outs[_get_bit_pos(GEN_H_STUB)], eobn);
if (succ && (gen_what & GEN_C))
diff --git a/src/bin/eolian/types.c b/src/bin/eolian/types.c
index c2a2ea654f..85e443e6d8 100644
--- a/src/bin/eolian/types.c
+++ b/src/bin/eolian/types.c
@@ -4,13 +4,13 @@
static Eina_Strbuf *
_type_generate(const Eolian_State *state, const Eolian_Typedecl *tp,
- Eina_Bool full, Eina_Bool legacy)
+ Eina_Bool full)
{
char *grp = strdup(eolian_typedecl_name_get(tp));
char *p = strrchr(grp, '.');
if (p) *p = '\0';
Eina_Strbuf *buf = eo_gen_docs_full_gen(state, eolian_typedecl_documentation_get(tp),
- grp, 0, legacy);
+ grp, 0);
free(grp);
if (!buf) buf = eina_strbuf_new();
else eina_strbuf_append_char(buf, '\n');
@@ -54,7 +54,7 @@ _type_generate(const Eolian_State *state, const Eolian_Typedecl *tp,
if (nl)
{
Eina_Strbuf *fbuf = eo_gen_docs_full_gen(state, fdoc, NULL,
- strlen(nl), legacy);
+ strlen(nl));
if (fbuf)
eina_strbuf_append_printf(buf, " %s",
eina_strbuf_string_get(fbuf));
@@ -108,7 +108,7 @@ _type_generate(const Eolian_State *state, const Eolian_Typedecl *tp,
if (nl)
{
Eina_Strbuf *fbuf = eo_gen_docs_full_gen(state, fdoc, NULL,
- strlen(nl), legacy);
+ strlen(nl));
if (fbuf)
eina_strbuf_append_printf(buf, " %s",
eina_strbuf_string_get(fbuf));
@@ -166,13 +166,13 @@ _type_generate(const Eolian_State *state, const Eolian_Typedecl *tp,
}
static Eina_Strbuf *
-_var_generate(const Eolian_State *state, const Eolian_Variable *vr, Eina_Bool legacy)
+_var_generate(const Eolian_State *state, const Eolian_Variable *vr)
{
char *fn = strdup(eolian_variable_name_get(vr));
char *p = strrchr(fn, '.');
if (p) *p = '\0';
Eina_Strbuf *buf = eo_gen_docs_full_gen(state, eolian_variable_documentation_get(vr),
- fn, 0, legacy);
+ fn, 0);
if (p)
{
*p = '_';
@@ -216,7 +216,7 @@ _var_generate(const Eolian_State *state, const Eolian_Variable *vr, Eina_Bool le
void eo_gen_types_header_gen(const Eolian_State *state,
Eina_Iterator *itr, Eina_Strbuf *buf,
- Eina_Bool full, Eina_Bool legacy)
+ Eina_Bool full)
{
const Eolian_Object *decl;
EINA_ITERATOR_FOREACH(itr, decl)
@@ -229,7 +229,7 @@ void eo_gen_types_header_gen(const Eolian_State *state,
if (!vr || eolian_variable_is_extern(vr))
continue;
- Eina_Strbuf *vbuf = _var_generate(state, vr, legacy);
+ Eina_Strbuf *vbuf = _var_generate(state, vr);
if (vbuf)
{
eina_strbuf_append(buf, eina_strbuf_string_get(vbuf));
@@ -259,7 +259,7 @@ void eo_gen_types_header_gen(const Eolian_State *state,
continue;
}
- Eina_Strbuf *tbuf = _type_generate(state, tp, full, legacy);
+ Eina_Strbuf *tbuf = _type_generate(state, tp, full);
if (tbuf)
{
eina_strbuf_append(buf, eina_strbuf_string_get(tbuf));
diff --git a/src/bin/eolian/types.h b/src/bin/eolian/types.h
index 2659b59085..5abd030a27 100644
--- a/src/bin/eolian/types.h
+++ b/src/bin/eolian/types.h
@@ -1,7 +1,7 @@
#ifndef EOLIAN_GEN_TYPES_H
#define EOLIAN_GEN_TYPES_H
-void eo_gen_types_header_gen(const Eolian_State *state, Eina_Iterator *itr, Eina_Strbuf *buf, Eina_Bool full, Eina_Bool legacy);
+void eo_gen_types_header_gen(const Eolian_State *state, Eina_Iterator *itr, Eina_Strbuf *buf, Eina_Bool full);
void eo_gen_types_source_gen(Eina_Iterator *itr, Eina_Strbuf *buf);
Eina_Strbuf *eo_gen_class_typedef_gen(const Eolian_State *eos, const char *eof);
diff --git a/src/bin/eolian_mono/eolian/mono/documentation.hh b/src/bin/eolian_mono/eolian/mono/documentation.hh
index 1cea16e9e8..9646fd314f 100644
--- a/src/bin/eolian_mono/eolian/mono/documentation.hh
+++ b/src/bin/eolian_mono/eolian/mono/documentation.hh
@@ -64,6 +64,10 @@ struct documentation_generator
::Eolian_Function_Type ftype = ::eolian_function_type_get(function);
const char* eo_name = ::eolian_function_name_get(function);
std::string name = object_ref_conversion(klass);
+
+ // Klass is needed to check the property naming rulles
+ attributes::klass_def klass_d((const ::Eolian_Class *)klass, eolian_object_unit_get(klass));
+
switch(ftype)
{
case ::EOLIAN_METHOD:
@@ -75,17 +79,17 @@ struct documentation_generator
break;
case ::EOLIAN_PROP_SET:
name += ".Set";
- name += name_helpers::property_managed_name(eo_name);
+ name += name_helpers::property_managed_name(klass_d, eo_name);
break;
case ::EOLIAN_PROP_GET:
name += ".Get";
- name += name_helpers::property_managed_name(eo_name);
+ name += name_helpers::property_managed_name(klass_d, eo_name);
break;
case ::EOLIAN_PROPERTY:
{
int getter_params = property_num_parameters(function, ::EOLIAN_PROP_GET);
int setter_params = property_num_parameters(function, ::EOLIAN_PROP_SET);
- std::string short_name = name_helpers::property_managed_name(eo_name);
+ std::string short_name = name_helpers::property_managed_name(klass_d, eo_name);
bool blacklisted = blacklist::is_property_blacklisted(name + "." + short_name);
// EO properties with keys, with more than one value, or blacklisted, are not
// converted into C# properties.
diff --git a/src/bin/eolian_mono/eolian/mono/function_definition.hh b/src/bin/eolian_mono/eolian/mono/function_definition.hh
index 3abf82fe11..23025480c0 100644
--- a/src/bin/eolian_mono/eolian/mono/function_definition.hh
+++ b/src/bin/eolian_mono/eolian/mono/function_definition.hh
@@ -267,12 +267,12 @@ struct property_wrapper_definition_generator
return false;
if (property.getter.is_engaged())
- if (!as_generator(scope_tab << scope_tab << "get " << (interface ? ";" : "{ return Get" + managed_name + "(); }") << "\n"
+ if (!as_generator(scope_tab << scope_tab << "get " << (interface ? ";" : "{ return " + name_helpers::managed_method_name(*property.getter) + "(); }") << "\n"
).generate(sink, attributes::unused, context))
return false;
if (property.setter.is_engaged())
- if (!as_generator(scope_tab << scope_tab << "set " << (interface ? ";" : "{ Set" + managed_name + "(" + dir_mod + "value); }") << "\n"
+ if (!as_generator(scope_tab << scope_tab << "set " << (interface ? ";" : "{ " + name_helpers::managed_method_name(*property.setter) + "(" + dir_mod + "value); }") << "\n"
).generate(sink, attributes::unused, context))
return false;
diff --git a/src/bin/eolian_mono/eolian/mono/function_pointer.hh b/src/bin/eolian_mono/eolian/mono/function_pointer.hh
index e243ca744c..f724d8029e 100644
--- a/src/bin/eolian_mono/eolian/mono/function_pointer.hh
+++ b/src/bin/eolian_mono/eolian/mono/function_pointer.hh
@@ -84,7 +84,7 @@ struct function_pointer {
<< scope_tab << scope_tab << scope_tab << "}\n"
<< scope_tab << scope_tab << scope_tab << "else\n"
<< scope_tab << scope_tab << scope_tab << "{\n"
- << scope_tab << scope_tab << scope_tab << scope_tab << "Efl.Eo.Globals.efl_mono_thread_safe_free_cb_exec(this._cb_free_cb, this._cb_data);\n"
+ << scope_tab << scope_tab << scope_tab << scope_tab << "Efl.Eo.Globals.ThreadSafeFreeCbExec(this._cb_free_cb, this._cb_data);\n"
<< scope_tab << scope_tab << scope_tab << "}\n"
<< scope_tab << scope_tab << scope_tab << "this._cb_free_cb = null;\n"
<< scope_tab << scope_tab << scope_tab << "this._cb_data = IntPtr.Zero;\n"
diff --git a/src/bin/eolian_mono/eolian/mono/klass.hh b/src/bin/eolian_mono/eolian/mono/klass.hh
index 4664446dbf..fd4c629ffd 100644
--- a/src/bin/eolian_mono/eolian/mono/klass.hh
+++ b/src/bin/eolian_mono/eolian/mono/klass.hh
@@ -206,7 +206,7 @@ struct klass
if(!as_generator
(
documentation
- << "sealed public class " << concrete_name << " : " << "\n"
+ << "sealed internal class " << concrete_name << " : " << "\n"
<< (klass_full_concrete_or_interface_name % ",") << "\n"
<< (inherit_classes.size() > 0 ? ", " : "" ) << interface_name << "\n"
<< scope_tab << *(", " << name_helpers::klass_full_concrete_or_interface_name) << "\n"
@@ -362,6 +362,7 @@ struct klass
context);
auto native_inherit_name = name_helpers::klass_native_inherit_name(cls);
auto inherit_name = name_helpers::klass_inherit_name(cls);
+ auto implementable_methods = helpers::get_all_implementable_methods(cls);
std::string base_name;
if(!root)
{
@@ -377,14 +378,25 @@ struct klass
<< scope_tab << "public override System.Collections.Generic.List<Efl_Op_Description> GetEoOps(System.Type type)\n"
<< scope_tab << "{\n"
<< scope_tab << scope_tab << "var descs = new System.Collections.Generic.List<Efl_Op_Description>();\n"
- << scope_tab << scope_tab << "var methods = Efl.Eo.Globals.GetUserMethods(type);\n"
)
.generate(sink, attributes::unused, inative_cxt))
return false;
// Native wrapper registration
+ // We write them first to a temporary function as the implementable function list may contain
+ // only non-registrable methods like class functions, leading to unused `methods` variable.
+ std::string tmp_registration;
if(!as_generator(*(function_registration(cls)))
- .generate(sink, helpers::get_all_implementable_methods(cls), inative_cxt)) return false;
+ .generate(std::back_inserter(tmp_registration), implementable_methods, inative_cxt))
+ return false;
+
+ if (tmp_registration.find("methods") != std::string::npos)
+ if (!as_generator(
+ scope_tab << scope_tab << "var methods = Efl.Eo.Globals.GetUserMethods(type);\n"
+ << tmp_registration
+ ).generate(sink, attributes::unused, inative_cxt))
+ return false;
+
if(!root)
if(!as_generator(scope_tab << scope_tab << "descs.AddRange(base.GetEoOps(type));\n").generate(sink, attributes::unused, inative_cxt))
@@ -415,7 +427,7 @@ struct klass
// Native method definitions
if(!as_generator(*(native_function_definition(cls)))
- .generate(sink, helpers::get_all_implementable_methods(cls), inative_cxt)) return false;
+ .generate(sink, implementable_methods, inative_cxt)) return false;
if(!as_generator("}\n").generate(sink, attributes::unused, inative_cxt)) return false;
}
@@ -628,12 +640,12 @@ struct klass
<< scope_tab << scope_tab << scope_tab << "else\n"
<< scope_tab << scope_tab << scope_tab << "{\n"
- << scope_tab << scope_tab << scope_tab << scope_tab << "Monitor.Enter(Efl.Eo.Config.InitLock);\n"
- << scope_tab << scope_tab << scope_tab << scope_tab << "if (Efl.Eo.Config.Initialized)\n"
+ << scope_tab << scope_tab << scope_tab << scope_tab << "Monitor.Enter(Efl.All.InitLock);\n"
+ << scope_tab << scope_tab << scope_tab << scope_tab << "if (Efl.All.MainLoopInitialized)\n"
<< scope_tab << scope_tab << scope_tab << scope_tab << "{\n"
<< scope_tab << scope_tab << scope_tab << scope_tab << scope_tab << "Efl.Eo.Globals.efl_mono_thread_safe_native_dispose(h, gcHandlePtr);\n"
<< scope_tab << scope_tab << scope_tab << scope_tab << "}\n\n"
- << scope_tab << scope_tab << scope_tab << scope_tab << "Monitor.Exit(Efl.Eo.Config.InitLock);\n"
+ << scope_tab << scope_tab << scope_tab << scope_tab << "Monitor.Exit(Efl.All.InitLock);\n"
<< scope_tab << scope_tab << scope_tab << "}\n"
<< scope_tab << scope_tab << "}\n"
<< scope_tab << "}\n\n"
diff --git a/src/bin/eolian_mono/eolian/mono/marshall_annotation.hh b/src/bin/eolian_mono/eolian/mono/marshall_annotation.hh
index 4159b6a952..296b59c04c 100644
--- a/src/bin/eolian_mono/eolian/mono/marshall_annotation.hh
+++ b/src/bin/eolian_mono/eolian/mono/marshall_annotation.hh
@@ -151,8 +151,8 @@ struct marshall_annotation_visitor_generate
name = "Efl.Eo.MarshalEflClass";
else
{
- auto own = klass_name.base_qualifier & qualifier_info::is_own ? "OwnTag" : "NonOwnTag";
- name = "Efl.Eo.MarshalTest<" + name + ", Efl.Eo." + own + ">";
+ std::string own = klass_name.base_qualifier & qualifier_info::is_own ? "OwnTag" : "NonOwnTag";
+ name = "Efl.Eo.MarshalEo<Efl.Eo." + own + ">";
}
return as_generator(
diff --git a/src/bin/eolian_mono/eolian/mono/name_helpers.hh b/src/bin/eolian_mono/eolian/mono/name_helpers.hh
index 2ff2b47e1d..6e913556a2 100644
--- a/src/bin/eolian_mono/eolian/mono/name_helpers.hh
+++ b/src/bin/eolian_mono/eolian/mono/name_helpers.hh
@@ -38,6 +38,10 @@ inline bool is_equal(std::string const& lhs, std::string const& rhs)
}
}
+// Forward declarations
+template<typename T>
+inline std::string klass_concrete_or_interface_name(T const& klass);
+
inline std::string identity(std::string const& str)
{
return str;
@@ -184,6 +188,12 @@ inline std::string managed_method_name(std::string const& klass, std::string con
if (candidate == klass)
candidate = "Do" + candidate;
+ // Avoid clashing with System.Object.GetType
+ if (candidate == "GetType" || candidate == "SetType")
+ {
+ candidate.insert(3, klass);
+ }
+
return candidate;
}
@@ -252,17 +262,26 @@ inline std::string to_field_name(std::string const& in)
return utils::capitalize(in);
}
-inline std::string property_managed_name(const std::string name)
+
+
+template<typename T>
+inline std::string property_managed_name(T const& klass, std::string const& name)
{
auto names = utils::split(name, '_');
// No need to escape keyword here as it will be capitalized and already
// namespaced inside the owner class.
- return utils::to_pascal_case(names);
+ auto managed_name = utils::to_pascal_case(names);
+ auto managed_klass_name = klass_concrete_or_interface_name(klass);
+
+ if (managed_name == "Type")
+ managed_name = managed_klass_name + managed_name;
+
+ return managed_name;
}
inline std::string property_managed_name(attributes::property_def const& property)
{
- return property_managed_name(property.name);
+ return property_managed_name(property.klass, property.name);
}
inline std::string managed_part_name(attributes::part_def const& part)
diff --git a/src/bindings/cxx/efl_cxx/meson.build b/src/bindings/cxx/efl_cxx/meson.build
index 44113d324a..0dca3250c9 100644
--- a/src/bindings/cxx/efl_cxx/meson.build
+++ b/src/bindings/cxx/efl_cxx/meson.build
@@ -1,5 +1,5 @@
cxx_header_src += join_paths(file_location, 'Efl.hh')
install_headers(join_paths('..', file_location, 'cxx', 'efl_part_impl.hh'),
- subdir: join_paths(dir_package_include, 'cxx')
+ subdir: join_paths(package_version_name, 'cxx')
)
diff --git a/src/bindings/cxx/eina_cxx/meson.build b/src/bindings/cxx/eina_cxx/meson.build
index fbe6f55ede..a08c416c98 100644
--- a/src/bindings/cxx/eina_cxx/meson.build
+++ b/src/bindings/cxx/eina_cxx/meson.build
@@ -50,5 +50,5 @@ eina_cxx = declare_dependency(
)
install_headers(eina_cxx_header_src,
- subdir: dir_package_include
+ subdir: package_version_name
)
diff --git a/src/bindings/cxx/eldbus_cxx/Eldbus_Model.hh b/src/bindings/cxx/eldbus_cxx/Eldbus_Model.hh
index f2aa9e1a2c..7d8bb27892 100644
--- a/src/bindings/cxx/eldbus_cxx/Eldbus_Model.hh
+++ b/src/bindings/cxx/eldbus_cxx/Eldbus_Model.hh
@@ -5,7 +5,7 @@
#ifdef EFL_BETA_API_SUPPORT
-#include <Eldbus_Model.eo.hh>
+#include <Eldbus.eo.hh>
#endif
#endif
diff --git a/src/bindings/cxx/meson.build b/src/bindings/cxx/meson.build
index 8697473f09..d5b6295731 100644
--- a/src/bindings/cxx/meson.build
+++ b/src/bindings/cxx/meson.build
@@ -30,7 +30,6 @@ foreach lib : cxx_sublibs
'-DNEED_RUN_IN_TREE=1'
]
- dir_package_include = package_version_name
dir_package_modules = join_paths(dir_lib, package_name, 'modules')
cxx_generator_target = []
cxx_header_src = []
@@ -50,7 +49,7 @@ foreach lib : cxx_sublibs
input : join_paths(subdir_file_location, cxx_gen_file),
output : [cxx_gen_file + '.hh', cxx_gen_file + '.impl.hh'],
install : true,
- install_dir : join_paths(dir_package_include, eo_file_subdir),
+ install_dir : join_paths(dir_include, package_version_name, eo_file_subdir),
command : [eolian_cxx_gen, '-I', meson.current_source_dir(), eolian_include_directories,
'-o', join_paths(meson.current_build_dir(), cxx_gen_file + '.hh'),
'@INPUT@'])
@@ -64,7 +63,7 @@ foreach lib : cxx_sublibs
input : eo_file_list,
output : [lib[0] + '.eo.hh'],
install : true,
- install_dir : join_paths(dir_package_include),
+ install_dir : join_paths(dir_include, package_version_name),
command : [eolian_cxx_gen, '-I', meson.current_source_dir(), eolian_include_directories, '-m',
'-o', '@OUTPUT@',
'@INPUT@'])
@@ -97,7 +96,7 @@ foreach lib : cxx_sublibs
endforeach
install_headers(cxx_header_src,
- subdir: dir_package_include
+ subdir: package_version_name,
)
pkgconfig.generate(
diff --git a/src/bindings/mono/efl_mono/efl_all.cs b/src/bindings/mono/efl_mono/efl_all.cs
index 70b9825b9d..9a49730093 100644
--- a/src/bindings/mono/efl_mono/efl_all.cs
+++ b/src/bindings/mono/efl_mono/efl_all.cs
@@ -43,6 +43,13 @@ public static class All
{
private static bool InitializedUi = false;
+ public static bool MainLoopInitialized {
+ get;
+ private set;
+ }
+
+ public static readonly object InitLock = new object();
+
public static void Init(Efl.Csharp.Components components = Efl.Csharp.Components.Basic)
{
Eina.Config.Init();
@@ -56,24 +63,38 @@ public static class All
Efl.Ui.Config.Init();
InitializedUi = true;
}
+ Monitor.Enter(InitLock);
+ MainLoopInitialized = true;
+ Monitor.Exit(InitLock);
}
/// <summary>Shutdowns all EFL subsystems.</summary>
public static void Shutdown()
{
// Try to cleanup everything before actually shutting down.
+ Eina.Log.Debug("Calling GC before shutdown");
System.GC.Collect();
System.GC.WaitForPendingFinalizers();
+ Monitor.Enter(InitLock);
+ MainLoopInitialized = false;
+ Monitor.Exit(InitLock);
+
if (InitializedUi)
{
+ Eina.Log.Debug("Shutting down Elementary");
Efl.Ui.Config.Shutdown();
}
+ Eina.Log.Debug("Shutting down Eldbus");
eldbus.Config.Shutdown();
+ Eina.Log.Debug("Shutting down Evas");
evas_shutdown();
+ Eina.Log.Debug("Shutting down Ecore");
ecore_shutdown();
+ Eina.Log.Debug("Shutting down Eo");
Efl.Eo.Config.Shutdown();
+ Eina.Log.Debug("Shutting down Eina");
Eina.Config.Shutdown();
}
}
diff --git a/src/bindings/mono/eina_mono/eina_accessor.cs b/src/bindings/mono/eina_mono/eina_accessor.cs
index d14a2039d5..bafbbd84fe 100644
--- a/src/bindings/mono/eina_mono/eina_accessor.cs
+++ b/src/bindings/mono/eina_mono/eina_accessor.cs
@@ -78,7 +78,7 @@ public class Accessor<T> : IEnumerable<T>, IDisposable
}
else
{
- Efl.Eo.Globals.efl_mono_thread_safe_free_cb_exec(eina_accessor_free, Handle);
+ Efl.Eo.Globals.ThreadSafeFreeCbExec(eina_accessor_free, Handle);
}
Handle = IntPtr.Zero;
}
diff --git a/src/bindings/mono/eina_mono/eina_array.cs b/src/bindings/mono/eina_mono/eina_array.cs
index afa73e9775..e3bd852e2b 100644
--- a/src/bindings/mono/eina_mono/eina_array.cs
+++ b/src/bindings/mono/eina_mono/eina_array.cs
@@ -155,7 +155,7 @@ public class Array<T> : IEnumerable<T>, IDisposable
}
else
{
- Efl.Eo.Globals.efl_mono_thread_safe_free_cb_exec(eina_array_free, h);
+ Efl.Eo.Globals.ThreadSafeFreeCbExec(eina_array_free, h);
}
}
}
diff --git a/src/bindings/mono/eina_mono/eina_binbuf.cs b/src/bindings/mono/eina_mono/eina_binbuf.cs
index 2ae04ec1bd..e5dc817085 100644
--- a/src/bindings/mono/eina_mono/eina_binbuf.cs
+++ b/src/bindings/mono/eina_mono/eina_binbuf.cs
@@ -109,7 +109,7 @@ public class Binbuf : IDisposable
}
else
{
- Efl.Eo.Globals.efl_mono_thread_safe_free_cb_exec(eina_binbuf_free, Handle);
+ Efl.Eo.Globals.ThreadSafeFreeCbExec(eina_binbuf_free, Handle);
}
}
}
diff --git a/src/bindings/mono/eina_mono/eina_hash.cs b/src/bindings/mono/eina_mono/eina_hash.cs
index d74c96970b..8b3c1e7db5 100644
--- a/src/bindings/mono/eina_mono/eina_hash.cs
+++ b/src/bindings/mono/eina_mono/eina_hash.cs
@@ -193,7 +193,7 @@ public class Hash<TKey, TValue> : IEnumerable<KeyValuePair<TKey, TValue>>, IDi
}
else
{
- Efl.Eo.Globals.efl_mono_thread_safe_free_cb_exec(eina_hash_free, h);
+ Efl.Eo.Globals.ThreadSafeFreeCbExec(eina_hash_free, h);
}
}
}
diff --git a/src/bindings/mono/eina_mono/eina_inarray.cs b/src/bindings/mono/eina_mono/eina_inarray.cs
index 8fbd89191c..c7f3151ac1 100644
--- a/src/bindings/mono/eina_mono/eina_inarray.cs
+++ b/src/bindings/mono/eina_mono/eina_inarray.cs
@@ -147,7 +147,7 @@ public class Inarray<T> : IEnumerable<T>, IDisposable
}
else
{
- Efl.Eo.Globals.efl_mono_thread_safe_free_cb_exec(eina_inarray_free, h);
+ Efl.Eo.Globals.ThreadSafeFreeCbExec(eina_inarray_free, h);
}
}
}
diff --git a/src/bindings/mono/eina_mono/eina_iterator.cs b/src/bindings/mono/eina_mono/eina_iterator.cs
index 75ca1b2785..05b5408606 100644
--- a/src/bindings/mono/eina_mono/eina_iterator.cs
+++ b/src/bindings/mono/eina_mono/eina_iterator.cs
@@ -79,7 +79,7 @@ public class Iterator<T> : IEnumerable<T>, IDisposable
}
else
{
- Efl.Eo.Globals.efl_mono_thread_safe_free_cb_exec(eina_iterator_free, h);
+ Efl.Eo.Globals.ThreadSafeFreeCbExec(eina_iterator_free, h);
}
}
}
diff --git a/src/bindings/mono/eina_mono/eina_strbuf.cs b/src/bindings/mono/eina_mono/eina_strbuf.cs
index 927a21da08..a538de0fd2 100644
--- a/src/bindings/mono/eina_mono/eina_strbuf.cs
+++ b/src/bindings/mono/eina_mono/eina_strbuf.cs
@@ -99,7 +99,7 @@ public class Strbuf : IDisposable
}
else
{
- Efl.Eo.Globals.efl_mono_thread_safe_free_cb_exec(eina_strbuf_free, Handle);
+ Efl.Eo.Globals.ThreadSafeFreeCbExec(eina_strbuf_free, Handle);
}
Handle = IntPtr.Zero;
diff --git a/src/bindings/mono/eina_mono/eina_value.cs b/src/bindings/mono/eina_mono/eina_value.cs
index 3c9cb53ced..627c7cb343 100644
--- a/src/bindings/mono/eina_mono/eina_value.cs
+++ b/src/bindings/mono/eina_mono/eina_value.cs
@@ -1411,7 +1411,7 @@ public class Value : IDisposable, IComparable<Value>, IEquatable<Value>
}
else
{
- Efl.Eo.Globals.efl_mono_thread_safe_free_cb_exec(eina_value_free, this.Handle);
+ Efl.Eo.Globals.ThreadSafeFreeCbExec(eina_value_free, this.Handle);
}
}
diff --git a/src/bindings/mono/eldbus_mono/eldbus_connection.cs b/src/bindings/mono/eldbus_mono/eldbus_connection.cs
index ea8a45f7a1..f88f0ac598 100644
--- a/src/bindings/mono/eldbus_mono/eldbus_connection.cs
+++ b/src/bindings/mono/eldbus_mono/eldbus_connection.cs
@@ -167,7 +167,7 @@ public class Connection : IDisposable
}
else
{
- Efl.Eo.Globals.efl_mono_thread_safe_free_cb_exec(eldbus_connection_unref, h);
+ Efl.Eo.Globals.ThreadSafeFreeCbExec(eldbus_connection_unref, h);
}
}
}
diff --git a/src/bindings/mono/eldbus_mono/eldbus_message.cs b/src/bindings/mono/eldbus_mono/eldbus_message.cs
index eec9167d18..559c2f10b9 100644
--- a/src/bindings/mono/eldbus_mono/eldbus_message.cs
+++ b/src/bindings/mono/eldbus_mono/eldbus_message.cs
@@ -236,7 +236,7 @@ public class Message : IDisposable
}
else
{
- Efl.Eo.Globals.efl_mono_thread_safe_free_cb_exec(eldbus_message_unref, h);
+ Efl.Eo.Globals.ThreadSafeFreeCbExec(eldbus_message_unref, h);
}
}
}
diff --git a/src/bindings/mono/eldbus_mono/eldbus_object.cs b/src/bindings/mono/eldbus_mono/eldbus_object.cs
index 136e8407ac..682fda6565 100644
--- a/src/bindings/mono/eldbus_mono/eldbus_object.cs
+++ b/src/bindings/mono/eldbus_mono/eldbus_object.cs
@@ -158,7 +158,7 @@ public class Object : System.IDisposable
}
else
{
- Efl.Eo.Globals.efl_mono_thread_safe_free_cb_exec(eldbus_object_unref, h);
+ Efl.Eo.Globals.ThreadSafeFreeCbExec(eldbus_object_unref, h);
}
}
}
diff --git a/src/bindings/mono/eldbus_mono/eldbus_proxy.cs b/src/bindings/mono/eldbus_mono/eldbus_proxy.cs
index c8ac4d265a..f5eec40d43 100644
--- a/src/bindings/mono/eldbus_mono/eldbus_proxy.cs
+++ b/src/bindings/mono/eldbus_mono/eldbus_proxy.cs
@@ -117,7 +117,7 @@ public class Proxy : IDisposable
}
else
{
- Efl.Eo.Globals.efl_mono_thread_safe_free_cb_exec(eldbus_proxy_unref, h);
+ Efl.Eo.Globals.ThreadSafeFreeCbExec(eldbus_proxy_unref, h);
}
}
}
diff --git a/src/bindings/mono/eo_mono/iwrapper.cs b/src/bindings/mono/eo_mono/iwrapper.cs
index 4f4181d244..a410a091bb 100644
--- a/src/bindings/mono/eo_mono/iwrapper.cs
+++ b/src/bindings/mono/eo_mono/iwrapper.cs
@@ -77,7 +77,7 @@ public class Globals
efl_mono_thread_safe_efl_unref(IntPtr eo);
[DllImport(efl.Libs.CustomExports)] public static extern void
- efl_mono_thread_safe_free_cb_exec(EinaFreeCb free_cb, IntPtr cb_data);
+ efl_mono_thread_safe_free_cb_exec(IntPtr free_cb, IntPtr cb_data);
[DllImport(efl.Libs.Eo)] public static extern IntPtr
efl_class_name_get(IntPtr eo);
@@ -653,6 +653,7 @@ public class Globals
return ret;
}
+ private static Efl.FreeGCHandleCb FreeGCHandleCallbackDelegate = new Efl.FreeGCHandleCb(FreeGCHandleCallback);
public static void FreeGCHandleCallback(IntPtr gcHandlePtr)
{
try
@@ -667,6 +668,7 @@ public class Globals
}
}
+ private static Efl.RemoveEventsCb RemoveEventsCallbackDelegate = new Efl.RemoveEventsCb(RemoveEventsCallback);
public static void RemoveEventsCallback(IntPtr obj, IntPtr gcHandlePtr)
{
try
@@ -696,35 +698,42 @@ public class Globals
public static void SetNativeDisposeCallbacks()
{
- efl_mono_gchandle_callbacks_set(FreeGCHandleCallback, RemoveEventsCallback);
+ efl_mono_gchandle_callbacks_set(FreeGCHandleCallbackDelegate, RemoveEventsCallbackDelegate);
}
-} // Globals
+ public static void ThreadSafeFreeCbExec(EinaFreeCb cbFreeCb, IntPtr cbData)
+ {
+ EinaFreeCb cb = (IntPtr gcHandlePtr) => {
+ cbFreeCb(cbData);
+ GCHandle gcHandle = GCHandle.FromIntPtr(gcHandlePtr);
+ gcHandle.Free();
+ };
-public static class Config
-{
+ Monitor.Enter(Efl.All.InitLock);
+ if (Efl.All.MainLoopInitialized)
+ {
+ IntPtr cbPtr = Marshal.GetFunctionPointerForDelegate(cb);
+ var handle = GCHandle.Alloc(cb);
+ var handlePtr = GCHandle.ToIntPtr(handle);
- public static bool Initialized {
- get;
- private set;
+ efl_mono_thread_safe_free_cb_exec(cbPtr, handlePtr);
+ }
+ Monitor.Exit(Efl.All.InitLock);
}
- public static readonly object InitLock = new object();
+} // Globals
+
+public static class Config
+{
public static void Init()
{
Globals.efl_object_init();
- Monitor.Enter(InitLock);
- Initialized = true;
- Monitor.Exit(InitLock);
Globals.SetNativeDisposeCallbacks();
}
public static void Shutdown()
{
- Monitor.Enter(InitLock);
- Initialized = false;
- Monitor.Exit(InitLock);
Globals.efl_object_shutdown();
}
}
@@ -962,37 +971,37 @@ public class NonOwnTag : IOwnershipTag
{
}
-public class MarshalTest<T, U> : ICustomMarshaler
+public class MarshalEo<U> : ICustomMarshaler
where U : IOwnershipTag
{
public static ICustomMarshaler GetInstance(string cookie)
{
- Eina.Log.Debug("MarshalTest.GetInstace cookie " + cookie);
- return new MarshalTest<T, U>();
+ Eina.Log.Debug("MarshalEo.GetInstace cookie " + cookie);
+ return new MarshalEo<U>();
}
public void CleanUpManagedData(object ManagedObj)
{
- //Eina.Log.Warning("MarshalTest.CleanUpManagedData not implemented");
+ //Eina.Log.Warning("MarshalEo.CleanUpManagedData not implemented");
//throw new NotImplementedException();
}
public void CleanUpNativeData(IntPtr pNativeData)
{
- //Eina.Log.Warning("MarshalTest.CleanUpNativeData not implemented");
+ //Eina.Log.Warning("MarshalEo.CleanUpNativeData not implemented");
//throw new NotImplementedException();
}
public int GetNativeDataSize()
{
- Eina.Log.Debug("MarshalTest.GetNativeDataSize");
+ Eina.Log.Debug("MarshalEo.GetNativeDataSize");
return 0;
//return 8;
}
public IntPtr MarshalManagedToNative(object ManagedObj)
{
- Eina.Log.Debug("MarshalTest.MarshallManagedToNative");
+ Eina.Log.Debug("MarshalEo.MarshallManagedToNative");
if (ManagedObj == null)
{
@@ -1019,7 +1028,7 @@ public class MarshalEflClass : ICustomMarshaler
{
public static ICustomMarshaler GetInstance(string cookie)
{
- Eina.Log.Debug("MarshalTest.GetInstance cookie " + cookie);
+ Eina.Log.Debug("MarshalEflClass.GetInstance cookie " + cookie);
return new MarshalEflClass();
}
@@ -1033,13 +1042,13 @@ public class MarshalEflClass : ICustomMarshaler
public int GetNativeDataSize()
{
- Eina.Log.Debug("MarshalTest.GetNativeDataSize");
+ Eina.Log.Debug("MarshalEflClass.GetNativeDataSize");
return 0;
}
public IntPtr MarshalManagedToNative(object ManagedObj)
{
- Eina.Log.Debug("MarshalTest.MarshallManagedToNative");
+ Eina.Log.Debug("MarshalEflClass.MarshallManagedToNative");
if (ManagedObj == null)
{
return IntPtr.Zero;
@@ -1051,7 +1060,7 @@ public class MarshalEflClass : ICustomMarshaler
public object MarshalNativeToManaged(IntPtr pNativeData)
{
- Eina.Log.Debug("MarshalTest.MarshalNativeToManaged");
+ Eina.Log.Debug("MarshalEflClass.MarshalNativeToManaged");
if (pNativeData == IntPtr.Zero)
{
return null;
diff --git a/src/lib/ecore/Ecore_Getopt.h b/src/lib/ecore/Ecore_Getopt.h
index a4f188c8c2..7a038f744a 100644
--- a/src/lib/ecore/Ecore_Getopt.h
+++ b/src/lib/ecore/Ecore_Getopt.h
@@ -1215,4 +1215,7 @@ EAPI Eina_Bool ecore_getopt_callback_size_parse(const Ecore_Getopt *parser, con
* @}
*/
+#undef EAPI
+#define EAPI
+
#endif /* _ECORE_GETOPT_H */
diff --git a/src/lib/ecore/efl_composite_model.c b/src/lib/ecore/efl_composite_model.c
index 668b382dfb..a0457729ac 100644
--- a/src/lib/ecore/efl_composite_model.c
+++ b/src/lib/ecore/efl_composite_model.c
@@ -8,10 +8,9 @@
#include "ecore_private.h"
+#include "efl_composite_model_private.h"
#include "efl_composite_model.eo.h"
-#define _CHILD_INDEX "child.index"
-
typedef struct _Efl_Composite_Model_Data Efl_Composite_Model_Data;
struct _Efl_Composite_Model_Data
@@ -148,7 +147,7 @@ _efl_composite_model_index_get(const Eo *obj, Efl_Composite_Model_Data *pd)
if (pd->need_index)
return 0xFFFFFFFF;
- fetch = efl_model_property_get(obj, _CHILD_INDEX);
+ fetch = efl_model_property_get(obj, EFL_COMPOSITE_MODEL_CHILD_INDEX);
if (!eina_value_uint_convert(fetch, &r))
return 0xFFFFFFFF;
eina_value_free(fetch);
@@ -179,7 +178,7 @@ _efl_composite_model_efl_ui_view_model_set(Eo *obj EINA_UNUSED, Efl_Composite_Mo
properties = efl_model_properties_get(pd->source);
EINA_ITERATOR_FOREACH(properties, property)
{
- if (!strcmp(property, _CHILD_INDEX))
+ if (!strcmp(property, EFL_COMPOSITE_MODEL_CHILD_INDEX))
{
pd->need_index = EINA_FALSE;
break;
@@ -198,7 +197,7 @@ static Eina_Future *
_efl_composite_model_efl_model_property_set(Eo *obj, Efl_Composite_Model_Data *pd,
const char *property, Eina_Value *value)
{
- if (pd->need_index && !strcmp(property, _CHILD_INDEX))
+ if (pd->need_index && !strcmp(property, EFL_COMPOSITE_MODEL_CHILD_INDEX))
{
if (pd->set_index || !pd->source)
return efl_loop_future_rejected(obj, EFL_MODEL_ERROR_READ_ONLY);
@@ -214,7 +213,7 @@ static Eina_Value *
_efl_composite_model_efl_model_property_get(const Eo *obj EINA_UNUSED, Efl_Composite_Model_Data *pd,
const char *property)
{
- if (pd->need_index && !strcmp(property, _CHILD_INDEX))
+ if (pd->need_index && !strcmp(property, EFL_COMPOSITE_MODEL_CHILD_INDEX))
{
if (pd->set_index)
return eina_value_uint_new(pd->index);
@@ -229,7 +228,7 @@ _efl_composite_model_efl_model_properties_get(const Eo *obj EINA_UNUSED, Efl_Com
if (pd->need_index)
{
static const char *composite_properties[] = {
- _CHILD_INDEX
+ EFL_COMPOSITE_MODEL_CHILD_INDEX
};
return eina_multi_iterator_new(efl_model_properties_get(pd->source),
diff --git a/src/lib/ecore/efl_composite_model_private.h b/src/lib/ecore/efl_composite_model_private.h
index c9e3783b9d..b780326c8b 100644
--- a/src/lib/ecore/efl_composite_model_private.h
+++ b/src/lib/ecore/efl_composite_model_private.h
@@ -1,3 +1,7 @@
+#ifndef EFL_COMPOSITE_MODEL_PRIVATE_H_
+# define EFL_COMPOSITE_MODEL_PRIVATE_H_
+
+#define EFL_COMPOSITE_MODEL_CHILD_INDEX "child.index"
#define EFL_COMPOSITE_MODEL_PROPERTIES(name, dyn, sta, ...) \
EFL_COMPOSITE_MODEL_PROPERTIES_SUPER(name, NULL, NULL, (dyn), sta, ##__VA_ARGS__)
@@ -36,3 +40,4 @@ _efl_composite_model_properties_mix(Eina_Iterator *super, Eina_Iterator *dyn, Ei
};
}
+#endif
diff --git a/src/lib/ecore_drm2/Ecore_Drm2.h b/src/lib/ecore_drm2/Ecore_Drm2.h
index ecf4f4a2bd..843cfa6a2d 100644
--- a/src/lib/ecore_drm2/Ecore_Drm2.h
+++ b/src/lib/ecore_drm2/Ecore_Drm2.h
@@ -1179,6 +1179,23 @@ EAPI int ecore_drm2_device_fd_get(Ecore_Drm2_Device *device);
*/
EAPI Eina_Bool ecore_drm2_output_pending_get(Ecore_Drm2_Output *output);
+/**
+ * Set the background color of an output's crtc
+ *
+ * @param output
+ * @param r
+ * @param g
+ * @param b
+ * @param a
+ *
+ * @return EINA_TRUE on success, EINA_FALSE otherwise
+ *
+ * @note This requires support from the video driver in order to function
+ *
+ * @since 1.23
+ */
+EAPI Eina_Bool ecore_drm2_output_background_color_set(Ecore_Drm2_Output *output, uint64_t r, uint64_t g, uint64_t b, uint64_t a);
+
# endif
#endif
diff --git a/src/lib/ecore_drm2/ecore_drm2_device.c b/src/lib/ecore_drm2/ecore_drm2_device.c
index b4ca722b22..c27deb8199 100644
--- a/src/lib/ecore_drm2/ecore_drm2_device.c
+++ b/src/lib/ecore_drm2/ecore_drm2_device.c
@@ -266,9 +266,13 @@ _drm2_atomic_state_crtc_fill(Ecore_Drm2_Crtc_State *cstate, int fd)
{
cstate->active.id = prop->prop_id;
cstate->active.value = oprops->prop_values[i];
- DBG("\t\t\tValue: %d", cstate->active.value);
+ DBG("\t\t\tValue: %lu", cstate->active.value);
+ }
+ else if (!strcmp(prop->name, "BACKGROUND_COLOR"))
+ {
+ cstate->background.id = prop->prop_id;
+ cstate->background.value = oprops->prop_values[i];
}
-
cont:
sym_drmModeFreeProperty(prop);
}
@@ -303,13 +307,13 @@ _drm2_atomic_state_conn_fill(Ecore_Drm2_Connector_State *cstate, int fd)
{
cstate->crtc.id = prop->prop_id;
cstate->crtc.value = oprops->prop_values[i];
- DBG("\t\t\tValue: %d", cstate->crtc.value);
+ DBG("\t\t\tValue: %lu", cstate->crtc.value);
}
else if (!strcmp(prop->name, "DPMS"))
{
cstate->dpms.id = prop->prop_id;
cstate->dpms.value = oprops->prop_values[i];
- DBG("\t\t\tValue: %d", cstate->dpms.value);
+ DBG("\t\t\tValue: %lu", cstate->dpms.value);
}
else if (!strcmp(prop->name, "EDID"))
{
@@ -344,13 +348,13 @@ _drm2_atomic_state_conn_fill(Ecore_Drm2_Connector_State *cstate, int fd)
{
cstate->aspect.id = prop->prop_id;
cstate->aspect.value = oprops->prop_values[i];
- DBG("\t\t\tValue: %d", cstate->aspect.value);
+ DBG("\t\t\tValue: %lu", cstate->aspect.value);
}
else if (!strcmp(prop->name, "scaling mode"))
{
cstate->scaling.id = prop->prop_id;
cstate->scaling.value = oprops->prop_values[i];
- DBG("\t\t\tValue: %d", cstate->scaling.value);
+ DBG("\t\t\tValue: %lu", cstate->scaling.value);
}
cont:
@@ -388,13 +392,13 @@ _drm2_atomic_state_plane_fill(Ecore_Drm2_Plane_State *pstate, int fd)
{
pstate->cid.id = prop->prop_id;
pstate->cid.value = oprops->prop_values[i];
- DBG("\t\t\tValue: %d", pstate->cid.value);
+ DBG("\t\t\tValue: %lu", pstate->cid.value);
}
else if (!strcmp(prop->name, "FB_ID"))
{
pstate->fid.id = prop->prop_id;
pstate->fid.value = oprops->prop_values[i];
- DBG("\t\t\tValue: %d", pstate->fid.value);
+ DBG("\t\t\tValue: %lu", pstate->fid.value);
}
else if (!strcmp(prop->name, "CRTC_X"))
{
@@ -452,7 +456,7 @@ _drm2_atomic_state_plane_fill(Ecore_Drm2_Plane_State *pstate, int fd)
DBG("\t\t\tCursor Plane");
break;
default:
- DBG("\t\t\tValue: %d", pstate->type.value);
+ DBG("\t\t\tValue: %lu", pstate->type.value);
break;
}
}
diff --git a/src/lib/ecore_drm2/ecore_drm2_fb.c b/src/lib/ecore_drm2/ecore_drm2_fb.c
index e8f6c16762..aab47956fb 100644
--- a/src/lib/ecore_drm2/ecore_drm2_fb.c
+++ b/src/lib/ecore_drm2/ecore_drm2_fb.c
@@ -348,6 +348,15 @@ _fb_atomic_flip_test(Ecore_Drm2_Output *output)
cstate->active.value);
if (ret < 0) goto err;
+ if (cstate->background.id)
+ {
+ ret =
+ sym_drmModeAtomicAddProperty(req, cstate->obj_id,
+ cstate->background.id,
+ cstate->background.value);
+ if (ret < 0) goto err;
+ }
+
EINA_LIST_FOREACH(output->planes, l, plane)
{
pstate = plane->state;
diff --git a/src/lib/ecore_drm2/ecore_drm2_outputs.c b/src/lib/ecore_drm2/ecore_drm2_outputs.c
index 6734cacdff..dfb2fa93d1 100644
--- a/src/lib/ecore_drm2/ecore_drm2_outputs.c
+++ b/src/lib/ecore_drm2/ecore_drm2_outputs.c
@@ -1303,6 +1303,20 @@ _output_mode_atomic_set(Ecore_Drm2_Output *output, Ecore_Drm2_Output_Mode *mode)
goto err;
}
+ if (cstate->background.id)
+ {
+ ret =
+ sym_drmModeAtomicAddProperty(req, cstate->obj_id,
+ cstate->background.id,
+ cstate->background.value);
+ if (ret < 0)
+ {
+ ERR("Could not add atomic property");
+ ret = EINA_FALSE;
+ goto err;
+ }
+ }
+
ret = sym_drmModeAtomicCommit(output->fd, req, DRM_MODE_ATOMIC_ALLOW_MODESET,
output);
if (ret < 0)
@@ -1732,3 +1746,21 @@ ecore_drm2_output_relative_to_get(Ecore_Drm2_Output *output)
EINA_SAFETY_ON_NULL_RETURN_VAL(output, NULL);
return output->relative.to;
}
+
+EAPI Eina_Bool
+ecore_drm2_output_background_color_set(Ecore_Drm2_Output *output, uint64_t r, uint64_t g, uint64_t b, uint64_t a)
+{
+ Ecore_Drm2_Crtc_State *cstate;
+
+ EINA_SAFETY_ON_NULL_RETURN_VAL(output, EINA_FALSE);
+ EINA_SAFETY_ON_NULL_RETURN_VAL(output->crtc_state, EINA_FALSE);
+
+ cstate = output->crtc_state;
+ if (cstate->background.id)
+ {
+ cstate->background.value = (a << 48 | b << 32 | g << 16 | r);
+ return _fb_atomic_flip_test(output);
+ }
+
+ return EINA_FALSE;
+}
diff --git a/src/lib/ecore_drm2/ecore_drm2_private.h b/src/lib/ecore_drm2/ecore_drm2_private.h
index 25aaac7d71..56c9fe8a99 100644
--- a/src/lib/ecore_drm2/ecore_drm2_private.h
+++ b/src/lib/ecore_drm2/ecore_drm2_private.h
@@ -72,7 +72,8 @@ typedef struct _Ecore_Drm2_Atomic_Blob
typedef struct _Ecore_Drm2_Atomic_Property
{
- uint32_t id, value;
+ uint32_t id;
+ uint64_t value;
} Ecore_Drm2_Atomic_Property;
typedef struct _Ecore_Drm2_Connector_State
@@ -90,6 +91,7 @@ typedef struct _Ecore_Drm2_Crtc_State
uint32_t obj_id;
int index;
Ecore_Drm2_Atomic_Property active;
+ Ecore_Drm2_Atomic_Property background;
Ecore_Drm2_Atomic_Blob mode;
} Ecore_Drm2_Crtc_State;
diff --git a/src/lib/ecore_imf/ecore_imf_module.c b/src/lib/ecore_imf/ecore_imf_module.c
index 0c6cee360d..391778f43b 100644
--- a/src/lib/ecore_imf/ecore_imf_module.c
+++ b/src/lib/ecore_imf/ecore_imf_module.c
@@ -97,7 +97,7 @@ ecore_imf_module_init(void)
if ((!env) && (getenv("WAYLAND_DISPLAY")) && (!getenv("DISPLAY")))
env = "wayland";
#endif
-#ifdef ENABLE_XIM
+#ifdef BUILD_ECORE_IMF_XIM
if ((!env) && (!getenv("WAYLAND_DISPLAY")) && (getenv("DISPLAY")))
env = "xim";
#endif
diff --git a/src/lib/ecore_sdl/meson.build b/src/lib/ecore_sdl/meson.build
index 01ef3981b9..b4685818c1 100644
--- a/src/lib/ecore_sdl/meson.build
+++ b/src/lib/ecore_sdl/meson.build
@@ -10,7 +10,7 @@ ecore_sdl_header_src = [
'Ecore_Sdl_Keys.h'
]
-ecore_sdl_deps += dependency('sdl')
+ecore_sdl_deps += dependency('sdl2')
ecore_sdl_lib = library('ecore_sdl',
ecore_sdl_src,
diff --git a/src/lib/ecore_win32/ecore_win32.c b/src/lib/ecore_win32/ecore_win32.c
index f217b22475..1ee8b2fbdf 100644
--- a/src/lib/ecore_win32/ecore_win32.c
+++ b/src/lib/ecore_win32/ecore_win32.c
@@ -25,12 +25,6 @@
* @cond LOCAL
*/
-/* FIXME: uncomment when mingw-w64 will be updated in win-builds */
-
-/* #ifndef WM_CLIPBOARDUPDATE */
-# define WM_CLIPBOARDUPDATE 0x031D
-/* #endif */
-
/* OLE IID for Drag'n Drop */
#define INITGUID
@@ -43,9 +37,6 @@ DEFINE_OLEGUID(IID_IUnknown, 0x00000000L, 0, 0);
#define IDI_ICON 101
-typedef BOOL WINAPI (*efl_AddClipboardFormatListener)(_In_ HWND hwnd);
-typedef BOOL WINAPI (*efl_RemoveClipboardFormatListener)(_In_ HWND hwnd);
-
static int _ecore_win32_init_count = 0;
LRESULT CALLBACK
@@ -205,31 +196,17 @@ _ecore_win32_window_procedure(HWND window,
/* Window notifications */
case WM_CREATE:
{
- efl_AddClipboardFormatListener acfl;
-
INF("create window message");
-
- acfl = (efl_AddClipboardFormatListener)GetProcAddress(GetModuleHandle("user32.dll"),
- "AddClipboardFormatListener");
- if (acfl)
- {
- if (!acfl(window))
- INF("can not create clipboard format listener; no clipboard notification will be sent");
- }
+ if (!AddClipboardFormatListener(window))
+ INF("can not create clipboard format listener; no clipboard notification will be sent");
_ecore_win32_event_handle_create_notify(data);
return 0;
}
case WM_DESTROY:
{
- efl_RemoveClipboardFormatListener rcfl;
-
INF("destroy window message");
_ecore_win32_event_handle_destroy_notify(data);
-
- rcfl = (efl_RemoveClipboardFormatListener)GetProcAddress(GetModuleHandle("user32.dll"),
- "RemoveClipboardFormatListener");
- if (rcfl)
- rcfl(window);
+ RemoveClipboardFormatListener(window);
return 0;
}
case WM_SHOWWINDOW:
diff --git a/src/lib/ecore_x/ecore_x.c b/src/lib/ecore_x/ecore_x.c
index ae357df542..f3d8caeb20 100644
--- a/src/lib/ecore_x/ecore_x.c
+++ b/src/lib/ecore_x/ecore_x.c
@@ -1223,12 +1223,12 @@ _ecore_x_fd_handler(void *data,
XEvent ev;
XNextEvent(d, &ev);
-#ifdef ENABLE_XIM
+#ifdef BUILD_ECORE_IMF_XIM
/* Filter event for XIM */
if (XFilterEvent(&ev, ev.xkey.window))
continue;
-#endif /* ifdef ENABLE_XIM */
+#endif /* ifdef BUILD_ECORE_IMF_XIM */
if ((ev.type >= 0) && (ev.type < _ecore_x_event_handlers_num))
{
if (_ecore_x_event_handlers[AnyXEvent])
diff --git a/src/lib/efl/interfaces/efl_content.eo b/src/lib/efl/interfaces/efl_content.eo
index ed3e96b18c..d23ac388a4 100644
--- a/src/lib/efl/interfaces/efl_content.eo
+++ b/src/lib/efl/interfaces/efl_content.eo
@@ -1,6 +1,6 @@
interface Efl.Content
{
- [[Common interface for objects that have a (single) content.
+ [[Common interface for objects that have a single sub-object as content.
This is used for the default content part of widgets, as well as for
individual parts through @Efl.Part.
@@ -9,17 +9,24 @@ interface Efl.Content
]]
methods {
@property content {
- [[Swallowed sub-object contained in this object.]]
+ [[Sub-object currently set as this object's single content.
+
+ If it is set multiple times, previous sub-objects are removed first.
+ Therefore, if an invalid $content is set the object will
+ become empty (it will have no sub-object).
+ ]]
set {
- return: bool; [[$true on success, $false otherwise]]
+ return: bool; [[$true if $content was successfully swallowed.]]
}
get {}
values {
- content: Efl.Gfx.Entity; [[The object to swallow.]]
+ content: Efl.Gfx.Entity; [[The sub-object.]]
}
}
content_unset {
- [[Unswallow the object in the current container and return it.]]
+ [[Remove the sub-object currently set as content of this object and return it.
+ This object becomes empty.
+ ]]
return: Efl.Gfx.Entity; [[Unswallowed object]]
}
}
diff --git a/src/lib/efl/interfaces/efl_pack_linear.eo b/src/lib/efl/interfaces/efl_pack_linear.eo
index 423c6cbb6c..b82cee842f 100644
--- a/src/lib/efl/interfaces/efl_pack_linear.eo
+++ b/src/lib/efl/interfaces/efl_pack_linear.eo
@@ -13,12 +13,12 @@ interface @beta Efl.Pack_Linear extends Efl.Pack
container without deleting it.
]]
params {
- @in subobj: Efl.Gfx.Entity; [[Item to pack.]]
+ @in subobj: Efl.Gfx.Entity; [[Item to pack at the beginning.]]
}
- return: bool; [[$false if $subobj could not be packed]]
+ return: bool; [[$false if $subobj could not be packed.]]
}
pack_end {
- [[Append object at the end of this container.
+ [[Append item at the end of this container.
This is the same as @.pack_at($subobj, -1).
@@ -29,7 +29,7 @@ interface @beta Efl.Pack_Linear extends Efl.Pack
params {
@in subobj: Efl.Gfx.Entity; [[Item to pack at the end.]]
}
- return: bool; [[$false if $subobj could not be packed]]
+ return: bool; [[$false if $subobj could not be packed.]]
}
pack_before {
[[Prepend item before other sub object.
@@ -60,46 +60,72 @@ interface @beta Efl.Pack_Linear extends Efl.Pack
could not be packed.]]
}
pack_at {
- [[Inserts $subobj at the specified $index.
+ [[Inserts $subobj BEFORE the item at position $index.
- Valid range: -$count to +$count. -1 refers to the last element.
- Out of range indices will trigger an append.
+ $index ranges from -$count to $count-1, where positive numbers go
+ from first item (0) to last item ($count-1), and negative numbers go
+ from last item (-1) to first item (-$count). Where $count is
+ the number of items currently in the container.
+
+ If $index is less than -$count, it will trigger @.pack_begin($subobj)
+ whereas $index greater than $count-1 will trigger @.pack_end($subobj).
When this container is deleted, it will request deletion of the
given $subobj. Use @Efl.Pack.unpack to remove $subobj from this
container without deleting it.
]]
params {
- @in subobj: Efl.Gfx.Entity; [[Item to pack at given index.]]
- @in index: int; [[A position.]]
+ @in subobj: Efl.Gfx.Entity; [[Item to pack.]]
+ @in index: int; [[Index of item to insert BEFORE.
+ Valid range is -$count to ($count-1).
+ ]]
}
return: bool; [[$false if $subobj could not be packed.]]
}
pack_content_get {
- [[Content at a given index in this container.
+ [[Content at a given $index in this container.
+
+ $index ranges from -$count to $count-1, where positive numbers go
+ from first item (0) to last item ($count-1), and negative numbers go
+ from last item (-1) to first item (-$count). Where $count is
+ the number of items currently in the container.
- Index -1 refers to the last item. The valid range is -(count - 1) to
- (count - 1).
+ If $index is less than -$count, it will return the first item
+ whereas $index greater than $count-1 will return the last item.
]]
params {
- index: int; [[Index number]]
+ @in index: int; [[Index of the item to retrieve.
+ Valid range is -$count to ($count-1).
+ ]]
}
return: Efl.Gfx.Entity; [[The object contained at the given $index.]]
}
pack_index_get {
[[Get the index of a child in this container.]]
params {
- subobj: const(Efl.Gfx.Entity); [[An object contained in this pack.]]
+ @in subobj: const(Efl.Gfx.Entity); [[An object contained in this pack.]]
}
- return: int(-1); [[-1 in case of failure, or the index of this item.]]
+ return: int(-1); [[-1 in case $subobj is not a child of this object,
+ or the index of this item in the range 0 to ($count-1).
+ ]]
}
pack_unpack_at {
- [[Pop out item at specified $index.
+ [[Pop out (remove) the item at the specified $index.
+
+ $index ranges from -$count to $count-1, where positive numbers go
+ from first item (0) to last item ($count-1), and negative numbers go
+ from last item (-1) to first item (-$count). Where $count is
+ the number of items currently in the container.
+
+ If $index is less than -$count, it will remove the first item
+ whereas $index greater than $count-1 will remove the last item.
- Equivalent to unpack(content_at($index)).
+ Equivalent to @Efl.Pack.unpack(@.pack_content_get($index)).
]]
params {
- index: int; [[Index number]]
+ @in index: int; [[Index of item to remove.
+ Valid range is -$count to ($count-1).
+ ]]
}
return: Efl.Gfx.Entity; [[The child item if it could be removed.]]
}
diff --git a/src/lib/eina/eina_vpath.c b/src/lib/eina/eina_vpath.c
index 207bb8aad0..25fa9018c4 100644
--- a/src/lib/eina/eina_vpath.c
+++ b/src/lib/eina/eina_vpath.c
@@ -214,6 +214,7 @@ _fetch_user_homedir(char **str, const char *name, const char *error)
#else
ERR("User fetching is disabled on this system\nThe string was: %s", error);
return EINA_FALSE;
+ (void) name;
#endif
}
diff --git a/src/lib/eina/eina_vpath.h b/src/lib/eina/eina_vpath.h
index d06cb431c3..77c1e35afe 100644
--- a/src/lib/eina/eina_vpath.h
+++ b/src/lib/eina/eina_vpath.h
@@ -36,7 +36,7 @@
* (:app.tmp:)/some-temp-file/path/file.txt
*
* (:usr.desktop:)/file-in-users-desktop-directory.txt
- * (:usr.documents:)/letter-to-gradma.doc
+ * (:usr.documents:)/letter-to-grandma.doc
* (:usr.downloads:)/file-downloaded-here.zip
* (:usr.music:)/fave-song.mp3
* (:usr.pictures:)/a-photo.,jpg
@@ -44,7 +44,7 @@
* (:usr.templates:)/some-template-document.txt
* (:usr.videos:)/some-video-file.mp4
* (:usr.data:)/file-in-user-data-dir
- * (:usr.config:)/file-in-user-conifg-dir
+ * (:usr.config:)/file-in-user-config-dir
* (:usr.cache:)/file-in-user-cache-dir
* (:usr.run:)/file-in-xdg-runtime-dir
* (:usr.tmp:)/some-temp-file/path/file.txt
diff --git a/src/lib/eina/eina_vpath_xdg.c b/src/lib/eina/eina_vpath_xdg.c
index e6db4c219e..bd36042f5d 100644
--- a/src/lib/eina/eina_vpath_xdg.c
+++ b/src/lib/eina/eina_vpath_xdg.c
@@ -13,31 +13,65 @@
void
eina_xdg_env_init(void)
{
- char *s;
- char home[PATH_MAX];
+ char home[PATH_MAX], *s;
Eina_Vpath_Interface_User user;
eina_vpath_resolve_snprintf(home, sizeof(home), "(:home:)/");
-
memset(&user, 0, sizeof(Eina_Vpath_Interface_User));
+#define FATAL_SNPRINTF(_buf, _err, _fmt, ...) \
+ do { \
+ if ((size_t)snprintf(_buf, sizeof(_buf), _fmt, ## __VA_ARGS__) >= (sizeof(_buf) - 1)) { \
+ fprintf(stderr, _err"\n", _buf); \
+ abort(); \
+ } \
+ } while (0)
+
+#ifdef _WIN32
+# define ENV_SET(_env, _dir, _meta) \
+ char _meta[PATH_MAX + 128]; \
+ if (_env) { \
+ s = getenv(_env); \
+ if (!s) s = home; \
+ } else s = home; \
+ if (_dir) FATAL_SNPRINTF(_meta, "vpath string '%s' truncated - fatal", "%s\\%s", s, (char *)_dir); \
+ else FATAL_SNPRINTF(_meta, "vpath string '%s' truncated - fatal", "%s\\", s); \
+ (&user)->_meta = _meta;
+
+ ENV_SET(NULL, "Desktop", desktop);
+ ENV_SET(NULL, "Documents", documents);
+ ENV_SET(NULL, "Downloads", downloads);
+ ENV_SET(NULL, "Music", music);
+ ENV_SET(NULL, "Pictures", pictures);
+ ENV_SET("CommonProgramFiles", NULL, pub);
+ ENV_SET("APPDATA", "Microsoft\\Windows\\Templates", templates);
+ ENV_SET(NULL, "Videos", videos);
+ ENV_SET("LOCALAPPDATA", NULL, data);
+ ENV_SET("LOCALAPPDATA", "Temp", tmp);
+ ENV_SET("APPDATA", NULL, config);
+ ENV_SET("LOCALAPPDATA", NULL, cache);
+ if (!(s = getenv("APPDATA")))
+ user.run = NULL;
+ else
+ user.run = s;
+#else /* _WIN32 */
# if defined(HAVE_GETUID) && defined(HAVE_GETEUID)
# define ENV_HOME_SET(_env, _dir, _meta) \
char _meta [PATH_MAX + 128]; \
if ((getuid() != geteuid()) || (!(s = getenv(_env)))) { \
- snprintf(_meta, sizeof(_meta), "%s/"_dir, home); \
+ FATAL_SNPRINTF(_meta, "vpath string '%s' truncated - fatal", "%s/"_dir, home); \
s = _meta; \
} \
(&user)->_meta = s;
-#else
+# else
# define ENV_HOME_SET(_env, _dir, _meta) \
char _meta [PATH_MAX + 128]; \
if (!(s = getenv(_env))) { \
- snprintf(_meta, sizeof(_meta), "%s/"_dir, home); \
+ FATAL_SNPRINTF(_meta, "vpath string '%s' truncated - fatal", "%s/"_dir, home); \
s = _meta; \
} \
(&user)->_meta = s;
-#endif
+# endif
// $XDG_DESKTOP_DIR="$HOME/Desktop"
ENV_HOME_SET("XDG_DESKTOP_DIR", "Desktop", desktop);
// $XDG_DOCUMENTS_DIR="$HOME/Documents"
@@ -71,14 +105,15 @@ eina_xdg_env_init(void)
// $HOME/.cache should be used.
ENV_HOME_SET("XDG_CACHE_HOME", ".cache", cache);
-#if defined(HAVE_GETUID) && defined(HAVE_GETEUID)
+# if defined(HAVE_GETUID) && defined(HAVE_GETEUID)
if ((getuid() != geteuid()) || (!(s = getenv("XDG_RUNTIME_DIR"))))
-#else
+# else
if (!(s = getenv("XDG_RUNTIME_DIR")))
-#endif
+# endif
user.run = NULL;
else
user.run = s;
+#endif /* _WIN32 */
eina_vpath_interface_user_set(&user);
}
diff --git a/src/lib/elementary/.gitignore b/src/lib/elementary/.gitignore
index 9076648525..0a04d8032d 100644
--- a/src/lib/elementary/.gitignore
+++ b/src/lib/elementary/.gitignore
@@ -9,4 +9,4 @@
/eldbus_elementary_colorclass.c
/eldbus_elementary_colorclass.h
/eldbus_utils.h
-
+/elm_default_config.x
diff --git a/src/lib/elementary/Efl_Ui.h b/src/lib/elementary/Efl_Ui.h
index 22e446a998..246ebf8456 100644
--- a/src/lib/elementary/Efl_Ui.h
+++ b/src/lib/elementary/Efl_Ui.h
@@ -53,41 +53,6 @@
#include <Eo.h>
#include <Efl.h>
-#ifdef EAPI
-# undef EAPI
-#endif
-#ifdef EWAPI
-# undef EWAPI
-#endif
-
-#ifdef _WIN32
-# ifdef EFL_BUILD
-# ifdef DLL_EXPORT
-# define EAPI __declspec(dllexport)
-# else
-# define EAPI
-# endif
-# else
-# define EAPI __declspec(dllimport)
-# endif
-# define EAPI_WEAK
-#else
-# ifdef __GNUC__
-# if __GNUC__ >= 4
-# define EAPI __attribute__ ((visibility("default")))
-# define EAPI_WEAK __attribute__ ((weak))
-# else
-# define EAPI
-# define EAPI_WEAK
-# endif
-# else
-# define EAPI
-# define EAPI_WEAK
-# endif
-#endif
-
-#define EWAPI EAPI EAPI_WEAK
-
#ifdef _WIN32
# define WIN32_LEAN_AND_MEAN
# include <winsock2.h>
@@ -133,6 +98,41 @@
#include <EMap.h>
#endif
+#ifdef EAPI
+# undef EAPI
+#endif
+#ifdef EWAPI
+# undef EWAPI
+#endif
+
+#ifdef _WIN32
+# ifdef EFL_BUILD
+# ifdef DLL_EXPORT
+# define EAPI __declspec(dllexport)
+# else
+# define EAPI
+# endif
+# else
+# define EAPI __declspec(dllimport)
+# endif
+# define EAPI_WEAK
+#else
+# ifdef __GNUC__
+# if __GNUC__ >= 4
+# define EAPI __attribute__ ((visibility("default")))
+# define EAPI_WEAK __attribute__ ((weak))
+# else
+# define EAPI
+# define EAPI_WEAK
+# endif
+# else
+# define EAPI
+# define EAPI_WEAK
+# endif
+#endif
+
+#define EWAPI EAPI EAPI_WEAK
+
#ifdef __cplusplus
extern "C" {
#endif
diff --git a/src/lib/elementary/Elementary.h b/src/lib/elementary/Elementary.h
index 96efada09e..74d1448530 100644
--- a/src/lib/elementary/Elementary.h
+++ b/src/lib/elementary/Elementary.h
@@ -292,6 +292,7 @@ typedef Eo Efl_Ui_Focus_Manager;
# include <efl_ui_widget_part.eo.h>
# include <efl_ui_widget_part_bg.eo.h>
# include <efl_ui_widget_part_shadow.eo.h>
+# include <efl_ui_layout.eo.h>
# include <efl_ui_layout_part.eo.h>
# include <efl_ui_layout_part_box.eo.h>
# include <efl_ui_layout_part_content.eo.h>
diff --git a/src/lib/elementary/efl_page_indicator.c b/src/lib/elementary/efl_page_indicator.c
index 57cd2bf9f9..6b0be267b2 100644
--- a/src/lib/elementary/efl_page_indicator.c
+++ b/src/lib/elementary/efl_page_indicator.c
@@ -43,6 +43,14 @@ _efl_page_indicator_unpack(Eo *obj EINA_UNUSED,
}
EOLIAN static void
+_efl_page_indicator_unpack_all(Eo *obj EINA_UNUSED,
+ Efl_Page_Indicator_Data *pd)
+{
+ pd->cnt = 0;
+ pd->curr_idx = -1;
+}
+
+EOLIAN static void
_efl_page_indicator_bind(Eo *obj EINA_UNUSED,
Efl_Page_Indicator_Data *pd,
Eo *pager,
@@ -72,6 +80,7 @@ EOAPI EFL_VOID_FUNC_BODYV(efl_page_indicator_pack,
EFL_FUNC_CALL(index), int index)
EOAPI EFL_VOID_FUNC_BODYV(efl_page_indicator_unpack,
EFL_FUNC_CALL(index), int index)
+EOAPI EFL_VOID_FUNC_BODY(efl_page_indicator_unpack_all)
#define EFL_PAGE_INDICATOR_EXTRA_OPS \
EFL_OBJECT_OP_FUNC(efl_page_indicator_update, \
@@ -79,6 +88,8 @@ EOAPI EFL_VOID_FUNC_BODYV(efl_page_indicator_unpack,
EFL_OBJECT_OP_FUNC(efl_page_indicator_pack, \
_efl_page_indicator_pack), \
EFL_OBJECT_OP_FUNC(efl_page_indicator_unpack, \
- _efl_page_indicator_unpack)
+ _efl_page_indicator_unpack), \
+ EFL_OBJECT_OP_FUNC(efl_page_indicator_unpack_all, \
+ _efl_page_indicator_unpack_all)
#include "efl_page_indicator.eo.c"
diff --git a/src/lib/elementary/efl_page_indicator_icon.c b/src/lib/elementary/efl_page_indicator_icon.c
index 3c9c54e75e..55326cfdd6 100644
--- a/src/lib/elementary/efl_page_indicator_icon.c
+++ b/src/lib/elementary/efl_page_indicator_icon.c
@@ -110,6 +110,22 @@ _efl_page_indicator_icon_unpack(Eo *obj,
}
EOLIAN static void
+_efl_page_indicator_icon_unpack_all(Eo *obj,
+ Efl_Page_Indicator_Icon_Data *pd)
+{
+ Eo *item;
+
+ EINA_LIST_FREE(pd->items, item)
+ {
+ efl_del(item);
+ }
+
+ pd->curr = NULL;
+
+ efl_page_indicator_unpack_all(efl_super(obj, MY_CLASS));
+}
+
+EOLIAN static void
_efl_page_indicator_icon_efl_page_indicator_bind(Eo *obj,
Efl_Page_Indicator_Icon_Data *pd,
Eo *pager,
@@ -168,6 +184,8 @@ _efl_page_indicator_icon_efl_page_indicator_bind(Eo *obj,
EFL_OBJECT_OP_FUNC(efl_page_indicator_pack, \
_efl_page_indicator_icon_pack), \
EFL_OBJECT_OP_FUNC(efl_page_indicator_unpack, \
- _efl_page_indicator_icon_unpack)
+ _efl_page_indicator_icon_unpack), \
+ EFL_OBJECT_OP_FUNC(efl_page_indicator_unpack_all, \
+ _efl_page_indicator_icon_unpack_all)
#include "efl_page_indicator_icon.eo.c"
diff --git a/src/lib/elementary/efl_page_transition.c b/src/lib/elementary/efl_page_transition.c
index 3740a6996d..f6d73a2c10 100644
--- a/src/lib/elementary/efl_page_transition.c
+++ b/src/lib/elementary/efl_page_transition.c
@@ -72,6 +72,14 @@ _efl_page_transition_pack(Eo *obj EINA_UNUSED,
}
EOLIAN static void
+_efl_page_transition_unpack_all(Eo *obj EINA_UNUSED,
+ Efl_Page_Transition_Data *pd EINA_UNUSED,
+ int index EINA_UNUSED)
+{
+
+}
+
+EOLIAN static void
_efl_page_transition_curr_page_change(Eo *obj EINA_UNUSED,
Efl_Page_Transition_Data *pd EINA_UNUSED,
int diff EINA_UNUSED)
@@ -94,6 +102,7 @@ EOAPI EFL_VOID_FUNC_BODYV(efl_page_transition_update,
EFL_FUNC_CALL(move), double move)
EOAPI EFL_VOID_FUNC_BODYV(efl_page_transition_pack,
EFL_FUNC_CALL(index), int index)
+EOAPI EFL_VOID_FUNC_BODY(efl_page_transition_unpack_all)
EOAPI EFL_VOID_FUNC_BODYV(efl_page_transition_curr_page_change,
EFL_FUNC_CALL(diff), int diff)
EOAPI EFL_VOID_FUNC_BODYV(efl_page_transition_page_size_set,
@@ -109,6 +118,8 @@ EOAPI EFL_FUNC_BODYV(efl_page_transition_loop_set, Eina_Bool, 0,
_efl_page_transition_update), \
EFL_OBJECT_OP_FUNC(efl_page_transition_pack, \
_efl_page_transition_pack), \
+ EFL_OBJECT_OP_FUNC(efl_page_transition_unpack_all, \
+ _efl_page_transition_unpack_all), \
EFL_OBJECT_OP_FUNC(efl_page_transition_curr_page_change, \
_efl_page_transition_curr_page_change), \
EFL_OBJECT_OP_FUNC(efl_page_transition_page_size_set, \
diff --git a/src/lib/elementary/efl_page_transition_scroll.c b/src/lib/elementary/efl_page_transition_scroll.c
index 5c5cb9aa11..3908710cc6 100644
--- a/src/lib/elementary/efl_page_transition_scroll.c
+++ b/src/lib/elementary/efl_page_transition_scroll.c
@@ -413,6 +413,24 @@ _efl_page_transition_scroll_pack(Eo *obj,
}
EOLIAN static void
+_efl_page_transition_scroll_unpack_all(Eo *obj EINA_UNUSED,
+ Efl_Page_Transition_Scroll_Data *pd)
+{
+ Eina_List *list;
+ Page_Info *pi;
+
+ EINA_LIST_FOREACH(pd->page_infos, list, pi)
+ {
+ efl_pack_unpack(pi->obj, pi->content);
+
+ pi->content_num = -1;
+ pi->content = NULL;
+ pi->visible = EINA_FALSE;
+ }
+ return;
+}
+
+EOLIAN static void
_efl_page_transition_scroll_curr_page_change(Eo *obj EINA_UNUSED,
Efl_Page_Transition_Scroll_Data *pd,
int diff)
@@ -656,6 +674,8 @@ _efl_page_transition_scroll_efl_object_invalidate(Eo *obj,
_efl_page_transition_scroll_update), \
EFL_OBJECT_OP_FUNC(efl_page_transition_pack, \
_efl_page_transition_scroll_pack), \
+ EFL_OBJECT_OP_FUNC(efl_page_transition_unpack_all, \
+ _efl_page_transition_scroll_unpack_all), \
EFL_OBJECT_OP_FUNC(efl_page_transition_curr_page_change, \
_efl_page_transition_scroll_curr_page_change), \
EFL_OBJECT_OP_FUNC(efl_page_transition_page_size_set, \
diff --git a/src/lib/elementary/efl_ui_alert_popup.c b/src/lib/elementary/efl_ui_alert_popup.c
index 1fe6f55a34..e7eac4a955 100644
--- a/src/lib/elementary/efl_ui_alert_popup.c
+++ b/src/lib/elementary/efl_ui_alert_popup.c
@@ -242,8 +242,6 @@ _efl_ui_alert_popup_efl_object_constructor(Eo *obj,
obj = efl_constructor(efl_super(obj, MY_CLASS));
efl_canvas_object_type_set(obj, MY_CLASS_NAME);
- elm_widget_sub_object_parent_add(obj);
-
return obj;
}
diff --git a/src/lib/elementary/efl_ui_anchor_popup.c b/src/lib/elementary/efl_ui_anchor_popup.c
index a02e6a8b2b..ec0573be4c 100644
--- a/src/lib/elementary/efl_ui_anchor_popup.c
+++ b/src/lib/elementary/efl_ui_anchor_popup.c
@@ -330,8 +330,6 @@ _efl_ui_anchor_popup_efl_object_constructor(Eo *obj,
obj = efl_constructor(efl_super(obj, MY_CLASS));
efl_canvas_object_type_set(obj, MY_CLASS_NAME);
- elm_widget_sub_object_parent_add(obj);
-
pd->priority[0] = EFL_UI_POPUP_ALIGN_TOP;
pd->priority[1] = EFL_UI_POPUP_ALIGN_LEFT;
pd->priority[2] = EFL_UI_POPUP_ALIGN_RIGHT;
diff --git a/src/lib/elementary/efl_ui_bg.c b/src/lib/elementary/efl_ui_bg.c
index aea33a086a..88d5ef7eb1 100644
--- a/src/lib/elementary/efl_ui_bg.c
+++ b/src/lib/elementary/efl_ui_bg.c
@@ -29,7 +29,6 @@ _efl_ui_bg_efl_object_constructor(Eo *obj, Efl_Ui_Bg_Data *pd)
elm_widget_theme_klass_set(obj, "bg");
obj = efl_constructor(efl_super(obj, MY_CLASS));
- elm_widget_sub_object_parent_add(obj);
elm_widget_can_focus_set(obj, EINA_FALSE);
if (elm_widget_theme_object_set(obj, wd->resize_obj,
diff --git a/src/lib/elementary/efl_ui_box.c b/src/lib/elementary/efl_ui_box.c
index eec5a645d8..ce3304132d 100644
--- a/src/lib/elementary/efl_ui_box.c
+++ b/src/lib/elementary/efl_ui_box.c
@@ -7,86 +7,102 @@
* - removed transition stuff (TODO: add back - needs clean API first)
*/
-static const char SIG_CHILD_ADDED[] = "child,added";
-static const char SIG_CHILD_REMOVED[] = "child,removed";
-static const Evas_Smart_Cb_Description _smart_callbacks[] = {
- {SIG_CHILD_ADDED, ""},
- {SIG_CHILD_REMOVED, ""},
- {NULL, NULL}
-};
+#define EFL_UI_BOX_DATA_GET(o, sd) \
+ Efl_Ui_Box_Data *sd = efl_data_scope_get(o, EFL_UI_BOX_CLASS)
+
+void _efl_ui_box_custom_layout(Efl_Ui_Box *ui_box, Efl_Ui_Box_Data *pd);
static void
-_child_added_cb_proxy(void *data, const Efl_Event *event)
+_on_child_size_changed(void *data, const Efl_Event *event EINA_UNUSED)
{
- Evas_Object *box = data;
- Evas_Object_Box_Option *opt = event->info;
-
- efl_event_callback_legacy_call(box, EFL_CONTAINER_EVENT_CONTENT_ADDED, opt->obj);
+ Eo *box = data;
+ efl_pack_layout_request(box);
}
static void
-_child_removed_cb_proxy(void *data, const Efl_Event *event)
+_on_child_del(void *data, const Efl_Event *event)
{
- Evas_Object *box = data;
- Evas_Object *child = event->info;
+ Eo *box = data;
+ EFL_UI_BOX_DATA_GET(box, sd);
- efl_event_callback_legacy_call(box, EFL_CONTAINER_EVENT_CONTENT_REMOVED, child);
+ sd->children = eina_list_remove(sd->children, event->object);
+
+ efl_pack_layout_request(box);
}
static void
-_sizing_eval(Evas_Object *obj, Efl_Ui_Box_Data *sd)
+_on_child_hints_changed(void *data, const Efl_Event *event EINA_UNUSED)
{
- Evas_Coord minw = -1, minh = -1, maxw = -1, maxh = -1;
- Evas_Coord w, h;
+ Eo *box = data;
+ efl_pack_layout_request(box);
+}
- ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd);
+EFL_CALLBACKS_ARRAY_DEFINE(efl_ui_box_callbacks,
+ { EFL_GFX_ENTITY_EVENT_SIZE_CHANGED, _on_child_size_changed },
+ { EFL_GFX_ENTITY_EVENT_HINTS_CHANGED, _on_child_hints_changed },
+ { EFL_EVENT_DEL, _on_child_del }
+);
- if (!efl_alive_get(obj)) return;
- if (sd->delete_me)
- return;
+static inline Eina_Bool
+_efl_ui_box_child_register(Eo *obj, Efl_Ui_Box_Data *pd, Efl_Gfx_Entity *subobj)
+{
+ if (!subobj || (efl_canvas_object_render_parent_get(subobj) == obj))
+ {
+ ERR("subobj %p %s is already added to this", subobj, efl_class_name_get(subobj) );
+ return EINA_FALSE;
+ }
+
+ if (!efl_ui_widget_sub_object_add(obj, subobj))
+ return EINA_FALSE;
+
+ efl_key_data_set(subobj, "_elm_leaveme", obj);
+ efl_canvas_group_member_add(obj, subobj);
+ efl_canvas_object_clipper_set(subobj, pd->clipper);
+ efl_pack_layout_request(obj);
- evas_object_size_hint_combined_min_get(wd->resize_obj, &minw, &minh);
- evas_object_size_hint_max_get(wd->resize_obj, &maxw, &maxh);
- evas_object_size_hint_min_set(obj, minw, minh);
- evas_object_size_hint_max_set(obj, maxw, maxh);
+ efl_event_callback_array_add(subobj, efl_ui_box_callbacks(), obj);
+ efl_event_callback_call(obj, EFL_CONTAINER_EVENT_CONTENT_ADDED, subobj);
- evas_object_geometry_get(obj, NULL, NULL, &w, &h);
- if (w < minw) w = minw;
- if (h < minh) h = minh;
- if ((maxw >= 0) && (w > maxw)) w = maxw;
- if ((maxh >= 0) && (h > maxh)) h = maxh;
- evas_object_resize(obj, w, h);
+ return EINA_TRUE;
}
-static void
-_on_size_hints_changed(void *data, Evas *e EINA_UNUSED,
- Evas_Object *resizeobj, void *event_info EINA_UNUSED)
+static inline Eina_Bool
+_efl_ui_box_child_unregister(Eo *obj, Efl_Ui_Box_Data *pd EINA_UNUSED, Efl_Gfx_Entity *subobj)
{
- Efl_Ui_Box *obj = data;
- Efl_Ui_Box_Data *pd = efl_data_scope_get(obj, EFL_UI_BOX_CLASS);
+ if (efl_canvas_object_render_parent_get(subobj) != obj)
+ {
+ ERR("subobj %p %s is not part of this widget", subobj, efl_class_name_get(subobj) );
+ return EINA_FALSE;
+ }
+ if (!subobj || !_elm_widget_sub_object_redirect_to_top(obj, subobj))
+ return EINA_FALSE;
+
+ efl_canvas_group_member_remove(obj, subobj);
+ efl_canvas_object_clipper_set(subobj, NULL);
+ efl_key_data_set(subobj, "_elm_leaveme", NULL);
+ efl_pack_layout_request(obj);
+
+ efl_event_callback_array_del(subobj, efl_ui_box_callbacks(), obj);
+ efl_event_callback_call(obj, EFL_CONTAINER_EVENT_CONTENT_REMOVED, subobj);
- if (obj == resizeobj)
- efl_pack_layout_request(obj);
- else
- _sizing_eval(data, pd);
+ return EINA_TRUE;
}
static void
-_evas_box_custom_layout(Evas_Object *evas_box EINA_UNUSED,
- Evas_Object_Box_Data *bd EINA_UNUSED, void *data)
+_efl_ui_box_size_hints_changed_cb(void *data EINA_UNUSED, const Efl_Event *ev)
{
- Efl_Ui_Box *obj = data;
-
- efl_pack_layout_update(obj);
+ efl_pack_layout_request(ev->object);
}
EOLIAN static void
_efl_ui_box_homogeneous_set(Eo *obj, Efl_Ui_Box_Data *pd, Eina_Bool homogeneous)
{
- if (pd->homogeneous == !!homogeneous)
+ homogeneous = !!homogeneous;
+
+ if (pd->homogeneous == homogeneous)
return;
- pd->homogeneous = !!homogeneous;
+ pd->homogeneous = homogeneous;
efl_pack_layout_request(obj);
}
@@ -97,74 +113,54 @@ _efl_ui_box_homogeneous_get(const Eo *obj EINA_UNUSED, Efl_Ui_Box_Data *pd)
}
EOLIAN static void
-_efl_ui_box_efl_pack_layout_layout_update(Eo *obj, Efl_Ui_Box_Data *pd EINA_UNUSED)
+_efl_ui_box_efl_pack_layout_layout_update(Eo *obj, Efl_Ui_Box_Data *pd)
{
- ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd);
- Evas_Object_Box_Data *bd;
-
- bd = evas_object_smart_data_get(wd->resize_obj);
- _efl_ui_box_custom_layout(obj, bd);
- efl_event_callback_legacy_call(obj, EFL_PACK_EVENT_LAYOUT_UPDATED, NULL);
+ _efl_ui_box_custom_layout(obj, pd);
}
EOLIAN static void
-_efl_ui_box_efl_canvas_group_group_calculate(Eo *obj, Efl_Ui_Box_Data *pd)
+_efl_ui_box_efl_canvas_group_group_calculate(Eo *obj, Efl_Ui_Box_Data *_pd EINA_UNUSED)
{
- if (pd->recalc) return;
-
- ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd);
- evas_object_smart_need_recalculate_set(wd->resize_obj, EINA_TRUE);
- pd->recalc = EINA_TRUE;
- evas_object_smart_calculate(wd->resize_obj);
- pd->recalc = EINA_FALSE;
+ efl_pack_layout_update(obj);
}
EOLIAN static void
-_efl_ui_box_efl_canvas_group_group_add(Eo *obj, Efl_Ui_Box_Data *_pd EINA_UNUSED)
+_efl_ui_box_efl_gfx_entity_size_set(Eo *obj, Efl_Ui_Box_Data *_pd EINA_UNUSED, Eina_Size2D sz)
{
- Evas *e = evas_object_evas_get(obj);
+ efl_gfx_entity_size_set(efl_super(obj, MY_CLASS), sz);
+ efl_canvas_group_change(obj);
+}
- ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd);
- elm_widget_resize_object_set(obj, evas_object_box_add(e));
- evas_object_box_layout_set(wd->resize_obj, _evas_box_custom_layout, obj, NULL);
+EOLIAN static void
+_efl_ui_box_efl_gfx_entity_position_set(Eo *obj, Efl_Ui_Box_Data *_pd EINA_UNUSED, Eina_Position2D pos)
+{
+ efl_gfx_entity_position_set(efl_super(obj, MY_CLASS), pos);
+ efl_canvas_group_change(obj);
+}
- evas_object_event_callback_add(wd->resize_obj, EVAS_CALLBACK_CHANGED_SIZE_HINTS, _on_size_hints_changed, obj);
- evas_object_event_callback_add(obj, EVAS_CALLBACK_CHANGED_SIZE_HINTS, _on_size_hints_changed, obj);
+EOLIAN static void
+_efl_ui_box_efl_canvas_group_group_add(Eo *obj, Efl_Ui_Box_Data *pd)
+{
+ pd->clipper = efl_add(EFL_CANVAS_RECTANGLE_CLASS, obj);
+ evas_object_static_clip_set(pd->clipper, EINA_TRUE);
+ efl_gfx_entity_geometry_set(pd->clipper, EINA_RECT(-49999, -49999, 99999, 99999));
+ efl_canvas_group_member_add(obj, pd->clipper);
+ efl_ui_widget_sub_object_add(obj, pd->clipper);
efl_canvas_group_add(efl_super(obj, MY_CLASS));
- elm_widget_sub_object_parent_add(obj);
-
- efl_event_callback_add(wd->resize_obj, EVAS_BOX_EVENT_CHILD_ADDED, _child_added_cb_proxy, obj);
- efl_event_callback_add(wd->resize_obj, EVAS_BOX_EVENT_CHILD_REMOVED, _child_removed_cb_proxy, obj);
- elm_widget_can_focus_set(obj, EINA_FALSE);
+ efl_ui_widget_focus_allow_set(obj, EINA_FALSE);
elm_widget_highlight_ignore_set(obj, EINA_TRUE);
+
+ efl_event_callback_add(obj, EFL_GFX_ENTITY_EVENT_HINTS_CHANGED,
+ _efl_ui_box_size_hints_changed_cb, NULL);
}
EOLIAN static void
-_efl_ui_box_efl_canvas_group_group_del(Eo *obj, Efl_Ui_Box_Data *sd)
+_efl_ui_box_efl_canvas_group_group_del(Eo *obj, Efl_Ui_Box_Data *_pd EINA_UNUSED)
{
- Eina_List *l;
- Evas_Object *child;
-
- sd->delete_me = EINA_TRUE;
-
- ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd);
- evas_object_event_callback_del_full
- (wd->resize_obj, EVAS_CALLBACK_CHANGED_SIZE_HINTS,
- _on_size_hints_changed, obj);
-
- /* let's make our box object the *last* to be processed, since it
- * may (smart) parent other sub objects here */
- EINA_LIST_FOREACH (wd->subobjs, l, child)
- {
- if (child == wd->resize_obj)
- {
- wd->subobjs =
- eina_list_demote_list(wd->subobjs, l);
- break;
- }
- }
+ efl_event_callback_del(obj, EFL_GFX_ENTITY_EVENT_HINTS_CHANGED,
+ _efl_ui_box_size_hints_changed_cb, NULL);
efl_canvas_group_del(efl_super(obj, MY_CLASS));
}
@@ -174,10 +170,10 @@ _efl_ui_box_efl_object_constructor(Eo *obj, Efl_Ui_Box_Data *pd)
{
obj = efl_constructor(efl_super(obj, MY_CLASS));
efl_canvas_object_type_set(obj, MY_CLASS_NAME);
- evas_object_smart_callbacks_descriptions_set(obj, _smart_callbacks);
efl_access_object_access_type_set(obj, EFL_ACCESS_TYPE_SKIPPED);
efl_access_object_role_set(obj, EFL_ACCESS_ROLE_FILLER);
+ pd->dir = EFL_UI_DIR_VERTICAL;
pd->align.h = 0.5;
pd->align.v = 0.5;
@@ -187,48 +183,34 @@ _efl_ui_box_efl_object_constructor(Eo *obj, Efl_Ui_Box_Data *pd)
/* CLEAN API BELOW */
EOLIAN static int
-_efl_ui_box_efl_container_content_count(Eo *obj, Efl_Ui_Box_Data *pd EINA_UNUSED)
+_efl_ui_box_efl_container_content_count(Eo *obj EINA_UNUSED, Efl_Ui_Box_Data *pd)
{
- Evas_Object_Box_Data *bd;
-
- ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd, 0);
-
- bd = evas_object_smart_data_get(wd->resize_obj);
- return bd ? eina_list_count(bd->children) : 0;
+ return eina_list_count(pd->children);
}
EOLIAN static Eina_Bool
_efl_ui_box_efl_pack_pack_clear(Eo *obj, Efl_Ui_Box_Data *pd)
{
- Eina_Bool ret;
-
- ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd, EINA_FALSE);
+ Eo *child;
+ EINA_LIST_FREE(pd->children, child)
+ {
+ efl_event_callback_array_del(child, efl_ui_box_callbacks(), obj);
+ efl_del(child);
+ }
- ret = evas_object_box_remove_all(wd->resize_obj, EINA_TRUE);
- _sizing_eval(obj, pd);
+ efl_pack_layout_request(obj);
- return ret;
+ return EINA_TRUE;
}
EOLIAN static Eina_Bool
_efl_ui_box_efl_pack_unpack_all(Eo *obj, Efl_Ui_Box_Data *pd)
{
- Evas_Object_Box_Data *bd;
- Evas_Object_Box_Option *opt;
- Eina_List *l;
- Eina_Bool ret;
-
- ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd, EINA_FALSE);
-
- /* set this to block _sizing_eval() calls */
- pd->delete_me = EINA_TRUE;
- bd = evas_object_smart_data_get(wd->resize_obj);
- EINA_LIST_FOREACH(bd->children, l, opt)
- _elm_widget_sub_object_redirect_to_top(obj, opt->obj);
- pd->delete_me = EINA_FALSE;
+ Eo *child;
+ Eina_Bool ret = EINA_TRUE;
- ret = evas_object_box_remove_all(wd->resize_obj, EINA_FALSE);
- _sizing_eval(obj, pd);
+ EINA_LIST_FREE(pd->children, child)
+ ret &= _efl_ui_box_child_unregister(obj, pd, child);
return ret;
}
@@ -236,16 +218,12 @@ _efl_ui_box_efl_pack_unpack_all(Eo *obj, Efl_Ui_Box_Data *pd)
EOLIAN static Eina_Bool
_efl_ui_box_efl_pack_unpack(Eo *obj, Efl_Ui_Box_Data *pd, Efl_Gfx_Entity *subobj)
{
- Eina_Bool ret = EINA_FALSE;
- ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd, EINA_FALSE);
+ if (!_efl_ui_box_child_unregister(obj, pd, subobj))
+ return EINA_FALSE;
- if (evas_object_box_remove(wd->resize_obj, subobj))
- {
- ret = _elm_widget_sub_object_redirect_to_top(obj, subobj);
- _sizing_eval(obj, pd);
- }
+ pd->children = eina_list_remove(pd->children, subobj);
- return ret;
+ return EINA_TRUE;
}
EOLIAN static Eina_Bool
@@ -255,133 +233,91 @@ _efl_ui_box_efl_pack_pack(Eo *obj, Efl_Ui_Box_Data *pd EINA_UNUSED, Efl_Gfx_Enti
}
EOLIAN static Eina_Bool
-_efl_ui_box_efl_pack_linear_pack_end(Eo *obj, Efl_Ui_Box_Data *pd EINA_UNUSED, Efl_Gfx_Entity *subobj)
+_efl_ui_box_efl_pack_linear_pack_end(Eo *obj, Efl_Ui_Box_Data *pd, Efl_Gfx_Entity *subobj)
{
- Eina_Bool ret;
-
- ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd, EINA_FALSE);
+ if (!_efl_ui_box_child_register(obj, pd, subobj))
+ return EINA_FALSE;
- ret = elm_widget_sub_object_add(obj, subobj);
- ret &= (evas_object_box_append(wd->resize_obj, subobj) != NULL);
+ pd->children = eina_list_append(pd->children, subobj);
- return ret;
+ return EINA_TRUE;
}
EOLIAN static Eina_Bool
-_efl_ui_box_efl_pack_linear_pack_begin(Eo *obj, Efl_Ui_Box_Data *_pd EINA_UNUSED, Efl_Gfx_Entity *subobj)
+_efl_ui_box_efl_pack_linear_pack_begin(Eo *obj, Efl_Ui_Box_Data *pd, Efl_Gfx_Entity *subobj)
{
- Eina_Bool ret;
-
- ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd, EINA_FALSE);
+ if (!_efl_ui_box_child_register(obj, pd, subobj))
+ return EINA_FALSE;
- ret = elm_widget_sub_object_add(obj, subobj);
- ret &= (evas_object_box_prepend(wd->resize_obj, subobj) != NULL);
+ pd->children = eina_list_prepend(pd->children, subobj);
- return ret;
+ return EINA_TRUE;
}
EOLIAN static Eina_Bool
-_efl_ui_box_efl_pack_linear_pack_before(Eo *obj, Efl_Ui_Box_Data *_pd EINA_UNUSED, Efl_Gfx_Entity *subobj, const Efl_Gfx_Entity *existing)
+_efl_ui_box_efl_pack_linear_pack_before(Eo *obj, Efl_Ui_Box_Data *pd, Efl_Gfx_Entity *subobj, const Efl_Gfx_Entity *existing)
{
- ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd, EINA_FALSE);
-
- if (!elm_widget_sub_object_add(obj, subobj))
+ if (!_efl_ui_box_child_register(obj, pd, subobj))
return EINA_FALSE;
- if (!evas_object_box_insert_before(wd->resize_obj, subobj, existing))
- {
- elm_widget_sub_object_del(obj, subobj);
- return EINA_FALSE;
- }
+ pd->children = eina_list_prepend_relative(pd->children, subobj, existing);
return EINA_TRUE;
}
EOLIAN static Eina_Bool
-_efl_ui_box_efl_pack_linear_pack_after(Eo *obj, Efl_Ui_Box_Data *_pd EINA_UNUSED, Efl_Gfx_Entity *subobj, const Efl_Gfx_Entity *existing)
+_efl_ui_box_efl_pack_linear_pack_after(Eo *obj, Efl_Ui_Box_Data *pd, Efl_Gfx_Entity *subobj, const Efl_Gfx_Entity *existing)
{
- ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd, EINA_FALSE);
-
- if (!elm_widget_sub_object_add(obj, subobj))
+ if (!_efl_ui_box_child_register(obj, pd, subobj))
return EINA_FALSE;
- if (!evas_object_box_insert_after(wd->resize_obj, subobj, existing))
- {
- elm_widget_sub_object_del(obj, subobj);
- return EINA_FALSE;
- }
+ pd->children = eina_list_append_relative(pd->children, subobj, existing);
return EINA_TRUE;
}
EOLIAN static Eina_Bool
-_efl_ui_box_efl_pack_linear_pack_at(Eo *obj, Efl_Ui_Box_Data *pd EINA_UNUSED,
- Efl_Gfx_Entity *subobj, int index)
+_efl_ui_box_efl_pack_linear_pack_at(Eo *obj, Efl_Ui_Box_Data *pd, Efl_Gfx_Entity *subobj, int index)
{
- if (!index)
+ int count = eina_list_count(pd->children);
+
+ if (index < -count)
return efl_pack_begin(obj, subobj);
- else if (index == -1)
+
+ if (index >= count)
return efl_pack_end(obj, subobj);
- else
- {
- Evas_Object_Box_Data *bd;
- int cnt;
-
- ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd, EINA_FALSE);
-
- bd = evas_object_smart_data_get(wd->resize_obj);
- cnt = eina_list_count(bd ? bd->children : NULL);
- if (!cnt)
- index = 0;
- else
- {
- index %= cnt;
- if (index < 0) index += cnt;
- }
- return (evas_object_box_insert_at(wd->resize_obj, subobj, index) != NULL);
- }
-}
-static inline Efl_Gfx_Entity *
-_box_item(Evas_Object_Box_Option *opt)
-{
- return opt ? opt->obj : NULL;
+ if (index < 0)
+ index += count;
+
+ if (!_efl_ui_box_child_register(obj, pd, subobj))
+ return EINA_FALSE;
+
+ pd->children = eina_list_prepend_relative_list(pd->children, subobj,
+ eina_list_nth_list(pd->children, index));
+
+ return EINA_TRUE;
}
EOLIAN static Efl_Gfx_Entity *
-_efl_ui_box_efl_pack_linear_pack_content_get(Eo *obj, Efl_Ui_Box_Data *pd EINA_UNUSED,
- int index)
+_efl_ui_box_efl_pack_linear_pack_content_get(Eo *obj EINA_UNUSED, Efl_Ui_Box_Data *pd, int index)
{
- Evas_Object_Box_Data *bd;
- int cnt;
-
- ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd, NULL);
- bd = evas_object_smart_data_get(wd->resize_obj);
- if (!bd || !bd->children) return NULL;
+ int count = eina_list_count(pd->children);
- if (!index)
- return _box_item(eina_list_data_get(bd->children));
- else if (index == -1)
- return _box_item(eina_list_last_data_get(bd->children));
+ if (index <= -count)
+ return eina_list_data_get(pd->children);
- cnt = eina_list_count(bd->children);
- if (!cnt) return NULL;
+ if (index >= count)
+ return eina_list_last_data_get(pd->children);
- if (index >= (cnt - 1))
- return _box_item(eina_list_last_data_get(bd->children));
- else if (index <= (-cnt))
- return _box_item(eina_list_data_get(bd->children));
+ if (index < 0)
+ index += count;
- // this should loop only once
- while (index < 0)
- index += cnt;
-
- return _box_item(eina_list_nth(bd->children, index));
+ return eina_list_nth(pd->children, index);
}
EOLIAN static Efl_Gfx_Entity *
-_efl_ui_box_efl_pack_linear_pack_unpack_at(Eo *obj, Efl_Ui_Box_Data *pd EINA_UNUSED,
- int index)
+_efl_ui_box_efl_pack_linear_pack_unpack_at(Eo *obj, Efl_Ui_Box_Data *pd EINA_UNUSED, int index)
{
Efl_Gfx_Entity *content;
@@ -395,90 +331,28 @@ _efl_ui_box_efl_pack_linear_pack_unpack_at(Eo *obj, Efl_Ui_Box_Data *pd EINA_UNU
}
EOLIAN static int
-_efl_ui_box_efl_pack_linear_pack_index_get(Eo *obj, Efl_Ui_Box_Data *pd EINA_UNUSED,
- const Efl_Gfx_Entity *subobj)
+_efl_ui_box_efl_pack_linear_pack_index_get(Eo *obj EINA_UNUSED, Efl_Ui_Box_Data *pd, const Efl_Gfx_Entity *subobj)
{
- ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd, -1);
- Evas_Object_Box_Data *bd;
- Evas_Object_Box_Option *opt;
- Eina_List *l;
- int k = 0;
-
- if (evas_object_smart_parent_get(subobj) != wd->resize_obj)
- goto end;
-
- bd = evas_object_smart_data_get(wd->resize_obj);
- EINA_LIST_FOREACH(bd->children, l, opt)
- {
- if (opt->obj == subobj)
- return k;
- k++;
- }
-
-end:
- ERR("object %p (%s) is not a child of %p (%s)",
- subobj, efl_class_name_get(subobj), obj, efl_class_name_get(obj));
- return -1;
+ return eina_list_data_idx(pd->children, (Efl_Gfx_Entity *)subobj);
}
EOLIAN static void
_efl_ui_box_efl_pack_layout_layout_request(Eo *obj, Efl_Ui_Box_Data *pd EINA_UNUSED)
{
- evas_object_smart_need_recalculate_set(obj, EINA_TRUE);
-}
-
-static Eina_Bool
-_box_item_iterator_next(Box_Item_Iterator *it, void **data)
-{
- Efl_Gfx_Entity *sub;
-
- if (!eina_iterator_next(it->real_iterator, (void **) &sub))
- return EINA_FALSE;
-
- if (data) *data = sub;
- return EINA_TRUE;
-}
-
-static Eo *
-_box_item_iterator_get_container(Box_Item_Iterator *it)
-{
- return it->object;
-}
-
-static void
-_box_item_iterator_free(Box_Item_Iterator *it)
-{
- eina_iterator_free(it->real_iterator);
- eina_list_free(it->list);
- free(it);
+ efl_canvas_group_need_recalculate_set(obj, EINA_TRUE);
}
EOLIAN static Eina_Iterator *
-_efl_ui_box_efl_container_content_iterate(Eo *obj, Efl_Ui_Box_Data *pd EINA_UNUSED)
+_efl_ui_box_efl_container_content_iterate(Eo *obj EINA_UNUSED, Efl_Ui_Box_Data *pd)
{
- Box_Item_Iterator *it;
-
- ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd, NULL);
-
- it = calloc(1, sizeof(*it));
- if (!it) return NULL;
-
- EINA_MAGIC_SET(&it->iterator, EINA_MAGIC_ITERATOR);
-
- it->list = evas_object_box_children_get(wd->resize_obj);
- it->real_iterator = eina_list_iterator_new(it->list);
- it->iterator.version = EINA_ITERATOR_VERSION;
- it->iterator.next = FUNC_ITERATOR_NEXT(_box_item_iterator_next);
- it->iterator.get_container = FUNC_ITERATOR_GET_CONTAINER(_box_item_iterator_get_container);
- it->iterator.free = FUNC_ITERATOR_FREE(_box_item_iterator_free);
- it->object = obj;
-
- return &it->iterator;
+ return eina_list_iterator_new(pd->children);
}
EOLIAN static void
_efl_ui_box_efl_ui_direction_direction_set(Eo *obj, Efl_Ui_Box_Data *pd, Efl_Ui_Dir dir)
{
+ if (pd->dir == dir) return;
+
switch (dir)
{
case EFL_UI_DIR_RTL:
@@ -510,28 +384,24 @@ _efl_ui_box_efl_ui_direction_direction_get(const Eo *obj EINA_UNUSED, Efl_Ui_Box
EOLIAN static void
_efl_ui_box_efl_pack_pack_padding_set(Eo *obj, Efl_Ui_Box_Data *pd, double h, double v, Eina_Bool scalable)
{
-
- ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd);
-
+ scalable = !!scalable;
if (h < 0) h = 0;
if (v < 0) v = 0;
+
+ if (EINA_DBL_EQ(pd->pad.h, h) && EINA_DBL_EQ(pd->pad.v, v) &&
+ (pd->pad.scalable == scalable))
+ return;
+
pd->pad.h = h;
pd->pad.v = v;
- pd->pad.scalable = !!scalable;
- if (pd->pad.scalable)
- {
- double scale = elm_object_scale_get(obj);
- evas_object_box_padding_set(wd->resize_obj, h * scale, v * scale);
- }
- else
- evas_object_box_padding_set(wd->resize_obj, h, v);
+ pd->pad.scalable = scalable;
+
+ efl_pack_layout_request(obj);
}
EOLIAN static void
-_efl_ui_box_efl_pack_pack_padding_get(const Eo *obj, Efl_Ui_Box_Data *pd, double *h, double *v, Eina_Bool *scalable)
+_efl_ui_box_efl_pack_pack_padding_get(const Eo *obj EINA_UNUSED, Efl_Ui_Box_Data *pd, double *h, double *v, Eina_Bool *scalable)
{
- ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd);
-
if (scalable) *scalable = pd->pad.scalable;
if (h) *h = pd->pad.h;
if (v) *v = pd->pad.v;
@@ -540,16 +410,17 @@ _efl_ui_box_efl_pack_pack_padding_get(const Eo *obj, Efl_Ui_Box_Data *pd, double
EOLIAN static void
_efl_ui_box_efl_pack_pack_align_set(Eo *obj, Efl_Ui_Box_Data *pd, double h, double v)
{
- ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd);
-
if (h < 0) h = -1;
+ else if (h > 1) h = 1;
if (v < 0) v = -1;
- if (h > 1) h = 1;
- if (v > 1) v = 1;
+ else if (v > 1) v = 1;
+
+ if (EINA_DBL_EQ(pd->align.h, h) && EINA_DBL_EQ(pd->align.v, v))
+ return;
+
pd->align.h = h;
pd->align.v = v;
- evas_object_box_align_set(wd->resize_obj, h, v);
efl_pack_layout_request(obj);
}
diff --git a/src/lib/elementary/efl_ui_box.eo b/src/lib/elementary/efl_ui_box.eo
index 6ec2da277f..5e5950cd63 100644
--- a/src/lib/elementary/efl_ui_box.eo
+++ b/src/lib/elementary/efl_ui_box.eo
@@ -30,6 +30,8 @@ class @beta Efl.Ui.Box extends Efl.Ui.Widget implements Efl.Pack_Linear, Efl.Pac
implements {
Efl.Object.constructor;
Efl.Canvas.Group.group_calculate;
+ Efl.Gfx.Entity.position { set; }
+ Efl.Gfx.Entity.size { set; }
Efl.Container.content_iterate;
Efl.Container.content_count;
Efl.Ui.Direction.direction { get; set; }
diff --git a/src/lib/elementary/efl_ui_box_flow.c b/src/lib/elementary/efl_ui_box_flow.c
index 38bcb7d626..2600acffd9 100644
--- a/src/lib/elementary/efl_ui_box_flow.c
+++ b/src/lib/elementary/efl_ui_box_flow.c
@@ -63,18 +63,14 @@ _row_weight_sort_cb(const void *l1, const void *l2)
EOLIAN static void
_efl_ui_box_flow_efl_pack_layout_layout_update(Eo *obj, Efl_Ui_Box_Flow_Data *pd EINA_UNUSED)
{
- Evas_Object_Box_Data *bd;
-
- ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd);
- bd = efl_data_scope_get(wd->resize_obj, EVAS_BOX_CLASS);
- Efl_Ui_Box_Data *bcd = efl_data_scope_get(obj, EFL_UI_BOX_CLASS);
- Evas_Object_Box_Option *opt;
+ Efl_Ui_Box_Data *bd = efl_data_scope_get(obj, EFL_UI_BOX_CLASS);
+ Eo *child;
Eina_List *li;
Eina_Inlist *inlist = NULL;
Item_Calc *items, *item;
Row_Calc *rows, *row;
Efl_Ui_Container_Item_Hints *hints, *hint;
- Eina_Bool axis = !efl_ui_dir_is_horizontal(bcd->dir, EINA_FALSE);
+ Eina_Bool axis = !efl_ui_dir_is_horizontal(bd->dir, EINA_FALSE);
Eina_Bool c_axis = !axis;
int want[2] = { 0, 0 };
int rc = 0, count, i = 0, id, item_last = 0;
@@ -84,7 +80,7 @@ _efl_ui_box_flow_efl_pack_layout_layout_update(Eo *obj, Efl_Ui_Box_Flow_Data *pd
count = eina_list_count(bd->children);
if (!count)
{
- efl_gfx_hint_size_min_set(obj, EINA_SIZE2D(0, 0));
+ efl_gfx_hint_size_restricted_min_set(obj, EINA_SIZE2D(0, 0));
return;
}
@@ -99,20 +95,20 @@ _efl_ui_box_flow_efl_pack_layout_layout_update(Eo *obj, Efl_Ui_Box_Flow_Data *pd
#endif
// scan all items, get their properties, calculate total weight & min size
- EINA_LIST_FOREACH(bd->children, li, opt)
+ EINA_LIST_FOREACH(bd->children, li, child)
{
item = &items[i++];
- item->obj = opt->obj;
+ item->obj = child;
hints = item->hints;
_efl_ui_container_layout_item_init(item->obj, hints);
- if ((bcd->homogeneous && !axis) || box_calc[0].fill)
+ if ((bd->homogeneous && !axis) || box_calc[0].fill)
hints[0].weight = 1;
else if (hints[0].weight < 0)
hints[0].weight = 0;
- if ((bcd->homogeneous && axis) || box_calc[1].fill)
+ if ((bd->homogeneous && axis) || box_calc[1].fill)
hints[1].weight = 1;
else if (hints[1].weight < 0)
hints[1].weight = 0;
@@ -120,7 +116,7 @@ _efl_ui_box_flow_efl_pack_layout_layout_update(Eo *obj, Efl_Ui_Box_Flow_Data *pd
if (want[axis] < hints[axis].space)
want[axis] = hints[axis].space;
- if (bcd->homogeneous)
+ if (bd->homogeneous)
continue;
if (i == 1)
@@ -150,7 +146,7 @@ _efl_ui_box_flow_efl_pack_layout_layout_update(Eo *obj, Efl_Ui_Box_Flow_Data *pd
}
// initialize homogeneous properties
- if (bcd->homogeneous)
+ if (bd->homogeneous)
{
min_sum = 0;
for (i = 0; i < count; i++)
@@ -198,7 +194,7 @@ _efl_ui_box_flow_efl_pack_layout_layout_update(Eo *obj, Efl_Ui_Box_Flow_Data *pd
cross_min_sum += row->cross_space;
cross_weight_sum += row->cross_weight;
- if (bcd->homogeneous)
+ if (bd->homogeneous)
continue;
if (row->weight_sum > 0)
@@ -323,7 +319,7 @@ _efl_ui_box_flow_efl_pack_layout_layout_update(Eo *obj, Efl_Ui_Box_Flow_Data *pd
row = item->row;
- if (bcd->homogeneous)
+ if (bd->homogeneous)
hints[axis].space = row->hgsize;
hints[c_axis].space = row->cross_space;
sw = hints[0].space - (hints[0].margin[0] + hints[0].margin[1]);
diff --git a/src/lib/elementary/efl_ui_box_layout.c b/src/lib/elementary/efl_ui_box_layout.c
index 4cc00e0c48..7240cd012c 100644
--- a/src/lib/elementary/efl_ui_box_layout.c
+++ b/src/lib/elementary/efl_ui_box_layout.c
@@ -28,10 +28,9 @@ _weight_sort_cb(const void *l1, const void *l2)
}
void
-_efl_ui_box_custom_layout(Efl_Ui_Box *ui_box, Evas_Object_Box_Data *bd)
+_efl_ui_box_custom_layout(Efl_Ui_Box *ui_box, Efl_Ui_Box_Data *pd)
{
- Efl_Ui_Box_Data *pd = efl_data_scope_get(ui_box, EFL_UI_BOX_CLASS);
- Evas_Object_Box_Option *opt;
+ Eo *child;
Eina_List *li;
Eina_Inlist *inlist = NULL;
Item_Calc *items, *item;
@@ -44,7 +43,7 @@ _efl_ui_box_custom_layout(Efl_Ui_Box *ui_box, Evas_Object_Box_Data *bd)
Efl_Ui_Container_Layout_Calc box_calc[2]; /* 0 is x-axis, 1 is y-axis */
- count = eina_list_count(bd->children);
+ count = eina_list_count(pd->children);
if (!count)
{
efl_gfx_hint_size_restricted_min_set(ui_box, EINA_SIZE2D(0, 0));
@@ -59,10 +58,10 @@ _efl_ui_box_custom_layout(Efl_Ui_Box *ui_box, Evas_Object_Box_Data *bd)
#endif
// scan all items, get their properties, calculate total weight & min size
- EINA_LIST_FOREACH(bd->children, li, opt)
+ EINA_LIST_FOREACH(pd->children, li, child)
{
item = &items[i++];
- item->obj = opt->obj;
+ item->obj = child;
hints = item->hints;
_efl_ui_container_layout_item_init(item->obj, hints);
@@ -200,4 +199,6 @@ _efl_ui_box_custom_layout(Efl_Ui_Box *ui_box, Evas_Object_Box_Data *bd)
(box_calc[1].pad * (count - 1));
efl_gfx_hint_size_restricted_min_set(ui_box, EINA_SIZE2D(want[0], want[1]));
+
+ efl_event_callback_call(ui_box, EFL_PACK_EVENT_LAYOUT_UPDATED, NULL);
}
diff --git a/src/lib/elementary/efl_ui_box_private.h b/src/lib/elementary/efl_ui_box_private.h
index 86a51398d2..5921eaf783 100644
--- a/src/lib/elementary/efl_ui_box_private.h
+++ b/src/lib/elementary/efl_ui_box_private.h
@@ -10,21 +10,13 @@
#include <Elementary.h>
#include "elm_priv.h"
-// FIXME: stop using Evas.Box
-#include <../evas/canvas/evas_box_eo.h>
-
-// FIXME: stop using evas box
-void _efl_ui_box_custom_layout(Efl_Ui_Box *box, Evas_Object_Box_Data *priv);
-
typedef struct _Efl_Ui_Box_Data Efl_Ui_Box_Data;
-typedef struct _Box_Item_Iterator Box_Item_Iterator;
struct _Efl_Ui_Box_Data
{
Efl_Ui_Dir dir;
- Eina_Bool homogeneous : 1;
- Eina_Bool delete_me : 1;
- Eina_Bool recalc : 1;
+ Eo *clipper;
+ Eina_List *children;
struct {
double h, v;
@@ -34,14 +26,8 @@ struct _Efl_Ui_Box_Data
struct {
double h, v;
} align;
-};
-struct _Box_Item_Iterator
-{
- Eina_Iterator iterator;
- Eina_List *list;
- Eina_Iterator *real_iterator;
- Efl_Ui_Box *object;
+ Eina_Bool homogeneous : 1;
};
#endif
diff --git a/src/lib/elementary/efl_ui_box_stack.c b/src/lib/elementary/efl_ui_box_stack.c
index 69e72ea586..212368b4c0 100644
--- a/src/lib/elementary/efl_ui_box_stack.c
+++ b/src/lib/elementary/efl_ui_box_stack.c
@@ -16,8 +16,8 @@ struct _Item_Calc
EOLIAN static void
_efl_ui_box_stack_efl_pack_layout_layout_update(Eo *obj, void *_pd EINA_UNUSED)
{
- Evas_Object_Box_Option *opt;
- Evas_Object_Box_Data *bd;
+ Efl_Ui_Box_Data *bd = efl_data_scope_get(obj, EFL_UI_BOX_CLASS);
+ Eo *child;
Efl_Ui_Container_Layout_Calc box_calc[2];
Efl_Ui_Container_Item_Hints *hints;
Item_Calc *items, *item;
@@ -26,10 +26,6 @@ _efl_ui_box_stack_efl_pack_layout_layout_update(Eo *obj, void *_pd EINA_UNUSED)
Evas_Object *old_child = NULL;
int i = 0, count;
- EINA_SAFETY_ON_FALSE_RETURN(efl_isa(obj, EFL_UI_BOX_CLASS));
- ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd);
- bd = efl_data_scope_get(wd->resize_obj, EVAS_BOX_CLASS);
-
count = eina_list_count(bd->children);
if (!count)
{
@@ -44,13 +40,13 @@ _efl_ui_box_stack_efl_pack_layout_layout_update(Eo *obj, void *_pd EINA_UNUSED)
memset(items, 0, count * sizeof(*items));
#endif
- EINA_LIST_FOREACH(bd->children, l, opt)
+ EINA_LIST_FOREACH(bd->children, l, child)
{
item = &items[i++];
- item->obj = opt->obj;
+ item->obj = child;
hints = item->hints;
- _efl_ui_container_layout_item_init(opt->obj, hints);
+ _efl_ui_container_layout_item_init(child, hints);
if (want.w < hints[0].space)
want.w = hints[0].space;
diff --git a/src/lib/elementary/efl_ui_button.c b/src/lib/elementary/efl_ui_button.c
index 1bff2c930b..a3c1c4dbfc 100644
--- a/src/lib/elementary/efl_ui_button.c
+++ b/src/lib/elementary/efl_ui_button.c
@@ -218,7 +218,6 @@ _efl_ui_button_efl_canvas_group_group_add(Eo *obj, Efl_Ui_Button_Data *_pd EINA_
if (!elm_widget_theme_klass_get(obj))
elm_widget_theme_klass_set(obj, "button");
efl_canvas_group_add(efl_super(obj, MY_CLASS));
- elm_widget_sub_object_parent_add(obj);
if (elm_widget_is_legacy(obj))
{
diff --git a/src/lib/elementary/efl_ui_calendar.c b/src/lib/elementary/efl_ui_calendar.c
index a4df1829a8..eb3918d7ac 100644
--- a/src/lib/elementary/efl_ui_calendar.c
+++ b/src/lib/elementary/efl_ui_calendar.c
@@ -910,8 +910,6 @@ _efl_ui_calendar_constructor_internal(Eo *obj, Efl_Ui_Calendar_Data *priv)
ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd, NULL);
- elm_widget_sub_object_parent_add(obj);
-
priv->date_min.tm_year = 2;
priv->date_min.tm_mon = 0;
priv->date_min.tm_mday = 1;
diff --git a/src/lib/elementary/efl_ui_clock.c b/src/lib/elementary/efl_ui_clock.c
index 5c83d83774..e580d3cf06 100644
--- a/src/lib/elementary/efl_ui_clock.c
+++ b/src/lib/elementary/efl_ui_clock.c
@@ -855,7 +855,6 @@ _efl_ui_clock_efl_canvas_group_group_add(Eo *obj, Efl_Ui_Clock_Data *priv)
if (!elm_widget_theme_klass_get(obj))
elm_widget_theme_klass_set(obj, "uiclock");
efl_canvas_group_add(efl_super(obj, MY_CLASS));
- elm_widget_sub_object_parent_add(obj);
if (elm_widget_theme_object_set(obj, wd->resize_obj,
elm_widget_theme_klass_get(obj),
diff --git a/src/lib/elementary/efl_ui_datepicker.c b/src/lib/elementary/efl_ui_datepicker.c
index b7978b15c4..06a18780e3 100644
--- a/src/lib/elementary/efl_ui_datepicker.c
+++ b/src/lib/elementary/efl_ui_datepicker.c
@@ -255,8 +255,6 @@ _efl_ui_datepicker_efl_object_constructor(Eo *obj, Efl_Ui_Datepicker_Data *pd)
_fields_init(obj);
- elm_widget_sub_object_parent_add(obj);
-
elm_widget_can_focus_set(obj, EINA_TRUE);
return obj;
diff --git a/src/lib/elementary/efl_ui_flip.c b/src/lib/elementary/efl_ui_flip.c
index 7f3da3c31a..71dc20e076 100644
--- a/src/lib/elementary/efl_ui_flip.c
+++ b/src/lib/elementary/efl_ui_flip.c
@@ -1812,7 +1812,6 @@ EOLIAN static void
_efl_ui_flip_efl_canvas_group_group_add(Eo *obj, Efl_Ui_Flip_Data *priv)
{
efl_canvas_group_add(efl_super(obj, MY_CLASS));
- elm_widget_sub_object_parent_add(obj);
priv->clip = evas_object_rectangle_add(evas_object_evas_get(obj));
evas_object_static_clip_set(priv->clip, EINA_TRUE);
diff --git a/src/lib/elementary/efl_ui_frame.c b/src/lib/elementary/efl_ui_frame.c
index 649a532bea..664a542a46 100644
--- a/src/lib/elementary/efl_ui_frame.c
+++ b/src/lib/elementary/efl_ui_frame.c
@@ -113,7 +113,6 @@ _efl_ui_frame_efl_canvas_group_group_add(Eo *obj, Efl_Ui_Frame_Data *_pd EINA_UN
if (!elm_widget_theme_klass_get(obj))
elm_widget_theme_klass_set(obj, "frame");
efl_canvas_group_add(efl_super(obj, MY_CLASS));
- elm_widget_sub_object_parent_add(obj);
if (elm_widget_is_legacy(obj))
{
diff --git a/src/lib/elementary/efl_ui_image.c b/src/lib/elementary/efl_ui_image.c
index a1bbe2f239..166db8dc27 100644
--- a/src/lib/elementary/efl_ui_image.c
+++ b/src/lib/elementary/efl_ui_image.c
@@ -534,7 +534,7 @@ EOLIAN static void
_efl_ui_image_efl_gfx_image_smooth_scale_set(Eo *obj EINA_UNUSED, Efl_Ui_Image_Data *sd, Eina_Bool smooth)
{
sd->smooth = smooth;
- if (!sd->edje) evas_object_image_smooth_scale_set(sd->img, smooth);
+ if (sd->img && (!sd->edje)) evas_object_image_smooth_scale_set(sd->img, smooth);
}
EOLIAN static Eina_Bool
@@ -566,7 +566,6 @@ EOLIAN static void
_efl_ui_image_efl_canvas_group_group_add(Eo *obj, Efl_Ui_Image_Data *priv)
{
efl_canvas_group_add(efl_super(obj, MY_CLASS));
- elm_widget_sub_object_parent_add(obj);
priv->hit_rect = evas_object_rectangle_add(evas_object_evas_get(obj));
evas_object_smart_member_add(priv->hit_rect, obj);
diff --git a/src/lib/elementary/efl_ui_image_zoomable.c b/src/lib/elementary/efl_ui_image_zoomable.c
index b7ff98a22c..0fe2bd864a 100644
--- a/src/lib/elementary/efl_ui_image_zoomable.c
+++ b/src/lib/elementary/efl_ui_image_zoomable.c
@@ -1833,8 +1833,6 @@ _efl_ui_image_zoomable_efl_canvas_group_group_add(Eo *obj, Efl_Ui_Image_Zoomable
Evas_Object *edje;
Evas_Coord minw, minh;
- elm_widget_sub_object_parent_add(obj);
-
edje = edje_object_add(evas_object_evas_get(obj));
elm_widget_resize_object_set(obj, edje);
diff --git a/src/lib/elementary/efl_ui_layout.c b/src/lib/elementary/efl_ui_layout.c
index 6677ccb01c..63f9491467 100644
--- a/src/lib/elementary/efl_ui_layout.c
+++ b/src/lib/elementary/efl_ui_layout.c
@@ -740,8 +740,6 @@ _efl_ui_layout_base_efl_canvas_group_group_add(Eo *obj, Efl_Ui_Layout_Data *_pd
{
Evas_Object *edje;
- elm_widget_sub_object_parent_add(obj);
-
/* has to be there *before* parent's smart_add() */
edje = edje_object_add(evas_object_evas_get(obj));
elm_widget_resize_object_set(obj, edje);
diff --git a/src/lib/elementary/efl_ui_list_view.c b/src/lib/elementary/efl_ui_list_view.c
index b0300db7c9..219d2aa151 100644
--- a/src/lib/elementary/efl_ui_list_view.c
+++ b/src/lib/elementary/efl_ui_list_view.c
@@ -588,7 +588,6 @@ _efl_ui_list_view_efl_canvas_group_group_add(Eo *obj, Efl_Ui_List_View_Data *pd)
ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd);
efl_canvas_group_add(efl_super(obj, MY_CLASS));
- elm_widget_sub_object_parent_add(obj);
elm_widget_can_focus_set(obj, EINA_TRUE);
diff --git a/src/lib/elementary/efl_ui_navigation_bar.c b/src/lib/elementary/efl_ui_navigation_bar.c
index e8102ba2cf..d693a52838 100644
--- a/src/lib/elementary/efl_ui_navigation_bar.c
+++ b/src/lib/elementary/efl_ui_navigation_bar.c
@@ -39,8 +39,6 @@ _efl_ui_navigation_bar_efl_object_constructor(Eo *obj, Efl_Ui_Navigation_Bar_Dat
obj = efl_constructor(efl_super(obj, MY_CLASS));
efl_canvas_object_type_set(obj, MY_CLASS_NAME);
- elm_widget_sub_object_parent_add(obj);
-
elm_widget_can_focus_set(obj, EINA_TRUE);
if (elm_widget_theme_object_set(obj, wd->resize_obj,
elm_widget_theme_klass_get(obj),
diff --git a/src/lib/elementary/efl_ui_navigation_layout.c b/src/lib/elementary/efl_ui_navigation_layout.c
index 0b5988450e..2f535e1a76 100644
--- a/src/lib/elementary/efl_ui_navigation_layout.c
+++ b/src/lib/elementary/efl_ui_navigation_layout.c
@@ -37,8 +37,6 @@ _efl_ui_navigation_layout_efl_object_constructor(Eo *obj, Efl_Ui_Navigation_Layo
obj = efl_constructor(efl_super(obj, MY_CLASS));
efl_canvas_object_type_set(obj, MY_CLASS_NAME);
- elm_widget_sub_object_parent_add(obj);
-
elm_widget_can_focus_set(obj, EINA_TRUE);
if (elm_widget_theme_object_set(obj, wd->resize_obj,
elm_widget_theme_klass_get(obj),
diff --git a/src/lib/elementary/efl_ui_nstate.c b/src/lib/elementary/efl_ui_nstate.c
index a435c543e4..b44ea3b5d4 100644
--- a/src/lib/elementary/efl_ui_nstate.c
+++ b/src/lib/elementary/efl_ui_nstate.c
@@ -37,7 +37,6 @@ _efl_ui_nstate_efl_object_constructor(Eo *obj, Efl_Ui_Nstate_Data *pd)
elm_widget_theme_klass_set(obj, "nstate");
obj = efl_constructor(efl_super(obj, MY_CLASS));
efl_canvas_object_type_set(obj, MY_CLASS_NAME);
- elm_widget_sub_object_parent_add(obj);
pd->state = 0;
// Default: 2 states
diff --git a/src/lib/elementary/efl_ui_pager.c b/src/lib/elementary/efl_ui_pager.c
index bf81d1ac91..efa77f8314 100644
--- a/src/lib/elementary/efl_ui_pager.c
+++ b/src/lib/elementary/efl_ui_pager.c
@@ -336,8 +336,6 @@ _efl_ui_pager_efl_object_constructor(Eo *obj,
elm_widget_theme_style_get(obj)) == EFL_UI_THEME_APPLY_ERROR_GENERIC)
CRI("Failed to set layout!");
- elm_widget_sub_object_parent_add(obj);
-
pd->cnt = 0;
pd->loop = EFL_UI_PAGER_LOOP_DISABLED;
@@ -379,6 +377,19 @@ _efl_ui_pager_efl_object_constructor(Eo *obj,
return obj;
}
+EOLIAN static void
+_efl_ui_pager_efl_object_invalidate(Eo *obj,
+ Efl_Ui_Pager_Data *pd)
+{
+ efl_invalidate(efl_super(obj, MY_CLASS));
+
+ /* Since the parent of foreclip and backclip is evas, foreclip and backclip
+ * are not deleted automatically when pager is deleted.
+ * Therefore, foreclip and backclip are deleted manually here. */
+ efl_del(pd->foreclip);
+ efl_del(pd->backclip);
+}
+
EOLIAN static int
_efl_ui_pager_efl_container_content_count(Eo *obj EINA_UNUSED,
Efl_Ui_Pager_Data *pd)
@@ -784,20 +795,59 @@ _efl_ui_pager_loop_mode_get(const Eo *obj EINA_UNUSED,
return pd->loop;
}
+static void
+_unpack_all(Efl_Ui_Pager_Data *pd,
+ Eina_Bool clear)
+{
+ Eo *subobj;
+
+ pd->cnt = 0;
+ pd->curr.page = -1;
+ pd->curr.pos = 0.0;
+
+ if (pd->transition)
+ {
+ efl_page_transition_unpack_all(pd->transition);
+ }
+ else
+ {
+ subobj = eina_list_nth(pd->content_list, pd->curr.page);
+ efl_pack_unpack(pd->page_box, subobj);
+ }
+
+ if (clear)
+ {
+ EINA_LIST_FREE(pd->content_list, subobj)
+ evas_object_del(subobj);
+ }
+ else
+ {
+ EINA_LIST_FREE(pd->content_list, subobj)
+ efl_canvas_object_clipper_set(subobj, NULL);
+ }
+
+ if (pd->indicator)
+ {
+ efl_page_indicator_unpack_all(pd->indicator);
+ }
+}
+
EOLIAN static Eina_Bool
_efl_ui_pager_efl_pack_pack_clear(Eo *obj EINA_UNUSED,
- Efl_Ui_Pager_Data *pd EINA_UNUSED)
+ Efl_Ui_Pager_Data *pd)
{
- ERR("Soon to be implemented");
- return EINA_FALSE;
+ _unpack_all(pd, EINA_TRUE);
+
+ return EINA_TRUE;
}
EOLIAN static Eina_Bool
_efl_ui_pager_efl_pack_unpack_all(Eo *obj EINA_UNUSED,
- Efl_Ui_Pager_Data *pd EINA_UNUSED)
+ Efl_Ui_Pager_Data *pd)
{
- ERR("Soon to be implemented");
- return EINA_FALSE;
+ _unpack_all(pd, EINA_FALSE);
+
+ return EINA_TRUE;
}
static void
@@ -853,12 +903,19 @@ _efl_ui_pager_efl_pack_unpack(Eo *obj,
}
EOLIAN static Efl_Gfx_Entity *
-_efl_ui_pager_efl_pack_linear_pack_unpack_at(Eo *obj EINA_UNUSED,
- Efl_Ui_Pager_Data *pd EINA_UNUSED,
- int index EINA_UNUSED)
+_efl_ui_pager_efl_pack_linear_pack_unpack_at(Eo *obj,
+ Efl_Ui_Pager_Data *pd,
+ int index)
{
- ERR("Soon to be implemented");
- return NULL;
+ if (!EINA_DBL_EQ(pd->curr.pos, 0.0)) return NULL;
+
+ if ((index >= pd->cnt) || (index < 0)) return NULL;
+
+ Efl_Gfx_Entity *subobj = eina_list_nth(pd->content_list, index);
+
+ _unpack(obj, pd, subobj, index);
+
+ return subobj;
}
diff --git a/src/lib/elementary/efl_ui_pager.eo b/src/lib/elementary/efl_ui_pager.eo
index 5a3a974adf..646be5accd 100644
--- a/src/lib/elementary/efl_ui_pager.eo
+++ b/src/lib/elementary/efl_ui_pager.eo
@@ -90,6 +90,7 @@ class @beta Efl.Ui.Pager extends Efl.Ui.Layout_Base implements Efl.Pack_Linear
}
implements {
Efl.Object.constructor;
+ Efl.Object.invalidate;
Efl.Container.content_count;
Efl.Pack.pack_clear; //TODO
Efl.Pack.unpack_all; //TODO
diff --git a/src/lib/elementary/efl_ui_panel.c b/src/lib/elementary/efl_ui_panel.c
index 9e8e4c5027..84aa6f08d9 100644
--- a/src/lib/elementary/efl_ui_panel.c
+++ b/src/lib/elementary/efl_ui_panel.c
@@ -838,7 +838,6 @@ _efl_ui_panel_efl_object_constructor(Eo *obj, Efl_Ui_Panel_Data *_pd)
ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd, NULL);
obj = efl_constructor(efl_super(obj, MY_CLASS));
- elm_widget_sub_object_parent_add(obj);
elm_widget_can_focus_set(obj, EINA_TRUE);
_pd->panel_edje = wd->resize_obj;
diff --git a/src/lib/elementary/efl_ui_panes.c b/src/lib/elementary/efl_ui_panes.c
index a221193803..d42b3ebb3b 100644
--- a/src/lib/elementary/efl_ui_panes.c
+++ b/src/lib/elementary/efl_ui_panes.c
@@ -408,7 +408,6 @@ _efl_ui_panes_efl_canvas_group_group_add(Eo *obj, Efl_Ui_Panes_Data *_pd EINA_UN
if (!elm_widget_theme_klass_get(obj))
elm_widget_theme_klass_set(obj, "panes");
efl_canvas_group_add(efl_super(obj, MY_CLASS));
- elm_widget_sub_object_parent_add(obj);
group = _efl_ui_panes_theme_group_get(obj, sd);
if (elm_widget_theme_object_set(obj, wd->resize_obj,
diff --git a/src/lib/elementary/efl_ui_popup.c b/src/lib/elementary/efl_ui_popup.c
index cc8772d8d2..47ef65b4a9 100644
--- a/src/lib/elementary/efl_ui_popup.c
+++ b/src/lib/elementary/efl_ui_popup.c
@@ -215,8 +215,6 @@ _efl_ui_popup_efl_object_constructor(Eo *obj, Efl_Ui_Popup_Data *pd)
obj = efl_constructor(efl_super(obj, MY_CLASS));
efl_canvas_object_type_set(obj, MY_CLASS_NAME);
- elm_widget_sub_object_parent_add(obj);
-
elm_widget_can_focus_set(obj, EINA_TRUE);
if (elm_widget_theme_object_set(obj, wd->resize_obj,
elm_widget_theme_klass_get(obj),
diff --git a/src/lib/elementary/efl_ui_progressbar.c b/src/lib/elementary/efl_ui_progressbar.c
index 2d1ecfc230..c65d9bdcff 100644
--- a/src/lib/elementary/efl_ui_progressbar.c
+++ b/src/lib/elementary/efl_ui_progressbar.c
@@ -359,7 +359,6 @@ _efl_ui_progressbar_efl_canvas_group_group_add(Eo *obj, Efl_Ui_Progressbar_Data
if (!elm_widget_theme_klass_get(obj))
elm_widget_theme_klass_set(obj, "progressbar");
efl_canvas_group_add(efl_super(obj, MY_CLASS));
- elm_widget_sub_object_parent_add(obj);
priv->dir = EFL_UI_DIR_RIGHT;
priv->val = MIN_RATIO_LVL;
diff --git a/src/lib/elementary/efl_ui_relative_layout.c b/src/lib/elementary/efl_ui_relative_layout.c
index c5651fa793..fa47d7591c 100644
--- a/src/lib/elementary/efl_ui_relative_layout.c
+++ b/src/lib/elementary/efl_ui_relative_layout.c
@@ -492,7 +492,6 @@ _efl_ui_relative_layout_efl_canvas_group_group_add(Eo *obj, Efl_Ui_Relative_Layo
{
evas_object_event_callback_add(obj, EVAS_CALLBACK_CHANGED_SIZE_HINTS, _on_size_hints_changed, NULL);
efl_canvas_group_add(efl_super(obj, MY_CLASS));
- elm_widget_sub_object_parent_add(obj);
elm_widget_highlight_ignore_set(obj, EINA_TRUE);
}
diff --git a/src/lib/elementary/efl_ui_scroll_alert_popup.c b/src/lib/elementary/efl_ui_scroll_alert_popup.c
index 1d4295e183..54e28c5643 100644
--- a/src/lib/elementary/efl_ui_scroll_alert_popup.c
+++ b/src/lib/elementary/efl_ui_scroll_alert_popup.c
@@ -266,8 +266,6 @@ _efl_ui_scroll_alert_popup_efl_object_constructor(Eo *obj,
obj = efl_constructor(efl_super(obj, MY_CLASS));
efl_canvas_object_type_set(obj, MY_CLASS_NAME);
- elm_widget_sub_object_parent_add(obj);
-
pd->scroller = elm_scroller_add(obj);
elm_object_style_set(pd->scroller, "popup/no_inset_shadow");
elm_scroller_policy_set(pd->scroller, ELM_SCROLLER_POLICY_AUTO,
diff --git a/src/lib/elementary/efl_ui_scroll_manager.c b/src/lib/elementary/efl_ui_scroll_manager.c
index 98da2fd830..a6bf0cda22 100644
--- a/src/lib/elementary/efl_ui_scroll_manager.c
+++ b/src/lib/elementary/efl_ui_scroll_manager.c
@@ -1023,7 +1023,7 @@ _efl_ui_scroll_manager_mouse_up_event_momentum_eval(Efl_Ui_Scroll_Manager_Data *
{
double t, at;
Evas_Coord dx, dy, ax, ay, vel;
- char sdx, sdy;
+ signed char sdx, sdy;
t = ev->timestamp / 1000.0;
@@ -1294,7 +1294,7 @@ _scroll_manager_momentum_animator_add(Efl_Ui_Scroll_Manager_Data *sd, double vx,
#define INVERSE_MASS 1
#define ACCEL (FRICTION * INVERSE_MASS)
double dur = 0.0;
- char sdx = 0, sdy = 0;
+ signed char sdx = 0, sdy = 0;
Evas_Coord dstx = 0, dsty = 0;
/*
@@ -2418,6 +2418,7 @@ _efl_ui_scroll_manager_efl_object_constructor(Eo *obj, Efl_Ui_Scroll_Manager_Dat
sd->scrolling = EINA_FALSE;
sd->event_rect = evas_object_rectangle_add(evas_object_evas_get(sd->parent));
+ efl_key_data_set(sd->event_rect, "_elm_leaveme", obj);
efl_canvas_group_member_add(sd->parent, sd->event_rect);
efl_ui_widget_sub_object_add(sd->parent, sd->event_rect);
diff --git a/src/lib/elementary/efl_ui_slider.c b/src/lib/elementary/efl_ui_slider.c
index 23f4797419..6a5798d44b 100644
--- a/src/lib/elementary/efl_ui_slider.c
+++ b/src/lib/elementary/efl_ui_slider.c
@@ -655,7 +655,6 @@ _efl_ui_slider_efl_object_constructor(Eo *obj, Efl_Ui_Slider_Data *priv)
if (!elm_widget_theme_klass_get(obj))
elm_widget_theme_klass_set(obj, "slider");
- elm_widget_sub_object_parent_add(obj);
group = _efl_ui_slider_theme_group_get(obj, priv);
if (elm_widget_theme_object_set(obj, wd->resize_obj,
diff --git a/src/lib/elementary/efl_ui_spin.c b/src/lib/elementary/efl_ui_spin.c
index 70cbfeea53..f446bab9f3 100644
--- a/src/lib/elementary/efl_ui_spin.c
+++ b/src/lib/elementary/efl_ui_spin.c
@@ -239,8 +239,6 @@ _efl_ui_spin_efl_object_constructor(Eo *obj, Efl_Ui_Spin_Data *sd)
elm_widget_theme_klass_set(obj, "spin");
obj = efl_constructor(efl_super(obj, MY_CLASS));
- elm_widget_sub_object_parent_add(obj);
-
sd->val_max = 100.0;
sd->step = 1.0;
sd->special_values = eina_array_new(sizeof(Efl_Ui_Spin_Special_Value));
diff --git a/src/lib/elementary/efl_ui_spin_button.c b/src/lib/elementary/efl_ui_spin_button.c
index 0194921308..4941b41bde 100644
--- a/src/lib/elementary/efl_ui_spin_button.c
+++ b/src/lib/elementary/efl_ui_spin_button.c
@@ -830,7 +830,6 @@ _efl_ui_spin_button_efl_object_constructor(Eo *obj, Efl_Ui_Spin_Button_Data *sd)
char *group;
obj = efl_constructor(efl_super(obj, MY_CLASS));
- elm_widget_sub_object_parent_add(obj);
elm_widget_theme_klass_set(obj, "spin_button");
ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd, NULL);
diff --git a/src/lib/elementary/efl_ui_tab_bar.c b/src/lib/elementary/efl_ui_tab_bar.c
index e5fb3414df..0129121d7a 100644
--- a/src/lib/elementary/efl_ui_tab_bar.c
+++ b/src/lib/elementary/efl_ui_tab_bar.c
@@ -376,9 +376,6 @@ _efl_ui_tab_bar_efl_object_constructor(Eo *obj, Efl_Ui_Tab_Bar_Data *sd)
elm_widget_theme_style_get(obj)) == EFL_UI_THEME_APPLY_ERROR_GENERIC)
CRI("Failed to set layout!");
-
- elm_widget_sub_object_parent_add(obj);
-
sd->dir = EFL_UI_DIR_HORIZONTAL;
sd->bx = evas_object_box_add(evas_object_evas_get(obj));
evas_object_box_align_set(sd->bx, 0.5, 0.5);
diff --git a/src/lib/elementary/efl_ui_tab_page.c b/src/lib/elementary/efl_ui_tab_page.c
index 1f7fc2ff89..a0bd26ef70 100644
--- a/src/lib/elementary/efl_ui_tab_page.c
+++ b/src/lib/elementary/efl_ui_tab_page.c
@@ -55,9 +55,6 @@ _efl_ui_tab_page_efl_object_constructor(Eo *obj, Efl_Ui_Tab_Page_Data *sd)
elm_widget_theme_style_get(obj)) == EFL_UI_THEME_APPLY_ERROR_GENERIC)
CRI("Failed to set layout!");
-
- elm_widget_sub_object_parent_add(obj);
-
efl_ui_widget_focus_allow_set(obj, EINA_TRUE);
sd->content = NULL;
diff --git a/src/lib/elementary/efl_ui_tab_pager.c b/src/lib/elementary/efl_ui_tab_pager.c
index 4187f31174..2b43aa8939 100644
--- a/src/lib/elementary/efl_ui_tab_pager.c
+++ b/src/lib/elementary/efl_ui_tab_pager.c
@@ -99,7 +99,6 @@ _efl_ui_tab_pager_efl_object_constructor(Eo *obj, Efl_Ui_Tab_Pager_Data *sd)
elm_widget_theme_klass_set(obj, "tab_pager");
obj = efl_constructor(efl_super(obj, MY_CLASS));
- elm_widget_sub_object_parent_add(obj);
efl_ui_widget_focus_allow_set(obj, EINA_TRUE);
diff --git a/src/lib/elementary/efl_ui_table.c b/src/lib/elementary/efl_ui_table.c
index 50fd0be834..7a11f2fb71 100644
--- a/src/lib/elementary/efl_ui_table.c
+++ b/src/lib/elementary/efl_ui_table.c
@@ -161,8 +161,6 @@ _efl_ui_table_efl_canvas_group_group_add(Eo *obj, Efl_Ui_Table_Data *pd)
Custom_Table_Data *custom;
Evas_Object *table;
- elm_widget_sub_object_parent_add(obj);
-
table = efl_add(CUSTOM_TABLE_CLASS, obj);
custom = efl_data_scope_get(table, CUSTOM_TABLE_CLASS);
custom->gd = pd;
@@ -306,6 +304,18 @@ _pack_at(Eo *obj, Efl_Ui_Table_Data *pd, Efl_Gfx_Entity *subobj,
ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd, EINA_FALSE);
+ gi = efl_key_data_get(subobj, TABLE_ITEM_KEY);
+
+ if (gi && efl_ui_widget_parent_get(subobj) == obj)
+ {
+ ERR("subobj %p %s is already added to this", subobj, efl_class_name_get(subobj) );
+ return EINA_FALSE;
+ }
+ else if (gi && efl_ui_widget_parent_get(subobj) != obj)
+ {
+ gi = NULL;
+ }
+
if (col < 0) col = 0;
if (row < 0) row = 0;
@@ -327,22 +337,10 @@ _pack_at(Eo *obj, Efl_Ui_Table_Data *pd, Efl_Gfx_Entity *subobj,
col, row, colspan, rowspan, pd->req_cols, pd->req_rows);
}
- if (obj == elm_widget_parent_widget_get(subobj))
- {
- gi = efl_key_data_get(subobj, TABLE_ITEM_KEY);
- if (gi)
- {
- gi->col = col;
- gi->row = row;
- gi->col_span = colspan;
- gi->row_span = rowspan;
- gi->linear = EINA_FALSE;
- }
- else ERR("object is a child but internal data was not found!");
- }
-
if (!gi)
{
+ if (!elm_widget_sub_object_add(obj, subobj))
+ return EINA_FALSE;
gi = calloc(1, sizeof(*gi));
if (!gi) return EINA_FALSE;
gi->col = col;
@@ -356,7 +354,6 @@ _pack_at(Eo *obj, Efl_Ui_Table_Data *pd, Efl_Gfx_Entity *subobj,
eina_inlist_append(EINA_INLIST_GET(pd->items), EINA_INLIST_GET(gi));
efl_key_data_set(subobj, TABLE_ITEM_KEY, gi);
- elm_widget_sub_object_add(obj, subobj);
efl_event_callback_legacy_call(obj, EFL_CONTAINER_EVENT_CONTENT_ADDED, subobj);
efl_event_callback_array_add(subobj, subobj_callbacks(), obj);
}
@@ -469,6 +466,7 @@ end:
eina_inlist_remove(EINA_INLIST_GET(pd->items), EINA_INLIST_GET(gi));
pd->count--;
efl_key_data_set(subobj, TABLE_ITEM_KEY, NULL);
+ efl_event_callback_array_del(subobj, subobj_callbacks(), obj);
free(gi);
}
@@ -489,20 +487,28 @@ _efl_ui_table_efl_pack_unpack(Eo *obj, Efl_Ui_Table_Data *pd, Efl_Gfx_Entity *su
}
EOLIAN static Eina_Bool
-_efl_ui_table_efl_pack_pack_clear(Eo *obj, Efl_Ui_Table_Data *pd EINA_UNUSED)
+_efl_ui_table_efl_pack_pack_clear(Eo *obj, Efl_Ui_Table_Data *pd)
{
ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd, EINA_FALSE);
+ while (pd->items)
+ _item_remove(obj, pd, pd->items->object);
+
evas_object_table_clear(wd->resize_obj, EINA_TRUE);
+
return EINA_TRUE;
}
EOLIAN static Eina_Bool
-_efl_ui_table_efl_pack_unpack_all(Eo *obj, Efl_Ui_Table_Data *pd EINA_UNUSED)
+_efl_ui_table_efl_pack_unpack_all(Eo *obj, Efl_Ui_Table_Data *pd)
{
ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd, EINA_FALSE);
+ while (pd->items)
+ _item_remove(obj, pd, pd->items->object);
+
evas_object_table_clear(wd->resize_obj, EINA_FALSE);
+
return EINA_TRUE;
}
diff --git a/src/lib/elementary/efl_ui_tags.c b/src/lib/elementary/efl_ui_tags.c
index 00748a7986..12b56c15c5 100644
--- a/src/lib/elementary/efl_ui_tags.c
+++ b/src/lib/elementary/efl_ui_tags.c
@@ -1009,7 +1009,6 @@ _efl_ui_tags_efl_object_constructor(Eo *obj, Efl_Ui_Tags_Data *sd)
elm_widget_theme_klass_set(obj, "tags");
obj = efl_constructor(efl_super(obj, MY_CLASS));
- elm_widget_sub_object_parent_add(obj);
if (elm_widget_theme_object_set(obj, wd->resize_obj,
elm_widget_theme_klass_get(obj),
diff --git a/src/lib/elementary/efl_ui_text.c b/src/lib/elementary/efl_ui_text.c
index cae523bcdd..ebb2dd539e 100644
--- a/src/lib/elementary/efl_ui_text.c
+++ b/src/lib/elementary/efl_ui_text.c
@@ -2126,8 +2126,6 @@ _efl_ui_text_efl_object_constructor(Eo *obj, Efl_Ui_Text_Data *sd)
elm_widget_theme_klass_set(obj, "text");
obj = efl_constructor(efl_super(obj, MY_CLASS));
- elm_widget_sub_object_parent_add(obj);
-
text_obj = efl_add(EFL_UI_INTERNAL_TEXT_INTERACTIVE_CLASS, obj);
efl_event_callback_forwarder_add(text_obj, EFL_UI_TEXT_EVENT_CHANGED_USER, obj);
efl_event_callback_forwarder_add(text_obj, EFL_UI_TEXT_EVENT_CHANGED, obj);
diff --git a/src/lib/elementary/efl_ui_text_alert_popup.c b/src/lib/elementary/efl_ui_text_alert_popup.c
index dd19e6a0d8..355b8c21f3 100644
--- a/src/lib/elementary/efl_ui_text_alert_popup.c
+++ b/src/lib/elementary/efl_ui_text_alert_popup.c
@@ -274,8 +274,6 @@ _efl_ui_text_alert_popup_efl_object_constructor(Eo *obj,
obj = efl_constructor(efl_super(obj, MY_CLASS));
efl_canvas_object_type_set(obj, MY_CLASS_NAME);
- elm_widget_sub_object_parent_add(obj);
-
pd->scroller = elm_scroller_add(obj);
elm_object_style_set(pd->scroller, "popup/no_inset_shadow");
elm_scroller_policy_set(pd->scroller, ELM_SCROLLER_POLICY_OFF,
diff --git a/src/lib/elementary/efl_ui_textpath.c b/src/lib/elementary/efl_ui_textpath.c
index b602f6c9d7..679a68a38a 100644
--- a/src/lib/elementary/efl_ui_textpath.c
+++ b/src/lib/elementary/efl_ui_textpath.c
@@ -584,7 +584,6 @@ _efl_ui_textpath_efl_canvas_group_group_add(Eo *obj, Efl_Ui_Textpath_Data *priv)
ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd);
efl_canvas_group_add(efl_super(obj, MY_CLASS));
- elm_widget_sub_object_parent_add(obj);
priv->text_obj = edje_object_add(evas_object_evas_get(obj));
elm_widget_theme_object_set(obj, priv->text_obj, "textpath", "base",
diff --git a/src/lib/elementary/efl_ui_timepicker.c b/src/lib/elementary/efl_ui_timepicker.c
index a77238bafa..732f8aefdc 100644
--- a/src/lib/elementary/efl_ui_timepicker.c
+++ b/src/lib/elementary/efl_ui_timepicker.c
@@ -226,8 +226,6 @@ _efl_ui_timepicker_efl_object_constructor(Eo *obj, Efl_Ui_Timepicker_Data *pd EI
_fields_init(obj);
- elm_widget_sub_object_parent_add(obj);
-
elm_widget_can_focus_set(obj, EINA_TRUE);
return obj;
diff --git a/src/lib/elementary/efl_ui_video.c b/src/lib/elementary/efl_ui_video.c
index dd0d6f11ae..75b6b155dc 100644
--- a/src/lib/elementary/efl_ui_video.c
+++ b/src/lib/elementary/efl_ui_video.c
@@ -242,7 +242,6 @@ _efl_ui_video_efl_canvas_group_group_add(Eo *obj, Efl_Ui_Video_Data *priv)
if (!elm_widget_theme_klass_get(obj))
elm_widget_theme_klass_set(obj, "video");
efl_canvas_group_add(efl_super(obj, MY_CLASS));
- elm_widget_sub_object_parent_add(obj);
elm_widget_can_focus_set(obj, EINA_TRUE);
priv->emotion = emotion_object_add(evas_object_evas_get(obj));
diff --git a/src/lib/elementary/efl_ui_widget.c b/src/lib/elementary/efl_ui_widget.c
index 99da93aa3b..872e32a744 100644
--- a/src/lib/elementary/efl_ui_widget.c
+++ b/src/lib/elementary/efl_ui_widget.c
@@ -1486,6 +1486,7 @@ _efl_ui_widget_widget_sub_object_add(Eo *obj, Elm_Widget_Smart_Data *sd, Evas_Ob
Efl_Ui_Widget *parent;
if (!sobj) return EINA_FALSE;
+ EINA_SAFETY_ON_FALSE_RETURN_VAL(efl_isa(sobj, EFL_GFX_ENTITY_INTERFACE), EINA_FALSE);
EINA_SAFETY_ON_TRUE_RETURN_VAL(obj == sobj, EINA_FALSE);
//first make sure that we unregister the sobj from the parent
@@ -5058,7 +5059,15 @@ _efl_ui_widget_efl_object_constructor(Eo *obj, Elm_Widget_Smart_Data *sd EINA_UN
evas_object_smart_callbacks_descriptions_set(obj, _smart_callbacks);
if (!efl_isa(obj, EFL_UI_WIN_CLASS))
{
- efl_ui_widget_sub_object_add(efl_parent_get(obj), obj);
+ Eo *parent = efl_parent_get(obj);
+ if (!efl_isa(parent, EFL_UI_WIDGET_CLASS))
+ {
+ ERR("You passed a wrong parent parameter (%p %s). "
+ "Elementary widget's parent should be an elementary widget.",
+ parent, evas_object_type_get(parent));
+ }
+
+ efl_ui_widget_sub_object_add(parent, obj);
}
sd->on_create = EINA_FALSE;
diff --git a/src/lib/elementary/efl_ui_win.eo b/src/lib/elementary/efl_ui_win.eo
index 3d86408942..33a4be6510 100644
--- a/src/lib/elementary/efl_ui_win.eo
+++ b/src/lib/elementary/efl_ui_win.eo
@@ -160,7 +160,7 @@ class Efl.Ui.Win extends Efl.Ui.Widget implements Efl.Canvas.Scene, Efl.Access.W
get {
}
values {
- type: Efl.Ui.Win_Indicator_Mode; [[The mype, one of @Efl.Ui.Win_Indicator_Mode.]]
+ type: Efl.Ui.Win_Indicator_Mode; [[The type, one of @Efl.Ui.Win_Indicator_Mode.]]
}
}
@property keyboard_mode @beta {
diff --git a/src/lib/elementary/elc_combobox.c b/src/lib/elementary/elc_combobox.c
index 3c17d46061..71e581f18b 100644
--- a/src/lib/elementary/elc_combobox.c
+++ b/src/lib/elementary/elc_combobox.c
@@ -331,7 +331,6 @@ EOLIAN static void
_elm_combobox_efl_canvas_group_group_add(Eo *obj, Elm_Combobox_Data *sd EINA_UNUSED)
{
efl_canvas_group_add(efl_super(obj, MY_CLASS));
- elm_widget_sub_object_parent_add(obj);
efl_ui_mirrored_automatic_set(obj, EINA_FALSE);
diff --git a/src/lib/elementary/elc_ctxpopup.c b/src/lib/elementary/elc_ctxpopup.c
index ac5a91905a..08817bac70 100644
--- a/src/lib/elementary/elc_ctxpopup.c
+++ b/src/lib/elementary/elc_ctxpopup.c
@@ -1033,7 +1033,6 @@ _elm_ctxpopup_efl_canvas_group_group_add(Eo *obj, Elm_Ctxpopup_Data *priv)
ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd);
efl_canvas_group_add(efl_super(obj, MY_CLASS));
- elm_widget_sub_object_parent_add(obj);
if (!elm_layout_theme_set
(obj, "ctxpopup", "base", elm_widget_style_get(obj)))
diff --git a/src/lib/elementary/elc_fileselector.c b/src/lib/elementary/elc_fileselector.c
index b718924429..59ce7b1321 100644
--- a/src/lib/elementary/elc_fileselector.c
+++ b/src/lib/elementary/elc_fileselector.c
@@ -936,15 +936,12 @@ _properties_changed(void *data, const Efl_Event *ev)
}
static Eina_Value
-_process_children_cb(void *data, const Eina_Value v, const Eina_Future *dead_future EINA_UNUSED)
+_process_children_cb(Eo *model EINA_UNUSED, void *data, const Eina_Value v)
{
Listing_Request *lreq = data;
Efl_Model *child = NULL;
unsigned int i, len;
- if (eina_value_type_get(&v) == EINA_VALUE_TYPE_ERROR)
- goto end;
-
if (!lreq->valid) goto end;
EINA_VALUE_ARRAY_FOREACH(&v, len, i, child)
@@ -960,6 +957,16 @@ _process_children_cb(void *data, const Eina_Value v, const Eina_Future *dead_fut
return v;
}
+static Eina_Value
+_process_children_error(Eo *model EINA_UNUSED, void *data, Eina_Error error)
+{
+ Listing_Request *lreq = data;
+
+ _process_last(lreq);
+
+ return eina_value_error_init(error);
+}
+
static void
_populate(Evas_Object *obj,
Efl_Model *model,
@@ -1030,8 +1037,11 @@ _populate(Evas_Object *obj,
if (efl_model_children_count_get(model))
{
future = efl_model_children_slice_get(model, 0, efl_model_children_count_get(model));
- future = eina_future_then(future, _process_children_cb, lreq, NULL);
- efl_future_then(obj, future);
+ future = efl_future_then(obj, future);
+ efl_future_then(model, future,
+ .success = _process_children_cb,
+ .error = _process_children_error,
+ .data = lreq);
}
else
{
@@ -1562,21 +1572,19 @@ _files_grid_add(Evas_Object *obj)
}
static Eina_Value
-_resource_created_then(void *data, const Eina_Value v, const Eina_Future *dead_future EINA_UNUSED)
+_resource_created_then(Eo *model EINA_UNUSED, void *data, const Eina_Value v)
{
Evas_Object *fs = data;
Efl_Model *child = NULL;
unsigned int len, i;
- if (eina_value_type_get(&v) == EINA_VALUE_TYPE_ERROR)
- goto end;
-
ELM_FILESELECTOR_DATA_GET(fs, sd);
EINA_VALUE_ARRAY_FOREACH(&v, len, i, child)
- _process_model(sd, child);
+ {
+ _process_model(sd, child);
+ }
- end:
return v;
}
@@ -1593,8 +1601,10 @@ _resource_created(void *data, const Efl_Event *event)
return;
f = efl_model_children_slice_get(sd->model, evt->index, 1);
- f = eina_future_then(f, _resource_created_then, fs, NULL);
- efl_future_then(fs, f);
+ f = efl_future_then(fs, f);
+ f = efl_future_then(sd->model, f,
+ .success = _resource_created_then,
+ .data = fs);
}
static void
@@ -1677,7 +1687,6 @@ _elm_fileselector_efl_canvas_group_group_add(Eo *obj, Elm_Fileselector_Data *pri
char buf[1024];
efl_canvas_group_add(efl_super(obj, MY_CLASS));
- elm_widget_sub_object_parent_add(obj);
elm_widget_can_focus_set(obj, EINA_FALSE);
priv->expand = !!_elm_config->fileselector_expand_enable;
diff --git a/src/lib/elementary/elc_fileselector_button.c b/src/lib/elementary/elc_fileselector_button.c
index 8dfe7ab54f..1a644534f1 100644
--- a/src/lib/elementary/elc_fileselector_button.c
+++ b/src/lib/elementary/elc_fileselector_button.c
@@ -216,7 +216,6 @@ _elm_fileselector_button_efl_canvas_group_group_add(Eo *obj, Elm_Fileselector_Bu
const char *path;
efl_canvas_group_add(efl_super(obj, MY_CLASS));
- elm_widget_sub_object_parent_add(obj);
priv->window_title = eina_stringshare_add(DEFAULT_WINDOW_TITLE);
path = eina_environment_home_get();
diff --git a/src/lib/elementary/elc_fileselector_entry.c b/src/lib/elementary/elc_fileselector_entry.c
index f06862e911..df9ac79d2c 100644
--- a/src/lib/elementary/elc_fileselector_entry.c
+++ b/src/lib/elementary/elc_fileselector_entry.c
@@ -222,7 +222,6 @@ EOLIAN static void
_elm_fileselector_entry_efl_canvas_group_group_add(Eo *obj, Elm_Fileselector_Entry_Data *priv)
{
efl_canvas_group_add(efl_super(obj, MY_CLASS));
- elm_widget_sub_object_parent_add(obj);
priv->button = elm_fileselector_button_add(obj);
efl_ui_mirrored_automatic_set(priv->button, EINA_FALSE);
diff --git a/src/lib/elementary/elc_hoversel.c b/src/lib/elementary/elc_hoversel.c
index 3986b2a14f..a7b5685f21 100644
--- a/src/lib/elementary/elc_hoversel.c
+++ b/src/lib/elementary/elc_hoversel.c
@@ -638,7 +638,6 @@ EOLIAN static void
_elm_hoversel_efl_canvas_group_group_add(Eo *obj, Elm_Hoversel_Data *pd)
{
efl_canvas_group_add(efl_super(obj, MY_CLASS));
- elm_widget_sub_object_parent_add(obj);
efl_event_callback_add(obj, EFL_UI_EVENT_CLICKED, _on_clicked, obj);
diff --git a/src/lib/elementary/elc_multibuttonentry.c b/src/lib/elementary/elc_multibuttonentry.c
index 0032ad02ff..452d7e0849 100644
--- a/src/lib/elementary/elc_multibuttonentry.c
+++ b/src/lib/elementary/elc_multibuttonentry.c
@@ -1562,7 +1562,6 @@ _elm_multibuttonentry_efl_canvas_group_group_add(Eo *obj, Elm_Multibuttonentry_D
if (!elm_widget_theme_klass_get(obj))
elm_widget_theme_klass_set(obj, "multibuttonentry");
efl_canvas_group_add(efl_super(obj, MY_CLASS));
- elm_widget_sub_object_parent_add(obj);
if (elm_widget_theme_object_set(obj, wd->resize_obj,
elm_widget_theme_klass_get(obj),
diff --git a/src/lib/elementary/elc_naviframe.c b/src/lib/elementary/elc_naviframe.c
index 251b3eb44f..fa22902d90 100644
--- a/src/lib/elementary/elc_naviframe.c
+++ b/src/lib/elementary/elc_naviframe.c
@@ -1392,7 +1392,6 @@ _elm_naviframe_efl_canvas_group_group_add(Eo *obj, Elm_Naviframe_Data *priv)
ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd);
efl_canvas_group_add(efl_super(obj, MY_CLASS));
- elm_widget_sub_object_parent_add(obj);
priv->dummy_edje = wd->resize_obj;
evas_object_smart_member_add(priv->dummy_edje, obj);
diff --git a/src/lib/elementary/elc_player.c b/src/lib/elementary/elc_player.c
index 8a386fc9c4..275599c30f 100644
--- a/src/lib/elementary/elc_player.c
+++ b/src/lib/elementary/elc_player.c
@@ -592,7 +592,6 @@ _elm_player_efl_canvas_group_group_add(Eo *obj, Elm_Player_Data *priv)
char buf[256];
efl_canvas_group_add(efl_super(obj, MY_CLASS));
- elm_widget_sub_object_parent_add(obj);
if (!elm_layout_theme_set(obj, "player", "base", elm_widget_style_get(obj)))
CRI("Failed to set layout!");
diff --git a/src/lib/elementary/elc_popup.c b/src/lib/elementary/elc_popup.c
index a967661e61..7cdf1edf0e 100644
--- a/src/lib/elementary/elc_popup.c
+++ b/src/lib/elementary/elc_popup.c
@@ -1417,7 +1417,6 @@ _elm_popup_efl_canvas_group_group_add(Eo *obj, Elm_Popup_Data *priv)
char style[1024];
efl_canvas_group_add(efl_super(obj, MY_CLASS));
- elm_widget_sub_object_parent_add(obj);
snprintf(style, sizeof(style), "popup/%s", elm_widget_style_get(obj));
diff --git a/src/lib/elementary/elm_access.c b/src/lib/elementary/elm_access.c
index 33809795fc..9b33f4de40 100644
--- a/src/lib/elementary/elm_access.c
+++ b/src/lib/elementary/elm_access.c
@@ -48,7 +48,6 @@ EOLIAN static void
_elm_access_efl_canvas_group_group_add(Eo *obj, void *_pd EINA_UNUSED)
{
efl_canvas_group_add(efl_super(obj, MY_CLASS));
- elm_widget_sub_object_parent_add(obj);
}
static Eina_Bool
diff --git a/src/lib/elementary/elm_actionslider.c b/src/lib/elementary/elm_actionslider.c
index 07fc630811..d4e3ca129b 100644
--- a/src/lib/elementary/elm_actionslider.c
+++ b/src/lib/elementary/elm_actionslider.c
@@ -483,7 +483,6 @@ _elm_actionslider_efl_canvas_group_group_add(Eo *obj, Elm_Actionslider_Data *pri
ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd);
efl_canvas_group_add(efl_super(obj, MY_CLASS));
- elm_widget_sub_object_parent_add(obj);
priv->enabled_position = ELM_ACTIONSLIDER_ALL;
diff --git a/src/lib/elementary/elm_box.c b/src/lib/elementary/elm_box.c
index bd6a00d26b..68e5996c78 100644
--- a/src/lib/elementary/elm_box.c
+++ b/src/lib/elementary/elm_box.c
@@ -323,7 +323,6 @@ _elm_box_efl_canvas_group_group_add(Eo *obj, Elm_Box_Data *_pd EINA_UNUSED)
_on_size_hints_changed, obj);
efl_canvas_group_add(efl_super(obj, MY_CLASS));
- elm_widget_sub_object_parent_add(obj);
efl_event_callback_add
(wd->resize_obj, ELM_BOX_EVENT_CHILD_ADDED, _child_added_cb_proxy, obj);
diff --git a/src/lib/elementary/elm_bubble.c b/src/lib/elementary/elm_bubble.c
index f6f4a97c6d..559ba53d55 100644
--- a/src/lib/elementary/elm_bubble.c
+++ b/src/lib/elementary/elm_bubble.c
@@ -147,7 +147,6 @@ _elm_bubble_efl_canvas_group_group_add(Eo *obj, Elm_Bubble_Data *priv)
ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd);
efl_canvas_group_add(efl_super(obj, MY_CLASS));
- elm_widget_sub_object_parent_add(obj);
priv->pos = ELM_BUBBLE_POS_TOP_LEFT; //default
diff --git a/src/lib/elementary/elm_calendar.c b/src/lib/elementary/elm_calendar.c
index b3c7838408..b249fd44fe 100644
--- a/src/lib/elementary/elm_calendar.c
+++ b/src/lib/elementary/elm_calendar.c
@@ -1337,7 +1337,6 @@ _elm_calendar_efl_canvas_group_group_add(Eo *obj, Elm_Calendar_Data *priv)
ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd);
efl_canvas_group_add(efl_super(obj, MY_CLASS));
- elm_widget_sub_object_parent_add(obj);
priv->first_interval = 0.85;
priv->date_min.tm_year = 2;
diff --git a/src/lib/elementary/elm_clock.c b/src/lib/elementary/elm_clock.c
index 948ec7cb4b..9b6caa147a 100644
--- a/src/lib/elementary/elm_clock.c
+++ b/src/lib/elementary/elm_clock.c
@@ -722,7 +722,6 @@ _elm_clock_efl_canvas_group_group_add(Eo *obj, Elm_Clock_Data *priv)
ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd);
efl_canvas_group_add(efl_super(obj, MY_CLASS));
- elm_widget_sub_object_parent_add(obj);
priv->cur.ampm = -1;
priv->cur.seconds = EINA_TRUE;
diff --git a/src/lib/elementary/elm_colorselector.c b/src/lib/elementary/elm_colorselector.c
index 9ac78ee517..831ff3be78 100644
--- a/src/lib/elementary/elm_colorselector.c
+++ b/src/lib/elementary/elm_colorselector.c
@@ -1954,7 +1954,6 @@ _elm_colorselector_efl_canvas_group_group_add(Eo *obj, Elm_Colorselector_Data *p
ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd);
efl_canvas_group_add(efl_super(obj, MY_CLASS));
- elm_widget_sub_object_parent_add(obj);
if (!elm_layout_theme_set
(obj, "colorselector", "palette", elm_object_style_get(obj)))
diff --git a/src/lib/elementary/elm_conform.c b/src/lib/elementary/elm_conform.c
index a72c08eafc..55c6bc8488 100644
--- a/src/lib/elementary/elm_conform.c
+++ b/src/lib/elementary/elm_conform.c
@@ -927,7 +927,6 @@ EOLIAN static void
_elm_conformant_efl_canvas_group_group_add(Eo *obj, Elm_Conformant_Data *_pd EINA_UNUSED)
{
efl_canvas_group_add(efl_super(obj, MY_CLASS));
- elm_widget_sub_object_parent_add(obj);
elm_widget_can_focus_set(obj, EINA_FALSE);
if (!elm_layout_theme_set
diff --git a/src/lib/elementary/elm_dayselector.c b/src/lib/elementary/elm_dayselector.c
index 78536bb3fd..781ee0c868 100644
--- a/src/lib/elementary/elm_dayselector.c
+++ b/src/lib/elementary/elm_dayselector.c
@@ -445,7 +445,6 @@ EOLIAN static void
_elm_dayselector_efl_canvas_group_group_add(Eo *obj, Elm_Dayselector_Data *priv)
{
efl_canvas_group_add(efl_super(obj, MY_CLASS));
- elm_widget_sub_object_parent_add(obj);
if (!elm_layout_theme_set(obj, "dayselector", "base",
elm_widget_style_get(obj)))
diff --git a/src/lib/elementary/elm_diskselector.c b/src/lib/elementary/elm_diskselector.c
index b6c49ecc74..fd2494f00c 100644
--- a/src/lib/elementary/elm_diskselector.c
+++ b/src/lib/elementary/elm_diskselector.c
@@ -1221,8 +1221,6 @@ _elm_diskselector_efl_canvas_group_group_add(Eo *obj, Elm_Diskselector_Data *pri
Evas *evas;
Evas_Object *blank, *edje;
- elm_widget_sub_object_parent_add(obj);
-
evas = evas_object_evas_get(obj);
evas_event_freeze(evas);
diff --git a/src/lib/elementary/elm_entry.c b/src/lib/elementary/elm_entry.c
index b229596c4a..7478a40fd8 100644
--- a/src/lib/elementary/elm_entry.c
+++ b/src/lib/elementary/elm_entry.c
@@ -3785,7 +3785,6 @@ _elm_entry_efl_canvas_group_group_add(Eo *obj, Elm_Entry_Data *priv)
if (!elm_widget_theme_klass_get(obj))
elm_widget_theme_klass_set(obj, "entry");
efl_canvas_group_add(efl_super(obj, MY_CLASS));
- elm_widget_sub_object_parent_add(obj);
priv->entry_edje = wd->resize_obj;
diff --git a/src/lib/elementary/elm_flipselector.c b/src/lib/elementary/elm_flipselector.c
index 8085325c84..f9ba061f75 100644
--- a/src/lib/elementary/elm_flipselector.c
+++ b/src/lib/elementary/elm_flipselector.c
@@ -616,7 +616,6 @@ EOLIAN static void
_elm_flipselector_efl_canvas_group_group_add(Eo *obj, Elm_Flipselector_Data *priv)
{
efl_canvas_group_add(efl_super(obj, MY_CLASS));
- elm_widget_sub_object_parent_add(obj);
if (!elm_layout_theme_set
(obj, "flipselector", "base", elm_widget_style_get(obj)))
diff --git a/src/lib/elementary/elm_gengrid.c b/src/lib/elementary/elm_gengrid.c
index cefa035264..76e540a9db 100644
--- a/src/lib/elementary/elm_gengrid.c
+++ b/src/lib/elementary/elm_gengrid.c
@@ -4092,7 +4092,6 @@ _elm_gengrid_efl_canvas_group_group_add(Eo *obj, Elm_Gengrid_Data *priv)
ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd);
efl_canvas_group_add(efl_super(obj, MY_CLASS));
- elm_widget_sub_object_parent_add(obj);
priv->hit_rect = evas_object_rectangle_add(evas_object_evas_get(obj));
evas_object_smart_member_add(priv->hit_rect, obj);
diff --git a/src/lib/elementary/elm_genlist.c b/src/lib/elementary/elm_genlist.c
index 0cdec229b9..0a893b72d0 100644
--- a/src/lib/elementary/elm_genlist.c
+++ b/src/lib/elementary/elm_genlist.c
@@ -5782,7 +5782,6 @@ _elm_genlist_efl_canvas_group_group_add(Eo *obj, Elm_Genlist_Data *priv)
int i;
efl_canvas_group_add(efl_super(obj, MY_CLASS));
- elm_widget_sub_object_parent_add(obj);
priv->size_caches = eina_hash_pointer_new(_size_cache_free);
priv->hit_rect = evas_object_rectangle_add(e);
diff --git a/src/lib/elementary/elm_gesture_layer.c b/src/lib/elementary/elm_gesture_layer.c
index 667a2716a0..de1fe793e3 100644
--- a/src/lib/elementary/elm_gesture_layer.c
+++ b/src/lib/elementary/elm_gesture_layer.c
@@ -3748,7 +3748,6 @@ EOLIAN static void
_elm_gesture_layer_efl_canvas_group_group_add(Eo *obj, Elm_Gesture_Layer_Data *priv)
{
efl_canvas_group_add(efl_super(obj, MY_CLASS));
- elm_widget_sub_object_parent_add(obj);
priv->line_min_length =
_elm_config->glayer_line_min_length * elm_config_finger_size_get();
diff --git a/src/lib/elementary/elm_glview.c b/src/lib/elementary/elm_glview.c
index 1210416253..51e3cb6da6 100644
--- a/src/lib/elementary/elm_glview.c
+++ b/src/lib/elementary/elm_glview.c
@@ -224,8 +224,6 @@ _elm_glview_efl_canvas_group_group_add(Eo *obj, Elm_Glview_Data *priv EINA_UNUSE
{
Evas_Object *img;
- elm_widget_sub_object_parent_add(obj);
-
// Create image to render Evas_GL Surface
img = evas_object_image_filled_add(evas_object_evas_get(obj));
elm_widget_resize_object_set(obj, img);
diff --git a/src/lib/elementary/elm_grid.c b/src/lib/elementary/elm_grid.c
index 40b636eb07..6548f21e16 100644
--- a/src/lib/elementary/elm_grid.c
+++ b/src/lib/elementary/elm_grid.c
@@ -59,8 +59,6 @@ _elm_grid_efl_canvas_group_group_add(Eo *obj, void *_pd EINA_UNUSED)
ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd);
Evas_Object *grid;
- elm_widget_sub_object_parent_add(obj);
-
grid = evas_object_grid_add(evas_object_evas_get(obj));
elm_widget_resize_object_set(obj, grid);
evas_object_grid_size_set(wd->resize_obj, 100, 100);
diff --git a/src/lib/elementary/elm_hover.c b/src/lib/elementary/elm_hover.c
index e5019fed78..271436f707 100644
--- a/src/lib/elementary/elm_hover.c
+++ b/src/lib/elementary/elm_hover.c
@@ -582,7 +582,6 @@ EOLIAN static void
_elm_hover_efl_canvas_group_group_add(Eo *obj, Elm_Hover_Data *sd)
{
efl_canvas_group_add(efl_super(obj, MY_CLASS));
- elm_widget_sub_object_parent_add(obj);
ELM_HOVER_PARTS_FOREACH
sd->subs[i].swallow = _content_aliases[i].alias;
diff --git a/src/lib/elementary/elm_icon.c b/src/lib/elementary/elm_icon.c
index 819f549e63..3011a4d252 100644
--- a/src/lib/elementary/elm_icon.c
+++ b/src/lib/elementary/elm_icon.c
@@ -493,7 +493,6 @@ EOLIAN static void
_elm_icon_efl_canvas_group_group_add(Eo *obj, Elm_Icon_Data *priv)
{
efl_canvas_group_add(efl_super(obj, MY_CLASS));
- elm_widget_sub_object_parent_add(obj);
priv->thumb.request = NULL;
}
diff --git a/src/lib/elementary/elm_image_legacy.h b/src/lib/elementary/elm_image_legacy.h
index d09060f969..f023de8316 100644
--- a/src/lib/elementary/elm_image_legacy.h
+++ b/src/lib/elementary/elm_image_legacy.h
@@ -553,5 +553,3 @@ EAPI Eina_Bool elm_image_aspect_fixed_get(const Evas_Object *obj);
* @ingroup Elm_Image
*/
EAPI void elm_image_async_open_set(Evas_Object *obj, Eina_Bool async);
-
-#include "efl_ui_image.eo.legacy.h"
diff --git a/src/lib/elementary/elm_index.c b/src/lib/elementary/elm_index.c
index 49fa53192b..c046080a6e 100644
--- a/src/lib/elementary/elm_index.c
+++ b/src/lib/elementary/elm_index.c
@@ -1045,7 +1045,6 @@ _elm_index_efl_canvas_group_group_add(Eo *obj, Elm_Index_Data *priv)
ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd);
efl_canvas_group_add(efl_super(obj, MY_CLASS));
- elm_widget_sub_object_parent_add(obj);
if (!elm_layout_theme_set
(obj, "index", "base/vertical", elm_widget_style_get(obj)))
diff --git a/src/lib/elementary/elm_inwin.c b/src/lib/elementary/elm_inwin.c
index 54d2c4d775..e50128027e 100644
--- a/src/lib/elementary/elm_inwin.c
+++ b/src/lib/elementary/elm_inwin.c
@@ -46,7 +46,6 @@ EOLIAN static void
_elm_inwin_efl_canvas_group_group_add(Eo *obj, Elm_Inwin_Data *pd EINA_UNUSED)
{
efl_canvas_group_add(efl_super(obj, MY_CLASS));
- elm_widget_sub_object_parent_add(obj);
elm_widget_can_focus_set(obj, EINA_FALSE);
elm_widget_highlight_ignore_set(obj, EINA_TRUE);
diff --git a/src/lib/elementary/elm_label.c b/src/lib/elementary/elm_label.c
index 9e31e5a5b1..4468b72bd0 100644
--- a/src/lib/elementary/elm_label.c
+++ b/src/lib/elementary/elm_label.c
@@ -380,8 +380,6 @@ _elm_label_efl_canvas_group_group_add(Eo *obj, Elm_Label_Data *priv)
efl_canvas_group_add(efl_super(obj, MY_CLASS));
- elm_widget_sub_object_parent_add(obj);
-
priv->linewrap = ELM_WRAP_NONE;
priv->wrap_w = -1;
priv->slide_duration = 10;
diff --git a/src/lib/elementary/elm_layout_legacy.h b/src/lib/elementary/elm_layout_legacy.h
index 58dab5bcc9..55a23a69f3 100644
--- a/src/lib/elementary/elm_layout_legacy.h
+++ b/src/lib/elementary/elm_layout_legacy.h
@@ -711,5 +711,3 @@ EAPI const char *elm_layout_part_cursor_style_get(const Evas_Object *obj, const
* @ingroup Elm_Layout
*/
EAPI Eina_Bool elm_layout_part_cursor_unset(Evas_Object *obj, const char *part_name);
-
-#include "efl_ui_layout.eo.legacy.h"
diff --git a/src/lib/elementary/elm_list.c b/src/lib/elementary/elm_list.c
index 891e58536f..da40668a02 100644
--- a/src/lib/elementary/elm_list.c
+++ b/src/lib/elementary/elm_list.c
@@ -2352,7 +2352,6 @@ _elm_list_efl_canvas_group_group_add(Eo *obj, Elm_List_Data *priv)
ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd);
efl_canvas_group_add(efl_super(obj, MY_CLASS));
- elm_widget_sub_object_parent_add(obj);
elm_widget_can_focus_set(obj, EINA_TRUE);
diff --git a/src/lib/elementary/elm_map.c b/src/lib/elementary/elm_map.c
index 2e14abf2b8..71deea0b58 100644
--- a/src/lib/elementary/elm_map.c
+++ b/src/lib/elementary/elm_map.c
@@ -4092,8 +4092,6 @@ _elm_map_efl_canvas_group_group_add(Eo *obj, Elm_Map_Data *priv)
Elm_Map_Pan_Data *pan_data;
Evas_Object *edje;
- elm_widget_sub_object_parent_add(obj);
-
edje = edje_object_add(evas_object_evas_get(obj));
elm_widget_resize_object_set(obj, edje);
diff --git a/src/lib/elementary/elm_mapbuf.c b/src/lib/elementary/elm_mapbuf.c
index 46796c1d6e..5706743243 100644
--- a/src/lib/elementary/elm_mapbuf.c
+++ b/src/lib/elementary/elm_mapbuf.c
@@ -284,7 +284,6 @@ _elm_mapbuf_efl_canvas_group_group_add(Eo *obj, Elm_Mapbuf_Data *priv)
elm_widget_resize_object_set(obj, rect);
efl_canvas_group_add(efl_super(obj, MY_CLASS));
- elm_widget_sub_object_parent_add(obj);
evas_object_static_clip_set(rect, EINA_TRUE);
evas_object_pass_events_set(rect, EINA_TRUE);
diff --git a/src/lib/elementary/elm_menu.c b/src/lib/elementary/elm_menu.c
index df38939c1c..236d859399 100644
--- a/src/lib/elementary/elm_menu.c
+++ b/src/lib/elementary/elm_menu.c
@@ -690,7 +690,6 @@ EOLIAN static void
_elm_menu_efl_canvas_group_group_add(Eo *obj, Elm_Menu_Data *priv)
{
efl_canvas_group_add(efl_super(obj, MY_CLASS));
- elm_widget_sub_object_parent_add(obj);
elm_widget_can_focus_set(obj, EINA_FALSE);
diff --git a/src/lib/elementary/elm_notify.c b/src/lib/elementary/elm_notify.c
index 8a98c32f9b..0f1bbd37f4 100644
--- a/src/lib/elementary/elm_notify.c
+++ b/src/lib/elementary/elm_notify.c
@@ -143,12 +143,16 @@ EOLIAN static Eina_Error
_elm_notify_efl_ui_widget_theme_apply(Eo *obj, Elm_Notify_Data *sd)
{
Eina_Error int_ret = EFL_UI_THEME_APPLY_ERROR_GENERIC;
+ Eina_Error notify_theme_ret = EFL_UI_THEME_APPLY_ERROR_GENERIC;
int_ret = efl_ui_widget_theme_apply(efl_super(obj, MY_CLASS));
if (int_ret == EFL_UI_THEME_APPLY_ERROR_GENERIC) return int_ret;
_mirrored_set(obj, efl_ui_mirrored_get(obj));
- int_ret &= _notify_theme_apply(obj);
+ notify_theme_ret = _notify_theme_apply(obj);
+ if (notify_theme_ret == EFL_UI_THEME_APPLY_ERROR_GENERIC)
+ return notify_theme_ret;
+
if (sd->block_events) _block_events_theme_apply(obj);
edje_object_scale_set
@@ -156,7 +160,11 @@ _elm_notify_efl_ui_widget_theme_apply(Eo *obj, Elm_Notify_Data *sd)
_sizing_eval(obj);
- return int_ret;
+ if ((int_ret == EFL_UI_THEME_APPLY_ERROR_DEFAULT) ||
+ (notify_theme_ret == EFL_UI_THEME_APPLY_ERROR_DEFAULT))
+ return EFL_UI_THEME_APPLY_ERROR_DEFAULT;
+
+ return EFL_UI_THEME_APPLY_ERROR_NONE;
}
/* Legacy compat. Note that notify has no text parts in the default theme... */
@@ -441,7 +449,6 @@ EOLIAN static void
_elm_notify_efl_canvas_group_group_add(Eo *obj, Elm_Notify_Data *priv)
{
efl_canvas_group_add(efl_super(obj, MY_CLASS));
- elm_widget_sub_object_parent_add(obj);
priv->allow_events = EINA_TRUE;
diff --git a/src/lib/elementary/elm_panel.c b/src/lib/elementary/elm_panel.c
index a0b4ccd47e..7d9e800149 100644
--- a/src/lib/elementary/elm_panel.c
+++ b/src/lib/elementary/elm_panel.c
@@ -830,7 +830,6 @@ _elm_panel_efl_canvas_group_group_add(Eo *obj, Elm_Panel_Data *priv)
ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd);
efl_canvas_group_add(efl_super(obj, MY_CLASS));
- elm_widget_sub_object_parent_add(obj);
elm_widget_can_focus_set(obj, EINA_TRUE);
priv->panel_edje = wd->resize_obj;
diff --git a/src/lib/elementary/elm_photo.c b/src/lib/elementary/elm_photo.c
index 1af5e2b872..92d9aed828 100644
--- a/src/lib/elementary/elm_photo.c
+++ b/src/lib/elementary/elm_photo.c
@@ -262,7 +262,6 @@ _elm_photo_efl_canvas_group_group_add(Eo *obj, Elm_Photo_Data *priv)
ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd);
efl_canvas_group_add(efl_super(obj, MY_CLASS));
- elm_widget_sub_object_parent_add(obj);
elm_widget_can_focus_set(obj, EINA_FALSE);
diff --git a/src/lib/elementary/elm_plug.c b/src/lib/elementary/elm_plug.c
index f55c616ec7..4b1f005ff0 100644
--- a/src/lib/elementary/elm_plug.c
+++ b/src/lib/elementary/elm_plug.c
@@ -114,7 +114,6 @@ _elm_plug_efl_canvas_group_group_add(Eo *obj, void *sd EINA_UNUSED)
ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd);
efl_canvas_group_add(efl_super(obj, MY_CLASS));
- elm_widget_sub_object_parent_add(obj);
ee = ecore_evas_ecore_evas_get(evas_object_evas_get(obj));
if (!ee) return;
diff --git a/src/lib/elementary/elm_prefs.c b/src/lib/elementary/elm_prefs.c
index edd2213b4a..a320563661 100644
--- a/src/lib/elementary/elm_prefs.c
+++ b/src/lib/elementary/elm_prefs.c
@@ -48,7 +48,6 @@ EOLIAN static void
_elm_prefs_efl_canvas_group_group_add(Eo *obj, Elm_Prefs_Data *_pd EINA_UNUSED)
{
efl_canvas_group_add(efl_super(obj, MY_CLASS));
- elm_widget_sub_object_parent_add(obj);
}
static void _item_free(Elm_Prefs_Item_Node *it);
diff --git a/src/lib/elementary/elm_priv.h b/src/lib/elementary/elm_priv.h
index fa262e2646..478497468d 100644
--- a/src/lib/elementary/elm_priv.h
+++ b/src/lib/elementary/elm_priv.h
@@ -875,12 +875,14 @@ EOAPI void efl_page_transition_page_size_set(Eo *obj, Eina_Size2D sz);
EOAPI void efl_page_transition_padding_size_set(Eo *obj, int padding);
EOAPI void efl_page_transition_update(Eo *obj, double pos);
EOAPI void efl_page_transition_pack(Eo *obj, int index);
+EOAPI void efl_page_transition_unpack_all(Eo *obj);
EOAPI void efl_page_transition_curr_page_change(Eo *obj, int diff);
EOAPI Eina_Bool efl_page_transition_loop_set(Eo *obj, Efl_Ui_Pager_Loop loop);
EOAPI void efl_page_indicator_update(Eo *obj, double pos);
EOAPI void efl_page_indicator_pack(Eo *obj, int index);
EOAPI void efl_page_indicator_unpack(Eo *obj, int index);
+EOAPI void efl_page_indicator_unpack_all(Eo *obj);
Eina_Bool _elm_config_accel_preference_parse(const char *pref, Eina_Stringshare **accel, int *gl_depth, int *gl_stencil, int *gl_msaa);
diff --git a/src/lib/elementary/elm_progressbar_legacy.h b/src/lib/elementary/elm_progressbar_legacy.h
index 8eedf940e5..a6b67991be 100644
--- a/src/lib/elementary/elm_progressbar_legacy.h
+++ b/src/lib/elementary/elm_progressbar_legacy.h
@@ -284,5 +284,3 @@ EAPI void elm_progressbar_part_value_set(Evas_Object *obj, const char *part, dou
* @ingroup Elm_Progressbar
*/
EAPI double elm_progressbar_part_value_get(const Evas_Object *obj, const char *part);
-
-#include "efl_ui_progressbar.eo.legacy.h"
diff --git a/src/lib/elementary/elm_route.c b/src/lib/elementary/elm_route.c
index 3b9d3ecee3..be51b20704 100644
--- a/src/lib/elementary/elm_route.c
+++ b/src/lib/elementary/elm_route.c
@@ -138,7 +138,6 @@ _elm_route_efl_canvas_group_group_add(Eo *obj, Elm_Route_Data *priv)
{
efl_canvas_group_add(efl_super(obj, MY_CLASS));
- elm_widget_sub_object_parent_add(obj);
elm_widget_can_focus_set(obj, EINA_FALSE);
evas_object_event_callback_add
diff --git a/src/lib/elementary/elm_scroller.c b/src/lib/elementary/elm_scroller.c
index f70ec39adc..1eec6d866e 100644
--- a/src/lib/elementary/elm_scroller.c
+++ b/src/lib/elementary/elm_scroller.c
@@ -778,7 +778,6 @@ _elm_scroller_efl_canvas_group_group_add(Eo *obj, Elm_Scroller_Data *priv)
Evas_Coord minw, minh;
efl_canvas_group_add(efl_super(obj, MY_CLASS));
- elm_widget_sub_object_parent_add(obj);
elm_widget_can_focus_set(obj, EINA_TRUE);
if (!elm_layout_theme_set
@@ -786,6 +785,7 @@ _elm_scroller_efl_canvas_group_group_add(Eo *obj, Elm_Scroller_Data *priv)
CRI("Failed to set layout!");
priv->hit_rect = evas_object_rectangle_add(evas_object_evas_get(obj));
+ evas_object_data_set(priv->hit_rect, "_elm_leaveme", obj);
evas_object_smart_member_add(priv->hit_rect, obj);
elm_widget_sub_object_add(obj, priv->hit_rect);
diff --git a/src/lib/elementary/elm_scroller_legacy.h b/src/lib/elementary/elm_scroller_legacy.h
index 6b40eff78f..b1ec21d223 100644
--- a/src/lib/elementary/elm_scroller_legacy.h
+++ b/src/lib/elementary/elm_scroller_legacy.h
@@ -1,4 +1,42 @@
-#include "elm_interface_scrollable.eo.legacy.h"
+#ifndef _ELM_INTERFACE_SCROLLABLE_EO_TYPES
+#define _ELM_INTERFACE_SCROLLABLE_EO_TYPES
+
+/**
+ * @brief Type that controls when scrollbars should appear.
+ *
+ * See also @ref elm_interface_scrollable_policy_set.
+ *
+ * @ingroup Elm_Scroller
+ */
+typedef enum
+{
+ ELM_SCROLLER_POLICY_AUTO = 0, /**< Show scrollbars as needed */
+ ELM_SCROLLER_POLICY_ON, /**< Always show scrollbars */
+ ELM_SCROLLER_POLICY_OFF, /**< Never show scrollbars */
+ ELM_SCROLLER_POLICY_LAST /**< Sentinel value to indicate last enum field
+ * during iteration */
+} Elm_Scroller_Policy;
+
+/**
+ * @brief Type that controls how the content is scrolled.
+ *
+ * See also @ref elm_interface_scrollable_single_direction_set.
+ *
+ * @ingroup Elm_Scroller
+ */
+typedef enum
+{
+ ELM_SCROLLER_SINGLE_DIRECTION_NONE = 0, /**< Scroll every direction */
+ ELM_SCROLLER_SINGLE_DIRECTION_SOFT, /**< Scroll single direction if the
+ * direction is certain */
+ ELM_SCROLLER_SINGLE_DIRECTION_HARD, /**< Scroll only single direction */
+ ELM_SCROLLER_SINGLE_DIRECTION_LAST /**< Sentinel value to indicate last enum
+ * field during iteration */
+} Elm_Scroller_Single_Direction;
+
+
+#endif
+
#include "elm_scroller_eo.legacy.h"
/**
diff --git a/src/lib/elementary/elm_segment_control.c b/src/lib/elementary/elm_segment_control.c
index 96d7558f8e..0a6a3d1a19 100644
--- a/src/lib/elementary/elm_segment_control.c
+++ b/src/lib/elementary/elm_segment_control.c
@@ -611,7 +611,6 @@ _elm_segment_control_efl_canvas_group_group_add(Eo *obj, Elm_Segment_Control_Dat
{
sd->obj = obj;
efl_canvas_group_add(efl_super(obj, MY_CLASS));
- elm_widget_sub_object_parent_add(obj);
if (!elm_layout_theme_set
(obj, "segment_control", "base", elm_widget_style_get(obj)))
diff --git a/src/lib/elementary/elm_separator.c b/src/lib/elementary/elm_separator.c
index 2c73da13b0..792a74294f 100644
--- a/src/lib/elementary/elm_separator.c
+++ b/src/lib/elementary/elm_separator.c
@@ -48,7 +48,6 @@ EOLIAN static void
_elm_separator_efl_canvas_group_group_add(Eo *obj, Elm_Separator_Data *sd EINA_UNUSED)
{
efl_canvas_group_add(efl_super(obj, MY_CLASS));
- elm_widget_sub_object_parent_add(obj);
elm_widget_can_focus_set(obj, EINA_FALSE);
if (!elm_layout_theme_set
diff --git a/src/lib/elementary/elm_slider_legacy.h b/src/lib/elementary/elm_slider_legacy.h
index 99c5097297..aa32dec6b1 100644
--- a/src/lib/elementary/elm_slider_legacy.h
+++ b/src/lib/elementary/elm_slider_legacy.h
@@ -381,5 +381,3 @@ EAPI double elm_slider_step_get(const Evas_Object *obj);
* @ingroup Elm_Slider
*/
EAPI void elm_slider_step_set(Evas_Object *obj, double step);
-
-#include "efl_ui_slider.eo.legacy.h"
diff --git a/src/lib/elementary/elm_slideshow.c b/src/lib/elementary/elm_slideshow.c
index 741be9eeb5..da8887413d 100644
--- a/src/lib/elementary/elm_slideshow.c
+++ b/src/lib/elementary/elm_slideshow.c
@@ -310,7 +310,6 @@ _elm_slideshow_efl_canvas_group_group_add(Eo *obj, Elm_Slideshow_Data *priv)
ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd);
efl_canvas_group_add(efl_super(obj, MY_CLASS));
- elm_widget_sub_object_parent_add(obj);
priv->count_item_pre_before = 2;
priv->count_item_pre_after = 2;
diff --git a/src/lib/elementary/elm_spinner.c b/src/lib/elementary/elm_spinner.c
index 001dd3b152..3c35f0e2ce 100644
--- a/src/lib/elementary/elm_spinner.c
+++ b/src/lib/elementary/elm_spinner.c
@@ -1187,7 +1187,6 @@ _elm_spinner_efl_canvas_group_group_add(Eo *obj, Elm_Spinner_Data *priv)
ELM_SPINNER_DATA_GET(obj, sd);
efl_canvas_group_add(efl_super(obj, MY_CLASS));
- elm_widget_sub_object_parent_add(obj);
priv->val_max = 100.0;
priv->step = 1.0;
diff --git a/src/lib/elementary/elm_table.c b/src/lib/elementary/elm_table.c
index 14a287f911..fa07e5912b 100644
--- a/src/lib/elementary/elm_table.c
+++ b/src/lib/elementary/elm_table.c
@@ -92,8 +92,6 @@ _elm_table_efl_canvas_group_group_add(Eo *obj, void *_pd EINA_UNUSED)
{
Evas_Object *table;
- elm_widget_sub_object_parent_add(obj);
-
table = evas_object_table_add(evas_object_evas_get(obj));
elm_widget_resize_object_set(obj, table);
diff --git a/src/lib/elementary/elm_thumb.c b/src/lib/elementary/elm_thumb.c
index df6244e32e..67ac441d6f 100644
--- a/src/lib/elementary/elm_thumb.c
+++ b/src/lib/elementary/elm_thumb.c
@@ -532,7 +532,6 @@ _elm_thumb_efl_canvas_group_group_add(Eo *obj, Elm_Thumb_Data *_pd EINA_UNUSED)
ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd);
efl_canvas_group_add(efl_super(obj, MY_CLASS));
- elm_widget_sub_object_parent_add(obj);
if (!elm_layout_theme_set(obj, "thumb", "base", elm_widget_style_get(obj)))
CRI("Failed to set layout!");
diff --git a/src/lib/elementary/elm_toolbar.c b/src/lib/elementary/elm_toolbar.c
index b64f4d91bb..0efcacb8c0 100644
--- a/src/lib/elementary/elm_toolbar.c
+++ b/src/lib/elementary/elm_toolbar.c
@@ -2740,8 +2740,6 @@ _elm_toolbar_efl_canvas_group_group_add(Eo *obj, Elm_Toolbar_Data *priv)
{
Evas_Object *edje;
- elm_widget_sub_object_parent_add(obj);
-
edje = edje_object_add(evas_object_evas_get(obj));
elm_widget_resize_object_set(obj, edje);
diff --git a/src/lib/elementary/meson.build b/src/lib/elementary/meson.build
index 31b0199f6e..89ce09a95e 100644
--- a/src/lib/elementary/meson.build
+++ b/src/lib/elementary/meson.build
@@ -24,16 +24,15 @@ pub_eo_file_target = []
foreach eo_file : pub_legacy_eo_files
pub_eo_file_target += custom_target('eolian_gen_' + eo_file,
input : eo_file,
- output : [eo_file + '.legacy.h',],
+ output : [eo_file + '.h'],
depfile : eo_file + '.d',
install : true,
install_dir : dir_package_include,
command : eolian_gen + [ '-I', meson.current_source_dir(), eolian_include_directories,
'-o', 'h:' + join_paths(meson.current_build_dir(), eo_file + '.h'),
'-o', 'c:' + join_paths(meson.current_build_dir(), eo_file + '.c'),
- '-o', 'l:' + join_paths(meson.current_build_dir(), eo_file + '.legacy.h'),
'-o', 'd:' + join_paths(meson.current_build_dir(), eo_file + '.d'),
- '-gchld', '@INPUT@'])
+ '-gchd', '@INPUT@'])
endforeach
@@ -191,16 +190,6 @@ foreach eo_file : pub_eo_files
'-o', 'c:' + join_paths(meson.current_build_dir(), eo_file + '.c'),
'-o', 'd:' + join_paths(meson.current_build_dir(), eo_file + '.d'),
'-gchd', '@INPUT@'])
- pub_eo_file_target += custom_target('eolian_gen_legacy_' + eo_file,
- input : eo_file,
- output : [eo_file + '.legacy.h'],
- depfile : eo_file + '.legacy.d',
- install : true,
- install_dir : dir_package_include,
- command : eolian_gen + [ '-I', meson.current_source_dir(), eolian_include_directories,
- '-o', 'l:' + join_paths(meson.current_build_dir(), eo_file + '.legacy.h'),
- '-o', 'd:' + join_paths(meson.current_build_dir(), eo_file + '.legacy.d'),
- '-gld', '@INPUT@'])
endforeach
diff --git a/src/lib/evas/Evas_Legacy.h b/src/lib/evas/Evas_Legacy.h
index d909b7a375..8258690b85 100644
--- a/src/lib/evas/Evas_Legacy.h
+++ b/src/lib/evas/Evas_Legacy.h
@@ -3526,8 +3526,6 @@ EWAPI Eina_Bool _evas_object_intercept_call(Evas_Object *obj, Evas_Object_Interc
*/
EAPI Evas_Object *evas_object_rectangle_add(Evas *e) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_MALLOC;
-#include "canvas/efl_canvas_rectangle.eo.legacy.h"
-
/**
* @}
*/
@@ -4373,8 +4371,6 @@ EAPI void evas_vg_gradient_spread_set(Eo *obj, Efl_Gfx_Gradient_Spread s);
*/
EAPI Efl_Gfx_Gradient_Spread evas_vg_gradient_spread_get(Eo *obj);
-#include "canvas/efl_canvas_vg_gradient.eo.legacy.h"
-
/**
* Creates a new linear gradient object \.
*
@@ -4424,8 +4420,6 @@ EAPI void evas_vg_gradient_linear_end_set(Eo *obj, double x, double y);
*/
EAPI void evas_vg_gradient_linear_end_get(Eo *obj, double *x, double *y);
-#include "canvas/efl_canvas_vg_gradient_linear.eo.legacy.h"
-
/**
* Creates a new radial gradient object \.
*
@@ -4492,8 +4486,6 @@ EAPI void evas_vg_gradient_radial_focal_set(Eo *obj, double x, double y);
*/
EAPI void evas_vg_gradient_radial_focal_get(Eo *obj, double *x, double *y);
-#include "canvas/efl_canvas_vg_gradient_radial.eo.legacy.h"
-
/**
* @}
*/
@@ -8126,8 +8118,6 @@ EAPI void evas_object_map_enable_set(Evas_Object *obj, Eina_Bool enabled);
*/
EAPI Eina_Bool evas_object_map_enable_get(const Evas_Object *obj);
-#include "canvas/efl_gfx_mapping.eo.legacy.h"
-
/**
* @brief Apply an evas filter program on this text object.
*
@@ -8247,13 +8237,3 @@ EAPI void evas_object_freeze_events_set(Efl_Canvas_Object *obj, Eina_Bool freeze
EAPI Eina_Bool evas_object_freeze_events_get(const Efl_Canvas_Object *obj);
#include "canvas/efl_canvas_event_grabber_eo.legacy.h"
-
-#include "canvas/efl_canvas_animation_alpha.eo.legacy.h"
-#include "canvas/efl_canvas_animation.eo.legacy.h"
-#include "canvas/efl_canvas_animation_group.eo.legacy.h"
-#include "canvas/efl_canvas_animation_group_parallel.eo.legacy.h"
-#include "canvas/efl_canvas_animation_group_sequential.eo.legacy.h"
-#include "canvas/efl_canvas_animation_player.eo.legacy.h"
-#include "canvas/efl_canvas_animation_rotate.eo.legacy.h"
-#include "canvas/efl_canvas_animation_scale.eo.legacy.h"
-#include "canvas/efl_canvas_animation_translate.eo.legacy.h"
diff --git a/src/lib/evas/canvas/efl_canvas_image.c b/src/lib/evas/canvas/efl_canvas_image.c
index 434c427bb0..9d4c6c4594 100644
--- a/src/lib/evas/canvas/efl_canvas_image.c
+++ b/src/lib/evas/canvas/efl_canvas_image.c
@@ -4,6 +4,21 @@
#define MY_CLASS EFL_CANVAS_IMAGE_CLASS
#define MY_CLASS_NAME efl_class_name_get(MY_CLASS)
+void
+_evas_image_file_unload(Eo *eo_obj)
+{
+ Evas_Object_Protected_Data *obj;
+ Evas_Image_Data *o = efl_data_scope_get(eo_obj, EFL_CANVAS_IMAGE_INTERNAL_CLASS);
+
+ if (!o->cur->f) return;
+
+ obj = efl_data_scope_get(eo_obj, EFL_CANVAS_OBJECT_CLASS);
+ evas_object_async_block(obj);
+ _evas_image_init_set(NULL, NULL, eo_obj, obj, o, NULL);
+ o->buffer_data_set = EINA_FALSE;
+ _evas_image_done_set(eo_obj, obj, o);
+ o->load_error = EFL_GFX_IMAGE_LOAD_ERROR_NONE;
+}
Eina_Bool
_evas_image_file_load(Eo *eo_obj)
{
@@ -48,6 +63,13 @@ _efl_canvas_image_efl_file_load(Eo *eo_obj, void *_pd EINA_UNUSED)
return EFL_GFX_IMAGE_LOAD_ERROR_DOES_NOT_EXIST;
}
+EOLIAN static void
+_efl_canvas_image_efl_file_unload(Eo *eo_obj, void *_pd EINA_UNUSED)
+{
+ efl_file_unload(efl_super(eo_obj, MY_CLASS));
+ _evas_image_file_unload(eo_obj);
+}
+
const Eina_File *
_evas_image_mmap_get(const Eo *eo_obj)
{
diff --git a/src/lib/evas/canvas/efl_canvas_image.eo b/src/lib/evas/canvas/efl_canvas_image.eo
index 2dbad42f60..428a1f900a 100644
--- a/src/lib/evas/canvas/efl_canvas_image.eo
+++ b/src/lib/evas/canvas/efl_canvas_image.eo
@@ -17,6 +17,7 @@ class @beta Efl.Canvas.Image extends Efl.Canvas.Image_Internal implements
Efl.Gfx.Buffer.buffer_map;
Efl.Gfx.Buffer.buffer_unmap;
Efl.File.load;
+ Efl.File.unload;
Efl.Gfx.Frame_Controller.animated { get; }
Efl.Gfx.Frame_Controller.frame { get; set; }
Efl.Gfx.Frame_Controller.frame_count { get; }
diff --git a/src/lib/evas/canvas/evas_image_eo.c b/src/lib/evas/canvas/evas_image_eo.c
index 6c67d08c27..2d4f39ff39 100644
--- a/src/lib/evas/canvas/evas_image_eo.c
+++ b/src/lib/evas/canvas/evas_image_eo.c
@@ -15,6 +15,7 @@ _evas_image_class_initializer(Efl_Class *klass)
EFL_OPS_DEFINE(ops,
EFL_OBJECT_OP_FUNC(efl_file_load, _evas_image_efl_file_load),
+ EFL_OBJECT_OP_FUNC(efl_file_unload, _evas_image_efl_file_unload),
EVAS_IMAGE_EXTRA_OPS
);
opsp = &ops;
diff --git a/src/lib/evas/canvas/evas_image_legacy.c b/src/lib/evas/canvas/evas_image_legacy.c
index fc8172719c..6d466be575 100644
--- a/src/lib/evas/canvas/evas_image_legacy.c
+++ b/src/lib/evas/canvas/evas_image_legacy.c
@@ -1304,4 +1304,12 @@ _evas_image_efl_file_load(Eo *obj, void *pd EINA_UNUSED)
return EFL_GFX_IMAGE_LOAD_ERROR_DOES_NOT_EXIST;
}
+EOLIAN static void
+_evas_image_efl_file_unload(Eo *obj, void *pd EINA_UNUSED)
+{
+ EVAS_IMAGE_API(obj);
+ efl_file_unload(efl_super(obj, EVAS_IMAGE_CLASS));
+ _evas_image_file_unload(obj);
+}
+
#include "canvas/evas_image_eo.c"
diff --git a/src/lib/evas/canvas/evas_image_private.h b/src/lib/evas/canvas/evas_image_private.h
index 79114b4f99..5a4f3771a2 100644
--- a/src/lib/evas/canvas/evas_image_private.h
+++ b/src/lib/evas/canvas/evas_image_private.h
@@ -162,6 +162,7 @@ void _evas_image_fill_set(Eo *eo_obj, Evas_Image_Data *o, int x, int y, int w, i
/* Efl.File */
Eina_Bool _evas_image_file_load(Eo *eo_obj);
+void _evas_image_file_unload(Eo *eo_obj);
const Eina_File *_evas_image_mmap_get(const Eo *eo_obj);
const char *_evas_image_key_get(const Eo *eo_obj);
void _efl_canvas_image_load_error_set(Eo *eo_obj EINA_UNUSED, Eina_Error err);
diff --git a/src/lib/evas/canvas/evas_map.c b/src/lib/evas/canvas/evas_map.c
index e633ccd883..1f576fcf84 100644
--- a/src/lib/evas/canvas/evas_map.c
+++ b/src/lib/evas/canvas/evas_map.c
@@ -1381,12 +1381,8 @@ evas_object_map_update(Evas_Object *eo_obj,
pt->x = (lround(p->x) + x) * FP1;
pt->y = (lround(p->y) + y) * FP1;
pt->z = (lround(p->z) ) * FP1;
- /* FIXME: Adding the framespace is a workaround for a bug on the EGL
- * wayland backend, which does not affect other ports. Remove this when
- * it is correctly handled inside the GL rendering code, which handles
- * maps with perspective set. */
- pt->fx = p->px + obj->layer->evas->framespace.x;
- pt->fy = p->py + obj->layer->evas->framespace.y;
+ pt->fx = p->x + (float) x;
+ pt->fy = p->y + (float) y;
pt->fz = p->z;
if ((uvw == 0) || (imagew == 0)) pt->u = 0;
else pt->u = ((lround(p->u) * imagew) / uvw) * FP1;
diff --git a/src/lib/evas/canvas/evas_object_image.c b/src/lib/evas/canvas/evas_object_image.c
index 5beeb4b0ce..1d9ede0de7 100644
--- a/src/lib/evas/canvas/evas_object_image.c
+++ b/src/lib/evas/canvas/evas_object_image.c
@@ -283,7 +283,9 @@ _evas_image_init_set(const Eina_File *f, const char *key,
}
ENFN->image_free(ENC, o->engine_data);
}
+ o->engine_data = NULL;
o->load_error = EFL_GFX_IMAGE_LOAD_ERROR_NONE;
+ if (!lo) return;
lo->emile.scale_down_by = o->load_opts->scale_down_by;
lo->emile.dpi = o->load_opts->dpi;
lo->emile.w = o->load_opts->w;
diff --git a/src/lib/evas/canvas/evas_object_textblock.c b/src/lib/evas/canvas/evas_object_textblock.c
index 63eddd46a3..da73c03eb7 100644
--- a/src/lib/evas/canvas/evas_object_textblock.c
+++ b/src/lib/evas/canvas/evas_object_textblock.c
@@ -13571,6 +13571,7 @@ evas_object_textblock_free(Evas_Object *eo_obj)
ts->objects = eina_list_remove(ts->objects, eo_obj);
if (!ts->objects && (ts->delete_me || o->auto_styles))
{
+ _style_cache = eina_list_remove(_style_cache, ts);
evas_textblock_style_free(ts);
}
free(use);
diff --git a/src/lib/evas/canvas/meson.build b/src/lib/evas/canvas/meson.build
index e0e6b3364a..3d1849b1a5 100644
--- a/src/lib/evas/canvas/meson.build
+++ b/src/lib/evas/canvas/meson.build
@@ -68,16 +68,6 @@ foreach eo_file : pub_eo_files
'-o', 'c:' + join_paths(meson.current_build_dir(), eo_file + '.c'),
'-o', 'd:' + join_paths(meson.current_build_dir(), eo_file + '.d'),
'-gchd', '@INPUT@'])
- pub_eo_file_target += custom_target('eolian_gen_legacy_' + eo_file,
- input : eo_file,
- output : [eo_file + '.legacy.h'],
- depfile : eo_file + '.legacy.d',
- install : true,
- install_dir : join_paths(dir_package_include, 'canvas'),
- command : eolian_gen + [ '-I', meson.current_source_dir(), eolian_include_directories,
- '-o', 'l:' + join_paths(meson.current_build_dir(), eo_file + '.legacy.h'),
- '-o', 'd:' + join_paths(meson.current_build_dir(), eo_file + '.legacy.d'),
- '-gld', '@INPUT@'])
endforeach
diff --git a/src/lib/evas/common/evas_convert_yuv.c b/src/lib/evas/common/evas_convert_yuv.c
index d199ec5aa5..ee753d1961 100644
--- a/src/lib/evas/common/evas_convert_yuv.c
+++ b/src/lib/evas/common/evas_convert_yuv.c
@@ -1622,9 +1622,10 @@ _evas_nv12torgb_raster(unsigned char **yuv, unsigned char *rgb, int w, int h)
unsigned char *yp1, *yp2, *up, *vp;
unsigned char *dp1;
unsigned char *dp2;
+ int stride = sizeof(DATA32) * w;
dp1 = rgb;
- dp2 = dp1 + sizeof (int) * w;
+ dp2 = dp1 + stride;
for (yy = 0; yy < h; yy++)
{
@@ -1646,8 +1647,8 @@ _evas_nv12torgb_raster(unsigned char **yuv, unsigned char *rgb, int w, int h)
}
/* jump one line */
- dp1 += sizeof (int) * w;
- dp2 += sizeof (int) * w;
+ dp1 += stride;
+ dp2 += stride;
}
}
diff --git a/src/lib/evas/common/evas_map_image_internal_high.c b/src/lib/evas/common/evas_map_image_internal_high.c
index f842c7455d..0fd3ce40a7 100644
--- a/src/lib/evas/common/evas_map_image_internal_high.c
+++ b/src/lib/evas/common/evas_map_image_internal_high.c
@@ -354,7 +354,8 @@ _map_triangle_draw_linear(RGBA_Image *src, RGBA_Image *dst,
int dw = dst->cache_entry.w;
int x1, x2, x, y, uu, vv, ar, ab, iru, irv, px, ay;
float dx, u, v, iptr;
- float _dcdx[4], _dcdya[4], _ca[4], c[4];
+ float _dcdx[4], _dcdya[4], _ca[4];
+ float c[4] = {0, 0, 0, 0};
DATA32 *buf, *tmp;
DATA8 *mbuf;
@@ -773,8 +774,8 @@ _evas_common_map_rgba_internal_high(RGBA_Image *src, RGBA_Image *dst,
Check alpha transparency. */
for (int i = 0; i < 4; i++)
{
- x[i] = ((float) (p[i].x >> FP)) + 0.5;
- y[i] = ((float) (p[i].y >> FP)) + 0.5;
+ x[i] = p[i].fx + 0.5;
+ y[i] = p[i].fy + 0.5;
u[i] = (p[i].u >> FP);
v[i] = (p[i].v >> FP);
c[i] = p[i].col;
diff --git a/src/lib/evas/gesture/meson.build b/src/lib/evas/gesture/meson.build
index 86927504ac..3765a0b67d 100644
--- a/src/lib/evas/gesture/meson.build
+++ b/src/lib/evas/gesture/meson.build
@@ -21,16 +21,6 @@ foreach eo_file : pub_eo_files
'-o', 'c:' + join_paths(meson.current_build_dir(), eo_file + '.c'),
'-o', 'd:' + join_paths(meson.current_build_dir(), eo_file + '.d'),
'-gchd', '@INPUT@'])
- pub_eo_file_target += custom_target('eolian_gen_legacy_' + eo_file,
- input : eo_file,
- output : [eo_file + '.legacy.h'],
- depfile : eo_file + '.legacy.d',
- install : true,
- install_dir : join_paths(dir_package_include, 'gesture'),
- command : eolian_gen + [ '-I', meson.current_source_dir(), eolian_include_directories,
- '-o', 'l:' + join_paths(meson.current_build_dir(), eo_file + '.legacy.h'),
- '-o', 'd:' + join_paths(meson.current_build_dir(), eo_file + '.legacy.d'),
- '-gld', '@INPUT@'])
endforeach
pub_evas_eo_files += files(pub_eo_files)
@@ -52,16 +42,6 @@ foreach eo_file : pub_eo_files
'-o', 'c:' + join_paths(meson.current_build_dir(), eo_file + '.c'),
'-o', 'd:' + join_paths(meson.current_build_dir(), eo_file + '.d'),
'-gchd', '@INPUT@'])
- pub_eo_file_target += custom_target('eolian_gen_legacy_' + eo_file,
- input : eo_file,
- output : [eo_file + '.legacy.h'],
- depfile : eo_file + '.legacy.d',
- install : false,
- install_dir : join_paths(dir_package_include, 'gesture'),
- command : eolian_gen + [ '-I', meson.current_source_dir(), eolian_include_directories,
- '-o', 'l:' + join_paths(meson.current_build_dir(), eo_file + '.legacy.h'),
- '-o', 'd:' + join_paths(meson.current_build_dir(), eo_file + '.legacy.d'),
- '-gld', '@INPUT@'])
endforeach
pub_eo_types_files = [
diff --git a/src/lib/evas/meson.build b/src/lib/evas/meson.build
index d338d586cc..b7238b6b44 100644
--- a/src/lib/evas/meson.build
+++ b/src/lib/evas/meson.build
@@ -35,16 +35,6 @@ foreach eo_file : pub_legacy_eo_files
'-o', 'c:' + join_paths(meson.current_build_dir(), eo_file + '.c'),
'-o', 'd:' + join_paths(meson.current_build_dir(), eo_file + '.d'),
'-gchd', '@INPUT@'])
- pub_eo_file_target += custom_target('eolian_gen_legacy_' + eo_file,
- input : eo_file,
- output : [eo_file + '.legacy.h'],
- depfile : eo_file + '.legacy.d',
- install : true,
- install_dir : dir_package_include,
- command : eolian_gen + [ '-I', meson.current_source_dir(), eolian_include_directories,
- '-o', 'l:' + join_paths(meson.current_build_dir(), eo_file + '.legacy.h'),
- '-o', 'd:' + join_paths(meson.current_build_dir(), eo_file + '.legacy.d'),
- '-gld', '@INPUT@'])
endforeach
pub_eo_files = [
diff --git a/src/lib/evil/evil_fnmatch.c b/src/lib/evil/evil_fnmatch.c
deleted file mode 100644
index 0b4af7bfb0..0000000000
--- a/src/lib/evil/evil_fnmatch.c
+++ /dev/null
@@ -1,231 +0,0 @@
-#ifdef HAVE_CONFIG_H
-# include "config.h"
-#endif /* HAVE_CONFIG_H */
-
-#include <assert.h>
-#include <string.h>
-
-#include "fnmatch.h"
-#include "evil_fnmatch_private.h"
-
-enum fnmatch_status
-{
- fnmatch_not_found = 0,
- fnmatch_found = 1,
- fnmatch_syntax_error = 2
-};
-
-static
-size_t
-fnmatch_match_class_token(enum fnmatch_status *status,
- const char *class_token,
- char c)
-{
- if (! *class_token)
- {
- *status = fnmatch_syntax_error;
- return 0;
- }
- else if (class_token[1] == '-' && class_token[2] != ']')
- {
- if (class_token[0] <= c && c <= class_token[2])
- *status = fnmatch_found;
- return 3;
- }
- else
- {
- if (c == *class_token)
- *status = fnmatch_found;
- return 1;
- }
-}
-
-static
-size_t
-fnmatch_complement_class(const char *class_token)
-{
- switch (*class_token)
- {
- case 0:
- return FNM_SYNTAXERR;
-
- case '!':
- return 1;
-
- default:
- return 0;
- }
-}
-
-static
-size_t
-fnmatch_match_class(const char *class,
- char c)
-{
- const size_t complement = fnmatch_complement_class(class + 1);
- enum fnmatch_status status;
- size_t pos;
-
- if (complement == FNM_SYNTAXERR)
- return FNM_SYNTAXERR;
-
- status = fnmatch_not_found;
- pos = 1 + complement;
-
- do
- pos += fnmatch_match_class_token(&status, class + pos, c);
- while (class[pos] && class[pos] != ']');
-
- if (status == fnmatch_syntax_error || ! class[pos])
- return FNM_SYNTAXERR;
-
- if (status == fnmatch_found)
- return complement ? 0 : pos + 1;
- else
- return complement ? pos + 1 : 0;
-}
-
-static
-size_t
-fnmatch_chrcasecmp(char a,
- char b)
-{
- if ('A' <= a && a <= 'Z')
- a += 'a' - 'A';
- if ('A' <= b && b <= 'Z')
- b += 'a' - 'A';
- return a == b;
-}
-
-static
-size_t
-fnmatch_match_token(const char *token,
- char c,
- e_bool leading,
- int flags)
-{
- if (*token == '\\' && !(flags & FNM_NOESCAPE))
- return token[1] ? (token[1] == c ? 2 : 0) : FNM_SYNTAXERR;
-
- if (c == '/' && (flags & FNM_PATHNAME))
- return *token == '/';
-
- if (c == '.' && leading && (flags & FNM_PERIOD))
- return *token == '.';
-
- switch (*token)
- {
- case '?':
- return 1;
-
- case '[':
- return fnmatch_match_class(token, c);
-
- default:
- if (flags & FNM_CASEFOLD)
- return fnmatch_chrcasecmp(*token, c);
- return *token == c ? 1 : 0;
- }
-}
-
-static
-void
-fnmatch_init_states(struct list_of_states *states)
-{
- states->size = 1;
- states->states[0] = 0;
- memset(states->has, 0, states->reserved * sizeof (*states->has));
- states->has[0] = 1;
-}
-
-static
-size_t
-fnmatch_check_finals(const char *pattern,
- const struct list_of_states *states)
-{
- size_t i, j;
- for (i = 0; i < states->size; ++i)
- {
- e_bool match = 1;
-
- for (j = states->states[i]; pattern[j]; ++j)
- if (pattern[j] != '*')
- {
- match = 0;
- break;
- }
-
- if (match)
- return 0;
- }
- return FNM_NOMATCH;
-}
-
-int
-fnmatch(const char *pattern,
- const char *string,
- int flags)
-{
- struct list_of_states *states;
- struct list_of_states *new_states;
- e_bool leading = 1;
- char *c;
- size_t r;
-
- assert(pattern);
- assert(string);
-
- states = fnmatch_list_of_states_alloc(2, strlen(pattern));
- new_states = states + 1;
-
- if (! states)
- return FNM_NOMEM;
- fnmatch_init_states(states);
-
-
- for (c = (char *)string; *c && states->size; ++c)
- {
- size_t i;
- fnmatch_list_of_states_clear(new_states);
-
- for (i = 0; i < states->size; ++i)
- {
- const size_t pos = states->states[i];
-
- if (! pattern[pos])
- {
- if (*c == '/' && (flags & FNM_LEADING_DIR))
- return 0;
- continue;
- }
- else if (pattern[pos] == '*')
- {
- fnmatch_list_of_states_insert(states, pos + 1);
- if ((*c != '/' || !(flags & FNM_PATHNAME)) &&
- (*c != '.' || !leading || !(flags & FNM_PERIOD)))
- fnmatch_list_of_states_insert(new_states, pos);
- }
- else
- {
- const size_t m = fnmatch_match_token(pattern + pos, *c,
- leading, flags);
-
- if (m == FNM_SYNTAXERR)
- return FNM_SYNTAXERR;
- else if (m)
- fnmatch_list_of_states_insert(new_states, pos + m);
- }
- }
- {
- struct list_of_states *tmp = states;
-
- states = new_states;
- new_states = tmp;
- }
- leading = *c == '/' && (flags & FNM_PATHNAME);
- }
-
- r = fnmatch_check_finals(pattern, states);
- fnmatch_list_of_states_free(states < new_states ? states : new_states, 2);
- return (int)r;
-}
diff --git a/src/lib/evil/evil_fnmatch_list_of_states.c b/src/lib/evil/evil_fnmatch_list_of_states.c
deleted file mode 100644
index c6cfb7fe81..0000000000
--- a/src/lib/evil/evil_fnmatch_list_of_states.c
+++ /dev/null
@@ -1,77 +0,0 @@
-#ifdef HAVE_CONFIG_H
-# include "config.h"
-#endif /* HAVE_CONFIG_H */
-
-#include <assert.h>
-#include <stdlib.h>
-#include <string.h>
-
-#include "evil_fnmatch_private.h"
-
-struct list_of_states*
-fnmatch_list_of_states_alloc(size_t n,
- size_t pattern_len)
-{
- struct list_of_states *l;
-
- const size_t reserved = pattern_len + 1;
- const size_t states_size = sizeof (*l->states) * reserved;
- const size_t has_size = sizeof (*l->has) * reserved;
- const size_t states_has_size = states_size + has_size;
- const size_t struct_size = sizeof (*l) + states_has_size;
-
- unsigned char *states;
- unsigned char *has;
- size_t i;
-
- l = malloc(n * struct_size);
- if (!l)
- return 0;
-
- states = (unsigned char *) (l + n);
- has = states + states_size;
-
- for (i = 0; i < n; ++i)
- {
- l[i].reserved = reserved;
- l[i].states = (size_t *) states;
- l[i].has = (e_bool *) has;
- states += states_has_size;
- has += states_has_size;
- }
-
- return l;
-}
-
-void
-fnmatch_list_of_states_free(struct list_of_states *lists,
- size_t n)
-{
- assert(lists);
-
- (void) n;
- free(lists);
-}
-
-void
-fnmatch_list_of_states_insert(struct list_of_states *list,
- size_t state)
-{
- assert(list);
- assert(state < list->reserved);
-
- if (list->has[state])
- return;
-
- list->states[list->size++] = state;
- list->has[state] = 1;
-}
-
-void
-fnmatch_list_of_states_clear(struct list_of_states *list)
-{
- assert(list);
-
- list->size = 0;
- memset(list->has, 0, list->reserved * sizeof (*list->has));
-}
diff --git a/src/lib/evil/evil_fnmatch_private.h b/src/lib/evil/evil_fnmatch_private.h
deleted file mode 100644
index f5ced5d68f..0000000000
--- a/src/lib/evil/evil_fnmatch_private.h
+++ /dev/null
@@ -1,24 +0,0 @@
-#ifndef __EVIL_FNMATCH_PRIVATE_H__
-#define __EVIL_FNMATCH_PRIVATE_H__
-
-
-typedef int e_bool;
-
-struct list_of_states
-{
- size_t reserved;
- size_t size;
- size_t *states;
- e_bool *has;
-};
-
-struct list_of_states *fnmatch_list_of_states_alloc(size_t n, size_t pattern_len);
-
-void fnmatch_list_of_states_free(struct list_of_states *lists, size_t n);
-
-void fnmatch_list_of_states_insert(struct list_of_states *list, size_t state);
-
-void fnmatch_list_of_states_clear(struct list_of_states *list);
-
-
-#endif /* __EVIL_FNMATCH_PRIVATE_H__ */
diff --git a/src/lib/evil/evil_util.c b/src/lib/evil/evil_util.c
index e47475371a..7add78f888 100644
--- a/src/lib/evil/evil_util.c
+++ b/src/lib/evil/evil_util.c
@@ -168,19 +168,6 @@ _evil_last_error_display(const char *fct)
fprintf(stderr, "[Evil] [%s] ERROR: %s\n", fct, evil_last_error_get());
}
-
-const char *
-evil_tmpdir_get(void)
-{
- return NULL;
-}
-
-const char *
-evil_homedir_get(void)
-{
- return NULL;
-}
-
int
evil_path_is_absolute(const char *path)
{
diff --git a/src/lib/evil/evil_util.h b/src/lib/evil/evil_util.h
index e1fdf26387..5709371f18 100644
--- a/src/lib/evil/evil_util.h
+++ b/src/lib/evil/evil_util.h
@@ -64,59 +64,6 @@ EAPI const char *evil_format_message(long err);
EAPI const char *evil_last_error_get(void);
/**
- * @brief Return a dir to store temporary files.
- *
- * @return The directory to store temporary files.
- *
- * Return a directory to store temporary files. The function gets
- * the value of the following environment variables, and in that order:
- * - TMP
- * - TEMP
- * - USERPROFILE
- * - WINDIR
- * and returns its value if it exists. If none exists, the function
- * returns "C:\".
- *
- * Conformity: Non applicable.
- *
- * Supported OS: Windows 95, Windows 98, Windows Me, Windows NT, Windows 2000,
- * Windows XP.
-
- * @deprecated
- * This function is deprecated and returns @c NULL.
- * Use eina_environment_tmp_get() instead.
- *
- * @ingroup Evil
- */
-EAPI const char *evil_tmpdir_get(void);
-
-/**
- * @brief Return a dir to store personal files.
- *
- * @return The directory to store personal files.
- *
- * Return a directory to store personal files. The function gets
- * the value of the following environment variables, and in that order:
- * - HOME
- * - USERPROFILE
- * - WINDIR
- * and returns its value if it exists. If none exists, the function
- * returns "C:\".
- *
- * Conformity: Non applicable.
- *
- * Supported OS: Windows 95, Windows 98, Windows Me, Windows NT, Windows 2000,
- * Windows XP.
-
- * @deprecated
- * This function is deprecated and returns @c NULL.
- * Use eina_environment_home_get() instead.
- *
- * @ingroup Evil
- */
-EAPI const char *evil_homedir_get(void);
-
-/**
* @brief check if the given path is absolute.
*
* @param path The path to check.
diff --git a/src/lib/evil/fnmatch.h b/src/lib/evil/fnmatch.h
deleted file mode 100644
index 0464fa7ef6..0000000000
--- a/src/lib/evil/fnmatch.h
+++ /dev/null
@@ -1,57 +0,0 @@
-#ifndef __EVIL_FNMATCH_H__
-#define __EVIL_FNMATCH_H__
-
-#ifdef EAPI
-# undef EAPI
-#endif
-
-#ifdef _WIN32
-# ifdef EFL_BUILD
-# ifdef DLL_EXPORT
-# define EAPI __declspec(dllexport)
-# else
-# define EAPI
-# endif
-# else
-# define EAPI __declspec(dllimport)
-# endif
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/* We #undef these before defining them because some losing systems
- (HP-UX A.08.07 for example) define these in <unistd.h>. */
-#undef FNM_PATHNAME
-#undef FNM_NOESCAPE
-#undef FNM_PERIOD
-
-/* Bits set in the FLAGS argument to `fnmatch'. */
-#define FNM_PATHNAME (1 << 0) /* No wildcard can ever match `/'. */
-#define FNM_NOESCAPE (1 << 1) /* Backslashes don't quote special chars. */
-#define FNM_PERIOD (1 << 2) /* Leading `.' is matched only explicitly. */
-
-#if !defined (_POSIX_C_SOURCE) || _POSIX_C_SOURCE < 2 || defined (_GNU_SOURCE)
-#define FNM_FILE_NAME FNM_PATHNAME /* Preferred GNU name. */
-#define FNM_LEADING_DIR (1 << 3) /* Ignore `/...' after a match. */
-#define FNM_CASEFOLD (1 << 4) /* Compare without regard to case. */
-#endif
-
-/* Value returned by `fnmatch' if STRING does not match PATTERN. */
-#define FNM_NOMATCH 1
-#define FNM_SYNTAXERR 2
-#define FNM_NOMEM 3
-
-/* Match STRING against the filename pattern PATTERN,
- returning zero if it matches, FNM_NOMATCH if not. */
-EAPI int fnmatch(const char *__pattern, const char *__string, int __flags);
-
-#ifdef __cplusplus
-}
-#endif
-
-#undef EAPI
-#define EAPI
-
-#endif /* __EVIL_FNMATCH_H__ */
diff --git a/src/lib/evil/meson.build b/src/lib/evil/meson.build
index 482e733637..0402b373c7 100644
--- a/src/lib/evil/meson.build
+++ b/src/lib/evil/meson.build
@@ -18,17 +18,13 @@ if target_machine.system() == 'windows'
'evil_unistd.h',
'evil_util.h',
'dirent.h',
- 'fnmatch.h',
'pwd.h',
- 'regex/regex.h'
]
evil_header_sys_src = [join_paths('sys','mman.h')]
evil_src = [
'evil_dlfcn.c',
'evil_fcntl.c',
- 'evil_fnmatch.c',
- 'evil_fnmatch_list_of_states.c',
'evil_langinfo.c',
'evil_locale.c',
'evil_main.c',
@@ -41,11 +37,8 @@ if target_machine.system() == 'windows'
'evil_unistd.c',
'evil_util.c',
'evil_private.h',
- 'evil_fnmatch_private.h',
]
- subdir('regex')
-
psapi = cc.find_library('psapi')
ole32 = cc.find_library('ole32')
ws2_32 = cc.find_library('ws2_32')
@@ -53,13 +46,13 @@ if target_machine.system() == 'windows'
uuid = cc.find_library('uuid')
evil_lib = library('evil', evil_src,
- dependencies : [psapi, ole32, ws2_32, secur32, uuid],
- include_directories : [config_dir, include_directories('regex')],
+ dependencies : [psapi, ole32, ws2_32, secur32, uuid, regexp],
+ include_directories : [config_dir],
)
evil = declare_dependency(
- include_directories: [config_dir, include_directories('regex'), include_directories('.')],
- dependencies : [psapi, ole32, ws2_32, secur32, uuid],
+ include_directories: [include_directories('.')],
+ dependencies : [psapi, ole32, ws2_32, secur32, uuid, regexp],
link_with: evil_lib,
)
else
diff --git a/src/lib/evil/regex/cclass.h b/src/lib/evil/regex/cclass.h
deleted file mode 100644
index 0c293028e9..0000000000
--- a/src/lib/evil/regex/cclass.h
+++ /dev/null
@@ -1,31 +0,0 @@
-/* character-class table */
-static struct cclass {
- char *name;
- char *chars;
- char *multis;
-} cclasses[] = {
- "alnum", "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz\
-0123456789", "",
- "alpha", "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz",
- "",
- "blank", " \t", "",
- "cntrl", "\007\b\t\n\v\f\r\1\2\3\4\5\6\16\17\20\21\22\23\24\
-\25\26\27\30\31\32\33\34\35\36\37\177", "",
- "digit", "0123456789", "",
- "graph", "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz\
-0123456789!\"#$%&'()*+,-./:;<=>?@[\\]^_`{|}~",
- "",
- "lower", "abcdefghijklmnopqrstuvwxyz",
- "",
- "print", "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz\
-0123456789!\"#$%&'()*+,-./:;<=>?@[\\]^_`{|}~ ",
- "",
- "punct", "!\"#$%&'()*+,-./:;<=>?@[\\]^_`{|}~",
- "",
- "space", "\t\n\v\f\r ", "",
- "upper", "ABCDEFGHIJKLMNOPQRSTUVWXYZ",
- "",
- "xdigit", "0123456789ABCDEFabcdef",
- "",
- NULL, 0, ""
-};
diff --git a/src/lib/evil/regex/cname.h b/src/lib/evil/regex/cname.h
deleted file mode 100644
index 02e86e912e..0000000000
--- a/src/lib/evil/regex/cname.h
+++ /dev/null
@@ -1,102 +0,0 @@
-/* character-name table */
-static struct cname {
- char *name;
- char code;
-} cnames[] = {
- "NUL", '\0',
- "SOH", '\001',
- "STX", '\002',
- "ETX", '\003',
- "EOT", '\004',
- "ENQ", '\005',
- "ACK", '\006',
- "BEL", '\007',
- "alert", '\007',
- "BS", '\010',
- "backspace", '\b',
- "HT", '\011',
- "tab", '\t',
- "LF", '\012',
- "newline", '\n',
- "VT", '\013',
- "vertical-tab", '\v',
- "FF", '\014',
- "form-feed", '\f',
- "CR", '\015',
- "carriage-return", '\r',
- "SO", '\016',
- "SI", '\017',
- "DLE", '\020',
- "DC1", '\021',
- "DC2", '\022',
- "DC3", '\023',
- "DC4", '\024',
- "NAK", '\025',
- "SYN", '\026',
- "ETB", '\027',
- "CAN", '\030',
- "EM", '\031',
- "SUB", '\032',
- "ESC", '\033',
- "IS4", '\034',
- "FS", '\034',
- "IS3", '\035',
- "GS", '\035',
- "IS2", '\036',
- "RS", '\036',
- "IS1", '\037',
- "US", '\037',
- "space", ' ',
- "exclamation-mark", '!',
- "quotation-mark", '"',
- "number-sign", '#',
- "dollar-sign", '$',
- "percent-sign", '%',
- "ampersand", '&',
- "apostrophe", '\'',
- "left-parenthesis", '(',
- "right-parenthesis", ')',
- "asterisk", '*',
- "plus-sign", '+',
- "comma", ',',
- "hyphen", '-',
- "hyphen-minus", '-',
- "period", '.',
- "full-stop", '.',
- "slash", '/',
- "solidus", '/',
- "zero", '0',
- "one", '1',
- "two", '2',
- "three", '3',
- "four", '4',
- "five", '5',
- "six", '6',
- "seven", '7',
- "eight", '8',
- "nine", '9',
- "colon", ':',
- "semicolon", ';',
- "less-than-sign", '<',
- "equals-sign", '=',
- "greater-than-sign", '>',
- "question-mark", '?',
- "commercial-at", '@',
- "left-square-bracket", '[',
- "backslash", '\\',
- "reverse-solidus", '\\',
- "right-square-bracket", ']',
- "circumflex", '^',
- "circumflex-accent", '^',
- "underscore", '_',
- "low-line", '_',
- "grave-accent", '`',
- "left-brace", '{',
- "left-curly-bracket", '{',
- "vertical-line", '|',
- "right-brace", '}',
- "right-curly-bracket", '}',
- "tilde", '~',
- "DEL", '\177',
- NULL, 0,
-};
diff --git a/src/lib/evil/regex/engine.c b/src/lib/evil/regex/engine.c
deleted file mode 100644
index 919fe3f641..0000000000
--- a/src/lib/evil/regex/engine.c
+++ /dev/null
@@ -1,1019 +0,0 @@
-/*
- * The matching engine and friends. This file is #included by regexec.c
- * after suitable #defines of a variety of macros used herein, so that
- * different state representations can be used without duplicating masses
- * of code.
- */
-
-#ifdef SNAMES
-#define matcher smatcher
-#define fast sfast
-#define slow sslow
-#define dissect sdissect
-#define backref sbackref
-#define step sstep
-#define print sprint
-#define at sat
-#define match smat
-#endif
-#ifdef LNAMES
-#define matcher lmatcher
-#define fast lfast
-#define slow lslow
-#define dissect ldissect
-#define backref lbackref
-#define step lstep
-#define print lprint
-#define at lat
-#define match lmat
-#endif
-
-/* another structure passed up and down to avoid zillions of parameters */
-struct match {
- struct re_guts *g;
- int eflags;
- regmatch_t *pmatch; /* [nsub+1] (0 element unused) */
- char *offp; /* offsets work from here */
- char *beginp; /* start of string -- virtual NUL precedes */
- char *endp; /* end of string -- virtual NUL here */
- char *coldp; /* can be no match starting before here */
- char **lastpos; /* [nplus+1] */
- STATEVARS;
- states st; /* current states */
- states fresh; /* states for a fresh start */
- states tmp; /* temporary */
- states empty; /* empty set of states */
-};
-
-#include "engine.ih"
-
-#ifdef REDEBUG
-#define SP(t, s, c) print(m, t, s, c, stdout)
-#define AT(t, p1, p2, s1, s2) at(m, t, p1, p2, s1, s2)
-#define NOTE(str) { if (m->eflags&REG_TRACE) printf("=%s\n", (str)); }
-#else
-#define SP(t, s, c) /* nothing */
-#define AT(t, p1, p2, s1, s2) /* nothing */
-#define NOTE(s) /* nothing */
-#endif
-
-/*
- - matcher - the actual matching engine
- == static int matcher(register struct re_guts *g, char *string, \
- == size_t nmatch, regmatch_t pmatch[], int eflags);
- */
-static int /* 0 success, REG_NOMATCH failure */
-matcher(g, string, nmatch, pmatch, eflags)
-register struct re_guts *g;
-char *string;
-size_t nmatch;
-regmatch_t pmatch[];
-int eflags;
-{
- register char *endp;
- register int i;
- struct match mv;
- register struct match *m = &mv;
- register char *dp;
- const register sopno gf = g->firststate+1; /* +1 for OEND */
- const register sopno gl = g->laststate;
- char *start;
- char *stop;
-
- /* simplify the situation where possible */
- if (g->cflags&REG_NOSUB)
- nmatch = 0;
- if (eflags&REG_STARTEND) {
- start = string + pmatch[0].rm_so;
- stop = string + pmatch[0].rm_eo;
- } else {
- start = string;
- stop = start + strlen(start);
- }
- if (stop < start)
- return(REG_INVARG);
-
- /* prescreening; this does wonders for this rather slow code */
- if (g->must != NULL) {
- for (dp = start; dp < stop; dp++)
- if (*dp == g->must[0] && stop - dp >= g->mlen &&
- memcmp(dp, g->must, (size_t)g->mlen) == 0)
- break;
- if (dp == stop) /* we didn't find g->must */
- return(REG_NOMATCH);
- }
-
- /* match struct setup */
- m->g = g;
- m->eflags = eflags;
- m->pmatch = NULL;
- m->lastpos = NULL;
- m->offp = string;
- m->beginp = start;
- m->endp = stop;
- STATESETUP(m, 4);
- SETUP(m->st);
- SETUP(m->fresh);
- SETUP(m->tmp);
- SETUP(m->empty);
- CLEAR(m->empty);
-
- /* this loop does only one repetition except for backrefs */
- for (;;) {
- endp = fast(m, start, stop, gf, gl);
- if (endp == NULL) { /* a miss */
- STATETEARDOWN(m);
- return(REG_NOMATCH);
- }
- if (nmatch == 0 && !g->backrefs)
- break; /* no further info needed */
-
- /* where? */
- assert(m->coldp != NULL);
- for (;;) {
- NOTE("finding start");
- endp = slow(m, m->coldp, stop, gf, gl);
- if (endp != NULL)
- break;
- assert(m->coldp < m->endp);
- m->coldp++;
- }
- if (nmatch == 1 && !g->backrefs)
- break; /* no further info needed */
-
- /* oh my, he wants the subexpressions... */
- if (m->pmatch == NULL)
- m->pmatch = (regmatch_t *)malloc((m->g->nsub + 1) *
- sizeof(regmatch_t));
- if (m->pmatch == NULL) {
- STATETEARDOWN(m);
- return(REG_ESPACE);
- }
- for (i = 1; i <= m->g->nsub; i++)
- m->pmatch[i].rm_so = m->pmatch[i].rm_eo = -1;
- if (!g->backrefs && !(m->eflags&REG_BACKR)) {
- NOTE("dissecting");
- dp = dissect(m, m->coldp, endp, gf, gl);
- } else {
- if (g->nplus > 0 && m->lastpos == NULL)
- m->lastpos = (char **)malloc((g->nplus+1) *
- sizeof(char *));
- if (g->nplus > 0 && m->lastpos == NULL) {
- free(m->pmatch);
- STATETEARDOWN(m);
- return(REG_ESPACE);
- }
- NOTE("backref dissect");
- dp = backref(m, m->coldp, endp, gf, gl, (sopno)0);
- }
- if (dp != NULL)
- break;
-
- /* uh-oh... we couldn't find a subexpression-level match */
- assert(g->backrefs); /* must be back references doing it */
- assert(g->nplus == 0 || m->lastpos != NULL);
- for (;;) {
- if (dp != NULL || endp <= m->coldp)
- break; /* defeat */
- NOTE("backoff");
- endp = slow(m, m->coldp, endp-1, gf, gl);
- if (endp == NULL)
- break; /* defeat */
- /* try it on a shorter possibility */
-#ifndef NDEBUG
- for (i = 1; i <= m->g->nsub; i++) {
- assert(m->pmatch[i].rm_so == -1);
- assert(m->pmatch[i].rm_eo == -1);
- }
-#endif
- NOTE("backoff dissect");
- dp = backref(m, m->coldp, endp, gf, gl, (sopno)0);
- }
- assert(dp == NULL || dp == endp);
- if (dp != NULL) /* found a shorter one */
- break;
-
- /* despite initial appearances, there is no match here */
- NOTE("false alarm");
- start = m->coldp + 1; /* recycle starting later */
- assert(start <= stop);
- }
-
- /* fill in the details if requested */
- if (nmatch > 0) {
- pmatch[0].rm_so = m->coldp - m->offp;
- pmatch[0].rm_eo = endp - m->offp;
- }
- if (nmatch > 1) {
- assert(m->pmatch != NULL);
- for (i = 1; i < nmatch; i++)
- if (i <= m->g->nsub)
- pmatch[i] = m->pmatch[i];
- else {
- pmatch[i].rm_so = -1;
- pmatch[i].rm_eo = -1;
- }
- }
-
- if (m->pmatch != NULL)
- free((char *)m->pmatch);
- if (m->lastpos != NULL)
- free((char *)m->lastpos);
- STATETEARDOWN(m);
- return(0);
-}
-
-/*
- - dissect - figure out what matched what, no back references
- == static char *dissect(register struct match *m, char *start, \
- == char *stop, sopno startst, sopno stopst);
- */
-static char * /* == stop (success) always */
-dissect(m, start, stop, startst, stopst)
-register struct match *m;
-char *start;
-char *stop;
-sopno startst;
-sopno stopst;
-{
- register int i;
- register sopno ss; /* start sop of current subRE */
- register sopno es; /* end sop of current subRE */
- register char *sp; /* start of string matched by it */
- register char *stp; /* string matched by it cannot pass here */
- register char *rest; /* start of rest of string */
- register char *tail; /* string unmatched by rest of RE */
- register sopno ssub; /* start sop of subsubRE */
- register sopno esub; /* end sop of subsubRE */
- register char *ssp; /* start of string matched by subsubRE */
- register char *sep; /* end of string matched by subsubRE */
- register char *oldssp; /* previous ssp */
- register char *dp;
-
- AT("diss", start, stop, startst, stopst);
- sp = start;
- for (ss = startst; ss < stopst; ss = es) {
- /* identify end of subRE */
- es = ss;
- switch (OP(m->g->strip[es])) {
- case OPLUS_:
- case OQUEST_:
- es += OPND(m->g->strip[es]);
- break;
- case OCH_:
- while (OP(m->g->strip[es]) != O_CH)
- es += OPND(m->g->strip[es]);
- break;
- }
- es++;
-
- /* figure out what it matched */
- switch (OP(m->g->strip[ss])) {
- case OEND:
- assert(nope);
- break;
- case OCHAR:
- sp++;
- break;
- case OBOL:
- case OEOL:
- case OBOW:
- case OEOW:
- break;
- case OANY:
- case OANYOF:
- sp++;
- break;
- case OBACK_:
- case O_BACK:
- assert(nope);
- break;
- /* cases where length of match is hard to find */
- case OQUEST_:
- stp = stop;
- for (;;) {
- /* how long could this one be? */
- rest = slow(m, sp, stp, ss, es);
- assert(rest != NULL); /* it did match */
- /* could the rest match the rest? */
- tail = slow(m, rest, stop, es, stopst);
- if (tail == stop)
- break; /* yes! */
- /* no -- try a shorter match for this one */
- stp = rest - 1;
- assert(stp >= sp); /* it did work */
- }
- ssub = ss + 1;
- esub = es - 1;
- /* did innards match? */
- if (slow(m, sp, rest, ssub, esub) != NULL) {
- dp = dissect(m, sp, rest, ssub, esub);
- assert(dp == rest);
- } else /* no */
- assert(sp == rest);
- sp = rest;
- break;
- case OPLUS_:
- stp = stop;
- for (;;) {
- /* how long could this one be? */
- rest = slow(m, sp, stp, ss, es);
- assert(rest != NULL); /* it did match */
- /* could the rest match the rest? */
- tail = slow(m, rest, stop, es, stopst);
- if (tail == stop)
- break; /* yes! */
- /* no -- try a shorter match for this one */
- stp = rest - 1;
- assert(stp >= sp); /* it did work */
- }
- ssub = ss + 1;
- esub = es - 1;
- ssp = sp;
- oldssp = ssp;
- for (;;) { /* find last match of innards */
- sep = slow(m, ssp, rest, ssub, esub);
- if (sep == NULL || sep == ssp)
- break; /* failed or matched null */
- oldssp = ssp; /* on to next try */
- ssp = sep;
- }
- if (sep == NULL) {
- /* last successful match */
- sep = ssp;
- ssp = oldssp;
- }
- assert(sep == rest); /* must exhaust substring */
- assert(slow(m, ssp, sep, ssub, esub) == rest);
- dp = dissect(m, ssp, sep, ssub, esub);
- assert(dp == sep);
- sp = rest;
- break;
- case OCH_:
- stp = stop;
- for (;;) {
- /* how long could this one be? */
- rest = slow(m, sp, stp, ss, es);
- assert(rest != NULL); /* it did match */
- /* could the rest match the rest? */
- tail = slow(m, rest, stop, es, stopst);
- if (tail == stop)
- break; /* yes! */
- /* no -- try a shorter match for this one */
- stp = rest - 1;
- assert(stp >= sp); /* it did work */
- }
- ssub = ss + 1;
- esub = ss + OPND(m->g->strip[ss]) - 1;
- assert(OP(m->g->strip[esub]) == OOR1);
- for (;;) { /* find first matching branch */
- if (slow(m, sp, rest, ssub, esub) == rest)
- break; /* it matched all of it */
- /* that one missed, try next one */
- assert(OP(m->g->strip[esub]) == OOR1);
- esub++;
- assert(OP(m->g->strip[esub]) == OOR2);
- ssub = esub + 1;
- esub += OPND(m->g->strip[esub]);
- if (OP(m->g->strip[esub]) == OOR2)
- esub--;
- else
- assert(OP(m->g->strip[esub]) == O_CH);
- }
- dp = dissect(m, sp, rest, ssub, esub);
- assert(dp == rest);
- sp = rest;
- break;
- case O_PLUS:
- case O_QUEST:
- case OOR1:
- case OOR2:
- case O_CH:
- assert(nope);
- break;
- case OLPAREN:
- i = OPND(m->g->strip[ss]);
- assert(0 < i && i <= m->g->nsub);
- m->pmatch[i].rm_so = sp - m->offp;
- break;
- case ORPAREN:
- i = OPND(m->g->strip[ss]);
- assert(0 < i && i <= m->g->nsub);
- m->pmatch[i].rm_eo = sp - m->offp;
- break;
- default: /* uh oh */
- assert(nope);
- break;
- }
- }
-
- assert(sp == stop);
- return(sp);
-}
-
-/*
- - backref - figure out what matched what, figuring in back references
- == static char *backref(register struct match *m, char *start, \
- == char *stop, sopno startst, sopno stopst, sopno lev);
- */
-static char * /* == stop (success) or NULL (failure) */
-backref(m, start, stop, startst, stopst, lev)
-register struct match *m;
-char *start;
-char *stop;
-sopno startst;
-sopno stopst;
-sopno lev; /* PLUS nesting level */
-{
- register int i;
- register sopno ss; /* start sop of current subRE */
- register char *sp; /* start of string matched by it */
- register sopno ssub; /* start sop of subsubRE */
- register sopno esub; /* end sop of subsubRE */
- register char *ssp; /* start of string matched by subsubRE */
- register char *dp;
- register size_t len;
- register int hard;
- register sop s;
- register regoff_t offsave;
- register cset *cs;
-
- AT("back", start, stop, startst, stopst);
- sp = start;
-
- /* get as far as we can with easy stuff */
- hard = 0;
- for (ss = startst; !hard && ss < stopst; ss++)
- switch (OP(s = m->g->strip[ss])) {
- case OCHAR:
- if (sp == stop || *sp++ != (char)OPND(s))
- return(NULL);
- break;
- case OANY:
- if (sp == stop)
- return(NULL);
- sp++;
- break;
- case OANYOF:
- cs = &m->g->sets[OPND(s)];
- if (sp == stop || !CHIN(cs, *sp++))
- return(NULL);
- break;
- case OBOL:
- if ( (sp == m->beginp && !(m->eflags&REG_NOTBOL)) ||
- (sp < m->endp && *(sp-1) == '\n' &&
- (m->g->cflags&REG_NEWLINE)) )
- { /* yes */ }
- else
- return(NULL);
- break;
- case OEOL:
- if ( (sp == m->endp && !(m->eflags&REG_NOTEOL)) ||
- (sp < m->endp && *sp == '\n' &&
- (m->g->cflags&REG_NEWLINE)) )
- { /* yes */ }
- else
- return(NULL);
- break;
- case OBOW:
- if (( (sp == m->beginp && !(m->eflags&REG_NOTBOL)) ||
- (sp < m->endp && *(sp-1) == '\n' &&
- (m->g->cflags&REG_NEWLINE)) ||
- (sp > m->beginp &&
- !ISWORD(*(sp-1))) ) &&
- (sp < m->endp && ISWORD(*sp)) )
- { /* yes */ }
- else
- return(NULL);
- break;
- case OEOW:
- if (( (sp == m->endp && !(m->eflags&REG_NOTEOL)) ||
- (sp < m->endp && *sp == '\n' &&
- (m->g->cflags&REG_NEWLINE)) ||
- (sp < m->endp && !ISWORD(*sp)) ) &&
- (sp > m->beginp && ISWORD(*(sp-1))) )
- { /* yes */ }
- else
- return(NULL);
- break;
- case O_QUEST:
- break;
- case OOR1: /* matches null but needs to skip */
- ss++;
- s = m->g->strip[ss];
- do {
- assert(OP(s) == OOR2);
- ss += OPND(s);
- } while (OP(s = m->g->strip[ss]) != O_CH);
- /* note that the ss++ gets us past the O_CH */
- break;
- default: /* have to make a choice */
- hard = 1;
- break;
- }
- if (!hard) { /* that was it! */
- if (sp != stop)
- return(NULL);
- return(sp);
- }
- ss--; /* adjust for the for's final increment */
-
- /* the hard stuff */
- AT("hard", sp, stop, ss, stopst);
- s = m->g->strip[ss];
- switch (OP(s)) {
- case OBACK_: /* the vilest depths */
- i = OPND(s);
- assert(0 < i && i <= m->g->nsub);
- if (m->pmatch[i].rm_eo == -1)
- return(NULL);
- assert(m->pmatch[i].rm_so != -1);
- len = m->pmatch[i].rm_eo - m->pmatch[i].rm_so;
- assert(stop - m->beginp >= len);
- if (sp > stop - len)
- return(NULL); /* not enough left to match */
- ssp = m->offp + m->pmatch[i].rm_so;
- if (memcmp(sp, ssp, len) != 0)
- return(NULL);
- while (m->g->strip[ss] != SOP(O_BACK, i))
- ss++;
- return(backref(m, sp+len, stop, ss+1, stopst, lev));
- break;
- case OQUEST_: /* to null or not */
- dp = backref(m, sp, stop, ss+1, stopst, lev);
- if (dp != NULL)
- return(dp); /* not */
- return(backref(m, sp, stop, ss+OPND(s)+1, stopst, lev));
- break;
- case OPLUS_:
- assert(m->lastpos != NULL);
- assert(lev+1 <= m->g->nplus);
- m->lastpos[lev+1] = sp;
- return(backref(m, sp, stop, ss+1, stopst, lev+1));
- break;
- case O_PLUS:
- if (sp == m->lastpos[lev]) /* last pass matched null */
- return(backref(m, sp, stop, ss+1, stopst, lev-1));
- /* try another pass */
- m->lastpos[lev] = sp;
- dp = backref(m, sp, stop, ss-OPND(s)+1, stopst, lev);
- if (dp == NULL)
- return(backref(m, sp, stop, ss+1, stopst, lev-1));
- else
- return(dp);
- break;
- case OCH_: /* find the right one, if any */
- ssub = ss + 1;
- esub = ss + OPND(s) - 1;
- assert(OP(m->g->strip[esub]) == OOR1);
- for (;;) { /* find first matching branch */
- dp = backref(m, sp, stop, ssub, esub, lev);
- if (dp != NULL)
- return(dp);
- /* that one missed, try next one */
- if (OP(m->g->strip[esub]) == O_CH)
- return(NULL); /* there is none */
- esub++;
- assert(OP(m->g->strip[esub]) == OOR2);
- ssub = esub + 1;
- esub += OPND(m->g->strip[esub]);
- if (OP(m->g->strip[esub]) == OOR2)
- esub--;
- else
- assert(OP(m->g->strip[esub]) == O_CH);
- }
- break;
- case OLPAREN: /* must undo assignment if rest fails */
- i = OPND(s);
- assert(0 < i && i <= m->g->nsub);
- offsave = m->pmatch[i].rm_so;
- m->pmatch[i].rm_so = sp - m->offp;
- dp = backref(m, sp, stop, ss+1, stopst, lev);
- if (dp != NULL)
- return(dp);
- m->pmatch[i].rm_so = offsave;
- return(NULL);
- break;
- case ORPAREN: /* must undo assignment if rest fails */
- i = OPND(s);
- assert(0 < i && i <= m->g->nsub);
- offsave = m->pmatch[i].rm_eo;
- m->pmatch[i].rm_eo = sp - m->offp;
- dp = backref(m, sp, stop, ss+1, stopst, lev);
- if (dp != NULL)
- return(dp);
- m->pmatch[i].rm_eo = offsave;
- return(NULL);
- break;
- default: /* uh oh */
- assert(nope);
- break;
- }
-
- /* "can't happen" */
- assert(nope);
- /* NOTREACHED */
- return((char *)NULL); /* dummy */
-}
-
-/*
- - fast - step through the string at top speed
- == static char *fast(register struct match *m, char *start, \
- == char *stop, sopno startst, sopno stopst);
- */
-static char * /* where tentative match ended, or NULL */
-fast(m, start, stop, startst, stopst)
-register struct match *m;
-char *start;
-char *stop;
-sopno startst;
-sopno stopst;
-{
- register states st = m->st;
- register states fresh = m->fresh;
- register states tmp = m->tmp;
- register char *p = start;
- register int c = (start == m->beginp) ? OUT : *(start-1);
- register int lastc; /* previous c */
- register int flagch;
- register int i;
- register char *coldp; /* last p after which no match was underway */
-
- CLEAR(st);
- SET1(st, startst);
- st = step(m->g, startst, stopst, st, NOTHING, st);
- ASSIGN(fresh, st);
- SP("start", st, *p);
- coldp = NULL;
- for (;;) {
- /* next character */
- lastc = c;
- c = (p == m->endp) ? OUT : *p;
- if (EQ(st, fresh))
- coldp = p;
-
- /* is there an EOL and/or BOL between lastc and c? */
- flagch = '\0';
- i = 0;
- if ( (lastc == '\n' && m->g->cflags&REG_NEWLINE) ||
- (lastc == OUT && !(m->eflags&REG_NOTBOL)) ) {
- flagch = BOL;
- i = m->g->nbol;
- }
- if ( (c == '\n' && m->g->cflags&REG_NEWLINE) ||
- (c == OUT && !(m->eflags&REG_NOTEOL)) ) {
- flagch = (flagch == BOL) ? BOLEOL : EOL;
- i += m->g->neol;
- }
- if (i != 0) {
- for (; i > 0; i--)
- st = step(m->g, startst, stopst, st, flagch, st);
- SP("boleol", st, c);
- }
-
- /* how about a word boundary? */
- if ( (flagch == BOL || (lastc != OUT && !ISWORD(lastc))) &&
- (c != OUT && ISWORD(c)) ) {
- flagch = BOW;
- }
- if ( (lastc != OUT && ISWORD(lastc)) &&
- (flagch == EOL || (c != OUT && !ISWORD(c))) ) {
- flagch = EOW;
- }
- if (flagch == BOW || flagch == EOW) {
- st = step(m->g, startst, stopst, st, flagch, st);
- SP("boweow", st, c);
- }
-
- /* are we done? */
- if (ISSET(st, stopst) || p == stop)
- break; /* NOTE BREAK OUT */
-
- /* no, we must deal with this character */
- ASSIGN(tmp, st);
- ASSIGN(st, fresh);
- assert(c != OUT);
- st = step(m->g, startst, stopst, tmp, c, st);
- SP("aft", st, c);
- assert(EQ(step(m->g, startst, stopst, st, NOTHING, st), st));
- p++;
- }
-
- assert(coldp != NULL);
- m->coldp = coldp;
- if (ISSET(st, stopst))
- return(p+1);
- else
- return(NULL);
-}
-
-/*
- - slow - step through the string more deliberately
- == static char *slow(register struct match *m, char *start, \
- == char *stop, sopno startst, sopno stopst);
- */
-static char * /* where it ended */
-slow(m, start, stop, startst, stopst)
-register struct match *m;
-char *start;
-char *stop;
-sopno startst;
-sopno stopst;
-{
- register states st = m->st;
- register states empty = m->empty;
- register states tmp = m->tmp;
- register char *p = start;
- register int c = (start == m->beginp) ? OUT : *(start-1);
- register int lastc; /* previous c */
- register int flagch;
- register int i;
- register char *matchp; /* last p at which a match ended */
-
- AT("slow", start, stop, startst, stopst);
- CLEAR(st);
- SET1(st, startst);
- SP("sstart", st, *p);
- st = step(m->g, startst, stopst, st, NOTHING, st);
- matchp = NULL;
- for (;;) {
- /* next character */
- lastc = c;
- c = (p == m->endp) ? OUT : *p;
-
- /* is there an EOL and/or BOL between lastc and c? */
- flagch = '\0';
- i = 0;
- if ( (lastc == '\n' && m->g->cflags&REG_NEWLINE) ||
- (lastc == OUT && !(m->eflags&REG_NOTBOL)) ) {
- flagch = BOL;
- i = m->g->nbol;
- }
- if ( (c == '\n' && m->g->cflags&REG_NEWLINE) ||
- (c == OUT && !(m->eflags&REG_NOTEOL)) ) {
- flagch = (flagch == BOL) ? BOLEOL : EOL;
- i += m->g->neol;
- }
- if (i != 0) {
- for (; i > 0; i--)
- st = step(m->g, startst, stopst, st, flagch, st);
- SP("sboleol", st, c);
- }
-
- /* how about a word boundary? */
- if ( (flagch == BOL || (lastc != OUT && !ISWORD(lastc))) &&
- (c != OUT && ISWORD(c)) ) {
- flagch = BOW;
- }
- if ( (lastc != OUT && ISWORD(lastc)) &&
- (flagch == EOL || (c != OUT && !ISWORD(c))) ) {
- flagch = EOW;
- }
- if (flagch == BOW || flagch == EOW) {
- st = step(m->g, startst, stopst, st, flagch, st);
- SP("sboweow", st, c);
- }
-
- /* are we done? */
- if (ISSET(st, stopst))
- matchp = p;
- if (EQ(st, empty) || p == stop)
- break; /* NOTE BREAK OUT */
-
- /* no, we must deal with this character */
- ASSIGN(tmp, st);
- ASSIGN(st, empty);
- assert(c != OUT);
- st = step(m->g, startst, stopst, tmp, c, st);
- SP("saft", st, c);
- assert(EQ(step(m->g, startst, stopst, st, NOTHING, st), st));
- p++;
- }
-
- return(matchp);
-}
-
-
-/*
- - step - map set of states reachable before char to set reachable after
- == static states step(register struct re_guts *g, sopno start, sopno stop, \
- == register states bef, int ch, register states aft);
- == #define BOL (OUT+1)
- == #define EOL (BOL+1)
- == #define BOLEOL (BOL+2)
- == #define NOTHING (BOL+3)
- == #define BOW (BOL+4)
- == #define EOW (BOL+5)
- == #define CODEMAX (BOL+5) // highest code used
- == #define NONCHAR(c) ((c) > CHAR_MAX)
- == #define NNONCHAR (CODEMAX-CHAR_MAX)
- */
-static states
-step(g, start, stop, bef, ch, aft)
-register struct re_guts *g;
-sopno start; /* start state within strip */
-sopno stop; /* state after stop state within strip */
-register states bef; /* states reachable before */
-int ch; /* character or NONCHAR code */
-register states aft; /* states already known reachable after */
-{
- register cset *cs;
- register sop s;
- register sopno pc;
- register onestate here; /* note, macros know this name */
- register sopno look;
- register long i;
-
- for (pc = start, INIT(here, pc); pc != stop; pc++, INC(here)) {
- s = g->strip[pc];
- switch (OP(s)) {
- case OEND:
- assert(pc == stop-1);
- break;
- case OCHAR:
- /* only characters can match */
- assert(!NONCHAR(ch) || ch != (char)OPND(s));
- if (ch == (char)OPND(s))
- FWD(aft, bef, 1);
- break;
- case OBOL:
- if (ch == BOL || ch == BOLEOL)
- FWD(aft, bef, 1);
- break;
- case OEOL:
- if (ch == EOL || ch == BOLEOL)
- FWD(aft, bef, 1);
- break;
- case OBOW:
- if (ch == BOW)
- FWD(aft, bef, 1);
- break;
- case OEOW:
- if (ch == EOW)
- FWD(aft, bef, 1);
- break;
- case OANY:
- if (!NONCHAR(ch))
- FWD(aft, bef, 1);
- break;
- case OANYOF:
- cs = &g->sets[OPND(s)];
- if (!NONCHAR(ch) && CHIN(cs, ch))
- FWD(aft, bef, 1);
- break;
- case OBACK_: /* ignored here */
- case O_BACK:
- FWD(aft, aft, 1);
- break;
- case OPLUS_: /* forward, this is just an empty */
- FWD(aft, aft, 1);
- break;
- case O_PLUS: /* both forward and back */
- FWD(aft, aft, 1);
- i = ISSETBACK(aft, OPND(s));
- BACK(aft, aft, OPND(s));
- if (!i && ISSETBACK(aft, OPND(s))) {
- /* oho, must reconsider loop body */
- pc -= OPND(s) + 1;
- INIT(here, pc);
- }
- break;
- case OQUEST_: /* two branches, both forward */
- FWD(aft, aft, 1);
- FWD(aft, aft, OPND(s));
- break;
- case O_QUEST: /* just an empty */
- FWD(aft, aft, 1);
- break;
- case OLPAREN: /* not significant here */
- case ORPAREN:
- FWD(aft, aft, 1);
- break;
- case OCH_: /* mark the first two branches */
- FWD(aft, aft, 1);
- assert(OP(g->strip[pc+OPND(s)]) == OOR2);
- FWD(aft, aft, OPND(s));
- break;
- case OOR1: /* done a branch, find the O_CH */
- if (ISSTATEIN(aft, here)) {
- for (look = 1;
- OP(s = g->strip[pc+look]) != O_CH;
- look += OPND(s))
- assert(OP(s) == OOR2);
- FWD(aft, aft, look);
- }
- break;
- case OOR2: /* propagate OCH_'s marking */
- FWD(aft, aft, 1);
- if (OP(g->strip[pc+OPND(s)]) != O_CH) {
- assert(OP(g->strip[pc+OPND(s)]) == OOR2);
- FWD(aft, aft, OPND(s));
- }
- break;
- case O_CH: /* just empty */
- FWD(aft, aft, 1);
- break;
- default: /* ooooops... */
- assert(nope);
- break;
- }
- }
-
- return(aft);
-}
-
-#ifdef REDEBUG
-/*
- - print - print a set of states
- == #ifdef REDEBUG
- == static void print(struct match *m, char *caption, states st, \
- == int ch, FILE *d);
- == #endif
- */
-static void
-print(m, caption, st, ch, d)
-struct match *m;
-char *caption;
-states st;
-int ch;
-FILE *d;
-{
- register struct re_guts *g = m->g;
- register int i;
- register int first = 1;
-
- if (!(m->eflags&REG_TRACE))
- return;
-
- fprintf(d, "%s", caption);
- if (ch != '\0')
- fprintf(d, " %s", pchar(ch));
- for (i = 0; i < g->nstates; i++)
- if (ISSET(st, i)) {
- fprintf(d, "%s%d", (first) ? "\t" : ", ", i);
- first = 0;
- }
- fprintf(d, "\n");
-}
-
-/*
- - at - print current situation
- == #ifdef REDEBUG
- == static void at(struct match *m, char *title, char *start, char *stop, \
- == sopno startst, sopno stopst);
- == #endif
- */
-static void
-at(m, title, start, stop, startst, stopst)
-struct match *m;
-char *title;
-char *start;
-char *stop;
-sopno startst;
-sopno stopst;
-{
- if (!(m->eflags&REG_TRACE))
- return;
-
- printf("%s %s-", title, pchar(*start));
- printf("%s ", pchar(*stop));
- printf("%ld-%ld\n", (long)startst, (long)stopst);
-}
-
-#ifndef PCHARDONE
-#define PCHARDONE /* never again */
-/*
- - pchar - make a character printable
- == #ifdef REDEBUG
- == static char *pchar(int ch);
- == #endif
- *
- * Is this identical to regchar() over in debug.c? Well, yes. But a
- * duplicate here avoids having a debugging-capable regexec.o tied to
- * a matching debug.o, and this is convenient. It all disappears in
- * the non-debug compilation anyway, so it doesn't matter much.
- */
-static char * /* -> representation */
-pchar(ch)
-int ch;
-{
- static char pbuf[10];
-
- if (isprint(ch) || ch == ' ')
- sprintf(pbuf, "%c", ch);
- else
- sprintf(pbuf, "\\%o", ch);
- return(pbuf);
-}
-#endif
-#endif
-
-#undef matcher
-#undef fast
-#undef slow
-#undef dissect
-#undef backref
-#undef step
-#undef print
-#undef at
-#undef match
diff --git a/src/lib/evil/regex/engine.ih b/src/lib/evil/regex/engine.ih
deleted file mode 100644
index 6b744d431c..0000000000
--- a/src/lib/evil/regex/engine.ih
+++ /dev/null
@@ -1,35 +0,0 @@
-/* ========= begin header generated by ../src/lib/evil/regex/mkh.sh ========= */
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/* === lib/evil/regex/engine.c === */
-static int matcher(register struct re_guts *g, char *string, size_t nmatch, regmatch_t pmatch[], int eflags);
-static char *dissect(register struct match *m, char *start, char *stop, sopno startst, sopno stopst);
-static char *backref(register struct match *m, char *start, char *stop, sopno startst, sopno stopst, sopno lev);
-static char *fast(register struct match *m, char *start, char *stop, sopno startst, sopno stopst);
-static char *slow(register struct match *m, char *start, char *stop, sopno startst, sopno stopst);
-static states step(register struct re_guts *g, sopno start, sopno stop, register states bef, int ch, register states aft);
-#define BOL (OUT+1)
-#define EOL (BOL+1)
-#define BOLEOL (BOL+2)
-#define NOTHING (BOL+3)
-#define BOW (BOL+4)
-#define EOW (BOL+5)
-#define CODEMAX (BOL+5) /* highest code used */
-#define NONCHAR(c) ((c) > CHAR_MAX)
-#define NNONCHAR (CODEMAX-CHAR_MAX)
-#ifdef REDEBUG
-static void print(struct match *m, char *caption, states st, int ch, FILE *d);
-#endif
-#ifdef REDEBUG
-static void at(struct match *m, char *title, char *start, char *stop, sopno startst, sopno stopst);
-#endif
-#ifdef REDEBUG
-static char *pchar(int ch);
-#endif
-
-#ifdef __cplusplus
-}
-#endif
-/* ========= end header generated by ../src/lib/evil/regex/mkh.sh ========= */
diff --git a/src/lib/evil/regex/meson.build b/src/lib/evil/regex/meson.build
deleted file mode 100644
index d04769b72d..0000000000
--- a/src/lib/evil/regex/meson.build
+++ /dev/null
@@ -1,10 +0,0 @@
-evil_src += files([
-'regcomp.c',
-'regerror.c',
-'regexec.c',
-'regfree.c',
-'cclass.h',
-'cname.h',
-'regex2.h',
-'utils.h'
-])
diff --git a/src/lib/evil/regex/regcomp.c b/src/lib/evil/regex/regcomp.c
deleted file mode 100644
index c1b7850504..0000000000
--- a/src/lib/evil/regex/regcomp.c
+++ /dev/null
@@ -1,1604 +0,0 @@
-#include <sys/types.h>
-#include <stdio.h>
-#include <string.h>
-#include <ctype.h>
-#include <limits.h>
-#include <stdlib.h>
-#include <regex.h>
-
-#include "utils.h"
-#include "regex2.h"
-
-#include "cclass.h"
-#include "cname.h"
-
-/*
- * parse structure, passed up and down to avoid global variables and
- * other clumsinesses
- */
-struct parse {
- char *next; /* next character in RE */
- char *end; /* end of string (-> NUL normally) */
- int error; /* has an error been seen? */
- sop *strip; /* malloced strip */
- sopno ssize; /* malloced strip size (allocated) */
- sopno slen; /* malloced strip length (used) */
- int ncsalloc; /* number of csets allocated */
- struct re_guts *g;
-# define NPAREN 10 /* we need to remember () 1-9 for back refs */
- sopno pbegin[NPAREN]; /* -> ( ([0] unused) */
- sopno pend[NPAREN]; /* -> ) ([0] unused) */
-};
-
-#include "regcomp.ih"
-
-static char nuls[10]; /* place to point scanner in event of error */
-
-/*
- * macros for use with parse structure
- * BEWARE: these know that the parse structure is named `p' !!!
- */
-#define PEEK() (*p->next)
-#define PEEK2() (*(p->next+1))
-#define MORE() (p->next < p->end)
-#define MORE2() (p->next+1 < p->end)
-#define SEE(c) (MORE() && PEEK() == (c))
-#define SEETWO(a, b) (MORE() && MORE2() && PEEK() == (a) && PEEK2() == (b))
-#define EAT(c) ((SEE(c)) ? (NEXT(), 1) : 0)
-#define EATTWO(a, b) ((SEETWO(a, b)) ? (NEXT2(), 1) : 0)
-#define NEXT() (p->next++)
-#define NEXT2() (p->next += 2)
-#define NEXTn(n) (p->next += (n))
-#define GETNEXT() (*p->next++)
-#define SETERROR(e) seterr(p, (e))
-#define REQUIRE(co, e) ((co) || SETERROR(e))
-#define MUSTSEE(c, e) (REQUIRE(MORE() && PEEK() == (c), e))
-#define MUSTEAT(c, e) (REQUIRE(MORE() && GETNEXT() == (c), e))
-#define MUSTNOTSEE(c, e) (REQUIRE(!MORE() || PEEK() != (c), e))
-#define EMIT(op, sopnd) doemit(p, (sop)(op), (size_t)(sopnd))
-#define INSERT(op, pos) doinsert(p, (sop)(op), HERE()-(pos)+1, pos)
-#define AHEAD(pos) dofwd(p, pos, HERE()-(pos))
-#define ASTERN(sop, pos) EMIT(sop, HERE()-pos)
-#define HERE() (p->slen)
-#define THERE() (p->slen - 1)
-#define THERETHERE() (p->slen - 2)
-#define DROP(n) (p->slen -= (n))
-
-#ifndef NDEBUG
-static int never = 0; /* for use in asserts; shuts lint up */
-#else
-#define never 0 /* some <assert.h>s have bugs too */
-#endif
-
-/*
- - regcomp - interface for parser and compilation
- = extern int regcomp(regex_t *, const char *, int);
- = #define REG_BASIC 0000
- = #define REG_EXTENDED 0001
- = #define REG_ICASE 0002
- = #define REG_NOSUB 0004
- = #define REG_NEWLINE 0010
- = #define REG_NOSPEC 0020
- = #define REG_PEND 0040
- = #define REG_DUMP 0200
- */
-EAPI int /* 0 success, otherwise REG_something */
-regcomp(preg, pattern, cflags)
-regex_t *preg;
-const char *pattern;
-int cflags;
-{
- struct parse pa;
- register struct re_guts *g;
- register struct parse *p = &pa;
- register int i;
- register size_t len;
-#ifdef REDEBUG
-# define GOODFLAGS(f) (f)
-#else
-# define GOODFLAGS(f) ((f)&~REG_DUMP)
-#endif
-
- cflags = GOODFLAGS(cflags);
- if ((cflags&REG_EXTENDED) && (cflags&REG_NOSPEC))
- return(REG_INVARG);
-
- if (cflags&REG_PEND) {
- if (preg->re_endp < pattern)
- return(REG_INVARG);
- len = preg->re_endp - pattern;
- } else
- len = strlen((char *)pattern);
-
- /* do the mallocs early so failure handling is easy */
- g = (struct re_guts *)malloc(sizeof(struct re_guts) +
- (NC-1)*sizeof(cat_t));
- if (g == NULL)
- return(REG_ESPACE);
- p->ssize = len/(size_t)2*(size_t)3 + (size_t)1; /* ugh */
- p->strip = (sop *)malloc(p->ssize * sizeof(sop));
- p->slen = 0;
- if (p->strip == NULL) {
- free((char *)g);
- return(REG_ESPACE);
- }
-
- /* set things up */
- p->g = g;
- p->next = (char *)pattern; /* convenience; we do not modify it */
- p->end = p->next + len;
- p->error = 0;
- p->ncsalloc = 0;
- for (i = 0; i < NPAREN; i++) {
- p->pbegin[i] = 0;
- p->pend[i] = 0;
- }
- g->csetsize = NC;
- g->sets = NULL;
- g->setbits = NULL;
- g->ncsets = 0;
- g->cflags = cflags;
- g->iflags = 0;
- g->nbol = 0;
- g->neol = 0;
- g->must = NULL;
- g->mlen = 0;
- g->nsub = 0;
- g->ncategories = 1; /* category 0 is "everything else" */
- g->categories = &g->catspace[-(CHAR_MIN)];
- (void) memset((char *)g->catspace, 0, NC*sizeof(cat_t));
- g->backrefs = 0;
-
- /* do it */
- EMIT(OEND, 0);
- g->firststate = THERE();
- if (cflags&REG_EXTENDED)
- p_ere(p, OUT);
- else if (cflags&REG_NOSPEC)
- p_str(p);
- else
- p_bre(p, OUT, OUT);
- EMIT(OEND, 0);
- g->laststate = THERE();
-
- /* tidy up loose ends and fill things in */
- categorize(p, g);
- stripsnug(p, g);
- findmust(p, g);
- g->nplus = pluscount(p, g);
- g->magic = MAGIC2;
- preg->re_nsub = g->nsub;
- preg->re_g = g;
- preg->re_magic = MAGIC1;
-#ifndef REDEBUG
- /* not debugging, so can't rely on the assert() in regexec() */
- if (g->iflags&BAD)
- SETERROR(REG_ASSERT);
-#endif
-
- /* win or lose, we're done */
- if (p->error != 0) /* lose */
- regfree(preg);
- return(p->error);
-}
-
-/*
- - p_ere - ERE parser top level, concatenation and alternation
- == static void p_ere(register struct parse *p, int stop);
- */
-static void
-p_ere(p, stop)
-register struct parse *p;
-int stop; /* character this ERE should end at */
-{
- register char c;
- register sopno prevback;
- register sopno prevfwd;
- register sopno conc;
- register int first = 1; /* is this the first alternative? */
-
- for (;;) {
- /* do a bunch of concatenated expressions */
- conc = HERE();
- while (MORE() && (c = PEEK()) != '|' && c != stop)
- p_ere_exp(p);
- REQUIRE(HERE() != conc, REG_EMPTY); /* require nonempty */
-
- if (!EAT('|'))
- break; /* NOTE BREAK OUT */
-
- if (first) {
- INSERT(OCH_, conc); /* offset is wrong */
- prevfwd = conc;
- prevback = conc;
- first = 0;
- }
- ASTERN(OOR1, prevback);
- prevback = THERE();
- AHEAD(prevfwd); /* fix previous offset */
- prevfwd = HERE();
- EMIT(OOR2, 0); /* offset is very wrong */
- }
-
- if (!first) { /* tail-end fixups */
- AHEAD(prevfwd);
- ASTERN(O_CH, prevback);
- }
-
- assert(!MORE() || SEE(stop));
-}
-
-/*
- - p_ere_exp - parse one subERE, an atom possibly followed by a repetition op
- == static void p_ere_exp(register struct parse *p);
- */
-static void
-p_ere_exp(p)
-register struct parse *p;
-{
- register char c;
- register sopno pos;
- register int count;
- register int count2;
- register sopno subno;
- int wascaret = 0;
-
- assert(MORE()); /* caller should have ensured this */
- c = GETNEXT();
-
- pos = HERE();
- switch (c) {
- case '(':
- REQUIRE(MORE(), REG_EPAREN);
- p->g->nsub++;
- subno = p->g->nsub;
- if (subno < NPAREN)
- p->pbegin[subno] = HERE();
- EMIT(OLPAREN, subno);
- if (!SEE(')'))
- p_ere(p, ')');
- if (subno < NPAREN) {
- p->pend[subno] = HERE();
- assert(p->pend[subno] != 0);
- }
- EMIT(ORPAREN, subno);
- MUSTEAT(')', REG_EPAREN);
- break;
-#ifndef POSIX_MISTAKE
- case ')': /* happens only if no current unmatched ( */
- /*
- * You may ask, why the ifndef? Because I didn't notice
- * this until slightly too late for 1003.2, and none of the
- * other 1003.2 regular-expression reviewers noticed it at
- * all. So an unmatched ) is legal POSIX, at least until
- * we can get it fixed.
- */
- SETERROR(REG_EPAREN);
- break;
-#endif
- case '^':
- EMIT(OBOL, 0);
- p->g->iflags |= USEBOL;
- p->g->nbol++;
- wascaret = 1;
- break;
- case '$':
- EMIT(OEOL, 0);
- p->g->iflags |= USEEOL;
- p->g->neol++;
- break;
- case '|':
- SETERROR(REG_EMPTY);
- break;
- case '*':
- case '+':
- case '?':
- SETERROR(REG_BADRPT);
- break;
- case '.':
- if (p->g->cflags&REG_NEWLINE)
- nonnewline(p);
- else
- EMIT(OANY, 0);
- break;
- case '[':
- p_bracket(p);
- break;
- case '\\':
- REQUIRE(MORE(), REG_EESCAPE);
- c = GETNEXT();
- ordinary(p, c);
- break;
- case '{': /* okay as ordinary except if digit follows */
- REQUIRE(!MORE() || !isdigit(PEEK()), REG_BADRPT);
- /* FALLTHROUGH */
- default:
- ordinary(p, c);
- break;
- }
-
- if (!MORE())
- return;
- c = PEEK();
- /* we call { a repetition if followed by a digit */
- if (!( c == '*' || c == '+' || c == '?' ||
- (c == '{' && MORE2() && isdigit(PEEK2())) ))
- return; /* no repetition, we're done */
- NEXT();
-
- REQUIRE(!wascaret, REG_BADRPT);
- switch (c) {
- case '*': /* implemented as +? */
- /* this case does not require the (y|) trick, noKLUDGE */
- INSERT(OPLUS_, pos);
- ASTERN(O_PLUS, pos);
- INSERT(OQUEST_, pos);
- ASTERN(O_QUEST, pos);
- break;
- case '+':
- INSERT(OPLUS_, pos);
- ASTERN(O_PLUS, pos);
- break;
- case '?':
- /* KLUDGE: emit y? as (y|) until subtle bug gets fixed */
- INSERT(OCH_, pos); /* offset slightly wrong */
- ASTERN(OOR1, pos); /* this one's right */
- AHEAD(pos); /* fix the OCH_ */
- EMIT(OOR2, 0); /* offset very wrong... */
- AHEAD(THERE()); /* ...so fix it */
- ASTERN(O_CH, THERETHERE());
- break;
- case '{':
- count = p_count(p);
- if (EAT(',')) {
- if (isdigit(PEEK())) {
- count2 = p_count(p);
- REQUIRE(count <= count2, REG_BADBR);
- } else /* single number with comma */
- count2 = INFINITY;
- } else /* just a single number */
- count2 = count;
- repeat(p, pos, count, count2);
- if (!EAT('}')) { /* error heuristics */
- while (MORE() && PEEK() != '}')
- NEXT();
- REQUIRE(MORE(), REG_EBRACE);
- SETERROR(REG_BADBR);
- }
- break;
- }
-
- if (!MORE())
- return;
- c = PEEK();
- if (!( c == '*' || c == '+' || c == '?' ||
- (c == '{' && MORE2() && isdigit(PEEK2())) ) )
- return;
- SETERROR(REG_BADRPT);
-}
-
-/*
- - p_str - string (no metacharacters) "parser"
- == static void p_str(register struct parse *p);
- */
-static void
-p_str(p)
-register struct parse *p;
-{
- REQUIRE(MORE(), REG_EMPTY);
- while (MORE())
- ordinary(p, GETNEXT());
-}
-
-/*
- - p_bre - BRE parser top level, anchoring and concatenation
- == static void p_bre(register struct parse *p, register int end1, \
- == register int end2);
- * Giving end1 as OUT essentially eliminates the end1/end2 check.
- *
- * This implementation is a bit of a kludge, in that a trailing $ is first
- * taken as an ordinary character and then revised to be an anchor. The
- * only undesirable side effect is that '$' gets included as a character
- * category in such cases. This is fairly harmless; not worth fixing.
- * The amount of lookahead needed to avoid this kludge is excessive.
- */
-static void
-p_bre(p, end1, end2)
-register struct parse *p;
-register int end1; /* first terminating character */
-register int end2; /* second terminating character */
-{
- register sopno start = HERE();
- register int first = 1; /* first subexpression? */
- register int wasdollar = 0;
-
- if (EAT('^')) {
- EMIT(OBOL, 0);
- p->g->iflags |= USEBOL;
- p->g->nbol++;
- }
- while (MORE() && !SEETWO(end1, end2)) {
- wasdollar = p_simp_re(p, first);
- first = 0;
- }
- if (wasdollar) { /* oops, that was a trailing anchor */
- DROP(1);
- EMIT(OEOL, 0);
- p->g->iflags |= USEEOL;
- p->g->neol++;
- }
-
- REQUIRE(HERE() != start, REG_EMPTY); /* require nonempty */
-}
-
-/*
- - p_simp_re - parse a simple RE, an atom possibly followed by a repetition
- == static int p_simp_re(register struct parse *p, int starordinary);
- */
-static int /* was the simple RE an unbackslashed $? */
-p_simp_re(p, starordinary)
-register struct parse *p;
-int starordinary; /* is a leading * an ordinary character? */
-{
- register int c;
- register int count;
- register int count2;
- register sopno pos;
- register int i;
- register sopno subno;
-# define BACKSL (1<<CHAR_BIT)
-
- pos = HERE(); /* repetion op, if any, covers from here */
-
- assert(MORE()); /* caller should have ensured this */
- c = GETNEXT();
- if (c == '\\') {
- REQUIRE(MORE(), REG_EESCAPE);
- c = BACKSL | (unsigned char)GETNEXT();
- }
- switch (c) {
- case '.':
- if (p->g->cflags&REG_NEWLINE)
- nonnewline(p);
- else
- EMIT(OANY, 0);
- break;
- case '[':
- p_bracket(p);
- break;
- case BACKSL|'{':
- SETERROR(REG_BADRPT);
- break;
- case BACKSL|'(':
- p->g->nsub++;
- subno = p->g->nsub;
- if (subno < NPAREN)
- p->pbegin[subno] = HERE();
- EMIT(OLPAREN, subno);
- /* the MORE here is an error heuristic */
- if (MORE() && !SEETWO('\\', ')'))
- p_bre(p, '\\', ')');
- if (subno < NPAREN) {
- p->pend[subno] = HERE();
- assert(p->pend[subno] != 0);
- }
- EMIT(ORPAREN, subno);
- REQUIRE(EATTWO('\\', ')'), REG_EPAREN);
- break;
- case BACKSL|')': /* should not get here -- must be user */
- case BACKSL|'}':
- SETERROR(REG_EPAREN);
- break;
- case BACKSL|'1':
- case BACKSL|'2':
- case BACKSL|'3':
- case BACKSL|'4':
- case BACKSL|'5':
- case BACKSL|'6':
- case BACKSL|'7':
- case BACKSL|'8':
- case BACKSL|'9':
- i = (c&~BACKSL) - '0';
- assert(i < NPAREN);
- if (p->pend[i] != 0) {
- assert(i <= p->g->nsub);
- EMIT(OBACK_, i);
- assert(p->pbegin[i] != 0);
- assert(OP(p->strip[p->pbegin[i]]) == OLPAREN);
- assert(OP(p->strip[p->pend[i]]) == ORPAREN);
- (void) dupl(p, p->pbegin[i]+1, p->pend[i]);
- EMIT(O_BACK, i);
- } else
- SETERROR(REG_ESUBREG);
- p->g->backrefs = 1;
- break;
- case '*':
- REQUIRE(starordinary, REG_BADRPT);
- /* FALLTHROUGH */
- default:
- ordinary(p, (char)c); /* takes off BACKSL, if any */
- break;
- }
-
- if (EAT('*')) { /* implemented as +? */
- /* this case does not require the (y|) trick, noKLUDGE */
- INSERT(OPLUS_, pos);
- ASTERN(O_PLUS, pos);
- INSERT(OQUEST_, pos);
- ASTERN(O_QUEST, pos);
- } else if (EATTWO('\\', '{')) {
- count = p_count(p);
- if (EAT(',')) {
- if (MORE() && isdigit(PEEK())) {
- count2 = p_count(p);
- REQUIRE(count <= count2, REG_BADBR);
- } else /* single number with comma */
- count2 = INFINITY;
- } else /* just a single number */
- count2 = count;
- repeat(p, pos, count, count2);
- if (!EATTWO('\\', '}')) { /* error heuristics */
- while (MORE() && !SEETWO('\\', '}'))
- NEXT();
- REQUIRE(MORE(), REG_EBRACE);
- SETERROR(REG_BADBR);
- }
- } else if (c == (unsigned char)'$') /* $ (but not \$) ends it */
- return(1);
-
- return(0);
-}
-
-/*
- - p_count - parse a repetition count
- == static int p_count(register struct parse *p);
- */
-static int /* the value */
-p_count(p)
-register struct parse *p;
-{
- register int count = 0;
- register int ndigits = 0;
-
- while (MORE() && isdigit(PEEK()) && count <= DUPMAX) {
- count = count*10 + (GETNEXT() - '0');
- ndigits++;
- }
-
- REQUIRE(ndigits > 0 && count <= DUPMAX, REG_BADBR);
- return(count);
-}
-
-/*
- - p_bracket - parse a bracketed character list
- == static void p_bracket(register struct parse *p);
- *
- * Note a significant property of this code: if the allocset() did SETERROR,
- * no set operations are done.
- */
-static void
-p_bracket(p)
-register struct parse *p;
-{
- register cset *cs = allocset(p);
- register int invert = 0;
-
- /* Dept of Truly Sickening Special-Case Kludges */
- if (p->next + 5 < p->end && strncmp(p->next, "[:<:]]", 6) == 0) {
- EMIT(OBOW, 0);
- NEXTn(6);
- return;
- }
- if (p->next + 5 < p->end && strncmp(p->next, "[:>:]]", 6) == 0) {
- EMIT(OEOW, 0);
- NEXTn(6);
- return;
- }
-
- if (EAT('^'))
- invert++; /* make note to invert set at end */
- if (EAT(']'))
- CHadd(cs, ']');
- else if (EAT('-'))
- CHadd(cs, '-');
- while (MORE() && PEEK() != ']' && !SEETWO('-', ']'))
- p_b_term(p, cs);
- if (EAT('-'))
- CHadd(cs, '-');
- MUSTEAT(']', REG_EBRACK);
-
- if (p->error != 0) /* don't mess things up further */
- return;
-
- if (p->g->cflags&REG_ICASE) {
- register int i;
- register int ci;
-
- for (i = p->g->csetsize - 1; i >= 0; i--)
- if (CHIN(cs, i) && isalpha(i)) {
- ci = othercase(i);
- if (ci != i)
- CHadd(cs, ci);
- }
- if (cs->multis != NULL)
- mccase(p, cs);
- }
- if (invert) {
- register int i;
-
- for (i = p->g->csetsize - 1; i >= 0; i--)
- if (CHIN(cs, i))
- CHsub(cs, i);
- else
- CHadd(cs, i);
- if (p->g->cflags&REG_NEWLINE)
- CHsub(cs, '\n');
- if (cs->multis != NULL)
- mcinvert(p, cs);
- }
-
- assert(cs->multis == NULL); /* xxx */
-
- if (nch(p, cs) == 1) { /* optimize singleton sets */
- ordinary(p, firstch(p, cs));
- freeset(p, cs);
- } else
- EMIT(OANYOF, freezeset(p, cs));
-}
-
-/*
- - p_b_term - parse one term of a bracketed character list
- == static void p_b_term(register struct parse *p, register cset *cs);
- */
-static void
-p_b_term(p, cs)
-register struct parse *p;
-register cset *cs;
-{
- register char c;
- register char start, finish;
- register int i;
-
- /* classify what we've got */
- switch ((MORE()) ? PEEK() : '\0') {
- case '[':
- c = (MORE2()) ? PEEK2() : '\0';
- break;
- case '-':
- SETERROR(REG_ERANGE);
- return; /* NOTE RETURN */
- break;
- default:
- c = '\0';
- break;
- }
-
- switch (c) {
- case ':': /* character class */
- NEXT2();
- REQUIRE(MORE(), REG_EBRACK);
- c = PEEK();
- REQUIRE(c != '-' && c != ']', REG_ECTYPE);
- p_b_cclass(p, cs);
- REQUIRE(MORE(), REG_EBRACK);
- REQUIRE(EATTWO(':', ']'), REG_ECTYPE);
- break;
- case '=': /* equivalence class */
- NEXT2();
- REQUIRE(MORE(), REG_EBRACK);
- c = PEEK();
- REQUIRE(c != '-' && c != ']', REG_ECOLLATE);
- p_b_eclass(p, cs);
- REQUIRE(MORE(), REG_EBRACK);
- REQUIRE(EATTWO('=', ']'), REG_ECOLLATE);
- break;
- default: /* symbol, ordinary character, or range */
-/* xxx revision needed for multichar stuff */
- start = p_b_symbol(p);
- if (SEE('-') && MORE2() && PEEK2() != ']') {
- /* range */
- NEXT();
- if (EAT('-'))
- finish = '-';
- else
- finish = p_b_symbol(p);
- } else
- finish = start;
-/* xxx what about signed chars here... */
- REQUIRE(start <= finish, REG_ERANGE);
- for (i = start; i <= finish; i++)
- CHadd(cs, i);
- break;
- }
-}
-
-/*
- - p_b_cclass - parse a character-class name and deal with it
- == static void p_b_cclass(register struct parse *p, register cset *cs);
- */
-static void
-p_b_cclass(p, cs)
-register struct parse *p;
-register cset *cs;
-{
- register char *sp = p->next;
- register struct cclass *cp;
- register size_t len;
- register char *u;
- register char c;
-
- while (MORE() && isalpha(PEEK()))
- NEXT();
- len = p->next - sp;
- for (cp = cclasses; cp->name != NULL; cp++)
- if (strncmp(cp->name, sp, len) == 0 && cp->name[len] == '\0')
- break;
- if (cp->name == NULL) {
- /* oops, didn't find it */
- SETERROR(REG_ECTYPE);
- return;
- }
-
- u = cp->chars;
- while ((c = *u++) != '\0')
- CHadd(cs, c);
- for (u = cp->multis; *u != '\0'; u += strlen(u) + 1)
- MCadd(p, cs, u);
-}
-
-/*
- - p_b_eclass - parse an equivalence-class name and deal with it
- == static void p_b_eclass(register struct parse *p, register cset *cs);
- *
- * This implementation is incomplete. xxx
- */
-static void
-p_b_eclass(p, cs)
-register struct parse *p;
-register cset *cs;
-{
- register char c;
-
- c = p_b_coll_elem(p, '=');
- CHadd(cs, c);
-}
-
-/*
- - p_b_symbol - parse a character or [..]ed multicharacter collating symbol
- == static char p_b_symbol(register struct parse *p);
- */
-static char /* value of symbol */
-p_b_symbol(p)
-register struct parse *p;
-{
- register char value;
-
- REQUIRE(MORE(), REG_EBRACK);
- if (!EATTWO('[', '.'))
- return(GETNEXT());
-
- /* collating symbol */
- value = p_b_coll_elem(p, '.');
- REQUIRE(EATTWO('.', ']'), REG_ECOLLATE);
- return(value);
-}
-
-/*
- - p_b_coll_elem - parse a collating-element name and look it up
- == static char p_b_coll_elem(register struct parse *p, int endc);
- */
-static char /* value of collating element */
-p_b_coll_elem(p, endc)
-register struct parse *p;
-int endc; /* name ended by endc,']' */
-{
- register char *sp = p->next;
- register struct cname *cp;
- register int len;
-
- while (MORE() && !SEETWO(endc, ']'))
- NEXT();
- if (!MORE()) {
- SETERROR(REG_EBRACK);
- return(0);
- }
- len = p->next - sp;
- for (cp = cnames; cp->name != NULL; cp++)
- if (strncmp(cp->name, sp, len) == 0 && cp->name[len] == '\0')
- return(cp->code); /* known name */
- if (len == 1)
- return(*sp); /* single character */
- SETERROR(REG_ECOLLATE); /* neither */
- return(0);
-}
-
-/*
- - othercase - return the case counterpart of an alphabetic
- == static char othercase(int ch);
- */
-static char /* if no counterpart, return ch */
-othercase(ch)
-int ch;
-{
- assert(isalpha(ch));
- if (isupper(ch))
- return(tolower(ch));
- else if (islower(ch))
- return(toupper(ch));
- else /* peculiar, but could happen */
- return(ch);
-}
-
-/*
- - bothcases - emit a dualcase version of a two-case character
- == static void bothcases(register struct parse *p, int ch);
- *
- * Boy, is this implementation ever a kludge...
- */
-static void
-bothcases(p, ch)
-register struct parse *p;
-int ch;
-{
- register char *oldnext = p->next;
- register char *oldend = p->end;
- char bracket[3];
-
- assert(othercase(ch) != ch); /* p_bracket() would recurse */
- p->next = bracket;
- p->end = bracket+2;
- bracket[0] = ch;
- bracket[1] = ']';
- bracket[2] = '\0';
- p_bracket(p);
- assert(p->next == bracket+2);
- p->next = oldnext;
- p->end = oldend;
-}
-
-/*
- - ordinary - emit an ordinary character
- == static void ordinary(register struct parse *p, register int ch);
- */
-static void
-ordinary(p, ch)
-register struct parse *p;
-register int ch;
-{
- register cat_t *cap = p->g->categories;
-
- if ((p->g->cflags&REG_ICASE) && isalpha(ch) && othercase(ch) != ch)
- bothcases(p, ch);
- else {
- EMIT(OCHAR, (unsigned char)ch);
- if (cap[ch] == 0)
- cap[ch] = p->g->ncategories++;
- }
-}
-
-/*
- - nonnewline - emit REG_NEWLINE version of OANY
- == static void nonnewline(register struct parse *p);
- *
- * Boy, is this implementation ever a kludge...
- */
-static void
-nonnewline(p)
-register struct parse *p;
-{
- register char *oldnext = p->next;
- register char *oldend = p->end;
- char bracket[4];
-
- p->next = bracket;
- p->end = bracket+3;
- bracket[0] = '^';
- bracket[1] = '\n';
- bracket[2] = ']';
- bracket[3] = '\0';
- p_bracket(p);
- assert(p->next == bracket+3);
- p->next = oldnext;
- p->end = oldend;
-}
-
-/*
- - repeat - generate code for a bounded repetition, recursively if needed
- == static void repeat(register struct parse *p, sopno start, int from, int to);
- */
-static void
-repeat(p, start, from, to)
-register struct parse *p;
-sopno start; /* operand from here to end of strip */
-int from; /* repeated from this number */
-int to; /* to this number of times (maybe INFINITY) */
-{
- register sopno finish = HERE();
-# define N 2
-# define INF 3
-# define REP(f, t) ((f)*8 + (t))
-# define MAP(n) (((n) <= 1) ? (n) : ((n) == INFINITY) ? INF : N)
- register sopno copy;
-
- if (p->error != 0) /* head off possible runaway recursion */
- return;
-
- assert(from <= to);
-
- switch (REP(MAP(from), MAP(to))) {
- case REP(0, 0): /* must be user doing this */
- DROP(finish-start); /* drop the operand */
- break;
- case REP(0, 1): /* as x{1,1}? */
- case REP(0, N): /* as x{1,n}? */
- case REP(0, INF): /* as x{1,}? */
- /* KLUDGE: emit y? as (y|) until subtle bug gets fixed */
- INSERT(OCH_, start); /* offset is wrong... */
- repeat(p, start+1, 1, to);
- ASTERN(OOR1, start);
- AHEAD(start); /* ... fix it */
- EMIT(OOR2, 0);
- AHEAD(THERE());
- ASTERN(O_CH, THERETHERE());
- break;
- case REP(1, 1): /* trivial case */
- /* done */
- break;
- case REP(1, N): /* as x?x{1,n-1} */
- /* KLUDGE: emit y? as (y|) until subtle bug gets fixed */
- INSERT(OCH_, start);
- ASTERN(OOR1, start);
- AHEAD(start);
- EMIT(OOR2, 0); /* offset very wrong... */
- AHEAD(THERE()); /* ...so fix it */
- ASTERN(O_CH, THERETHERE());
- copy = dupl(p, start+1, finish+1);
- assert(copy == finish+4);
- repeat(p, copy, 1, to-1);
- break;
- case REP(1, INF): /* as x+ */
- INSERT(OPLUS_, start);
- ASTERN(O_PLUS, start);
- break;
- case REP(N, N): /* as xx{m-1,n-1} */
- copy = dupl(p, start, finish);
- repeat(p, copy, from-1, to-1);
- break;
- case REP(N, INF): /* as xx{n-1,INF} */
- copy = dupl(p, start, finish);
- repeat(p, copy, from-1, to);
- break;
- default: /* "can't happen" */
- SETERROR(REG_ASSERT); /* just in case */
- break;
- }
-}
-
-/*
- - seterr - set an error condition
- == static int seterr(register struct parse *p, int e);
- */
-static int /* useless but makes type checking happy */
-seterr(p, e)
-register struct parse *p;
-int e;
-{
- if (p->error == 0) /* keep earliest error condition */
- p->error = e;
- p->next = nuls; /* try to bring things to a halt */
- p->end = nuls;
- return(0); /* make the return value well-defined */
-}
-
-/*
- - allocset - allocate a set of characters for []
- == static cset *allocset(register struct parse *p);
- */
-static cset *
-allocset(p)
-register struct parse *p;
-{
- register int no = p->g->ncsets++;
- register size_t nc;
- register size_t nbytes;
- register cset *cs;
- register size_t css = (size_t)p->g->csetsize;
- register int i;
-
- if (no >= p->ncsalloc) { /* need another column of space */
- p->ncsalloc += CHAR_BIT;
- nc = p->ncsalloc;
- assert(nc % CHAR_BIT == 0);
- nbytes = nc / CHAR_BIT * css;
- if (p->g->sets == NULL)
- p->g->sets = (cset *)malloc(nc * sizeof(cset));
- else
- p->g->sets = (cset *)realloc((char *)p->g->sets,
- nc * sizeof(cset));
- if (p->g->setbits == NULL)
- p->g->setbits = (uch *)malloc(nbytes);
- else {
- p->g->setbits = (uch *)realloc((char *)p->g->setbits,
- nbytes);
- /* xxx this isn't right if setbits is now NULL */
- for (i = 0; i < no; i++)
- p->g->sets[i].ptr = p->g->setbits + css*(i/CHAR_BIT);
- }
- if (p->g->sets != NULL && p->g->setbits != NULL)
- (void) memset((char *)p->g->setbits + (nbytes - css),
- 0, css);
- else {
- no = 0;
- SETERROR(REG_ESPACE);
- /* caller's responsibility not to do set ops */
- }
- }
-
- assert(p->g->sets != NULL); /* xxx */
- cs = &p->g->sets[no];
- cs->ptr = p->g->setbits + css*((no)/CHAR_BIT);
- cs->mask = 1 << ((no) % CHAR_BIT);
- cs->hash = 0;
- cs->smultis = 0;
- cs->multis = NULL;
-
- return(cs);
-}
-
-/*
- - freeset - free a now-unused set
- == static void freeset(register struct parse *p, register cset *cs);
- */
-static void
-freeset(p, cs)
-register struct parse *p;
-register cset *cs;
-{
- register int i;
- register cset *top = &p->g->sets[p->g->ncsets];
- register size_t css = (size_t)p->g->csetsize;
-
- for (i = 0; i < css; i++)
- CHsub(cs, i);
- if (cs == top-1) /* recover only the easy case */
- p->g->ncsets--;
-}
-
-/*
- - freezeset - final processing on a set of characters
- == static int freezeset(register struct parse *p, register cset *cs);
- *
- * The main task here is merging identical sets. This is usually a waste
- * of time (although the hash code minimizes the overhead), but can win
- * big if REG_ICASE is being used. REG_ICASE, by the way, is why the hash
- * is done using addition rather than xor -- all ASCII [aA] sets xor to
- * the same value!
- */
-static int /* set number */
-freezeset(p, cs)
-register struct parse *p;
-register cset *cs;
-{
- register uch h = cs->hash;
- register int i;
- register cset *top = &p->g->sets[p->g->ncsets];
- register cset *cs2;
- register size_t css = (size_t)p->g->csetsize;
-
- /* look for an earlier one which is the same */
- for (cs2 = &p->g->sets[0]; cs2 < top; cs2++)
- if (cs2->hash == h && cs2 != cs) {
- /* maybe */
- for (i = 0; i < css; i++)
- if (!!CHIN(cs2, i) != !!CHIN(cs, i))
- break; /* no */
- if (i == css)
- break; /* yes */
- }
-
- if (cs2 < top) { /* found one */
- freeset(p, cs);
- cs = cs2;
- }
-
- return((int)(cs - p->g->sets));
-}
-
-/*
- - firstch - return first character in a set (which must have at least one)
- == static int firstch(register struct parse *p, register cset *cs);
- */
-static int /* character; there is no "none" value */
-firstch(p, cs)
-register struct parse *p;
-register cset *cs;
-{
- register int i;
- register size_t css = (size_t)p->g->csetsize;
-
- for (i = 0; i < css; i++)
- if (CHIN(cs, i))
- return((char)i);
- assert(never);
- return(0); /* arbitrary */
-}
-
-/*
- - nch - number of characters in a set
- == static int nch(register struct parse *p, register cset *cs);
- */
-static int
-nch(p, cs)
-register struct parse *p;
-register cset *cs;
-{
- register int i;
- register size_t css = (size_t)p->g->csetsize;
- register int n = 0;
-
- for (i = 0; i < css; i++)
- if (CHIN(cs, i))
- n++;
- return(n);
-}
-
-/*
- - mcadd - add a collating element to a cset
- == static void mcadd(register struct parse *p, register cset *cs, \
- == register char *cp);
- */
-static void
-mcadd(p, cs, cp)
-register struct parse *p;
-register cset *cs;
-register char *cp;
-{
- register size_t oldend = cs->smultis;
-
- cs->smultis += strlen(cp) + 1;
- if (cs->multis == NULL)
- cs->multis = malloc(cs->smultis);
- else
- cs->multis = realloc(cs->multis, cs->smultis);
- if (cs->multis == NULL) {
- SETERROR(REG_ESPACE);
- return;
- }
-
- (void) strcpy(cs->multis + oldend - 1, cp);
- cs->multis[cs->smultis - 1] = '\0';
-}
-
-/*
- - mcsub - subtract a collating element from a cset
- == static void mcsub(register cset *cs, register char *cp);
- */
-static void
-mcsub(cs, cp)
-register cset *cs;
-register char *cp;
-{
- register char *fp = mcfind(cs, cp);
- register size_t len;
-
- assert(fp != NULL);
- len = strlen(fp);
- (void) memmove(fp, fp + len + 1,
- cs->smultis - (fp + len + 1 - cs->multis));
- cs->smultis -= len;
-
- if (cs->smultis == 0) {
- free(cs->multis);
- cs->multis = NULL;
- return;
- }
-
- cs->multis = realloc(cs->multis, cs->smultis);
- assert(cs->multis != NULL);
-}
-
-/*
- - mcin - is a collating element in a cset?
- == static int mcin(register cset *cs, register char *cp);
- */
-static int
-mcin(cs, cp)
-register cset *cs;
-register char *cp;
-{
- return(mcfind(cs, cp) != NULL);
-}
-
-/*
- - mcfind - find a collating element in a cset
- == static char *mcfind(register cset *cs, register char *cp);
- */
-static char *
-mcfind(cs, cp)
-register cset *cs;
-register char *cp;
-{
- register char *p;
-
- if (cs->multis == NULL)
- return(NULL);
- for (p = cs->multis; *p != '\0'; p += strlen(p) + 1)
- if (strcmp(cp, p) == 0)
- return(p);
- return(NULL);
-}
-
-/*
- - mcinvert - invert the list of collating elements in a cset
- == static void mcinvert(register struct parse *p, register cset *cs);
- *
- * This would have to know the set of possibilities. Implementation
- * is deferred.
- */
-static void
-mcinvert(p, cs)
-register struct parse *p;
-register cset *cs;
-{
- assert(cs->multis == NULL); /* xxx */
-}
-
-/*
- - mccase - add case counterparts of the list of collating elements in a cset
- == static void mccase(register struct parse *p, register cset *cs);
- *
- * This would have to know the set of possibilities. Implementation
- * is deferred.
- */
-static void
-mccase(p, cs)
-register struct parse *p;
-register cset *cs;
-{
- assert(cs->multis == NULL); /* xxx */
-}
-
-/*
- - isinsets - is this character in any sets?
- == static int isinsets(register struct re_guts *g, int c);
- */
-static int /* predicate */
-isinsets(g, c)
-register struct re_guts *g;
-int c;
-{
- register uch *col;
- register int i;
- register int ncols = (g->ncsets+(CHAR_BIT-1)) / CHAR_BIT;
- register unsigned uc = (unsigned char)c;
-
- for (i = 0, col = g->setbits; i < ncols; i++, col += g->csetsize)
- if (col[uc] != 0)
- return(1);
- return(0);
-}
-
-/*
- - samesets - are these two characters in exactly the same sets?
- == static int samesets(register struct re_guts *g, int c1, int c2);
- */
-static int /* predicate */
-samesets(g, c1, c2)
-register struct re_guts *g;
-int c1;
-int c2;
-{
- register uch *col;
- register int i;
- register int ncols = (g->ncsets+(CHAR_BIT-1)) / CHAR_BIT;
- register unsigned uc1 = (unsigned char)c1;
- register uns