HOMESCREEN-EFL 3.0 1.0.0 88/69888/2 submit/tizen/20160517.081534
authorYoungHun Cho <hoon.cho@samsung.com>
Tue, 17 May 2016 07:57:15 +0000 (16:57 +0900)
committerYOUNG HUN JO <hoon.cho@samsung.com>
Tue, 17 May 2016 07:58:59 +0000 (00:58 -0700)
merge to tizen branch

Change-Id: I9dfb690b281979e18ef92b79e7e1c176c304d879
Signed-off-by: YoungHun Cho <hoon.cho@samsung.com>
245 files changed:
.cproject [changed mode: 0644->0755]
.gitignore [changed mode: 0644->0755]
.project [changed mode: 0644->0755]
.rds_delta [new file with mode: 0644]
.sdk_delta.info [new file with mode: 0644]
.sign/.manifest.tmp [new file with mode: 0644]
.sign/author-signature.xml [new file with mode: 0644]
.sign/signature1.xml [new file with mode: 0644]
Build/appendix.mk [changed mode: 0644->0755]
Build/basedef.mk [changed mode: 0644->0755]
Build/flags.mk [changed mode: 0644->0755]
Build/makefile [changed mode: 0644->0755]
Build/prepost.mk [changed mode: 0644->0755]
Build/tooldef.mk [changed mode: 0644->0755]
CMake/CMakeLists.txt [deleted file]
CMake/res/CMakeLists.txt [deleted file]
CMake/res/edje/CMakeLists.txt [deleted file]
CMake/res/images/CMakeLists.txt [deleted file]
CMake/res/po/CMakeLists.txt [deleted file]
inc/add_viewer/add_viewer.h [deleted file]
inc/add_viewer/view.h [deleted file]
inc/add_viewer/widget.h [deleted file]
inc/add_widget_viewer/add_widget_data.h [new file with mode: 0755]
inc/add_widget_viewer/add_widget_viewer.h [moved from inc/key.h with 70% similarity, mode: 0755]
inc/all_apps.h [deleted file]
inc/app_grid.h [deleted file]
inc/app_icon.h [deleted file]
inc/app_item.h [deleted file]
inc/app_mgr.h [deleted file]
inc/apps_data.h [new file with mode: 0755]
inc/apps_db.h [moved from inc/add_viewer/list_view.h with 55% similarity, mode: 0755]
inc/apps_package_manager.h [moved from inc/layout.h with 67% similarity, mode: 0755]
inc/apps_view.h [new file with mode: 0755]
inc/cluster_data.h [new file with mode: 0755]
inc/cluster_db.h [new file with mode: 0755]
inc/cluster_page.h [new file with mode: 0755]
inc/cluster_view.h [new file with mode: 0755]
inc/conf.h [changed mode: 0644->0755]
inc/data_model.h [deleted file]
inc/db/db.h [deleted file]
inc/dynamic_index.h [deleted file]
inc/edc_conf.h [new file with mode: 0755]
inc/folder_panel.h [deleted file]
inc/homescreen-efl.h [changed mode: 0644->0755]
inc/hw_key.h [new file with mode: 0755]
inc/livebox/grid_item_resize.h [deleted file]
inc/livebox/grid_reposition.h [deleted file]
inc/livebox/livebox_animator.h [deleted file]
inc/livebox/livebox_panel.h [deleted file]
inc/livebox/livebox_utils.h [deleted file]
inc/livebox/livebox_widget.h [deleted file]
inc/livebox_all_pages.h [deleted file]
inc/menu.h [new file with mode: 0755]
inc/mouse.h [changed mode: 0644->0755]
inc/page_indicator.h [new file with mode: 0755]
inc/page_scroller.h [deleted file]
inc/popup.h [changed mode: 0644->0755]
inc/tree.h [deleted file]
inc/util.h [changed mode: 0644->0755]
inc/view.h [new file with mode: 0755]
inc/widget_viewer.h [moved from inc/option_menu.h with 53% similarity, mode: 0755]
org.tizen.homescreen-efl.manifest [deleted file]
packaging/org.tizen.homescreen-efl.spec [deleted file]
project_def.prop [changed mode: 0644->0755]
res/edje/add_widget_viewer.edc [new file with mode: 0755]
res/edje/app_grid.edc [deleted file]
res/edje/app_icon.edc [new file with mode: 0755]
res/edje/apps_chooser_btn.edc [new file with mode: 0755]
res/edje/apps_folder_icon.edc [new file with mode: 0755]
res/edje/apps_folder_popup.edc [new file with mode: 0755]
res/edje/apps_view.edc [new file with mode: 0755]
res/edje/apps_view_bg.edc [new file with mode: 0755]
res/edje/cluster_allpage.edc [new file with mode: 0755]
res/edje/cluster_allpage_thumbnail.edc [new file with mode: 0755]
res/edje/cluster_page.edc [new file with mode: 0755]
res/edje/color_classes.edc [deleted file]
res/edje/folder.edc [deleted file]
res/edje/folder_entry.edc [deleted file]
res/edje/home.edc [changed mode: 0644->0755]
res/edje/home_btn.edc [new file with mode: 0755]
res/edje/icon.edc [deleted file]
res/edje/index_element.edc [deleted file]
res/edje/livebox_container.edc [deleted file]
res/edje/livebox_layout.edc [deleted file]
res/edje/page_edit.edc [deleted file]
res/edje/page_edit_util.edc [deleted file]
res/edje/page_indicator_unit.edc [new file with mode: 0755]
res/edje/preview.edc [deleted file]
res/edje/widget.edc [new file with mode: 0755]
res/images/00_scroll_bar_v.png [deleted file]
res/images/add_page_nor.png [moved from res/images/1x1 preview shortcut.png with 86% similarity, mode: 0755]
res/images/add_page_press.png [moved from res/images/00_scroll_bar_h.png with 84% similarity, mode: 0755]
res/images/all_apps_icon_menu.png [deleted file]
res/images/all_page_add.png [moved from res/images/edit_all_page_add.png with 100% similarity, mode: 0755]
res/images/all_page_add_press.png [moved from res/images/edit_all_page_add_press.png with 100% similarity, mode: 0755]
res/images/all_page_drag.png [moved from res/images/edit_all_page_drag.png with 100% similarity]
res/images/app_icon_checkbox_bg.png [deleted file]
res/images/app_icon_checkbox_border.png [deleted file]
res/images/app_icon_downloadable.png [deleted file]
res/images/btn_add_nor.png [changed mode: 0644->0755]
res/images/btn_add_press.png [changed mode: 0644->0755]
res/images/btn_input_clear.png [deleted file]
res/images/core_check_bg.png [new file with mode: 0755]
res/images/core_check_bg_stroke.png [new file with mode: 0755]
res/images/core_check_icon.png [moved from res/images/app_icon_checkbox_on.png with 100% similarity]
res/images/default.png [deleted file]
res/images/default_app_icon.png [new file with mode: 0755]
res/images/edit_all_page_bg.png [deleted file]
res/images/edit_all_page_create.png [deleted file]
res/images/edit_page.png [deleted file]
res/images/edit_page_current.png [deleted file]
res/images/folder_appicon_bg.png [changed mode: 0644->0755]
res/images/folder_appicon_empty_bg.png [changed mode: 0644->0755]
res/images/frame.png [deleted file]
res/images/home_button_apps.png [moved from res/images/home_icon_reorder.png with 53% similarity, mode: 0755]
res/images/home_button_bg.png [changed mode: 0644->0755]
res/images/home_button_home.png [new file with mode: 0755]
res/images/home_button_menu.png [moved from res/images/home_icon_menu.png with 51% similarity, mode: 0755]
res/images/home_edit_bg.#.png [deleted file]
res/images/home_icon_home.png [deleted file]
res/images/icon_badge_container.png [changed mode: 0644->0755]
res/images/icon_drawer_search.png [deleted file]
res/images/icon_list_close.png [deleted file]
res/images/icon_list_open.png [deleted file]
res/images/icon_shadow.png [deleted file]
res/images/livebox/preview_FMradio.png [deleted file]
res/images/livebox/preview_alarm.png [deleted file]
res/images/livebox/preview_calendar.png [deleted file]
res/images/livebox/preview_contact_4x2.png [deleted file]
res/images/livebox/preview_contact_4x4.png [deleted file]
res/images/livebox/preview_dual_clock.png [deleted file]
res/images/livebox/preview_gallery.png [deleted file]
res/images/livebox/preview_internet_4x4.png [deleted file]
res/images/livebox/preview_music.png [deleted file]
res/images/livebox/preview_singel_clock.png [deleted file]
res/images/livebox/preview_weather_4x2.png [deleted file]
res/images/livebox/preview_weather_4x4.png [deleted file]
res/images/page_indicator_current.png [moved from res/images/core_page_indicator_on.png with 100% similarity]
res/images/page_indicator_unit.png [moved from res/images/core_page_indicator_on_horizontal.png with 100% similarity]
res/images/preview_bg_1x1.png [deleted file]
res/images/preview_bg_2x1.png [deleted file]
res/images/preview_bg_2x2.png [deleted file]
res/images/preview_bg_4x1.png [deleted file]
res/images/preview_bg_4x2.png [deleted file]
res/images/preview_bg_4x3.png [deleted file]
res/images/preview_bg_4x4.png [deleted file]
res/images/reposition_bg.png [deleted file]
res/images/reposition_bg_shadow.png [deleted file]
res/images/resize_button.png [deleted file]
res/images/scroll_bar.9.png [deleted file]
res/images/unknown.png [deleted file]
res/po/ar.po
res/po/az.po
res/po/bg.po
res/po/ca.po
res/po/cs.po
res/po/da.po
res/po/de.po
res/po/el_GR.po
res/po/en.po
res/po/en_PH.po
res/po/en_US.po
res/po/es_ES.po
res/po/es_US.po
res/po/et.po
res/po/eu.po
res/po/fi.po
res/po/fr.po
res/po/fr_CA.po
res/po/ga.po
res/po/gl.po
res/po/hi.po
res/po/hr.po
res/po/hu.po
res/po/hy.po
res/po/is.po
res/po/it_IT.po
res/po/ja_JP.po
res/po/ka.po
res/po/kk.po
res/po/ko_KR.po
res/po/lt.po
res/po/lv.po
res/po/mk.po
res/po/nb.po
res/po/nl.po
res/po/pl.po
res/po/pt_BR.po
res/po/pt_PT.po
res/po/ro.po
res/po/ru_RU.po
res/po/sk.po
res/po/sl.po
res/po/sr.po
res/po/sv.po
res/po/tr_TR.po
res/po/uk.po
res/po/uz.po
res/po/zh_CN.po
res/po/zh_HK.po
res/po/zh_TW.po
src/add_viewer/add_viewer.c [deleted file]
src/add_viewer/list_view.c [deleted file]
src/add_viewer/view.c [deleted file]
src/add_viewer/widget.c [deleted file]
src/add_widget_viewer/add_widget_data.c [new file with mode: 0755]
src/add_widget_viewer/add_widget_viewer.c [new file with mode: 0755]
src/all_apps.c [deleted file]
src/app_grid.c [deleted file]
src/app_icon.c [deleted file]
src/app_item.c [deleted file]
src/app_mgr.c [deleted file]
src/apps_data.c [new file with mode: 0755]
src/apps_db.c [new file with mode: 0755]
src/apps_package_manager.c [new file with mode: 0755]
src/apps_view.c [new file with mode: 0755]
src/cluster_data.c [new file with mode: 0755]
src/cluster_db.c [new file with mode: 0755]
src/cluster_page.c [new file with mode: 0755]
src/cluster_view.c [new file with mode: 0755]
src/conf.c [moved from src/layout.c with 51% similarity, mode: 0755]
src/data_model.c [deleted file]
src/db/db.c [deleted file]
src/dynamic_index.c [deleted file]
src/folder_panel.c [deleted file]
src/homescreen-efl.c [changed mode: 0644->0755]
src/hw_key.c [new file with mode: 0755]
src/key.c [deleted file]
src/livebox/grid_item_resize.c [deleted file]
src/livebox/grid_reposition.c [deleted file]
src/livebox/livebox_animator.c [deleted file]
src/livebox/livebox_panel.c [deleted file]
src/livebox/livebox_utils.c [deleted file]
src/livebox/livebox_widget.c [deleted file]
src/livebox_all_pages.c [deleted file]
src/menu.c [new file with mode: 0755]
src/mouse.c [deleted file]
src/option_menu.c [deleted file]
src/page_indicator.c [new file with mode: 0755]
src/page_scroller.c [deleted file]
src/popup.c [changed mode: 0644->0755]
src/tree.c [deleted file]
src/util.c [changed mode: 0644->0755]
src/widget_viewer.c [new file with mode: 0755]
tizen-manifest.xml [changed mode: 0644->0755]

old mode 100644 (file)
new mode 100755 (executable)
index badb93d..518044c
--- a/.cproject
+++ b/.cproject
@@ -1,8 +1,8 @@
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
 <?fileVersion 4.0.0?><cproject storage_type_id="org.eclipse.cdt.core.XmlProjectDescriptionStorage">
        <storageModule moduleId="org.eclipse.cdt.core.settings">
-               <cconfiguration id="org.tizen.nativecore.config.sbi.gcc45.app.debug.1160917458">
-                       <storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider" id="org.tizen.nativecore.config.sbi.gcc45.app.debug.1160917458" moduleId="org.eclipse.cdt.core.settings" name="Debug">
+               <cconfiguration id="org.tizen.nativecore.config.sbi.gcc45.app.debug.1938657471">
+                       <storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider" id="org.tizen.nativecore.config.sbi.gcc45.app.debug.1938657471" moduleId="org.eclipse.cdt.core.settings" name="Debug">
                                <externalSettings/>
                                <extensions>
                                        <extension id="org.eclipse.cdt.core.ELF" point="org.eclipse.cdt.core.BinaryParser"/>
                                </extensions>
                        </storageModule>
                        <storageModule moduleId="cdtBuildSystem" version="4.0.0">
-                               <configuration artifactName="homescreen-efl" buildArtefactType="org.tizen.nativecore.buildArtefactType.app" buildProperties="org.eclipse.cdt.build.core.buildArtefactType=org.tizen.nativecore.buildArtefactType.app,org.eclipse.cdt.build.core.buildType=org.eclipse.cdt.build.core.buildType.debug" description="" errorParsers="org.eclipse.cdt.core.MakeErrorParser;org.eclipse.cdt.core.GCCErrorParser;" id="org.tizen.nativecore.config.sbi.gcc45.app.debug.1160917458" name="Debug" parent="org.tizen.nativecore.config.sbi.gcc45.app.debug">
-                                       <folderInfo id="org.tizen.nativecore.config.sbi.gcc45.app.debug.1160917458." name="/" resourcePath="">
-                                               <toolChain id="org.tizen.nativecore.toolchain.sbi.gcc45.app.debug.9140578" name="Tizen Native Toolchain" superClass="org.tizen.nativecore.toolchain.sbi.gcc45.app.debug">
-                                                       <targetPlatform binaryParser="org.eclipse.cdt.core.ELF" id="org.tizen.nativeide.target.sbi.gnu.platform.base.1823866798" osList="linux,win32" superClass="org.tizen.nativeide.target.sbi.gnu.platform.base"/>
-                                                       <builder autoBuildTarget="all" buildPath="${workspace_loc:/homescreen-efl}/Debug" enableAutoBuild="true" id="org.tizen.nativecore.target.sbi.gnu.builder.982640407" keepEnvironmentInBuildfile="false" managedBuildOn="true" name="Tizen Application Builder" superClass="org.tizen.nativecore.target.sbi.gnu.builder"/>
-                                                       <tool id="org.tizen.nativecore.tool.sbi.gnu.archiver.791350657" name="Archiver" superClass="org.tizen.nativecore.tool.sbi.gnu.archiver"/>
-                                                       <tool command="clang++" id="org.tizen.nativecore.tool.sbi.gnu.cpp.compiler.78517626" name="C++ Compiler" superClass="org.tizen.nativecore.tool.sbi.gnu.cpp.compiler">
-                                                               <option id="gnu.cpp.compiler.option.optimization.level.154741112" name="Optimization Level" superClass="gnu.cpp.compiler.option.optimization.level" value="gnu.cpp.compiler.optimization.level.none" valueType="enumerated"/>
-                                                               <option defaultValue="gnu.cpp.compiler.debugging.level.max" id="sbi.gnu.cpp.compiler.option.debugging.level.core.1234558341" name="Debug level" superClass="sbi.gnu.cpp.compiler.option.debugging.level.core" valueType="enumerated"/>
-                                                               <option id="sbi.gnu.cpp.compiler.option.461481092" name="Tizen-Target" superClass="sbi.gnu.cpp.compiler.option" valueType="userObjs">
+                               <configuration artifactName="homescreen-efl" buildArtefactType="org.tizen.nativecore.buildArtefactType.app" buildProperties="org.eclipse.cdt.build.core.buildArtefactType=org.tizen.nativecore.buildArtefactType.app,org.eclipse.cdt.build.core.buildType=org.eclipse.cdt.build.core.buildType.debug" description="" errorParsers="org.eclipse.cdt.core.MakeErrorParser;org.eclipse.cdt.core.GCCErrorParser;" id="org.tizen.nativecore.config.sbi.gcc45.app.debug.1938657471" name="Debug" parent="org.tizen.nativecore.config.sbi.gcc45.app.debug">
+                                       <folderInfo id="org.tizen.nativecore.config.sbi.gcc45.app.debug.1938657471." name="/" resourcePath="">
+                                               <toolChain id="org.tizen.nativecore.toolchain.sbi.gcc45.app.debug.18394085" name="Tizen Native Toolchain" superClass="org.tizen.nativecore.toolchain.sbi.gcc45.app.debug">
+                                                       <targetPlatform binaryParser="org.eclipse.cdt.core.ELF" id="org.tizen.nativeide.target.sbi.gnu.platform.base.1500203774" osList="linux,win32" superClass="org.tizen.nativeide.target.sbi.gnu.platform.base"/>
+                                                       <builder autoBuildTarget="all" buildPath="${workspace_loc:/homescreen-efl}/Debug" enableAutoBuild="true" id="org.tizen.nativecore.target.sbi.gnu.builder.676790294" keepEnvironmentInBuildfile="false" managedBuildOn="true" name="Tizen Application Builder" superClass="org.tizen.nativecore.target.sbi.gnu.builder"/>
+                                                       <tool id="org.tizen.nativecore.tool.sbi.gnu.archiver.766671326" name="Archiver" superClass="org.tizen.nativecore.tool.sbi.gnu.archiver"/>
+                                                       <tool command="clang++" id="org.tizen.nativecore.tool.sbi.gnu.cpp.compiler.1800477664" name="C++ Compiler" superClass="org.tizen.nativecore.tool.sbi.gnu.cpp.compiler">
+                                                               <option id="gnu.cpp.compiler.option.optimization.level.1791913917" name="Optimization Level" superClass="gnu.cpp.compiler.option.optimization.level" value="gnu.cpp.compiler.optimization.level.none" valueType="enumerated"/>
+                                                               <option defaultValue="gnu.cpp.compiler.debugging.level.max" id="sbi.gnu.cpp.compiler.option.debugging.level.core.481743771" name="Debug level" superClass="sbi.gnu.cpp.compiler.option.debugging.level.core" valueType="enumerated"/>
+                                                               <option defaultValue="false" id="sbi.gnu.cpp.compiler.option.misc.pic.core.2102599528" name="-fPIC option" superClass="sbi.gnu.cpp.compiler.option.misc.pic.core" valueType="boolean"/>
+                                                               <option id="sbi.gnu.cpp.compiler.option.1070320025" name="Tizen-Target" superClass="sbi.gnu.cpp.compiler.option" valueType="userObjs">
                                                                        <listOptionValue builtIn="false" value="mobile-3.0-device.core_llvm36.armel.core.app"/>
                                                                </option>
-                                                               <option id="sbi.gnu.cpp.compiler.option.frameworks_inc.core.677883362" name="Tizen-Frameworks-Include-Path" superClass="sbi.gnu.cpp.compiler.option.frameworks_inc.core" valueType="includePath">
+                                                               <option id="sbi.gnu.cpp.compiler.option.frameworks_inc.core.312288874" name="Tizen-Frameworks-Include-Path" superClass="sbi.gnu.cpp.compiler.option.frameworks_inc.core" valueType="includePath">
                                                                        <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/libxml2&quot;"/>
                                                                        <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include&quot;"/>
                                                                        <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/appcore-agent&quot;"/>
                                                                        <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/base&quot;"/>
                                                                        <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/cairo&quot;"/>
                                                                        <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/calendar-service2&quot;"/>
-                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/call-manager&quot;"/>
                                                                        <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/chromium-ewk&quot;"/>
                                                                        <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ckm&quot;"/>
                                                                        <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/contacts-svc&quot;"/>
                                                                        <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/content&quot;"/>
                                                                        <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/context-service&quot;"/>
-                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/csf&quot;"/>
                                                                        <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/dali&quot;"/>
                                                                        <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/dali-toolkit&quot;"/>
                                                                        <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/dbus-1.0&quot;"/>
@@ -72,7 +71,6 @@
                                                                        <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eio-1&quot;"/>
                                                                        <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eldbus-1&quot;"/>
                                                                        <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/elementary-1&quot;"/>
-                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/email-service&quot;"/>
                                                                        <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/embryo-1&quot;"/>
                                                                        <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/emile-1&quot;"/>
                                                                        <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eo-1&quot;"/>
@@ -97,7 +95,6 @@
                                                                        <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/metadata-editor&quot;"/>
                                                                        <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/minicontrol&quot;"/>
                                                                        <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/minizip&quot;"/>
-                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/msg-service&quot;"/>
                                                                        <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/network&quot;"/>
                                                                        <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/notification&quot;"/>
                                                                        <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/nsd/&quot;"/>
                                                                        <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/storage&quot;"/>
                                                                        <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/system&quot;"/>
                                                                        <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/telephony&quot;"/>
-                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/telephony-client&quot;"/>
-                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ug-1&quot;"/>
                                                                        <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ui&quot;"/>
-                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/vconf&quot;"/>
                                                                        <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/web&quot;"/>
                                                                        <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/widget_service&quot;"/>
                                                                        <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/widget_viewer_evas&quot;"/>
                                                                        <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/lib/dbus-1.0/include&quot;"/>
                                                                        <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/lib/glib-2.0/include&quot;"/>
                                                                </option>
-                                                               <option id="sbi.gnu.cpp.compiler.option.frameworks_cflags.core.632402039" name="Tizen-Frameworks-Other-Cflags" superClass="sbi.gnu.cpp.compiler.option.frameworks_cflags.core" valueType="stringList">
+                                                               <option id="sbi.gnu.cpp.compiler.option.frameworks_cflags.core.1880652195" name="Tizen-Frameworks-Other-Cflags" superClass="sbi.gnu.cpp.compiler.option.frameworks_cflags.core" valueType="stringList">
                                                                        <listOptionValue builtIn="false" value="${TC_COMPILER_MISC}"/>
                                                                        <listOptionValue builtIn="false" value="${RS_COMPILER_MISC}"/>
                                                                        <listOptionValue builtIn="false" value=" -fPIE"/>
                                                                        <listOptionValue builtIn="false" value="--sysroot=&quot;${SBI_SYSROOT}&quot;"/>
                                                                        <listOptionValue builtIn="false" value="-mthumb"/>
                                                                </option>
-                                                               <option id="gnu.cpp.compiler.option.include.paths.774155322" name="Include paths (-I)" superClass="gnu.cpp.compiler.option.include.paths" valueType="includePath">
+                                                               <option id="gnu.cpp.compiler.option.include.paths.1857385470" name="Include paths (-I)" superClass="gnu.cpp.compiler.option.include.paths" valueType="includePath">
                                                                        <listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/inc}&quot;"/>
                                                                </option>
-                                                               <option id="sbi.gnu.cpp.compiler.option.frameworks.core.1452119569" name="Tizen-Frameworks" superClass="sbi.gnu.cpp.compiler.option.frameworks.core" valueType="userObjs">
+                                                               <option id="sbi.gnu.cpp.compiler.option.frameworks.core.983115242" name="Tizen-Frameworks" superClass="sbi.gnu.cpp.compiler.option.frameworks.core" valueType="userObjs">
                                                                        <listOptionValue builtIn="false" value="Native_API"/>
                                                                </option>
-                                                               <inputType id="cdt.managedbuild.tool.gnu.cpp.compiler.input.1545303334" superClass="cdt.managedbuild.tool.gnu.cpp.compiler.input"/>
+                                                               <inputType id="cdt.managedbuild.tool.gnu.cpp.compiler.input.1527920498" superClass="cdt.managedbuild.tool.gnu.cpp.compiler.input"/>
                                                        </tool>
-                                                       <tool command="clang" id="org.tizen.nativecore.tool.sbi.gnu.c.compiler.395904216" name="C Compiler" superClass="org.tizen.nativecore.tool.sbi.gnu.c.compiler">
-                                                               <option defaultValue="gnu.c.optimization.level.none" id="gnu.c.compiler.option.optimization.level.1265504588" name="Optimization Level" superClass="gnu.c.compiler.option.optimization.level" valueType="enumerated"/>
-                                                               <option defaultValue="gnu.c.debugging.level.max" id="sbi.gnu.c.compiler.option.debugging.level.core.821465105" name="Debug level" superClass="sbi.gnu.c.compiler.option.debugging.level.core" valueType="enumerated"/>
-                                                               <option id="sbi.gnu.c.compiler.option.1366624022" name="Tizen-Target" superClass="sbi.gnu.c.compiler.option" valueType="userObjs">
+                                                       <tool command="clang" id="org.tizen.nativecore.tool.sbi.gnu.c.compiler.281727115" name="C Compiler" superClass="org.tizen.nativecore.tool.sbi.gnu.c.compiler">
+                                                               <option defaultValue="gnu.c.optimization.level.none" id="gnu.c.compiler.option.optimization.level.1600914293" name="Optimization Level" superClass="gnu.c.compiler.option.optimization.level" valueType="enumerated"/>
+                                                               <option defaultValue="gnu.c.debugging.level.max" id="sbi.gnu.c.compiler.option.debugging.level.core.247638963" name="Debug level" superClass="sbi.gnu.c.compiler.option.debugging.level.core" valueType="enumerated"/>
+                                                               <option defaultValue="false" id="sbi.gnu.c.compiler.option.misc.pic.core.982331969" name="-fPIC option" superClass="sbi.gnu.c.compiler.option.misc.pic.core" valueType="boolean"/>
+                                                               <option id="sbi.gnu.c.compiler.option.1644890019" name="Tizen-Target" superClass="sbi.gnu.c.compiler.option" valueType="userObjs">
                                                                        <listOptionValue builtIn="false" value="mobile-3.0-device.core_llvm36.armel.core.app"/>
                                                                </option>
-                                                               <option id="sbi.gnu.c.compiler.option.frameworks_inc.core.937968799" name="Tizen-Frameworks-Include-Path" superClass="sbi.gnu.c.compiler.option.frameworks_inc.core" valueType="includePath">
+                                                               <option id="sbi.gnu.c.compiler.option.frameworks_inc.core.1483034184" name="Tizen-Frameworks-Include-Path" superClass="sbi.gnu.c.compiler.option.frameworks_inc.core" valueType="includePath">
                                                                        <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/libxml2&quot;"/>
                                                                        <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include&quot;"/>
                                                                        <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/appcore-agent&quot;"/>
                                                                        <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/base&quot;"/>
                                                                        <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/cairo&quot;"/>
                                                                        <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/calendar-service2&quot;"/>
-                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/call-manager&quot;"/>
                                                                        <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/chromium-ewk&quot;"/>
                                                                        <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ckm&quot;"/>
                                                                        <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/contacts-svc&quot;"/>
                                                                        <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/content&quot;"/>
                                                                        <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/context-service&quot;"/>
-                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/csf&quot;"/>
                                                                        <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/dali&quot;"/>
                                                                        <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/dali-toolkit&quot;"/>
                                                                        <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/dbus-1.0&quot;"/>
                                                                        <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eio-1&quot;"/>
                                                                        <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eldbus-1&quot;"/>
                                                                        <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/elementary-1&quot;"/>
-                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/email-service&quot;"/>
                                                                        <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/embryo-1&quot;"/>
                                                                        <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/emile-1&quot;"/>
                                                                        <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eo-1&quot;"/>
                                                                        <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/metadata-editor&quot;"/>
                                                                        <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/minicontrol&quot;"/>
                                                                        <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/minizip&quot;"/>
-                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/msg-service&quot;"/>
                                                                        <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/network&quot;"/>
                                                                        <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/notification&quot;"/>
                                                                        <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/nsd/&quot;"/>
                                                                        <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/storage&quot;"/>
                                                                        <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/system&quot;"/>
                                                                        <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/telephony&quot;"/>
-                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/telephony-client&quot;"/>
-                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ug-1&quot;"/>
                                                                        <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ui&quot;"/>
-                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/vconf&quot;"/>
                                                                        <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/web&quot;"/>
                                                                        <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/widget_service&quot;"/>
                                                                        <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/widget_viewer_evas&quot;"/>
                                                                        <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/lib/dbus-1.0/include&quot;"/>
                                                                        <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/lib/glib-2.0/include&quot;"/>
                                                                </option>
-                                                               <option id="sbi.gnu.c.compiler.option.frameworks_cflags.core.1721105928" name="Tizen-Frameworks-Other-Cflags" superClass="sbi.gnu.c.compiler.option.frameworks_cflags.core" valueType="stringList">
+                                                               <option id="sbi.gnu.c.compiler.option.frameworks_cflags.core.775703376" name="Tizen-Frameworks-Other-Cflags" superClass="sbi.gnu.c.compiler.option.frameworks_cflags.core" valueType="stringList">
                                                                        <listOptionValue builtIn="false" value="${TC_COMPILER_MISC}"/>
                                                                        <listOptionValue builtIn="false" value="${RS_COMPILER_MISC}"/>
                                                                        <listOptionValue builtIn="false" value=" -fPIE"/>
                                                                        <listOptionValue builtIn="false" value="--sysroot=&quot;${SBI_SYSROOT}&quot;"/>
                                                                        <listOptionValue builtIn="false" value="-mthumb"/>
                                                                </option>
-                                                               <option id="gnu.c.compiler.option.include.paths.1031142029" name="Include paths (-I)" superClass="gnu.c.compiler.option.include.paths" valueType="includePath">
+                                                               <option id="gnu.c.compiler.option.include.paths.1774757534" name="Include paths (-I)" superClass="gnu.c.compiler.option.include.paths" valueType="includePath">
                                                                        <listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/inc}&quot;"/>
                                                                </option>
-                                                               <option id="sbi.gnu.c.compiler.option.frameworks.core.60421890" name="Tizen-Frameworks" superClass="sbi.gnu.c.compiler.option.frameworks.core" valueType="userObjs">
+                                                               <option id="sbi.gnu.c.compiler.option.frameworks.core.1352947564" name="Tizen-Frameworks" superClass="sbi.gnu.c.compiler.option.frameworks.core" valueType="userObjs">
                                                                        <listOptionValue builtIn="false" value="Native_API"/>
                                                                </option>
-                                                               <inputType id="cdt.managedbuild.tool.gnu.c.compiler.input.1529971491" superClass="cdt.managedbuild.tool.gnu.c.compiler.input"/>
+                                                               <inputType id="cdt.managedbuild.tool.gnu.c.compiler.input.840478259" superClass="cdt.managedbuild.tool.gnu.c.compiler.input"/>
                                                        </tool>
-                                                       <tool id="org.tizen.nativeide.tool.sbi.gnu.c.linker.base.1417014311" name="C Linker" superClass="org.tizen.nativeide.tool.sbi.gnu.c.linker.base"/>
-                                                       <tool command="clang++" id="org.tizen.nativecore.tool.sbi.gnu.cpp.linker.1903034301" name="C++ Linker" superClass="org.tizen.nativecore.tool.sbi.gnu.cpp.linker">
-                                                               <option id="sbi.gnu.cpp.linker.option.frameworks_lflags.core.689672316" name="Tizen-Frameworks-Other-Lflags" superClass="sbi.gnu.cpp.linker.option.frameworks_lflags.core" valueType="stringList">
+                                                       <tool id="org.tizen.nativeide.tool.sbi.gnu.c.linker.base.614766676" name="C Linker" superClass="org.tizen.nativeide.tool.sbi.gnu.c.linker.base"/>
+                                                       <tool command="clang++" id="org.tizen.nativecore.tool.sbi.gnu.cpp.linker.1632738856" name="C++ Linker" superClass="org.tizen.nativecore.tool.sbi.gnu.cpp.linker">
+                                                               <option defaultValue="false" id="sbi.gnu.cpp.linker.option.shared_flag.core.1016151526" name="Linker.Shared" superClass="sbi.gnu.cpp.linker.option.shared_flag.core" valueType="boolean"/>
+                                                               <option defaultValue="false" id="sbi.gnu.cpp.linker.option.noundefined.core.1946527908" name="Report unresolved symbol references (-Wl,--no-undefined)" superClass="sbi.gnu.cpp.linker.option.noundefined.core" valueType="boolean"/>
+                                                               <option id="sbi.gnu.cpp.linker.option.frameworks_lflags.core.472552373" name="Tizen-Frameworks-Other-Lflags" superClass="sbi.gnu.cpp.linker.option.frameworks_lflags.core" valueType="stringList">
                                                                        <listOptionValue builtIn="false" value="${TC_LINKER_MISC}"/>
                                                                        <listOptionValue builtIn="false" value="${RS_LINKER_MISC}"/>
                                                                        <listOptionValue builtIn="false" value="-pie -lpthread "/>
                                                                        <listOptionValue builtIn="false" value="-L&quot;${SBI_SYSROOT}/usr/lib&quot;"/>
                                                                        <listOptionValue builtIn="false" value="$(RS_LIBRARIES)"/>
                                                                </option>
-                                                               <option id="gnu.cpp.link.option.paths.595609901" name="Library search path (-L)" superClass="gnu.cpp.link.option.paths" valueType="libPaths">
+                                                               <option id="gnu.cpp.link.option.paths.662086851" name="Library search path (-L)" superClass="gnu.cpp.link.option.paths" valueType="libPaths">
                                                                        <listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/lib}&quot;"/>
                                                                </option>
-                                                               <inputType id="cdt.managedbuild.tool.gnu.cpp.linker.input.1212374970" superClass="cdt.managedbuild.tool.gnu.cpp.linker.input">
+                                                               <inputType id="cdt.managedbuild.tool.gnu.cpp.linker.input.428927002" superClass="cdt.managedbuild.tool.gnu.cpp.linker.input">
                                                                        <additionalInput kind="additionalinputdependency" paths="$(USER_OBJS)"/>
                                                                        <additionalInput kind="additionalinput" paths="$(LIBS)"/>
                                                                </inputType>
                                                        </tool>
-                                                       <tool command="arm-linux-gnueabi-as" id="org.tizen.nativeapp.tool.sbi.gnu.assembler.base.612105533" name="Assembler" superClass="org.tizen.nativeapp.tool.sbi.gnu.assembler.base">
-                                                               <inputType id="cdt.managedbuild.tool.gnu.assembler.input.2085147714" superClass="cdt.managedbuild.tool.gnu.assembler.input"/>
-                                                       </tool>
-                                                       <tool id="org.tizen.nativecore.tool.fnmapgen.791116611" name="C FN-Map Generator" superClass="org.tizen.nativecore.tool.fnmapgen"/>
-                                                       <tool id="org.tizen.nativecore.tool.fnmapgen.cpp.1928499299" name="C++ FN-Map Generator" superClass="org.tizen.nativecore.tool.fnmapgen.cpp"/>
-                                                       <tool id="org.tizen.nativecore.tool.ast.1111881132" name="C Static Analyzer" superClass="org.tizen.nativecore.tool.ast"/>
-                                                       <tool id="org.tizen.nativecore.tool.ast.cpp.899784221" name="C++ Static Analyzer" superClass="org.tizen.nativecore.tool.ast.cpp"/>
-                                                       <tool id="org.tizen.nativecore.tool.sbi.gnu.archiver.mergelib.1806543165" name="Archive Generator" superClass="org.tizen.nativecore.tool.sbi.gnu.archiver.mergelib"/>
-                                                       <tool id="org.tizen.nativecore.tool.sbi.po.compiler.203049655" name="PO Resource Compiler" superClass="org.tizen.nativecore.tool.sbi.po.compiler"/>
-                                                       <tool id="org.tizen.nativecore.tool.sbi.edc.compiler.696379824" name="EDC Resource Compiler" superClass="org.tizen.nativecore.tool.sbi.edc.compiler">
-                                                               <option command="-id " id="sbi.gnu.edc.compiler.option.misc.id.924209802" name="Image Path (-id)" superClass="sbi.gnu.edc.compiler.option.misc.id" valueType="stringList">
-                                                                       <listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}}/res/images&quot;"/>
-                                                               </option>
+                                                       <tool command="arm-linux-gnueabi-as" id="org.tizen.nativeapp.tool.sbi.gnu.assembler.base.1815664769" name="Assembler" superClass="org.tizen.nativeapp.tool.sbi.gnu.assembler.base">
+                                                               <inputType id="cdt.managedbuild.tool.gnu.assembler.input.88475890" superClass="cdt.managedbuild.tool.gnu.assembler.input"/>
                                                        </tool>
+                                                       <tool id="org.tizen.nativecore.tool.fnmapgen.304005350" name="C FN-Map Generator" superClass="org.tizen.nativecore.tool.fnmapgen"/>
+                                                       <tool id="org.tizen.nativecore.tool.fnmapgen.cpp.701578306" name="C++ FN-Map Generator" superClass="org.tizen.nativecore.tool.fnmapgen.cpp"/>
+                                                       <tool id="org.tizen.nativecore.tool.ast.194573664" name="C Static Analyzer" superClass="org.tizen.nativecore.tool.ast"/>
+                                                       <tool id="org.tizen.nativecore.tool.ast.cpp.884871250" name="C++ Static Analyzer" superClass="org.tizen.nativecore.tool.ast.cpp"/>
+                                                       <tool id="org.tizen.nativecore.tool.sbi.gnu.archiver.mergelib.4707964" name="Archive Generator" superClass="org.tizen.nativecore.tool.sbi.gnu.archiver.mergelib"/>
+                                                       <tool id="org.tizen.nativecore.tool.sbi.po.compiler.645074741" name="PO Resource Compiler" superClass="org.tizen.nativecore.tool.sbi.po.compiler"/>
+                                                       <tool id="org.tizen.nativecore.tool.sbi.edc.compiler.616525419" name="EDC Resource Compiler" superClass="org.tizen.nativecore.tool.sbi.edc.compiler"/>
                                                </toolChain>
                                        </folderInfo>
                                        <sourceEntries>
                        </storageModule>
                        <storageModule moduleId="org.eclipse.cdt.core.externalSettings"/>
                </cconfiguration>
-               <cconfiguration id="org.tizen.nativecore.config.sbi.gcc45.app.release.1299462451">
-                       <storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider" id="org.tizen.nativecore.config.sbi.gcc45.app.release.1299462451" moduleId="org.eclipse.cdt.core.settings" name="Release">
+               <cconfiguration id="org.tizen.nativecore.config.sbi.gcc45.app.release.50858447">
+                       <storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider" id="org.tizen.nativecore.config.sbi.gcc45.app.release.50858447" moduleId="org.eclipse.cdt.core.settings" name="Release">
                                <externalSettings/>
                                <extensions>
                                        <extension id="org.eclipse.cdt.core.ELF" point="org.eclipse.cdt.core.BinaryParser"/>
                                </extensions>
                        </storageModule>
                        <storageModule moduleId="cdtBuildSystem" version="4.0.0">
-                               <configuration artifactName="homescreen-efl" buildArtefactType="org.tizen.nativecore.buildArtefactType.app" buildProperties="org.eclipse.cdt.build.core.buildArtefactType=org.tizen.nativecore.buildArtefactType.app,org.eclipse.cdt.build.core.buildType=org.eclipse.cdt.build.core.buildType.release" description="" errorParsers="org.eclipse.cdt.core.MakeErrorParser;org.eclipse.cdt.core.GCCErrorParser;" id="org.tizen.nativecore.config.sbi.gcc45.app.release.1299462451" name="Release" parent="org.tizen.nativecore.config.sbi.gcc45.app.release">
-                                       <folderInfo id="org.tizen.nativecore.config.sbi.gcc45.app.release.1299462451." name="/" resourcePath="">
-                                               <toolChain id="org.tizen.nativecore.toolchain.sbi.gcc45.app.release.401466956" name="Tizen Native Toolchain" superClass="org.tizen.nativecore.toolchain.sbi.gcc45.app.release">
-                                                       <targetPlatform binaryParser="org.eclipse.cdt.core.ELF" id="org.tizen.nativeide.target.sbi.gnu.platform.base.315097980" osList="linux,win32" superClass="org.tizen.nativeide.target.sbi.gnu.platform.base"/>
-                                                       <builder buildPath="${workspace_loc:/homescreen-efl}/Release" id="org.tizen.nativecore.target.sbi.gnu.builder.722850415" keepEnvironmentInBuildfile="false" managedBuildOn="true" name="Tizen Application Builder" superClass="org.tizen.nativecore.target.sbi.gnu.builder"/>
-                                                       <tool id="org.tizen.nativecore.tool.sbi.gnu.archiver.1702180741" name="Archiver" superClass="org.tizen.nativecore.tool.sbi.gnu.archiver"/>
-                                                       <tool command="clang++" id="org.tizen.nativecore.tool.sbi.gnu.cpp.compiler.391488306" name="C++ Compiler" superClass="org.tizen.nativecore.tool.sbi.gnu.cpp.compiler">
-                                                               <option id="gnu.cpp.compiler.option.optimization.level.1781115260" name="Optimization Level" superClass="gnu.cpp.compiler.option.optimization.level" value="gnu.cpp.compiler.optimization.level.most" valueType="enumerated"/>
-                                                               <option defaultValue="gnu.cpp.compiler.debugging.level.default" id="sbi.gnu.cpp.compiler.option.debugging.level.core.1050643268" name="Debug level" superClass="sbi.gnu.cpp.compiler.option.debugging.level.core" valueType="enumerated"/>
-                                                               <option id="sbi.gnu.cpp.compiler.option.155232092" name="Tizen-Target" superClass="sbi.gnu.cpp.compiler.option" valueType="userObjs">
-                                                                       <listOptionValue builtIn="false" value="mobile-3.0-device.core_llvm36.armel.core.app"/>
+                               <configuration artifactName="org.tizen.homescreen-efl" buildArtefactType="org.tizen.nativecore.buildArtefactType.app" buildProperties="org.eclipse.cdt.build.core.buildArtefactType=org.tizen.nativecore.buildArtefactType.app,org.eclipse.cdt.build.core.buildType=org.eclipse.cdt.build.core.buildType.release" description="" errorParsers="org.eclipse.cdt.core.MakeErrorParser;org.eclipse.cdt.core.GCCErrorParser;" id="org.tizen.nativecore.config.sbi.gcc45.app.release.50858447" name="Release" parent="org.tizen.nativecore.config.sbi.gcc45.app.release">
+                                       <folderInfo id="org.tizen.nativecore.config.sbi.gcc45.app.release.50858447." name="/" resourcePath="">
+                                               <toolChain id="org.tizen.nativecore.toolchain.sbi.gcc45.app.release.721127963" name="Tizen Native Toolchain" superClass="org.tizen.nativecore.toolchain.sbi.gcc45.app.release">
+                                                       <targetPlatform binaryParser="org.eclipse.cdt.core.ELF" id="org.tizen.nativeide.target.sbi.gnu.platform.base.875521583" osList="linux,win32" superClass="org.tizen.nativeide.target.sbi.gnu.platform.base"/>
+                                                       <builder buildPath="${workspace_loc:/homescreen-efl}/Release" id="org.tizen.nativecore.target.sbi.gnu.builder.188632014" keepEnvironmentInBuildfile="false" managedBuildOn="true" name="Tizen Application Builder" superClass="org.tizen.nativecore.target.sbi.gnu.builder"/>
+                                                       <tool id="org.tizen.nativecore.tool.sbi.gnu.archiver.485441564" name="Archiver" superClass="org.tizen.nativecore.tool.sbi.gnu.archiver"/>
+                                                       <tool command="clang++" id="org.tizen.nativecore.tool.sbi.gnu.cpp.compiler.22004041" name="C++ Compiler" superClass="org.tizen.nativecore.tool.sbi.gnu.cpp.compiler">
+                                                               <option id="gnu.cpp.compiler.option.optimization.level.1193063413" name="Optimization Level" superClass="gnu.cpp.compiler.option.optimization.level" value="gnu.cpp.compiler.optimization.level.most" valueType="enumerated"/>
+                                                               <option defaultValue="gnu.cpp.compiler.debugging.level.default" id="sbi.gnu.cpp.compiler.option.debugging.level.core.771288010" name="Debug level" superClass="sbi.gnu.cpp.compiler.option.debugging.level.core" valueType="enumerated"/>
+                                                               <option defaultValue="false" id="sbi.gnu.cpp.compiler.option.misc.pic.core.975034741" name="-fPIC option" superClass="sbi.gnu.cpp.compiler.option.misc.pic.core" valueType="boolean"/>
+                                                               <option id="sbi.gnu.cpp.compiler.option.780706986" name="Tizen-Target" superClass="sbi.gnu.cpp.compiler.option" valueType="userObjs">
+                                                                       <listOptionValue builtIn="false" value="mobile-3.0-emulator.core_llvm36.i386.core.app"/>
                                                                </option>
-                                                               <option id="sbi.gnu.cpp.compiler.option.frameworks_inc.core.133390339" name="Tizen-Frameworks-Include-Path" superClass="sbi.gnu.cpp.compiler.option.frameworks_inc.core" valueType="includePath">
+                                                               <option id="sbi.gnu.cpp.compiler.option.frameworks_inc.core.872124797" name="Tizen-Frameworks-Include-Path" superClass="sbi.gnu.cpp.compiler.option.frameworks_inc.core" valueType="includePath">
                                                                        <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/libxml2&quot;"/>
                                                                        <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include&quot;"/>
                                                                        <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/appcore-agent&quot;"/>
                                                                        <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/base&quot;"/>
                                                                        <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/cairo&quot;"/>
                                                                        <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/calendar-service2&quot;"/>
-                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/call-manager&quot;"/>
                                                                        <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/chromium-ewk&quot;"/>
                                                                        <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ckm&quot;"/>
                                                                        <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/contacts-svc&quot;"/>
                                                                        <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/content&quot;"/>
                                                                        <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/context-service&quot;"/>
-                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/csf&quot;"/>
                                                                        <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/dali&quot;"/>
                                                                        <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/dali-toolkit&quot;"/>
                                                                        <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/dbus-1.0&quot;"/>
                                                                        <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eio-1&quot;"/>
                                                                        <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eldbus-1&quot;"/>
                                                                        <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/elementary-1&quot;"/>
-                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/email-service&quot;"/>
                                                                        <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/embryo-1&quot;"/>
                                                                        <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/emile-1&quot;"/>
                                                                        <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eo-1&quot;"/>
                                                                        <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/metadata-editor&quot;"/>
                                                                        <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/minicontrol&quot;"/>
                                                                        <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/minizip&quot;"/>
-                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/msg-service&quot;"/>
                                                                        <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/network&quot;"/>
                                                                        <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/notification&quot;"/>
                                                                        <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/nsd/&quot;"/>
                                                                        <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/storage&quot;"/>
                                                                        <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/system&quot;"/>
                                                                        <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/telephony&quot;"/>
-                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/telephony-client&quot;"/>
-                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ug-1&quot;"/>
                                                                        <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ui&quot;"/>
-                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/vconf&quot;"/>
                                                                        <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/web&quot;"/>
                                                                        <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/widget_service&quot;"/>
                                                                        <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/widget_viewer_evas&quot;"/>
                                                                        <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/lib/dbus-1.0/include&quot;"/>
                                                                        <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/lib/glib-2.0/include&quot;"/>
                                                                </option>
-                                                               <option id="sbi.gnu.cpp.compiler.option.frameworks_cflags.core.910005025" name="Tizen-Frameworks-Other-Cflags" superClass="sbi.gnu.cpp.compiler.option.frameworks_cflags.core" valueType="stringList">
+                                                               <option id="sbi.gnu.cpp.compiler.option.frameworks_cflags.core.922410099" name="Tizen-Frameworks-Other-Cflags" superClass="sbi.gnu.cpp.compiler.option.frameworks_cflags.core" valueType="stringList">
                                                                        <listOptionValue builtIn="false" value="${TC_COMPILER_MISC}"/>
                                                                        <listOptionValue builtIn="false" value="${RS_COMPILER_MISC}"/>
                                                                        <listOptionValue builtIn="false" value=" -fPIE"/>
                                                                        <listOptionValue builtIn="false" value="--sysroot=&quot;${SBI_SYSROOT}&quot;"/>
-                                                                       <listOptionValue builtIn="false" value="-mthumb"/>
                                                                </option>
-                                                               <option id="gnu.cpp.compiler.option.include.paths.1199010483" name="Include paths (-I)" superClass="gnu.cpp.compiler.option.include.paths" valueType="includePath">
+                                                               <option id="gnu.cpp.compiler.option.include.paths.1536389444" name="Include paths (-I)" superClass="gnu.cpp.compiler.option.include.paths" valueType="includePath">
                                                                        <listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/inc}&quot;"/>
                                                                </option>
-                                                               <option id="sbi.gnu.cpp.compiler.option.frameworks.core.1176069422" name="Tizen-Frameworks" superClass="sbi.gnu.cpp.compiler.option.frameworks.core" valueType="userObjs">
+                                                               <option id="sbi.gnu.cpp.compiler.option.frameworks.core.1461368416" name="Tizen-Frameworks" superClass="sbi.gnu.cpp.compiler.option.frameworks.core" valueType="userObjs">
                                                                        <listOptionValue builtIn="false" value="Native_API"/>
                                                                </option>
-                                                               <inputType id="cdt.managedbuild.tool.gnu.cpp.compiler.input.89326711" superClass="cdt.managedbuild.tool.gnu.cpp.compiler.input"/>
+                                                               <inputType id="cdt.managedbuild.tool.gnu.cpp.compiler.input.406011049" superClass="cdt.managedbuild.tool.gnu.cpp.compiler.input"/>
                                                        </tool>
-                                                       <tool command="clang" id="org.tizen.nativecore.tool.sbi.gnu.c.compiler.294304728" name="C Compiler" superClass="org.tizen.nativecore.tool.sbi.gnu.c.compiler">
-                                                               <option defaultValue="gnu.c.optimization.level.most" id="gnu.c.compiler.option.optimization.level.1141468336" name="Optimization Level" superClass="gnu.c.compiler.option.optimization.level" valueType="enumerated"/>
-                                                               <option defaultValue="gnu.c.debugging.level.default" id="sbi.gnu.c.compiler.option.debugging.level.core.2046417134" name="Debug level" superClass="sbi.gnu.c.compiler.option.debugging.level.core" valueType="enumerated"/>
-                                                               <option id="sbi.gnu.c.compiler.option.727198148" name="Tizen-Target" superClass="sbi.gnu.c.compiler.option" valueType="userObjs">
-                                                                       <listOptionValue builtIn="false" value="mobile-3.0-device.core_llvm36.armel.core.app"/>
+                                                       <tool command="clang" id="org.tizen.nativecore.tool.sbi.gnu.c.compiler.1327751253" name="C Compiler" superClass="org.tizen.nativecore.tool.sbi.gnu.c.compiler">
+                                                               <option defaultValue="gnu.c.optimization.level.most" id="gnu.c.compiler.option.optimization.level.629765892" name="Optimization Level" superClass="gnu.c.compiler.option.optimization.level" valueType="enumerated"/>
+                                                               <option defaultValue="gnu.c.debugging.level.default" id="sbi.gnu.c.compiler.option.debugging.level.core.1919683359" name="Debug level" superClass="sbi.gnu.c.compiler.option.debugging.level.core" valueType="enumerated"/>
+                                                               <option defaultValue="false" id="sbi.gnu.c.compiler.option.misc.pic.core.1036614805" name="-fPIC option" superClass="sbi.gnu.c.compiler.option.misc.pic.core" valueType="boolean"/>
+                                                               <option id="sbi.gnu.c.compiler.option.1119510515" name="Tizen-Target" superClass="sbi.gnu.c.compiler.option" valueType="userObjs">
+                                                                       <listOptionValue builtIn="false" value="mobile-3.0-emulator.core_llvm36.i386.core.app"/>
                                                                </option>
-                                                               <option id="sbi.gnu.c.compiler.option.frameworks_inc.core.690360448" name="Tizen-Frameworks-Include-Path" superClass="sbi.gnu.c.compiler.option.frameworks_inc.core" valueType="includePath">
+                                                               <option id="sbi.gnu.c.compiler.option.frameworks_inc.core.697441456" name="Tizen-Frameworks-Include-Path" superClass="sbi.gnu.c.compiler.option.frameworks_inc.core" valueType="includePath">
                                                                        <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/libxml2&quot;"/>
                                                                        <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include&quot;"/>
                                                                        <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/appcore-agent&quot;"/>
                                                                        <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/base&quot;"/>
                                                                        <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/cairo&quot;"/>
                                                                        <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/calendar-service2&quot;"/>
-                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/call-manager&quot;"/>
                                                                        <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/chromium-ewk&quot;"/>
                                                                        <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ckm&quot;"/>
                                                                        <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/contacts-svc&quot;"/>
                                                                        <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/content&quot;"/>
                                                                        <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/context-service&quot;"/>
-                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/csf&quot;"/>
                                                                        <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/dali&quot;"/>
                                                                        <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/dali-toolkit&quot;"/>
                                                                        <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/dbus-1.0&quot;"/>
                                                                        <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eio-1&quot;"/>
                                                                        <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eldbus-1&quot;"/>
                                                                        <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/elementary-1&quot;"/>
-                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/email-service&quot;"/>
                                                                        <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/embryo-1&quot;"/>
                                                                        <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/emile-1&quot;"/>
                                                                        <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eo-1&quot;"/>
                                                                        <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/metadata-editor&quot;"/>
                                                                        <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/minicontrol&quot;"/>
                                                                        <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/minizip&quot;"/>
-                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/msg-service&quot;"/>
                                                                        <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/network&quot;"/>
                                                                        <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/notification&quot;"/>
                                                                        <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/nsd/&quot;"/>
                                                                        <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/storage&quot;"/>
                                                                        <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/system&quot;"/>
                                                                        <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/telephony&quot;"/>
-                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/telephony-client&quot;"/>
-                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ug-1&quot;"/>
                                                                        <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ui&quot;"/>
-                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/vconf&quot;"/>
                                                                        <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/web&quot;"/>
                                                                        <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/widget_service&quot;"/>
                                                                        <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/widget_viewer_evas&quot;"/>
                                                                        <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/lib/dbus-1.0/include&quot;"/>
                                                                        <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/lib/glib-2.0/include&quot;"/>
                                                                </option>
-                                                               <option id="sbi.gnu.c.compiler.option.frameworks_cflags.core.678071812" name="Tizen-Frameworks-Other-Cflags" superClass="sbi.gnu.c.compiler.option.frameworks_cflags.core" valueType="stringList">
+                                                               <option id="sbi.gnu.c.compiler.option.frameworks_cflags.core.952661081" name="Tizen-Frameworks-Other-Cflags" superClass="sbi.gnu.c.compiler.option.frameworks_cflags.core" valueType="stringList">
                                                                        <listOptionValue builtIn="false" value="${TC_COMPILER_MISC}"/>
                                                                        <listOptionValue builtIn="false" value="${RS_COMPILER_MISC}"/>
                                                                        <listOptionValue builtIn="false" value=" -fPIE"/>
                                                                        <listOptionValue builtIn="false" value="--sysroot=&quot;${SBI_SYSROOT}&quot;"/>
-                                                                       <listOptionValue builtIn="false" value="-mthumb"/>
                                                                </option>
-                                                               <option id="gnu.c.compiler.option.include.paths.1012992330" name="Include paths (-I)" superClass="gnu.c.compiler.option.include.paths" valueType="includePath">
+                                                               <option id="gnu.c.compiler.option.include.paths.1850898085" name="Include paths (-I)" superClass="gnu.c.compiler.option.include.paths" valueType="includePath">
                                                                        <listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/inc}&quot;"/>
                                                                </option>
-                                                               <option id="sbi.gnu.c.compiler.option.frameworks.core.240522578" name="Tizen-Frameworks" superClass="sbi.gnu.c.compiler.option.frameworks.core" valueType="userObjs">
+                                                               <option id="sbi.gnu.c.compiler.option.frameworks.core.1962098092" name="Tizen-Frameworks" superClass="sbi.gnu.c.compiler.option.frameworks.core" valueType="userObjs">
                                                                        <listOptionValue builtIn="false" value="Native_API"/>
                                                                </option>
-                                                               <inputType id="cdt.managedbuild.tool.gnu.c.compiler.input.232322963" superClass="cdt.managedbuild.tool.gnu.c.compiler.input"/>
+                                                               <inputType id="cdt.managedbuild.tool.gnu.c.compiler.input.1236126068" superClass="cdt.managedbuild.tool.gnu.c.compiler.input"/>
                                                        </tool>
-                                                       <tool id="org.tizen.nativeide.tool.sbi.gnu.c.linker.base.748121921" name="C Linker" superClass="org.tizen.nativeide.tool.sbi.gnu.c.linker.base"/>
-                                                       <tool command="clang++" id="org.tizen.nativecore.tool.sbi.gnu.cpp.linker.695786384" name="C++ Linker" superClass="org.tizen.nativecore.tool.sbi.gnu.cpp.linker">
-                                                               <option id="sbi.gnu.cpp.linker.option.frameworks_lflags.core.818720214" name="Tizen-Frameworks-Other-Lflags" superClass="sbi.gnu.cpp.linker.option.frameworks_lflags.core" valueType="stringList">
+                                                       <tool id="org.tizen.nativeide.tool.sbi.gnu.c.linker.base.120077218" name="C Linker" superClass="org.tizen.nativeide.tool.sbi.gnu.c.linker.base"/>
+                                                       <tool command="clang++" id="org.tizen.nativecore.tool.sbi.gnu.cpp.linker.1795755067" name="C++ Linker" superClass="org.tizen.nativecore.tool.sbi.gnu.cpp.linker">
+                                                               <option defaultValue="false" id="sbi.gnu.cpp.linker.option.shared_flag.core.1727463595" name="Linker.Shared" superClass="sbi.gnu.cpp.linker.option.shared_flag.core" valueType="boolean"/>
+                                                               <option defaultValue="false" id="sbi.gnu.cpp.linker.option.noundefined.core.1115410998" name="Report unresolved symbol references (-Wl,--no-undefined)" superClass="sbi.gnu.cpp.linker.option.noundefined.core" valueType="boolean"/>
+                                                               <option id="sbi.gnu.cpp.linker.option.frameworks_lflags.core.71473186" name="Tizen-Frameworks-Other-Lflags" superClass="sbi.gnu.cpp.linker.option.frameworks_lflags.core" valueType="stringList">
                                                                        <listOptionValue builtIn="false" value="${TC_LINKER_MISC}"/>
                                                                        <listOptionValue builtIn="false" value="${RS_LINKER_MISC}"/>
                                                                        <listOptionValue builtIn="false" value="-pie -lpthread "/>
                                                                        <listOptionValue builtIn="false" value="-L&quot;${SBI_SYSROOT}/usr/lib&quot;"/>
                                                                        <listOptionValue builtIn="false" value="$(RS_LIBRARIES)"/>
                                                                </option>
-                                                               <option id="gnu.cpp.link.option.paths.1029283368" name="Library search path (-L)" superClass="gnu.cpp.link.option.paths" valueType="libPaths">
+                                                               <option id="gnu.cpp.link.option.paths.1204036303" name="Library search path (-L)" superClass="gnu.cpp.link.option.paths" valueType="libPaths">
                                                                        <listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/lib}&quot;"/>
                                                                </option>
-                                                               <inputType id="cdt.managedbuild.tool.gnu.cpp.linker.input.519453671" superClass="cdt.managedbuild.tool.gnu.cpp.linker.input">
+                                                               <inputType id="cdt.managedbuild.tool.gnu.cpp.linker.input.1564088374" superClass="cdt.managedbuild.tool.gnu.cpp.linker.input">
                                                                        <additionalInput kind="additionalinputdependency" paths="$(USER_OBJS)"/>
                                                                        <additionalInput kind="additionalinput" paths="$(LIBS)"/>
                                                                </inputType>
                                                        </tool>
-                                                       <tool command="arm-linux-gnueabi-as" id="org.tizen.nativeapp.tool.sbi.gnu.assembler.base.1413067499" name="Assembler" superClass="org.tizen.nativeapp.tool.sbi.gnu.assembler.base">
-                                                               <inputType id="cdt.managedbuild.tool.gnu.assembler.input.1229412024" superClass="cdt.managedbuild.tool.gnu.assembler.input"/>
-                                                       </tool>
-                                                       <tool id="org.tizen.nativecore.tool.fnmapgen.1885874134" name="C FN-Map Generator" superClass="org.tizen.nativecore.tool.fnmapgen"/>
-                                                       <tool id="org.tizen.nativecore.tool.fnmapgen.cpp.1579735420" name="C++ FN-Map Generator" superClass="org.tizen.nativecore.tool.fnmapgen.cpp"/>
-                                                       <tool id="org.tizen.nativecore.tool.ast.147726184" name="C Static Analyzer" superClass="org.tizen.nativecore.tool.ast"/>
-                                                       <tool id="org.tizen.nativecore.tool.ast.cpp.2105599226" name="C++ Static Analyzer" superClass="org.tizen.nativecore.tool.ast.cpp"/>
-                                                       <tool id="org.tizen.nativecore.tool.sbi.gnu.archiver.mergelib.2082498077" name="Archive Generator" superClass="org.tizen.nativecore.tool.sbi.gnu.archiver.mergelib"/>
-                                                       <tool id="org.tizen.nativecore.tool.sbi.po.compiler.535034702" name="PO Resource Compiler" superClass="org.tizen.nativecore.tool.sbi.po.compiler"/>
-                                                       <tool id="org.tizen.nativecore.tool.sbi.edc.compiler.2124848303" name="EDC Resource Compiler" superClass="org.tizen.nativecore.tool.sbi.edc.compiler">
-                                                               <option id="sbi.gnu.edc.compiler.option.misc.id.8914820" name="Image Path (-id)" superClass="sbi.gnu.edc.compiler.option.misc.id" valueType="stringList">
-                                                                       <listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}}/res/images&quot;"/>
-                                                               </option>
+                                                       <tool command="i386-linux-gnueabi-as" id="org.tizen.nativeapp.tool.sbi.gnu.assembler.base.721400966" name="Assembler" superClass="org.tizen.nativeapp.tool.sbi.gnu.assembler.base">
+                                                               <inputType id="cdt.managedbuild.tool.gnu.assembler.input.1011868730" superClass="cdt.managedbuild.tool.gnu.assembler.input"/>
                                                        </tool>
+                                                       <tool id="org.tizen.nativecore.tool.fnmapgen.1935759911" name="C FN-Map Generator" superClass="org.tizen.nativecore.tool.fnmapgen"/>
+                                                       <tool id="org.tizen.nativecore.tool.fnmapgen.cpp.1062689638" name="C++ FN-Map Generator" superClass="org.tizen.nativecore.tool.fnmapgen.cpp"/>
+                                                       <tool id="org.tizen.nativecore.tool.ast.1953566159" name="C Static Analyzer" superClass="org.tizen.nativecore.tool.ast"/>
+                                                       <tool id="org.tizen.nativecore.tool.ast.cpp.138080972" name="C++ Static Analyzer" superClass="org.tizen.nativecore.tool.ast.cpp"/>
+                                                       <tool id="org.tizen.nativecore.tool.sbi.gnu.archiver.mergelib.853425019" name="Archive Generator" superClass="org.tizen.nativecore.tool.sbi.gnu.archiver.mergelib"/>
+                                                       <tool id="org.tizen.nativecore.tool.sbi.po.compiler.1249500752" name="PO Resource Compiler" superClass="org.tizen.nativecore.tool.sbi.po.compiler"/>
+                                                       <tool id="org.tizen.nativecore.tool.sbi.edc.compiler.682029380" name="EDC Resource Compiler" superClass="org.tizen.nativecore.tool.sbi.edc.compiler"/>
                                                </toolChain>
                                        </folderInfo>
                                        <sourceEntries>
                </cconfiguration>
        </storageModule>
        <storageModule moduleId="cdtBuildSystem" version="4.0.0">
-               <project id="homescreen-efl.org.tizen.nativecore.target.sbi.gcc45.app.1151077187" name="Tizen Native Application" projectType="org.tizen.nativecore.target.sbi.gcc45.app"/>
+               <project id="homescreen-efl.org.tizen.nativecore.target.sbi.gcc45.app.40763582" name="Tizen Native Application" projectType="org.tizen.nativecore.target.sbi.gcc45.app"/>
        </storageModule>
        <storageModule moduleId="scannerConfiguration">
                <autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId=""/>
-               <scannerConfigBuildInfo instanceId="org.tizen.nativecore.config.sbi.gcc45.app.release.1299462451">
+               <scannerConfigBuildInfo instanceId="org.tizen.nativecore.config.sbi.gcc45.app.debug.1938657471">
                        <autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId=""/>
                </scannerConfigBuildInfo>
-               <scannerConfigBuildInfo instanceId="org.tizen.nativecore.config.sbi.gcc45.app.debug.1160917458">
+               <scannerConfigBuildInfo instanceId="org.tizen.nativecore.config.sbi.gcc45.app.release.50858447">
                        <autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId=""/>
                </scannerConfigBuildInfo>
        </storageModule>
        <storageModule moduleId="org.eclipse.cdt.core.LanguageSettingsProviders"/>
-       <storageModule moduleId="refreshScope" versionNumber="2">
-               <configuration configurationName="Debug">
-                       <resource resourceType="PROJECT" workspacePath="/homescreen-efl"/>
-               </configuration>
-               <configuration configurationName="Release">
-                       <resource resourceType="PROJECT" workspacePath="/homescreen-efl"/>
-               </configuration>
-       </storageModule>
+       <storageModule moduleId="refreshScope"/>
 </cproject>
old mode 100644 (file)
new mode 100755 (executable)
index c951582..65fa71e
@@ -1,6 +1,2 @@
-.sdk_delta.info
-.sign/
-.rds_delta
-Debug/
-crash-info/
-/Release
+/Debug
+/SA_Report
old mode 100644 (file)
new mode 100755 (executable)
index f4406b9..ec5f53c
--- a/.project
+++ b/.project
@@ -6,11 +6,6 @@
        </projects>
        <buildSpec>
                <buildCommand>
-                       <name>org.tizen.nativecore.apichecker.apicheckerbuilder</name>
-                       <arguments>
-                       </arguments>
-               </buildCommand>
-               <buildCommand>
                        <name>org.eclipse.cdt.managedbuilder.core.genmakebuilder</name>
                        <arguments>
                        </arguments>
                <nature>org.eclipse.cdt.core.ccnature</nature>
                <nature>org.eclipse.cdt.managedbuilder.core.managedBuildNature</nature>
                <nature>org.eclipse.cdt.managedbuilder.core.ScannerConfigNature</nature>
-               <nature>org.tizen.nativecore.apichecker.apicheckernature</nature>
        </natures>
        <filteredResources>
                <filter>
-                       <id>1453299913505</id>
+                       <id>1460334470859</id>
                        <name></name>
                        <type>26</type>
                        <matcher>
@@ -40,7 +34,7 @@
                        </matcher>
                </filter>
                <filter>
-                       <id>1453299913511</id>
+                       <id>1460334470865</id>
                        <name></name>
                        <type>6</type>
                        <matcher>
diff --git a/.rds_delta b/.rds_delta
new file mode 100644 (file)
index 0000000..a8acc85
--- /dev/null
@@ -0,0 +1,6 @@
+#delete
+#add
+#modify
+author-signature.xml
+signature1.xml
+bin/homescreen-efl
diff --git a/.sdk_delta.info b/.sdk_delta.info
new file mode 100644 (file)
index 0000000..d995723
Binary files /dev/null and b/.sdk_delta.info differ
diff --git a/.sign/.manifest.tmp b/.sign/.manifest.tmp
new file mode 100644 (file)
index 0000000..151acc1
--- /dev/null
@@ -0,0 +1,131 @@
+bin/homescreen-efl__DEL__jHTodhfGSzuBXE+1HL1lVhn+yw11Kejbrogx+a3p79U=
+res/edje/app_grid.edj__DEL__NwYzJ/GMtZfhiMsknC8Eyy5NoZV5C0TWgVZbCWFZUsw=
+res/edje/color_classes.edj__DEL__dKHQu2M9WV3vhLhEFZ1GXPgj2l3HD2ttWwzeODPjRLQ=
+res/edje/folder.edj__DEL__2jrbMBB9ks28EztSB4oleYk9kr1ibDl82bkgcQ1NNGE=
+res/edje/folder_entry.edj__DEL__4P1VdVa5zlRmyicU2R5u+Du9uElAMrELCAIsCbx166Q=
+res/edje/home.edj__DEL__d7+H65K6d4J0m+Tzx9d90ATTKMNEGbMMMoKwAzvONQQ=
+res/edje/icon.edj__DEL__fuxsgLTQispcFj03ND0fUjYMJeb/KC00wegVl08VCQA=
+res/edje/index_element.edj__DEL__GUW9sPvLE1lHVHD/n9SJKsKeGxxHZYR9rLirrtkG2ek=
+res/edje/livebox_container.edj__DEL__D1ICg7qhRCF9QYd8LHAy41RLAsKNoe9pWVvkTAEIIP0=
+res/edje/livebox_layout.edj__DEL__gNz3htp/PRFJ1S9Ljq2hmviyIMOHIv6G96EUL50NnGs=
+res/edje/page_edit.edj__DEL__Ch7k4jKlEeVJS3cUQHVw0s2X+zeJJdH46XPNo6XnH+0=
+res/edje/page_edit_util.edj__DEL__MEhKmHIGVXj4z5i285leiqk6EtNj9wSSJgBPEYArIn8=
+res/edje/preview.edj__DEL__MyVdyVwIebuLrjAYKbzKbuoEahYanMmACOOXfOPROlI=
+res/images/00_scroll_bar_h.png__DEL__YJ+YZGP8PQuniC+wC4rikDLMLm67eHreo1Fe1Am+S9Y=
+res/images/00_scroll_bar_v.png__DEL__69srWlgmxtQh/3Y2I//rNhQmOHBCekDEBB+VttdBs1k=
+res/images/1x1 preview shortcut.png__DEL__3fhDKx1Nwz88m/n3zE6X+0jcEkpiKVkCcwaBuOZ68z0=
+res/images/all_apps_icon_menu.png__DEL__nvDO9TegVi2H3XrAynKsoeVUjBJTAVzGWkln76/Izuk=
+res/images/app_icon_checkbox_bg.png__DEL__uFBxGhiP/IM/JTmjkXd6ZA6er9vIt6Gok37L9/Ee4fQ=
+res/images/app_icon_checkbox_border.png__DEL__y9kSJGK7ctV0y9Go4TKAU7dSNewZrRvEfj/HthGOu2A=
+res/images/app_icon_checkbox_on.png__DEL__rJzE+OVrzZm9HJFzeBi1+8FPano9ukrWB10nQV82m1o=
+res/images/app_icon_downloadable.png__DEL__4gsz+F8gXj4HxFUp3dw9PyRHrtT1kx6Hz4mpFvhUXNU=
+res/images/app_press_117.png__DEL__E0bg/oVwC1pn7GMC+aZdkXgJFEXghqC3BrLkLWgt9Ko=
+res/images/btn_add_nor.png__DEL__ctGcriXx4o5vsokgJs3sMO6WizFgsHgwnCYCZ/pygNU=
+res/images/btn_add_press.png__DEL__Ewy8JNsbphGe74DLTnSbzS+UvAeR7Nb9Av7Wsdi7hTg=
+res/images/btn_delete_nor.png__DEL__87nZJ0uJhX3Kx2dv6BMUmHDw/4xagceKslZ7bML7hvo=
+res/images/btn_delete_press.png__DEL__y/oiTmwzPmU93wfx6D3bfCr5fKoc1IBSRmHvlpTEQtI=
+res/images/btn_input_clear.png__DEL__kyKG5qvaSadrtzVDojN1oC8lay9BJBzUqLTpJtaJr8A=
+res/images/core_page_indicator_on.png__DEL__HM+yEA7kUCEMRryHHz8v/ZQq645n2iarGYmWJK+MjkA=
+res/images/core_page_indicator_on_horizontal.png__DEL__0c7mkvcdYnXZToRUScakcXFG8if7PQ5kCjJqbD0d5IM=
+res/images/default.png__DEL__Nz+SecsjmNuidhKNvmQ5+3nasrw8vI4q/bjPgbfx5fI=
+res/images/default_bg.png__DEL__0gUX7G8t9qf8/bUeaHc1qp9EXAT934YJ9dYS1wupGI4=
+res/images/edit_all_page_add.png__DEL__NaFgj2lXKUfBbZk4VmOeQamahPg7kXuwItRyeq8/bSY=
+res/images/edit_all_page_add_press.png__DEL__nN+eVeUdDmM7ZmWzctRbHQ0iGchd9tW87QWttAgq33c=
+res/images/edit_all_page_bg.png__DEL__UHI4fmgvajrTK2xKLEGYUy3smYig7kXKoaAalYmIpfk=
+res/images/edit_all_page_create.png__DEL__wO2fjNlycCR3in29oxOae1y7t+GFF/qs1y+zlw9kMGw=
+res/images/edit_all_page_drag.png__DEL__QZcF6UVugz5DGrb237UpVkRFAfW7nGwFVw1wktOnNM8=
+res/images/edit_page.png__DEL__0xcFTeSZxjt3L9/ReXijbY7dVaEYY45JQjMUdbVt0Tk=
+res/images/edit_page_current.png__DEL__nUA6AkJXcGhNtJdi2EyxsjKV+lVwwJNkd0tsSsuf9Ic=
+res/images/folder_appicon_bg.png__DEL__SEoJYrMNmfMDDYh6p7u9DBNZOabjbOT9Mellsy3RT0I=
+res/images/folder_appicon_bg_impossible.png__DEL__zsCUAlXZcgZpTpvNM8pwzCCvzQxDtltJf7V6YA0DT4I=
+res/images/folder_appicon_bg_possible.png__DEL__z5iytDrt/KDlOXhLpUdQYzzujZE6edmRR6lasSQewHw=
+res/images/folder_appicon_empty_bg.png__DEL__Ysst9mhNQVr8gPEe51C2f9+N0CTjbM+F/xeIf+bdsvw=
+res/images/folder_popup_bg.png__DEL__APqmJrt2ZwFNUC2PENUcmJ5cItcb+xkHI1KbVut6IsA=
+res/images/frame.png__DEL__gpq0MLAf9szSx3ow75FRsA0KUC0pS1no+iRjNZS/z9I=
+res/images/home_button_bg.png__DEL__l4faVb4KE9pXkjtVxKT1aAtH66f3gAKcg/elnRBJ+U8=
+res/images/home_edit_bg.#.png__DEL__TJbfUGn+pdFvEoKFUju4a0ja5t8UP2tEZQNG8BbNH8I=
+res/images/home_icon_home.png__DEL__+tDFf7ffkLuqu9WiH11YCiAXj7MwEwRQnL1Raw+dWrg=
+res/images/home_icon_menu.png__DEL__H/HrJq65K3MHJNE20myd6+iXIfX5Mew9KFlOG5+F+/M=
+res/images/home_icon_reorder.png__DEL__zZS2Q++ggh8jqgvWfuxrNQRMYj/1N2ecSB4VIwOYxJo=
+res/images/icon_badge_container.png__DEL__jT49M8iXi1RBYngrDVZGYqunMNnGE2W9RCnqcJIU1WM=
+res/images/icon_drawer_search.png__DEL__JjUqvUuBNWMhBdt6cWwe2C8s5H4xf+RlWmGBStmT+wk=
+res/images/icon_list_close.png__DEL__3ZDUMujXsuKQdll1qsq0QIASsX05Zq/NiOHCYwxi6zE=
+res/images/icon_list_open.png__DEL__Dx8TBTedzgSRAdGQPH7xLrZnsgHNk/X4hDd0o005WJI=
+res/images/icon_shadow.png__DEL__4tAytYuYy+7jFVA4XC+Vct10Oeu+QXy0vrOnO8pKWoY=
+res/images/livebox/preview_FMradio.png__DEL__AQVTOdG0Xxk+g6m+MziA9AFITnqAVRgGwO40tndMJrk=
+res/images/livebox/preview_alarm.png__DEL__P6VUWAelllZtDLqc+z3a5eBazvXGygHu6/NE9tynNu4=
+res/images/livebox/preview_calendar.png__DEL__JdyiUyAyT0//bCB3kVWmTiPXEiF0y1Hx1rpRPWQAczU=
+res/images/livebox/preview_contact_4x2.png__DEL__EijM8rmL/AmC3oYZJIuzsOThn2ZRjBYfPtkUdtLakZg=
+res/images/livebox/preview_contact_4x4.png__DEL__z4fEcK/PfvN90HO0dz5HTddZxse5IJGRFMnchoWneTY=
+res/images/livebox/preview_dual_clock.png__DEL__nJYPwPWfBSTvQ+BfSUInLKrG3iAVzp9sWYpBsNdmVeE=
+res/images/livebox/preview_gallery.png__DEL__MIbmuA6Puhz9y6hp6Ydn40OHN9pAm/V0uQlACSoqIfc=
+res/images/livebox/preview_internet_4x4.png__DEL__L8tH1GzIp268bxbR7CXLvVBM2rhweF47HBw+jacnC1k=
+res/images/livebox/preview_music.png__DEL__6P6bjj/kkHI3A2Vf7v8iwq0DnTon8EUpv/8AfTKaOIk=
+res/images/livebox/preview_singel_clock.png__DEL__H9/q7POQQC6W6kE2rSCohiPO4VkpWOnXgB1enKgRccc=
+res/images/livebox/preview_weather_4x2.png__DEL__A0mXL8hy2r6gsM0p2z9NwcMl+PBKU4i6ifNUvoZLZuE=
+res/images/livebox/preview_weather_4x4.png__DEL__ZK0SE6HQ7gCD7w9HZafL1fdDhM+/WnNRn9b5F1fdC94=
+res/images/preview_bg_1x1.png__DEL__HpA+xWYlnSunpHnXCNY+3j7hzXFjuuTrrEQ7KkGxnio=
+res/images/preview_bg_2x1.png__DEL__IKnpuzRXuaSZnGRmDCKtxQkEd0ieYS7toOq3J+4LE3w=
+res/images/preview_bg_2x2.png__DEL__xX441XxwNixUXRtG3+wvnuH6HQd69a+4GK+p+b8qF4c=
+res/images/preview_bg_4x1.png__DEL__QoWfaOYy7VtayNTC9RJZYVEC1JWLrmDxStYIREMYwhc=
+res/images/preview_bg_4x2.png__DEL__mEn+5/4SKC8p6o7KgG6JBfPm8na7VOX6Ln6i49XKKmY=
+res/images/preview_bg_4x3.png__DEL__+Khr1HDbJyEEftNIVlccG8/seZZEltRSFx9VY5hWH4s=
+res/images/preview_bg_4x4.png__DEL__o+c/XfTxZHg9we0G+ZVEGgzFWF4Tna03ohGwbyXTl4M=
+res/images/reposition_bg.png__DEL__bW9Tef7odloVYkQIU81w0lFsOsAN+POUSiBqrfykff4=
+res/images/reposition_bg_shadow.png__DEL__Dl4uB/n8AICNG+OjimHs0xXondtjJ7FJK7duG49UB10=
+res/images/resize_button.png__DEL__geCmfkfJQwsznI9mgTWmY4cDR/xrXwmdrFmkOk2ZH6E=
+res/images/scroll_bar.9.png__DEL__1zi7TzVEge+yg9ENOue8+0RE+U6XzqOnDL/iuO6QkLA=
+res/images/unknown.png__DEL__wmGvOtxTMRgi79PbSy9BCuj/rizSbAfe/ciJTP5v+P8=
+res/locale/ar/LC_MESSAGES/homescreen-efl.mo__DEL__qYLt6zOsKvcaFK1EmL/AmZeNYaebTyumu88p/F2ZRgk=
+res/locale/az/LC_MESSAGES/homescreen-efl.mo__DEL__SFnYAjlhghodT4aZrpOQ/rJEp9y65oZe9uOVThnRatc=
+res/locale/bg/LC_MESSAGES/homescreen-efl.mo__DEL__Cywgos8YvOdNyArlKSMvGm2SRWBgcshB3EmLuylPjkk=
+res/locale/ca/LC_MESSAGES/homescreen-efl.mo__DEL__69sIsKYA4LLM5k4lEUAmydXZG94W4uWyiyl1Ey65wqs=
+res/locale/cs/LC_MESSAGES/homescreen-efl.mo__DEL__7aP+5lf/Q7jl51WQb9Ib0mao/9Bisc8LNaIcnM98Afo=
+res/locale/da/LC_MESSAGES/homescreen-efl.mo__DEL__j9e64M1wxPEtaMj2b+2H80BNXnDpMm0SadpXGfJfqI8=
+res/locale/de/LC_MESSAGES/homescreen-efl.mo__DEL__nssSSRiMDZqObxD9zmbeP4ToT/xqlwk2sF4ENCNR1YM=
+res/locale/el_GR/LC_MESSAGES/homescreen-efl.mo__DEL__+XZHDGAYBheuyOscV/Tam1KavBPt7GlX7nWkfvoVBhQ=
+res/locale/en/LC_MESSAGES/homescreen-efl.mo__DEL__QS10uzT75NXFwfJEZIPmfd6w61j8E8tagZw36UZQvLk=
+res/locale/en_PH/LC_MESSAGES/homescreen-efl.mo__DEL__q46c5jFrppMUq3bs9RntvPXgDDhLsj3whHUOAK9GAN4=
+res/locale/en_US/LC_MESSAGES/homescreen-efl.mo__DEL__GAh/TT0xbRf8oZoi5U3C1IXr04ybeGGCkrF+dIwmTOk=
+res/locale/es_ES/LC_MESSAGES/homescreen-efl.mo__DEL__L8jLHeLsWt3uNlLDZUHoIXv/FfbsCjzNZswiSSrw9Uw=
+res/locale/es_US/LC_MESSAGES/homescreen-efl.mo__DEL__hT6HAUYSpKkyyGI7bR+8GVeGp79V7XIgw4+JT4ePHqs=
+res/locale/et/LC_MESSAGES/homescreen-efl.mo__DEL__2Ndnktb0urcCrQrHdJDjF9la3rrIqQ+wLc0Zjt/rLl4=
+res/locale/eu/LC_MESSAGES/homescreen-efl.mo__DEL__KJ120FgYGz6111kBBS6qUG8rtQ5yod2A/XY/zO9ILlM=
+res/locale/fi/LC_MESSAGES/homescreen-efl.mo__DEL__AC+NPEpPHYR8oBlY9vmj7PEisgKjYc6IFVrxIM9vPsA=
+res/locale/fr/LC_MESSAGES/homescreen-efl.mo__DEL__cbgaXPnLwCntmAohkqD1fGD/8W3fgiZIV/kKXCmAofU=
+res/locale/fr_CA/LC_MESSAGES/homescreen-efl.mo__DEL__NZnmc9uPKiLyiJwVWoTyyNaUSe2CC+4YBXqrIAXXxIQ=
+res/locale/ga/LC_MESSAGES/homescreen-efl.mo__DEL__W3VigK2g2KACSWrX8xgj1Pc5btWQWyvApK8POwkUPso=
+res/locale/gl/LC_MESSAGES/homescreen-efl.mo__DEL__uExwxEQI/1y47oBNwcGaHO80bmARzn30f9DOMmxVm7I=
+res/locale/hi/LC_MESSAGES/homescreen-efl.mo__DEL__XcvvTyQiMgjp6Q+qAmE1E+2houbwB5yACn7ZJQe30wo=
+res/locale/hr/LC_MESSAGES/homescreen-efl.mo__DEL__Q43M/TXJhQjIZN6BcC+DuNtIbUZH9J1NYN0DLQH5OcY=
+res/locale/hu/LC_MESSAGES/homescreen-efl.mo__DEL__TO174vd4fQkUt3As0KHgPbWO8CQpj0Cq5Nwxjj010EU=
+res/locale/hy/LC_MESSAGES/homescreen-efl.mo__DEL__SmsDTn92AvsekPW2cc9pI83yJpK+gPCBm+gP1SFE1VY=
+res/locale/is/LC_MESSAGES/homescreen-efl.mo__DEL__JLhQky0B/+daufEWDO48kBkCcGx6gerkYTwLFaYXCR8=
+res/locale/it_IT/LC_MESSAGES/homescreen-efl.mo__DEL__x0l8OFvgutc3D4i6elMGSjFFnAPiJ4XVHTVDePaE+uQ=
+res/locale/ja_JP/LC_MESSAGES/homescreen-efl.mo__DEL__3lZ9Zcdx33sJC2EaVY2vVSSuJq+BMYJEbWvR2hKo5gU=
+res/locale/ka/LC_MESSAGES/homescreen-efl.mo__DEL__R9ch/KGvSLuu7K7VOEP+Os9q+uWPTSLyIi4YDihzZzY=
+res/locale/kk/LC_MESSAGES/homescreen-efl.mo__DEL__FvACiVK8pgCdQ0OeH4a+wyqDqLRxsCRFM7kJBln2KV4=
+res/locale/ko_KR/LC_MESSAGES/homescreen-efl.mo__DEL__r5otdbz7OeZmKrnRo2noPPACrvaiVEgO86uVWWMcthY=
+res/locale/lt/LC_MESSAGES/homescreen-efl.mo__DEL__zv/7pam/M6E6JboWfWYvuR65E3bzOWSOIha/MBUAR1Q=
+res/locale/lv/LC_MESSAGES/homescreen-efl.mo__DEL__XXruTOen3m3s+jzqDOnUPjvgeh+WRui+mT6ysvoDD9Y=
+res/locale/mk/LC_MESSAGES/homescreen-efl.mo__DEL__c8eK+BIXcFPjmOwu0GZwN8SpNDDzPXQGRbO1TC92HBk=
+res/locale/nb/LC_MESSAGES/homescreen-efl.mo__DEL__Cj8AEWoOboJxe5SNfIVSJInTxzzoBPx09SRXW56fhzA=
+res/locale/nl/LC_MESSAGES/homescreen-efl.mo__DEL__q9x7SHtNysPOiA2cKtKDuvqnhe6BwUR94pXzjhkqzVA=
+res/locale/pl/LC_MESSAGES/homescreen-efl.mo__DEL__XksPwpX5Tbz7FFDQ7/vzLPkGRt/XDqV/hjY2A64q+wU=
+res/locale/pt_BR/LC_MESSAGES/homescreen-efl.mo__DEL__IVi4Ot4z9Lqt4vya8j4xYZl1GVQS7pZeAjlwiqh+2o4=
+res/locale/pt_PT/LC_MESSAGES/homescreen-efl.mo__DEL__aFv4X5Ok43bwfWKobpiV/rLTzPXnCMvgsKdJj8OB2pA=
+res/locale/ro/LC_MESSAGES/homescreen-efl.mo__DEL__RjspVHVp/abhArEJ1CnYJqnek6lPEjAMCLayx/Xj0m0=
+res/locale/ru_RU/LC_MESSAGES/homescreen-efl.mo__DEL__Go6CoVQu3sfIsi2Mz80SSEPmnqRskSaF9Q5sDySYAtk=
+res/locale/sk/LC_MESSAGES/homescreen-efl.mo__DEL__4tIJ4yyz0BpuswaCw73snOvMuRgGC5JSBrCPuxPU2ow=
+res/locale/sl/LC_MESSAGES/homescreen-efl.mo__DEL__Fi8UCK9x9roWbjzg+MBzD2B3a694NAAbp+bKUXWUs0U=
+res/locale/sr/LC_MESSAGES/homescreen-efl.mo__DEL__x3/n/gcoRjXOnFHzZbePK//pkAyt1c4YLGID1/0Pj/M=
+res/locale/sv/LC_MESSAGES/homescreen-efl.mo__DEL__3qm5lJo4iSktZyMMOgN4TDwuebO/HvxTpH1OlAsogMw=
+res/locale/tr_TR/LC_MESSAGES/homescreen-efl.mo__DEL__uNhKcL0MBhQBDz9HQLthGf4dPmxX+heiRfte8bLLuUw=
+res/locale/uk/LC_MESSAGES/homescreen-efl.mo__DEL__w0QXjUJAjRHtNEXbVoqF9VRxt/e/FONY5pBMNTolZdQ=
+res/locale/uz/LC_MESSAGES/homescreen-efl.mo__DEL__1Qd8hbQGo2yGSc5Qfqyx7TFFm5GMJb0WThJoKk/CjnU=
+res/locale/zh_CN/LC_MESSAGES/homescreen-efl.mo__DEL__dSQU4CoC9yiI9SMDjX4Lp/rdYnmaJafudmzP0xOy0RQ=
+res/locale/zh_HK/LC_MESSAGES/homescreen-efl.mo__DEL__6fbM9/ol4ScNdW5OGQHpYBSjZ9q9KXM4CjjBzmhLPAU=
+res/locale/zh_TW/LC_MESSAGES/homescreen-efl.mo__DEL__LFze8kgyHYQK9yfnyAEDhHVZI71AWSjHSUeLKdkRFr0=
+shared/res/homescreen-efl.png__DEL__1d0oEZHqPn+QzNzGIHwj9ODby6x9ggFs9uOsav6jPNs=
+tizen-manifest.xml__DEL__en6pJaaSkQnQvJquunrTapiz93J1ABI9AF6gK4WBi3M=
+author-signature.xml__DEL__nhDdIrtAyw1Q8c9XtEOVIg4NVx2e1wI3Q4JQT9eKIYo=
diff --git a/.sign/author-signature.xml b/.sign/author-signature.xml
new file mode 100644 (file)
index 0000000..55bade4
--- /dev/null
@@ -0,0 +1,574 @@
+<Signature xmlns="http://www.w3.org/2000/09/xmldsig#" Id="AuthorSignature">
+<SignedInfo>
+<CanonicalizationMethod Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"></CanonicalizationMethod>
+<SignatureMethod Algorithm="http://www.w3.org/2001/04/xmldsig-more#rsa-sha256"></SignatureMethod>
+<Reference URI="bin%2Fhomescreen-efl">
+<DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"></DigestMethod>
+<DigestValue>jHTodhfGSzuBXE+1HL1lVhn+yw11Kejbrogx+a3p79U=</DigestValue>
+</Reference>
+<Reference URI="res%2Fedje%2Fapp_grid.edj">
+<DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"></DigestMethod>
+<DigestValue>NwYzJ/GMtZfhiMsknC8Eyy5NoZV5C0TWgVZbCWFZUsw=</DigestValue>
+</Reference>
+<Reference URI="res%2Fedje%2Fcolor_classes.edj">
+<DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"></DigestMethod>
+<DigestValue>dKHQu2M9WV3vhLhEFZ1GXPgj2l3HD2ttWwzeODPjRLQ=</DigestValue>
+</Reference>
+<Reference URI="res%2Fedje%2Ffolder.edj">
+<DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"></DigestMethod>
+<DigestValue>2jrbMBB9ks28EztSB4oleYk9kr1ibDl82bkgcQ1NNGE=</DigestValue>
+</Reference>
+<Reference URI="res%2Fedje%2Ffolder_entry.edj">
+<DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"></DigestMethod>
+<DigestValue>4P1VdVa5zlRmyicU2R5u+Du9uElAMrELCAIsCbx166Q=</DigestValue>
+</Reference>
+<Reference URI="res%2Fedje%2Fhome.edj">
+<DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"></DigestMethod>
+<DigestValue>d7+H65K6d4J0m+Tzx9d90ATTKMNEGbMMMoKwAzvONQQ=</DigestValue>
+</Reference>
+<Reference URI="res%2Fedje%2Ficon.edj">
+<DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"></DigestMethod>
+<DigestValue>fuxsgLTQispcFj03ND0fUjYMJeb/KC00wegVl08VCQA=</DigestValue>
+</Reference>
+<Reference URI="res%2Fedje%2Findex_element.edj">
+<DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"></DigestMethod>
+<DigestValue>GUW9sPvLE1lHVHD/n9SJKsKeGxxHZYR9rLirrtkG2ek=</DigestValue>
+</Reference>
+<Reference URI="res%2Fedje%2Flivebox_container.edj">
+<DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"></DigestMethod>
+<DigestValue>D1ICg7qhRCF9QYd8LHAy41RLAsKNoe9pWVvkTAEIIP0=</DigestValue>
+</Reference>
+<Reference URI="res%2Fedje%2Flivebox_layout.edj">
+<DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"></DigestMethod>
+<DigestValue>gNz3htp/PRFJ1S9Ljq2hmviyIMOHIv6G96EUL50NnGs=</DigestValue>
+</Reference>
+<Reference URI="res%2Fedje%2Fpage_edit.edj">
+<DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"></DigestMethod>
+<DigestValue>Ch7k4jKlEeVJS3cUQHVw0s2X+zeJJdH46XPNo6XnH+0=</DigestValue>
+</Reference>
+<Reference URI="res%2Fedje%2Fpage_edit_util.edj">
+<DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"></DigestMethod>
+<DigestValue>MEhKmHIGVXj4z5i285leiqk6EtNj9wSSJgBPEYArIn8=</DigestValue>
+</Reference>
+<Reference URI="res%2Fedje%2Fpreview.edj">
+<DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"></DigestMethod>
+<DigestValue>MyVdyVwIebuLrjAYKbzKbuoEahYanMmACOOXfOPROlI=</DigestValue>
+</Reference>
+<Reference URI="res%2Fimages%2F00_scroll_bar_h.png">
+<DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"></DigestMethod>
+<DigestValue>YJ+YZGP8PQuniC+wC4rikDLMLm67eHreo1Fe1Am+S9Y=</DigestValue>
+</Reference>
+<Reference URI="res%2Fimages%2F00_scroll_bar_v.png">
+<DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"></DigestMethod>
+<DigestValue>69srWlgmxtQh/3Y2I//rNhQmOHBCekDEBB+VttdBs1k=</DigestValue>
+</Reference>
+<Reference URI="res%2Fimages%2F1x1%20preview%20shortcut.png">
+<DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"></DigestMethod>
+<DigestValue>3fhDKx1Nwz88m/n3zE6X+0jcEkpiKVkCcwaBuOZ68z0=</DigestValue>
+</Reference>
+<Reference URI="res%2Fimages%2Fall_apps_icon_menu.png">
+<DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"></DigestMethod>
+<DigestValue>nvDO9TegVi2H3XrAynKsoeVUjBJTAVzGWkln76/Izuk=</DigestValue>
+</Reference>
+<Reference URI="res%2Fimages%2Fapp_icon_checkbox_bg.png">
+<DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"></DigestMethod>
+<DigestValue>uFBxGhiP/IM/JTmjkXd6ZA6er9vIt6Gok37L9/Ee4fQ=</DigestValue>
+</Reference>
+<Reference URI="res%2Fimages%2Fapp_icon_checkbox_border.png">
+<DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"></DigestMethod>
+<DigestValue>y9kSJGK7ctV0y9Go4TKAU7dSNewZrRvEfj/HthGOu2A=</DigestValue>
+</Reference>
+<Reference URI="res%2Fimages%2Fapp_icon_checkbox_on.png">
+<DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"></DigestMethod>
+<DigestValue>rJzE+OVrzZm9HJFzeBi1+8FPano9ukrWB10nQV82m1o=</DigestValue>
+</Reference>
+<Reference URI="res%2Fimages%2Fapp_icon_downloadable.png">
+<DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"></DigestMethod>
+<DigestValue>4gsz+F8gXj4HxFUp3dw9PyRHrtT1kx6Hz4mpFvhUXNU=</DigestValue>
+</Reference>
+<Reference URI="res%2Fimages%2Fapp_press_117.png">
+<DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"></DigestMethod>
+<DigestValue>E0bg/oVwC1pn7GMC+aZdkXgJFEXghqC3BrLkLWgt9Ko=</DigestValue>
+</Reference>
+<Reference URI="res%2Fimages%2Fbtn_add_nor.png">
+<DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"></DigestMethod>
+<DigestValue>ctGcriXx4o5vsokgJs3sMO6WizFgsHgwnCYCZ/pygNU=</DigestValue>
+</Reference>
+<Reference URI="res%2Fimages%2Fbtn_add_press.png">
+<DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"></DigestMethod>
+<DigestValue>Ewy8JNsbphGe74DLTnSbzS+UvAeR7Nb9Av7Wsdi7hTg=</DigestValue>
+</Reference>
+<Reference URI="res%2Fimages%2Fbtn_delete_nor.png">
+<DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"></DigestMethod>
+<DigestValue>87nZJ0uJhX3Kx2dv6BMUmHDw/4xagceKslZ7bML7hvo=</DigestValue>
+</Reference>
+<Reference URI="res%2Fimages%2Fbtn_delete_press.png">
+<DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"></DigestMethod>
+<DigestValue>y/oiTmwzPmU93wfx6D3bfCr5fKoc1IBSRmHvlpTEQtI=</DigestValue>
+</Reference>
+<Reference URI="res%2Fimages%2Fbtn_input_clear.png">
+<DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"></DigestMethod>
+<DigestValue>kyKG5qvaSadrtzVDojN1oC8lay9BJBzUqLTpJtaJr8A=</DigestValue>
+</Reference>
+<Reference URI="res%2Fimages%2Fcore_page_indicator_on.png">
+<DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"></DigestMethod>
+<DigestValue>HM+yEA7kUCEMRryHHz8v/ZQq645n2iarGYmWJK+MjkA=</DigestValue>
+</Reference>
+<Reference URI="res%2Fimages%2Fcore_page_indicator_on_horizontal.png">
+<DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"></DigestMethod>
+<DigestValue>0c7mkvcdYnXZToRUScakcXFG8if7PQ5kCjJqbD0d5IM=</DigestValue>
+</Reference>
+<Reference URI="res%2Fimages%2Fdefault.png">
+<DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"></DigestMethod>
+<DigestValue>Nz+SecsjmNuidhKNvmQ5+3nasrw8vI4q/bjPgbfx5fI=</DigestValue>
+</Reference>
+<Reference URI="res%2Fimages%2Fdefault_bg.png">
+<DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"></DigestMethod>
+<DigestValue>0gUX7G8t9qf8/bUeaHc1qp9EXAT934YJ9dYS1wupGI4=</DigestValue>
+</Reference>
+<Reference URI="res%2Fimages%2Fedit_all_page_add.png">
+<DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"></DigestMethod>
+<DigestValue>NaFgj2lXKUfBbZk4VmOeQamahPg7kXuwItRyeq8/bSY=</DigestValue>
+</Reference>
+<Reference URI="res%2Fimages%2Fedit_all_page_add_press.png">
+<DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"></DigestMethod>
+<DigestValue>nN+eVeUdDmM7ZmWzctRbHQ0iGchd9tW87QWttAgq33c=</DigestValue>
+</Reference>
+<Reference URI="res%2Fimages%2Fedit_all_page_bg.png">
+<DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"></DigestMethod>
+<DigestValue>UHI4fmgvajrTK2xKLEGYUy3smYig7kXKoaAalYmIpfk=</DigestValue>
+</Reference>
+<Reference URI="res%2Fimages%2Fedit_all_page_create.png">
+<DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"></DigestMethod>
+<DigestValue>wO2fjNlycCR3in29oxOae1y7t+GFF/qs1y+zlw9kMGw=</DigestValue>
+</Reference>
+<Reference URI="res%2Fimages%2Fedit_all_page_drag.png">
+<DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"></DigestMethod>
+<DigestValue>QZcF6UVugz5DGrb237UpVkRFAfW7nGwFVw1wktOnNM8=</DigestValue>
+</Reference>
+<Reference URI="res%2Fimages%2Fedit_page.png">
+<DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"></DigestMethod>
+<DigestValue>0xcFTeSZxjt3L9/ReXijbY7dVaEYY45JQjMUdbVt0Tk=</DigestValue>
+</Reference>
+<Reference URI="res%2Fimages%2Fedit_page_current.png">
+<DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"></DigestMethod>
+<DigestValue>nUA6AkJXcGhNtJdi2EyxsjKV+lVwwJNkd0tsSsuf9Ic=</DigestValue>
+</Reference>
+<Reference URI="res%2Fimages%2Ffolder_appicon_bg.png">
+<DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"></DigestMethod>
+<DigestValue>SEoJYrMNmfMDDYh6p7u9DBNZOabjbOT9Mellsy3RT0I=</DigestValue>
+</Reference>
+<Reference URI="res%2Fimages%2Ffolder_appicon_bg_impossible.png">
+<DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"></DigestMethod>
+<DigestValue>zsCUAlXZcgZpTpvNM8pwzCCvzQxDtltJf7V6YA0DT4I=</DigestValue>
+</Reference>
+<Reference URI="res%2Fimages%2Ffolder_appicon_bg_possible.png">
+<DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"></DigestMethod>
+<DigestValue>z5iytDrt/KDlOXhLpUdQYzzujZE6edmRR6lasSQewHw=</DigestValue>
+</Reference>
+<Reference URI="res%2Fimages%2Ffolder_appicon_empty_bg.png">
+<DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"></DigestMethod>
+<DigestValue>Ysst9mhNQVr8gPEe51C2f9+N0CTjbM+F/xeIf+bdsvw=</DigestValue>
+</Reference>
+<Reference URI="res%2Fimages%2Ffolder_popup_bg.png">
+<DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"></DigestMethod>
+<DigestValue>APqmJrt2ZwFNUC2PENUcmJ5cItcb+xkHI1KbVut6IsA=</DigestValue>
+</Reference>
+<Reference URI="res%2Fimages%2Fframe.png">
+<DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"></DigestMethod>
+<DigestValue>gpq0MLAf9szSx3ow75FRsA0KUC0pS1no+iRjNZS/z9I=</DigestValue>
+</Reference>
+<Reference URI="res%2Fimages%2Fhome_button_bg.png">
+<DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"></DigestMethod>
+<DigestValue>l4faVb4KE9pXkjtVxKT1aAtH66f3gAKcg/elnRBJ+U8=</DigestValue>
+</Reference>
+<Reference URI="res%2Fimages%2Fhome_edit_bg.%23.png">
+<DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"></DigestMethod>
+<DigestValue>TJbfUGn+pdFvEoKFUju4a0ja5t8UP2tEZQNG8BbNH8I=</DigestValue>
+</Reference>
+<Reference URI="res%2Fimages%2Fhome_icon_home.png">
+<DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"></DigestMethod>
+<DigestValue>+tDFf7ffkLuqu9WiH11YCiAXj7MwEwRQnL1Raw+dWrg=</DigestValue>
+</Reference>
+<Reference URI="res%2Fimages%2Fhome_icon_menu.png">
+<DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"></DigestMethod>
+<DigestValue>H/HrJq65K3MHJNE20myd6+iXIfX5Mew9KFlOG5+F+/M=</DigestValue>
+</Reference>
+<Reference URI="res%2Fimages%2Fhome_icon_reorder.png">
+<DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"></DigestMethod>
+<DigestValue>zZS2Q++ggh8jqgvWfuxrNQRMYj/1N2ecSB4VIwOYxJo=</DigestValue>
+</Reference>
+<Reference URI="res%2Fimages%2Ficon_badge_container.png">
+<DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"></DigestMethod>
+<DigestValue>jT49M8iXi1RBYngrDVZGYqunMNnGE2W9RCnqcJIU1WM=</DigestValue>
+</Reference>
+<Reference URI="res%2Fimages%2Ficon_drawer_search.png">
+<DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"></DigestMethod>
+<DigestValue>JjUqvUuBNWMhBdt6cWwe2C8s5H4xf+RlWmGBStmT+wk=</DigestValue>
+</Reference>
+<Reference URI="res%2Fimages%2Ficon_list_close.png">
+<DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"></DigestMethod>
+<DigestValue>3ZDUMujXsuKQdll1qsq0QIASsX05Zq/NiOHCYwxi6zE=</DigestValue>
+</Reference>
+<Reference URI="res%2Fimages%2Ficon_list_open.png">
+<DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"></DigestMethod>
+<DigestValue>Dx8TBTedzgSRAdGQPH7xLrZnsgHNk/X4hDd0o005WJI=</DigestValue>
+</Reference>
+<Reference URI="res%2Fimages%2Ficon_shadow.png">
+<DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"></DigestMethod>
+<DigestValue>4tAytYuYy+7jFVA4XC+Vct10Oeu+QXy0vrOnO8pKWoY=</DigestValue>
+</Reference>
+<Reference URI="res%2Fimages%2Flivebox%2Fpreview_FMradio.png">
+<DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"></DigestMethod>
+<DigestValue>AQVTOdG0Xxk+g6m+MziA9AFITnqAVRgGwO40tndMJrk=</DigestValue>
+</Reference>
+<Reference URI="res%2Fimages%2Flivebox%2Fpreview_alarm.png">
+<DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"></DigestMethod>
+<DigestValue>P6VUWAelllZtDLqc+z3a5eBazvXGygHu6/NE9tynNu4=</DigestValue>
+</Reference>
+<Reference URI="res%2Fimages%2Flivebox%2Fpreview_calendar.png">
+<DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"></DigestMethod>
+<DigestValue>JdyiUyAyT0//bCB3kVWmTiPXEiF0y1Hx1rpRPWQAczU=</DigestValue>
+</Reference>
+<Reference URI="res%2Fimages%2Flivebox%2Fpreview_contact_4x2.png">
+<DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"></DigestMethod>
+<DigestValue>EijM8rmL/AmC3oYZJIuzsOThn2ZRjBYfPtkUdtLakZg=</DigestValue>
+</Reference>
+<Reference URI="res%2Fimages%2Flivebox%2Fpreview_contact_4x4.png">
+<DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"></DigestMethod>
+<DigestValue>z4fEcK/PfvN90HO0dz5HTddZxse5IJGRFMnchoWneTY=</DigestValue>
+</Reference>
+<Reference URI="res%2Fimages%2Flivebox%2Fpreview_dual_clock.png">
+<DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"></DigestMethod>
+<DigestValue>nJYPwPWfBSTvQ+BfSUInLKrG3iAVzp9sWYpBsNdmVeE=</DigestValue>
+</Reference>
+<Reference URI="res%2Fimages%2Flivebox%2Fpreview_gallery.png">
+<DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"></DigestMethod>
+<DigestValue>MIbmuA6Puhz9y6hp6Ydn40OHN9pAm/V0uQlACSoqIfc=</DigestValue>
+</Reference>
+<Reference URI="res%2Fimages%2Flivebox%2Fpreview_internet_4x4.png">
+<DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"></DigestMethod>
+<DigestValue>L8tH1GzIp268bxbR7CXLvVBM2rhweF47HBw+jacnC1k=</DigestValue>
+</Reference>
+<Reference URI="res%2Fimages%2Flivebox%2Fpreview_music.png">
+<DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"></DigestMethod>
+<DigestValue>6P6bjj/kkHI3A2Vf7v8iwq0DnTon8EUpv/8AfTKaOIk=</DigestValue>
+</Reference>
+<Reference URI="res%2Fimages%2Flivebox%2Fpreview_singel_clock.png">
+<DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"></DigestMethod>
+<DigestValue>H9/q7POQQC6W6kE2rSCohiPO4VkpWOnXgB1enKgRccc=</DigestValue>
+</Reference>
+<Reference URI="res%2Fimages%2Flivebox%2Fpreview_weather_4x2.png">
+<DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"></DigestMethod>
+<DigestValue>A0mXL8hy2r6gsM0p2z9NwcMl+PBKU4i6ifNUvoZLZuE=</DigestValue>
+</Reference>
+<Reference URI="res%2Fimages%2Flivebox%2Fpreview_weather_4x4.png">
+<DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"></DigestMethod>
+<DigestValue>ZK0SE6HQ7gCD7w9HZafL1fdDhM+/WnNRn9b5F1fdC94=</DigestValue>
+</Reference>
+<Reference URI="res%2Fimages%2Fpreview_bg_1x1.png">
+<DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"></DigestMethod>
+<DigestValue>HpA+xWYlnSunpHnXCNY+3j7hzXFjuuTrrEQ7KkGxnio=</DigestValue>
+</Reference>
+<Reference URI="res%2Fimages%2Fpreview_bg_2x1.png">
+<DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"></DigestMethod>
+<DigestValue>IKnpuzRXuaSZnGRmDCKtxQkEd0ieYS7toOq3J+4LE3w=</DigestValue>
+</Reference>
+<Reference URI="res%2Fimages%2Fpreview_bg_2x2.png">
+<DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"></DigestMethod>
+<DigestValue>xX441XxwNixUXRtG3+wvnuH6HQd69a+4GK+p+b8qF4c=</DigestValue>
+</Reference>
+<Reference URI="res%2Fimages%2Fpreview_bg_4x1.png">
+<DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"></DigestMethod>
+<DigestValue>QoWfaOYy7VtayNTC9RJZYVEC1JWLrmDxStYIREMYwhc=</DigestValue>
+</Reference>
+<Reference URI="res%2Fimages%2Fpreview_bg_4x2.png">
+<DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"></DigestMethod>
+<DigestValue>mEn+5/4SKC8p6o7KgG6JBfPm8na7VOX6Ln6i49XKKmY=</DigestValue>
+</Reference>
+<Reference URI="res%2Fimages%2Fpreview_bg_4x3.png">
+<DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"></DigestMethod>
+<DigestValue>+Khr1HDbJyEEftNIVlccG8/seZZEltRSFx9VY5hWH4s=</DigestValue>
+</Reference>
+<Reference URI="res%2Fimages%2Fpreview_bg_4x4.png">
+<DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"></DigestMethod>
+<DigestValue>o+c/XfTxZHg9we0G+ZVEGgzFWF4Tna03ohGwbyXTl4M=</DigestValue>
+</Reference>
+<Reference URI="res%2Fimages%2Freposition_bg.png">
+<DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"></DigestMethod>
+<DigestValue>bW9Tef7odloVYkQIU81w0lFsOsAN+POUSiBqrfykff4=</DigestValue>
+</Reference>
+<Reference URI="res%2Fimages%2Freposition_bg_shadow.png">
+<DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"></DigestMethod>
+<DigestValue>Dl4uB/n8AICNG+OjimHs0xXondtjJ7FJK7duG49UB10=</DigestValue>
+</Reference>
+<Reference URI="res%2Fimages%2Fresize_button.png">
+<DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"></DigestMethod>
+<DigestValue>geCmfkfJQwsznI9mgTWmY4cDR/xrXwmdrFmkOk2ZH6E=</DigestValue>
+</Reference>
+<Reference URI="res%2Fimages%2Fscroll_bar.9.png">
+<DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"></DigestMethod>
+<DigestValue>1zi7TzVEge+yg9ENOue8+0RE+U6XzqOnDL/iuO6QkLA=</DigestValue>
+</Reference>
+<Reference URI="res%2Fimages%2Funknown.png">
+<DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"></DigestMethod>
+<DigestValue>wmGvOtxTMRgi79PbSy9BCuj/rizSbAfe/ciJTP5v+P8=</DigestValue>
+</Reference>
+<Reference URI="res%2Flocale%2Far%2FLC_MESSAGES%2Fhomescreen-efl.mo">
+<DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"></DigestMethod>
+<DigestValue>qYLt6zOsKvcaFK1EmL/AmZeNYaebTyumu88p/F2ZRgk=</DigestValue>
+</Reference>
+<Reference URI="res%2Flocale%2Faz%2FLC_MESSAGES%2Fhomescreen-efl.mo">
+<DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"></DigestMethod>
+<DigestValue>SFnYAjlhghodT4aZrpOQ/rJEp9y65oZe9uOVThnRatc=</DigestValue>
+</Reference>
+<Reference URI="res%2Flocale%2Fbg%2FLC_MESSAGES%2Fhomescreen-efl.mo">
+<DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"></DigestMethod>
+<DigestValue>Cywgos8YvOdNyArlKSMvGm2SRWBgcshB3EmLuylPjkk=</DigestValue>
+</Reference>
+<Reference URI="res%2Flocale%2Fca%2FLC_MESSAGES%2Fhomescreen-efl.mo">
+<DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"></DigestMethod>
+<DigestValue>69sIsKYA4LLM5k4lEUAmydXZG94W4uWyiyl1Ey65wqs=</DigestValue>
+</Reference>
+<Reference URI="res%2Flocale%2Fcs%2FLC_MESSAGES%2Fhomescreen-efl.mo">
+<DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"></DigestMethod>
+<DigestValue>7aP+5lf/Q7jl51WQb9Ib0mao/9Bisc8LNaIcnM98Afo=</DigestValue>
+</Reference>
+<Reference URI="res%2Flocale%2Fda%2FLC_MESSAGES%2Fhomescreen-efl.mo">
+<DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"></DigestMethod>
+<DigestValue>j9e64M1wxPEtaMj2b+2H80BNXnDpMm0SadpXGfJfqI8=</DigestValue>
+</Reference>
+<Reference URI="res%2Flocale%2Fde%2FLC_MESSAGES%2Fhomescreen-efl.mo">
+<DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"></DigestMethod>
+<DigestValue>nssSSRiMDZqObxD9zmbeP4ToT/xqlwk2sF4ENCNR1YM=</DigestValue>
+</Reference>
+<Reference URI="res%2Flocale%2Fel_GR%2FLC_MESSAGES%2Fhomescreen-efl.mo">
+<DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"></DigestMethod>
+<DigestValue>+XZHDGAYBheuyOscV/Tam1KavBPt7GlX7nWkfvoVBhQ=</DigestValue>
+</Reference>
+<Reference URI="res%2Flocale%2Fen%2FLC_MESSAGES%2Fhomescreen-efl.mo">
+<DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"></DigestMethod>
+<DigestValue>QS10uzT75NXFwfJEZIPmfd6w61j8E8tagZw36UZQvLk=</DigestValue>
+</Reference>
+<Reference URI="res%2Flocale%2Fen_PH%2FLC_MESSAGES%2Fhomescreen-efl.mo">
+<DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"></DigestMethod>
+<DigestValue>q46c5jFrppMUq3bs9RntvPXgDDhLsj3whHUOAK9GAN4=</DigestValue>
+</Reference>
+<Reference URI="res%2Flocale%2Fen_US%2FLC_MESSAGES%2Fhomescreen-efl.mo">
+<DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"></DigestMethod>
+<DigestValue>GAh/TT0xbRf8oZoi5U3C1IXr04ybeGGCkrF+dIwmTOk=</DigestValue>
+</Reference>
+<Reference URI="res%2Flocale%2Fes_ES%2FLC_MESSAGES%2Fhomescreen-efl.mo">
+<DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"></DigestMethod>
+<DigestValue>L8jLHeLsWt3uNlLDZUHoIXv/FfbsCjzNZswiSSrw9Uw=</DigestValue>
+</Reference>
+<Reference URI="res%2Flocale%2Fes_US%2FLC_MESSAGES%2Fhomescreen-efl.mo">
+<DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"></DigestMethod>
+<DigestValue>hT6HAUYSpKkyyGI7bR+8GVeGp79V7XIgw4+JT4ePHqs=</DigestValue>
+</Reference>
+<Reference URI="res%2Flocale%2Fet%2FLC_MESSAGES%2Fhomescreen-efl.mo">
+<DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"></DigestMethod>
+<DigestValue>2Ndnktb0urcCrQrHdJDjF9la3rrIqQ+wLc0Zjt/rLl4=</DigestValue>
+</Reference>
+<Reference URI="res%2Flocale%2Feu%2FLC_MESSAGES%2Fhomescreen-efl.mo">
+<DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"></DigestMethod>
+<DigestValue>KJ120FgYGz6111kBBS6qUG8rtQ5yod2A/XY/zO9ILlM=</DigestValue>
+</Reference>
+<Reference URI="res%2Flocale%2Ffi%2FLC_MESSAGES%2Fhomescreen-efl.mo">
+<DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"></DigestMethod>
+<DigestValue>AC+NPEpPHYR8oBlY9vmj7PEisgKjYc6IFVrxIM9vPsA=</DigestValue>
+</Reference>
+<Reference URI="res%2Flocale%2Ffr%2FLC_MESSAGES%2Fhomescreen-efl.mo">
+<DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"></DigestMethod>
+<DigestValue>cbgaXPnLwCntmAohkqD1fGD/8W3fgiZIV/kKXCmAofU=</DigestValue>
+</Reference>
+<Reference URI="res%2Flocale%2Ffr_CA%2FLC_MESSAGES%2Fhomescreen-efl.mo">
+<DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"></DigestMethod>
+<DigestValue>NZnmc9uPKiLyiJwVWoTyyNaUSe2CC+4YBXqrIAXXxIQ=</DigestValue>
+</Reference>
+<Reference URI="res%2Flocale%2Fga%2FLC_MESSAGES%2Fhomescreen-efl.mo">
+<DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"></DigestMethod>
+<DigestValue>W3VigK2g2KACSWrX8xgj1Pc5btWQWyvApK8POwkUPso=</DigestValue>
+</Reference>
+<Reference URI="res%2Flocale%2Fgl%2FLC_MESSAGES%2Fhomescreen-efl.mo">
+<DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"></DigestMethod>
+<DigestValue>uExwxEQI/1y47oBNwcGaHO80bmARzn30f9DOMmxVm7I=</DigestValue>
+</Reference>
+<Reference URI="res%2Flocale%2Fhi%2FLC_MESSAGES%2Fhomescreen-efl.mo">
+<DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"></DigestMethod>
+<DigestValue>XcvvTyQiMgjp6Q+qAmE1E+2houbwB5yACn7ZJQe30wo=</DigestValue>
+</Reference>
+<Reference URI="res%2Flocale%2Fhr%2FLC_MESSAGES%2Fhomescreen-efl.mo">
+<DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"></DigestMethod>
+<DigestValue>Q43M/TXJhQjIZN6BcC+DuNtIbUZH9J1NYN0DLQH5OcY=</DigestValue>
+</Reference>
+<Reference URI="res%2Flocale%2Fhu%2FLC_MESSAGES%2Fhomescreen-efl.mo">
+<DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"></DigestMethod>
+<DigestValue>TO174vd4fQkUt3As0KHgPbWO8CQpj0Cq5Nwxjj010EU=</DigestValue>
+</Reference>
+<Reference URI="res%2Flocale%2Fhy%2FLC_MESSAGES%2Fhomescreen-efl.mo">
+<DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"></DigestMethod>
+<DigestValue>SmsDTn92AvsekPW2cc9pI83yJpK+gPCBm+gP1SFE1VY=</DigestValue>
+</Reference>
+<Reference URI="res%2Flocale%2Fis%2FLC_MESSAGES%2Fhomescreen-efl.mo">
+<DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"></DigestMethod>
+<DigestValue>JLhQky0B/+daufEWDO48kBkCcGx6gerkYTwLFaYXCR8=</DigestValue>
+</Reference>
+<Reference URI="res%2Flocale%2Fit_IT%2FLC_MESSAGES%2Fhomescreen-efl.mo">
+<DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"></DigestMethod>
+<DigestValue>x0l8OFvgutc3D4i6elMGSjFFnAPiJ4XVHTVDePaE+uQ=</DigestValue>
+</Reference>
+<Reference URI="res%2Flocale%2Fja_JP%2FLC_MESSAGES%2Fhomescreen-efl.mo">
+<DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"></DigestMethod>
+<DigestValue>3lZ9Zcdx33sJC2EaVY2vVSSuJq+BMYJEbWvR2hKo5gU=</DigestValue>
+</Reference>
+<Reference URI="res%2Flocale%2Fka%2FLC_MESSAGES%2Fhomescreen-efl.mo">
+<DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"></DigestMethod>
+<DigestValue>R9ch/KGvSLuu7K7VOEP+Os9q+uWPTSLyIi4YDihzZzY=</DigestValue>
+</Reference>
+<Reference URI="res%2Flocale%2Fkk%2FLC_MESSAGES%2Fhomescreen-efl.mo">
+<DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"></DigestMethod>
+<DigestValue>FvACiVK8pgCdQ0OeH4a+wyqDqLRxsCRFM7kJBln2KV4=</DigestValue>
+</Reference>
+<Reference URI="res%2Flocale%2Fko_KR%2FLC_MESSAGES%2Fhomescreen-efl.mo">
+<DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"></DigestMethod>
+<DigestValue>r5otdbz7OeZmKrnRo2noPPACrvaiVEgO86uVWWMcthY=</DigestValue>
+</Reference>
+<Reference URI="res%2Flocale%2Flt%2FLC_MESSAGES%2Fhomescreen-efl.mo">
+<DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"></DigestMethod>
+<DigestValue>zv/7pam/M6E6JboWfWYvuR65E3bzOWSOIha/MBUAR1Q=</DigestValue>
+</Reference>
+<Reference URI="res%2Flocale%2Flv%2FLC_MESSAGES%2Fhomescreen-efl.mo">
+<DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"></DigestMethod>
+<DigestValue>XXruTOen3m3s+jzqDOnUPjvgeh+WRui+mT6ysvoDD9Y=</DigestValue>
+</Reference>
+<Reference URI="res%2Flocale%2Fmk%2FLC_MESSAGES%2Fhomescreen-efl.mo">
+<DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"></DigestMethod>
+<DigestValue>c8eK+BIXcFPjmOwu0GZwN8SpNDDzPXQGRbO1TC92HBk=</DigestValue>
+</Reference>
+<Reference URI="res%2Flocale%2Fnb%2FLC_MESSAGES%2Fhomescreen-efl.mo">
+<DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"></DigestMethod>
+<DigestValue>Cj8AEWoOboJxe5SNfIVSJInTxzzoBPx09SRXW56fhzA=</DigestValue>
+</Reference>
+<Reference URI="res%2Flocale%2Fnl%2FLC_MESSAGES%2Fhomescreen-efl.mo">
+<DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"></DigestMethod>
+<DigestValue>q9x7SHtNysPOiA2cKtKDuvqnhe6BwUR94pXzjhkqzVA=</DigestValue>
+</Reference>
+<Reference URI="res%2Flocale%2Fpl%2FLC_MESSAGES%2Fhomescreen-efl.mo">
+<DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"></DigestMethod>
+<DigestValue>XksPwpX5Tbz7FFDQ7/vzLPkGRt/XDqV/hjY2A64q+wU=</DigestValue>
+</Reference>
+<Reference URI="res%2Flocale%2Fpt_BR%2FLC_MESSAGES%2Fhomescreen-efl.mo">
+<DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"></DigestMethod>
+<DigestValue>IVi4Ot4z9Lqt4vya8j4xYZl1GVQS7pZeAjlwiqh+2o4=</DigestValue>
+</Reference>
+<Reference URI="res%2Flocale%2Fpt_PT%2FLC_MESSAGES%2Fhomescreen-efl.mo">
+<DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"></DigestMethod>
+<DigestValue>aFv4X5Ok43bwfWKobpiV/rLTzPXnCMvgsKdJj8OB2pA=</DigestValue>
+</Reference>
+<Reference URI="res%2Flocale%2Fro%2FLC_MESSAGES%2Fhomescreen-efl.mo">
+<DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"></DigestMethod>
+<DigestValue>RjspVHVp/abhArEJ1CnYJqnek6lPEjAMCLayx/Xj0m0=</DigestValue>
+</Reference>
+<Reference URI="res%2Flocale%2Fru_RU%2FLC_MESSAGES%2Fhomescreen-efl.mo">
+<DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"></DigestMethod>
+<DigestValue>Go6CoVQu3sfIsi2Mz80SSEPmnqRskSaF9Q5sDySYAtk=</DigestValue>
+</Reference>
+<Reference URI="res%2Flocale%2Fsk%2FLC_MESSAGES%2Fhomescreen-efl.mo">
+<DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"></DigestMethod>
+<DigestValue>4tIJ4yyz0BpuswaCw73snOvMuRgGC5JSBrCPuxPU2ow=</DigestValue>
+</Reference>
+<Reference URI="res%2Flocale%2Fsl%2FLC_MESSAGES%2Fhomescreen-efl.mo">
+<DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"></DigestMethod>
+<DigestValue>Fi8UCK9x9roWbjzg+MBzD2B3a694NAAbp+bKUXWUs0U=</DigestValue>
+</Reference>
+<Reference URI="res%2Flocale%2Fsr%2FLC_MESSAGES%2Fhomescreen-efl.mo">
+<DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"></DigestMethod>
+<DigestValue>x3/n/gcoRjXOnFHzZbePK//pkAyt1c4YLGID1/0Pj/M=</DigestValue>
+</Reference>
+<Reference URI="res%2Flocale%2Fsv%2FLC_MESSAGES%2Fhomescreen-efl.mo">
+<DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"></DigestMethod>
+<DigestValue>3qm5lJo4iSktZyMMOgN4TDwuebO/HvxTpH1OlAsogMw=</DigestValue>
+</Reference>
+<Reference URI="res%2Flocale%2Ftr_TR%2FLC_MESSAGES%2Fhomescreen-efl.mo">
+<DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"></DigestMethod>
+<DigestValue>uNhKcL0MBhQBDz9HQLthGf4dPmxX+heiRfte8bLLuUw=</DigestValue>
+</Reference>
+<Reference URI="res%2Flocale%2Fuk%2FLC_MESSAGES%2Fhomescreen-efl.mo">
+<DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"></DigestMethod>
+<DigestValue>w0QXjUJAjRHtNEXbVoqF9VRxt/e/FONY5pBMNTolZdQ=</DigestValue>
+</Reference>
+<Reference URI="res%2Flocale%2Fuz%2FLC_MESSAGES%2Fhomescreen-efl.mo">
+<DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"></DigestMethod>
+<DigestValue>1Qd8hbQGo2yGSc5Qfqyx7TFFm5GMJb0WThJoKk/CjnU=</DigestValue>
+</Reference>
+<Reference URI="res%2Flocale%2Fzh_CN%2FLC_MESSAGES%2Fhomescreen-efl.mo">
+<DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"></DigestMethod>
+<DigestValue>dSQU4CoC9yiI9SMDjX4Lp/rdYnmaJafudmzP0xOy0RQ=</DigestValue>
+</Reference>
+<Reference URI="res%2Flocale%2Fzh_HK%2FLC_MESSAGES%2Fhomescreen-efl.mo">
+<DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"></DigestMethod>
+<DigestValue>6fbM9/ol4ScNdW5OGQHpYBSjZ9q9KXM4CjjBzmhLPAU=</DigestValue>
+</Reference>
+<Reference URI="res%2Flocale%2Fzh_TW%2FLC_MESSAGES%2Fhomescreen-efl.mo">
+<DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"></DigestMethod>
+<DigestValue>LFze8kgyHYQK9yfnyAEDhHVZI71AWSjHSUeLKdkRFr0=</DigestValue>
+</Reference>
+<Reference URI="shared%2Fres%2Fhomescreen-efl.png">
+<DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"></DigestMethod>
+<DigestValue>1d0oEZHqPn+QzNzGIHwj9ODby6x9ggFs9uOsav6jPNs=</DigestValue>
+</Reference>
+<Reference URI="tizen-manifest.xml">
+<DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"></DigestMethod>
+<DigestValue>en6pJaaSkQnQvJquunrTapiz93J1ABI9AF6gK4WBi3M=</DigestValue>
+</Reference>
+<Reference URI="#prop">
+<Transforms>
+<Transform Algorithm="http://www.w3.org/2006/12/xml-c14n11"></Transform>
+</Transforms>
+<DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"></DigestMethod>
+<DigestValue>lpo8tUDs054eLlBQXiDPVDVKfw30ZZdtkRs1jd7H5K8=</DigestValue>
+</Reference>
+</SignedInfo>
+<SignatureValue>
+m4ONQLtiOft2RJxb5X4jIRKmlzl8j8k4YtyAK6kSjtSCEaJfcfQLrZQchsl8T3/RJDEy2MpXz6HD
+1QzsDqnWFbpQziNy8HfSmDVPfdMzoK+ti1pEbgQA6Koi+fLuNyjOADumY+gmPOxj+dR63XOUr839
+146zgZVFzB2c1D4/lNc=
+</SignatureValue>
+<KeyInfo>
+<X509Data>
+<X509Certificate>
+MIICmzCCAYOgAwIBAgIGAT8T+Ms5MA0GCSqGSIb3DQEBBQUAMFYxGjAYBgNVBAoMEVRpemVuIEFz
+c29jaWF0aW9uMRowGAYDVQQLDBFUaXplbiBBc3NvY2lhdGlvbjEcMBoGA1UEAwwTVGl6ZW4gRGV2
+ZWxvcGVycyBDQTAeFw0xMjExMDEwMDAwMDBaFw0xOTAxMDEwMDAwMDBaMBcxFTATBgNVBAMMDHRp
+emVuX2F1dGhvcjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAssi+tZOAmBSLiy8JTOk7gXrk
+Nlg8Jq+O+4yd14a407BTbmp9r4qfNlUKLpYRL0TyU84XUWrLHHXe9aO2G223v/DUz3f182W5JWK0
+HvHt0vYcBycOBkXCc5y26funq7qhEgC9e1NNxIc1mFYD0jJiRNJgxIRCw33Ca/8qdGPY1K8CAwEA
+AaMyMDAwDAYDVR0TAQH/BAIwADALBgNVHQ8EBAMCB4AwEwYDVR0lBAwwCgYIKwYBBQUHAwMwDQYJ
+KoZIhvcNAQEFBQADggEBAJweqlVjN2GHF01jlE1HfZNFJ5Y7Ye+NagJnNdj6iVOPGP9J9PVOmllB
+8S8pon1fUXPvrHFe8gNFg1klLMJaPbeDQM+UiPWn80A+8e4gJpHz+E9on2ZYkEBCZHOXSxxzaS7D
+0bwj3eotbpY/duepn3U91fcLcnoehO3oe4pawrC6AObRjqY/Sh9I4j8btHFxRRVpsa7VkSg/5JB4
+2jfKlJ2otI8bYYuOiYeZC2ody9PsHzlqmqlo+J68RlxAemPMovRqGeK0XDqJEt7dJEzknQmp0732
+fhAZNyXVlukjdR8+3+f1J5vu4MEqT/7aLXLOwLN/qgUfCBA2YQ/YqMJvf9Y=
+</X509Certificate>
+<X509Certificate>
+MIIDOTCCAiGgAwIBAgIBATANBgkqhkiG9w0BAQUFADBYMRowGAYDVQQKDBFUaXplbiBBc3NvY2lh
+dGlvbjEaMBgGA1UECwwRVGl6ZW4gQXNzb2NpYXRpb24xHjAcBgNVBAMMFVRpemVuIERldmVsb3Bl
+cnMgUm9vdDAeFw0xMjAxMDEwMDAwMDBaFw0yNzAxMDEwMDAwMDBaMFYxGjAYBgNVBAoMEVRpemVu
+IEFzc29jaWF0aW9uMRowGAYDVQQLDBFUaXplbiBBc3NvY2lhdGlvbjEcMBoGA1UEAwwTVGl6ZW4g
+RGV2ZWxvcGVycyBDQTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANVGhRGmMIUyBA7o
+PCz8Sxut6z6HNkF4oDIuzuKaMzRYPeWodwe9O0gmqAkToQHfwg2giRhE5GoPld0fq+OYMMwSasCu
+g8dwODx1eDeSYVuOLWRxpAmbTXOsSFi6VoWeyaPEm18JBHvZBsU5YQtgZ6Kp7MqzvQg3pXOxtajj
+vyHxiatJl+xXrHgcXC1wgyG3buty7u/Fi2mvKXJ0PRJcCjjK81dqe/Vr20sRUCrbk02zbm5ggFt/
+jIEhV8wbFRQpliobc7J4dSTKhFfrqGM8rdd54LYhD7gSI1CFSe16pUXfcVR7FhJztRaiGLnCrwBE
+dyTZ248+D4L/qR/D0axb3jcCAwEAAaMQMA4wDAYDVR0TBAUwAwEB/zANBgkqhkiG9w0BAQUFAAOC
+AQEAnOXXQ/1O/QTDHyrmQDtFziqPY3xWlJBqJtEqXiT7Y+Ljpe66e+Ee/OjQMlZe8gu21/8cKklH
+95RxjopMWCVedXDUbWdvS2+CdyvVW/quT2E0tjqIzXDekUTYwwhlPWlGxvfj3VsxqSFq3p8Brl04
+1Gx5RKAGyKVsMfTLhbbwSWwApuBUxYfcNpKwLWGPXkysu+HctY03OKv4/xKBnVWiN8ex/Sgesi0M
++OBAOMdZMPK32uJBTeKFx1xZgTLIhk45V0hPOomPjZloiv0LSS11eyd451ufjW0iHRE7WlpR6EvI
+W6TFyZgMpQq+kg4hWl2SBTf3s2VI8Ygz7gj8TMlClg==
+</X509Certificate>
+</X509Data>
+</KeyInfo>
+<Object Id="prop"><SignatureProperties xmlns:dsp="http://www.w3.org/2009/xmldsig-properties"><SignatureProperty Id="profile" Target="#AuthorSignature"><dsp:Profile URI="http://www.w3.org/ns/widgets-digsig#profile"></dsp:Profile></SignatureProperty><SignatureProperty Id="role" Target="#AuthorSignature"><dsp:Role URI="http://www.w3.org/ns/widgets-digsig#role-author"></dsp:Role></SignatureProperty><SignatureProperty Id="identifier" Target="#AuthorSignature"><dsp:Identifier></dsp:Identifier></SignatureProperty></SignatureProperties></Object>
+</Signature>
\ No newline at end of file
diff --git a/.sign/signature1.xml b/.sign/signature1.xml
new file mode 100644 (file)
index 0000000..3f0d832
--- /dev/null
@@ -0,0 +1,577 @@
+<Signature xmlns="http://www.w3.org/2000/09/xmldsig#" Id="DistributorSignature">
+<SignedInfo>
+<CanonicalizationMethod Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"></CanonicalizationMethod>
+<SignatureMethod Algorithm="http://www.w3.org/2001/04/xmldsig-more#rsa-sha256"></SignatureMethod>
+<Reference URI="author-signature.xml">
+<DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"></DigestMethod>
+<DigestValue>nhDdIrtAyw1Q8c9XtEOVIg4NVx2e1wI3Q4JQT9eKIYo=</DigestValue>
+</Reference>
+<Reference URI="bin%2Fhomescreen-efl">
+<DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"></DigestMethod>
+<DigestValue>jHTodhfGSzuBXE+1HL1lVhn+yw11Kejbrogx+a3p79U=</DigestValue>
+</Reference>
+<Reference URI="res%2Fedje%2Fapp_grid.edj">
+<DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"></DigestMethod>
+<DigestValue>NwYzJ/GMtZfhiMsknC8Eyy5NoZV5C0TWgVZbCWFZUsw=</DigestValue>
+</Reference>
+<Reference URI="res%2Fedje%2Fcolor_classes.edj">
+<DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"></DigestMethod>
+<DigestValue>dKHQu2M9WV3vhLhEFZ1GXPgj2l3HD2ttWwzeODPjRLQ=</DigestValue>
+</Reference>
+<Reference URI="res%2Fedje%2Ffolder.edj">
+<DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"></DigestMethod>
+<DigestValue>2jrbMBB9ks28EztSB4oleYk9kr1ibDl82bkgcQ1NNGE=</DigestValue>
+</Reference>
+<Reference URI="res%2Fedje%2Ffolder_entry.edj">
+<DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"></DigestMethod>
+<DigestValue>4P1VdVa5zlRmyicU2R5u+Du9uElAMrELCAIsCbx166Q=</DigestValue>
+</Reference>
+<Reference URI="res%2Fedje%2Fhome.edj">
+<DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"></DigestMethod>
+<DigestValue>d7+H65K6d4J0m+Tzx9d90ATTKMNEGbMMMoKwAzvONQQ=</DigestValue>
+</Reference>
+<Reference URI="res%2Fedje%2Ficon.edj">
+<DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"></DigestMethod>
+<DigestValue>fuxsgLTQispcFj03ND0fUjYMJeb/KC00wegVl08VCQA=</DigestValue>
+</Reference>
+<Reference URI="res%2Fedje%2Findex_element.edj">
+<DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"></DigestMethod>
+<DigestValue>GUW9sPvLE1lHVHD/n9SJKsKeGxxHZYR9rLirrtkG2ek=</DigestValue>
+</Reference>
+<Reference URI="res%2Fedje%2Flivebox_container.edj">
+<DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"></DigestMethod>
+<DigestValue>D1ICg7qhRCF9QYd8LHAy41RLAsKNoe9pWVvkTAEIIP0=</DigestValue>
+</Reference>
+<Reference URI="res%2Fedje%2Flivebox_layout.edj">
+<DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"></DigestMethod>
+<DigestValue>gNz3htp/PRFJ1S9Ljq2hmviyIMOHIv6G96EUL50NnGs=</DigestValue>
+</Reference>
+<Reference URI="res%2Fedje%2Fpage_edit.edj">
+<DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"></DigestMethod>
+<DigestValue>Ch7k4jKlEeVJS3cUQHVw0s2X+zeJJdH46XPNo6XnH+0=</DigestValue>
+</Reference>
+<Reference URI="res%2Fedje%2Fpage_edit_util.edj">
+<DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"></DigestMethod>
+<DigestValue>MEhKmHIGVXj4z5i285leiqk6EtNj9wSSJgBPEYArIn8=</DigestValue>
+</Reference>
+<Reference URI="res%2Fedje%2Fpreview.edj">
+<DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"></DigestMethod>
+<DigestValue>MyVdyVwIebuLrjAYKbzKbuoEahYanMmACOOXfOPROlI=</DigestValue>
+</Reference>
+<Reference URI="res%2Fimages%2F00_scroll_bar_h.png">
+<DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"></DigestMethod>
+<DigestValue>YJ+YZGP8PQuniC+wC4rikDLMLm67eHreo1Fe1Am+S9Y=</DigestValue>
+</Reference>
+<Reference URI="res%2Fimages%2F00_scroll_bar_v.png">
+<DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"></DigestMethod>
+<DigestValue>69srWlgmxtQh/3Y2I//rNhQmOHBCekDEBB+VttdBs1k=</DigestValue>
+</Reference>
+<Reference URI="res%2Fimages%2F1x1%20preview%20shortcut.png">
+<DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"></DigestMethod>
+<DigestValue>3fhDKx1Nwz88m/n3zE6X+0jcEkpiKVkCcwaBuOZ68z0=</DigestValue>
+</Reference>
+<Reference URI="res%2Fimages%2Fall_apps_icon_menu.png">
+<DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"></DigestMethod>
+<DigestValue>nvDO9TegVi2H3XrAynKsoeVUjBJTAVzGWkln76/Izuk=</DigestValue>
+</Reference>
+<Reference URI="res%2Fimages%2Fapp_icon_checkbox_bg.png">
+<DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"></DigestMethod>
+<DigestValue>uFBxGhiP/IM/JTmjkXd6ZA6er9vIt6Gok37L9/Ee4fQ=</DigestValue>
+</Reference>
+<Reference URI="res%2Fimages%2Fapp_icon_checkbox_border.png">
+<DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"></DigestMethod>
+<DigestValue>y9kSJGK7ctV0y9Go4TKAU7dSNewZrRvEfj/HthGOu2A=</DigestValue>
+</Reference>
+<Reference URI="res%2Fimages%2Fapp_icon_checkbox_on.png">
+<DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"></DigestMethod>
+<DigestValue>rJzE+OVrzZm9HJFzeBi1+8FPano9ukrWB10nQV82m1o=</DigestValue>
+</Reference>
+<Reference URI="res%2Fimages%2Fapp_icon_downloadable.png">
+<DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"></DigestMethod>
+<DigestValue>4gsz+F8gXj4HxFUp3dw9PyRHrtT1kx6Hz4mpFvhUXNU=</DigestValue>
+</Reference>
+<Reference URI="res%2Fimages%2Fapp_press_117.png">
+<DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"></DigestMethod>
+<DigestValue>E0bg/oVwC1pn7GMC+aZdkXgJFEXghqC3BrLkLWgt9Ko=</DigestValue>
+</Reference>
+<Reference URI="res%2Fimages%2Fbtn_add_nor.png">
+<DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"></DigestMethod>
+<DigestValue>ctGcriXx4o5vsokgJs3sMO6WizFgsHgwnCYCZ/pygNU=</DigestValue>
+</Reference>
+<Reference URI="res%2Fimages%2Fbtn_add_press.png">
+<DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"></DigestMethod>
+<DigestValue>Ewy8JNsbphGe74DLTnSbzS+UvAeR7Nb9Av7Wsdi7hTg=</DigestValue>
+</Reference>
+<Reference URI="res%2Fimages%2Fbtn_delete_nor.png">
+<DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"></DigestMethod>
+<DigestValue>87nZJ0uJhX3Kx2dv6BMUmHDw/4xagceKslZ7bML7hvo=</DigestValue>
+</Reference>
+<Reference URI="res%2Fimages%2Fbtn_delete_press.png">
+<DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"></DigestMethod>
+<DigestValue>y/oiTmwzPmU93wfx6D3bfCr5fKoc1IBSRmHvlpTEQtI=</DigestValue>
+</Reference>
+<Reference URI="res%2Fimages%2Fbtn_input_clear.png">
+<DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"></DigestMethod>
+<DigestValue>kyKG5qvaSadrtzVDojN1oC8lay9BJBzUqLTpJtaJr8A=</DigestValue>
+</Reference>
+<Reference URI="res%2Fimages%2Fcore_page_indicator_on.png">
+<DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"></DigestMethod>
+<DigestValue>HM+yEA7kUCEMRryHHz8v/ZQq645n2iarGYmWJK+MjkA=</DigestValue>
+</Reference>
+<Reference URI="res%2Fimages%2Fcore_page_indicator_on_horizontal.png">
+<DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"></DigestMethod>
+<DigestValue>0c7mkvcdYnXZToRUScakcXFG8if7PQ5kCjJqbD0d5IM=</DigestValue>
+</Reference>
+<Reference URI="res%2Fimages%2Fdefault.png">
+<DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"></DigestMethod>
+<DigestValue>Nz+SecsjmNuidhKNvmQ5+3nasrw8vI4q/bjPgbfx5fI=</DigestValue>
+</Reference>
+<Reference URI="res%2Fimages%2Fdefault_bg.png">
+<DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"></DigestMethod>
+<DigestValue>0gUX7G8t9qf8/bUeaHc1qp9EXAT934YJ9dYS1wupGI4=</DigestValue>
+</Reference>
+<Reference URI="res%2Fimages%2Fedit_all_page_add.png">
+<DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"></DigestMethod>
+<DigestValue>NaFgj2lXKUfBbZk4VmOeQamahPg7kXuwItRyeq8/bSY=</DigestValue>
+</Reference>
+<Reference URI="res%2Fimages%2Fedit_all_page_add_press.png">
+<DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"></DigestMethod>
+<DigestValue>nN+eVeUdDmM7ZmWzctRbHQ0iGchd9tW87QWttAgq33c=</DigestValue>
+</Reference>
+<Reference URI="res%2Fimages%2Fedit_all_page_bg.png">
+<DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"></DigestMethod>
+<DigestValue>UHI4fmgvajrTK2xKLEGYUy3smYig7kXKoaAalYmIpfk=</DigestValue>
+</Reference>
+<Reference URI="res%2Fimages%2Fedit_all_page_create.png">
+<DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"></DigestMethod>
+<DigestValue>wO2fjNlycCR3in29oxOae1y7t+GFF/qs1y+zlw9kMGw=</DigestValue>
+</Reference>
+<Reference URI="res%2Fimages%2Fedit_all_page_drag.png">
+<DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"></DigestMethod>
+<DigestValue>QZcF6UVugz5DGrb237UpVkRFAfW7nGwFVw1wktOnNM8=</DigestValue>
+</Reference>
+<Reference URI="res%2Fimages%2Fedit_page.png">
+<DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"></DigestMethod>
+<DigestValue>0xcFTeSZxjt3L9/ReXijbY7dVaEYY45JQjMUdbVt0Tk=</DigestValue>
+</Reference>
+<Reference URI="res%2Fimages%2Fedit_page_current.png">
+<DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"></DigestMethod>
+<DigestValue>nUA6AkJXcGhNtJdi2EyxsjKV+lVwwJNkd0tsSsuf9Ic=</DigestValue>
+</Reference>
+<Reference URI="res%2Fimages%2Ffolder_appicon_bg.png">
+<DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"></DigestMethod>
+<DigestValue>SEoJYrMNmfMDDYh6p7u9DBNZOabjbOT9Mellsy3RT0I=</DigestValue>
+</Reference>
+<Reference URI="res%2Fimages%2Ffolder_appicon_bg_impossible.png">
+<DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"></DigestMethod>
+<DigestValue>zsCUAlXZcgZpTpvNM8pwzCCvzQxDtltJf7V6YA0DT4I=</DigestValue>
+</Reference>
+<Reference URI="res%2Fimages%2Ffolder_appicon_bg_possible.png">
+<DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"></DigestMethod>
+<DigestValue>z5iytDrt/KDlOXhLpUdQYzzujZE6edmRR6lasSQewHw=</DigestValue>
+</Reference>
+<Reference URI="res%2Fimages%2Ffolder_appicon_empty_bg.png">
+<DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"></DigestMethod>
+<DigestValue>Ysst9mhNQVr8gPEe51C2f9+N0CTjbM+F/xeIf+bdsvw=</DigestValue>
+</Reference>
+<Reference URI="res%2Fimages%2Ffolder_popup_bg.png">
+<DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"></DigestMethod>
+<DigestValue>APqmJrt2ZwFNUC2PENUcmJ5cItcb+xkHI1KbVut6IsA=</DigestValue>
+</Reference>
+<Reference URI="res%2Fimages%2Fframe.png">
+<DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"></DigestMethod>
+<DigestValue>gpq0MLAf9szSx3ow75FRsA0KUC0pS1no+iRjNZS/z9I=</DigestValue>
+</Reference>
+<Reference URI="res%2Fimages%2Fhome_button_bg.png">
+<DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"></DigestMethod>
+<DigestValue>l4faVb4KE9pXkjtVxKT1aAtH66f3gAKcg/elnRBJ+U8=</DigestValue>
+</Reference>
+<Reference URI="res%2Fimages%2Fhome_edit_bg.%23.png">
+<DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"></DigestMethod>
+<DigestValue>TJbfUGn+pdFvEoKFUju4a0ja5t8UP2tEZQNG8BbNH8I=</DigestValue>
+</Reference>
+<Reference URI="res%2Fimages%2Fhome_icon_home.png">
+<DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"></DigestMethod>
+<DigestValue>+tDFf7ffkLuqu9WiH11YCiAXj7MwEwRQnL1Raw+dWrg=</DigestValue>
+</Reference>
+<Reference URI="res%2Fimages%2Fhome_icon_menu.png">
+<DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"></DigestMethod>
+<DigestValue>H/HrJq65K3MHJNE20myd6+iXIfX5Mew9KFlOG5+F+/M=</DigestValue>
+</Reference>
+<Reference URI="res%2Fimages%2Fhome_icon_reorder.png">
+<DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"></DigestMethod>
+<DigestValue>zZS2Q++ggh8jqgvWfuxrNQRMYj/1N2ecSB4VIwOYxJo=</DigestValue>
+</Reference>
+<Reference URI="res%2Fimages%2Ficon_badge_container.png">
+<DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"></DigestMethod>
+<DigestValue>jT49M8iXi1RBYngrDVZGYqunMNnGE2W9RCnqcJIU1WM=</DigestValue>
+</Reference>
+<Reference URI="res%2Fimages%2Ficon_drawer_search.png">
+<DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"></DigestMethod>
+<DigestValue>JjUqvUuBNWMhBdt6cWwe2C8s5H4xf+RlWmGBStmT+wk=</DigestValue>
+</Reference>
+<Reference URI="res%2Fimages%2Ficon_list_close.png">
+<DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"></DigestMethod>
+<DigestValue>3ZDUMujXsuKQdll1qsq0QIASsX05Zq/NiOHCYwxi6zE=</DigestValue>
+</Reference>
+<Reference URI="res%2Fimages%2Ficon_list_open.png">
+<DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"></DigestMethod>
+<DigestValue>Dx8TBTedzgSRAdGQPH7xLrZnsgHNk/X4hDd0o005WJI=</DigestValue>
+</Reference>
+<Reference URI="res%2Fimages%2Ficon_shadow.png">
+<DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"></DigestMethod>
+<DigestValue>4tAytYuYy+7jFVA4XC+Vct10Oeu+QXy0vrOnO8pKWoY=</DigestValue>
+</Reference>
+<Reference URI="res%2Fimages%2Flivebox%2Fpreview_FMradio.png">
+<DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"></DigestMethod>
+<DigestValue>AQVTOdG0Xxk+g6m+MziA9AFITnqAVRgGwO40tndMJrk=</DigestValue>
+</Reference>
+<Reference URI="res%2Fimages%2Flivebox%2Fpreview_alarm.png">
+<DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"></DigestMethod>
+<DigestValue>P6VUWAelllZtDLqc+z3a5eBazvXGygHu6/NE9tynNu4=</DigestValue>
+</Reference>
+<Reference URI="res%2Fimages%2Flivebox%2Fpreview_calendar.png">
+<DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"></DigestMethod>
+<DigestValue>JdyiUyAyT0//bCB3kVWmTiPXEiF0y1Hx1rpRPWQAczU=</DigestValue>
+</Reference>
+<Reference URI="res%2Fimages%2Flivebox%2Fpreview_contact_4x2.png">
+<DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"></DigestMethod>
+<DigestValue>EijM8rmL/AmC3oYZJIuzsOThn2ZRjBYfPtkUdtLakZg=</DigestValue>
+</Reference>
+<Reference URI="res%2Fimages%2Flivebox%2Fpreview_contact_4x4.png">
+<DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"></DigestMethod>
+<DigestValue>z4fEcK/PfvN90HO0dz5HTddZxse5IJGRFMnchoWneTY=</DigestValue>
+</Reference>
+<Reference URI="res%2Fimages%2Flivebox%2Fpreview_dual_clock.png">
+<DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"></DigestMethod>
+<DigestValue>nJYPwPWfBSTvQ+BfSUInLKrG3iAVzp9sWYpBsNdmVeE=</DigestValue>
+</Reference>
+<Reference URI="res%2Fimages%2Flivebox%2Fpreview_gallery.png">
+<DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"></DigestMethod>
+<DigestValue>MIbmuA6Puhz9y6hp6Ydn40OHN9pAm/V0uQlACSoqIfc=</DigestValue>
+</Reference>
+<Reference URI="res%2Fimages%2Flivebox%2Fpreview_internet_4x4.png">
+<DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"></DigestMethod>
+<DigestValue>L8tH1GzIp268bxbR7CXLvVBM2rhweF47HBw+jacnC1k=</DigestValue>
+</Reference>
+<Reference URI="res%2Fimages%2Flivebox%2Fpreview_music.png">
+<DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"></DigestMethod>
+<DigestValue>6P6bjj/kkHI3A2Vf7v8iwq0DnTon8EUpv/8AfTKaOIk=</DigestValue>
+</Reference>
+<Reference URI="res%2Fimages%2Flivebox%2Fpreview_singel_clock.png">
+<DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"></DigestMethod>
+<DigestValue>H9/q7POQQC6W6kE2rSCohiPO4VkpWOnXgB1enKgRccc=</DigestValue>
+</Reference>
+<Reference URI="res%2Fimages%2Flivebox%2Fpreview_weather_4x2.png">
+<DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"></DigestMethod>
+<DigestValue>A0mXL8hy2r6gsM0p2z9NwcMl+PBKU4i6ifNUvoZLZuE=</DigestValue>
+</Reference>
+<Reference URI="res%2Fimages%2Flivebox%2Fpreview_weather_4x4.png">
+<DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"></DigestMethod>
+<DigestValue>ZK0SE6HQ7gCD7w9HZafL1fdDhM+/WnNRn9b5F1fdC94=</DigestValue>
+</Reference>
+<Reference URI="res%2Fimages%2Fpreview_bg_1x1.png">
+<DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"></DigestMethod>
+<DigestValue>HpA+xWYlnSunpHnXCNY+3j7hzXFjuuTrrEQ7KkGxnio=</DigestValue>
+</Reference>
+<Reference URI="res%2Fimages%2Fpreview_bg_2x1.png">
+<DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"></DigestMethod>
+<DigestValue>IKnpuzRXuaSZnGRmDCKtxQkEd0ieYS7toOq3J+4LE3w=</DigestValue>
+</Reference>
+<Reference URI="res%2Fimages%2Fpreview_bg_2x2.png">
+<DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"></DigestMethod>
+<DigestValue>xX441XxwNixUXRtG3+wvnuH6HQd69a+4GK+p+b8qF4c=</DigestValue>
+</Reference>
+<Reference URI="res%2Fimages%2Fpreview_bg_4x1.png">
+<DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"></DigestMethod>
+<DigestValue>QoWfaOYy7VtayNTC9RJZYVEC1JWLrmDxStYIREMYwhc=</DigestValue>
+</Reference>
+<Reference URI="res%2Fimages%2Fpreview_bg_4x2.png">
+<DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"></DigestMethod>
+<DigestValue>mEn+5/4SKC8p6o7KgG6JBfPm8na7VOX6Ln6i49XKKmY=</DigestValue>
+</Reference>
+<Reference URI="res%2Fimages%2Fpreview_bg_4x3.png">
+<DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"></DigestMethod>
+<DigestValue>+Khr1HDbJyEEftNIVlccG8/seZZEltRSFx9VY5hWH4s=</DigestValue>
+</Reference>
+<Reference URI="res%2Fimages%2Fpreview_bg_4x4.png">
+<DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"></DigestMethod>
+<DigestValue>o+c/XfTxZHg9we0G+ZVEGgzFWF4Tna03ohGwbyXTl4M=</DigestValue>
+</Reference>
+<Reference URI="res%2Fimages%2Freposition_bg.png">
+<DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"></DigestMethod>
+<DigestValue>bW9Tef7odloVYkQIU81w0lFsOsAN+POUSiBqrfykff4=</DigestValue>
+</Reference>
+<Reference URI="res%2Fimages%2Freposition_bg_shadow.png">
+<DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"></DigestMethod>
+<DigestValue>Dl4uB/n8AICNG+OjimHs0xXondtjJ7FJK7duG49UB10=</DigestValue>
+</Reference>
+<Reference URI="res%2Fimages%2Fresize_button.png">
+<DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"></DigestMethod>
+<DigestValue>geCmfkfJQwsznI9mgTWmY4cDR/xrXwmdrFmkOk2ZH6E=</DigestValue>
+</Reference>
+<Reference URI="res%2Fimages%2Fscroll_bar.9.png">
+<DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"></DigestMethod>
+<DigestValue>1zi7TzVEge+yg9ENOue8+0RE+U6XzqOnDL/iuO6QkLA=</DigestValue>
+</Reference>
+<Reference URI="res%2Fimages%2Funknown.png">
+<DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"></DigestMethod>
+<DigestValue>wmGvOtxTMRgi79PbSy9BCuj/rizSbAfe/ciJTP5v+P8=</DigestValue>
+</Reference>
+<Reference URI="res%2Flocale%2Far%2FLC_MESSAGES%2Fhomescreen-efl.mo">
+<DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"></DigestMethod>
+<DigestValue>qYLt6zOsKvcaFK1EmL/AmZeNYaebTyumu88p/F2ZRgk=</DigestValue>
+</Reference>
+<Reference URI="res%2Flocale%2Faz%2FLC_MESSAGES%2Fhomescreen-efl.mo">
+<DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"></DigestMethod>
+<DigestValue>SFnYAjlhghodT4aZrpOQ/rJEp9y65oZe9uOVThnRatc=</DigestValue>
+</Reference>
+<Reference URI="res%2Flocale%2Fbg%2FLC_MESSAGES%2Fhomescreen-efl.mo">
+<DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"></DigestMethod>
+<DigestValue>Cywgos8YvOdNyArlKSMvGm2SRWBgcshB3EmLuylPjkk=</DigestValue>
+</Reference>
+<Reference URI="res%2Flocale%2Fca%2FLC_MESSAGES%2Fhomescreen-efl.mo">
+<DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"></DigestMethod>
+<DigestValue>69sIsKYA4LLM5k4lEUAmydXZG94W4uWyiyl1Ey65wqs=</DigestValue>
+</Reference>
+<Reference URI="res%2Flocale%2Fcs%2FLC_MESSAGES%2Fhomescreen-efl.mo">
+<DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"></DigestMethod>
+<DigestValue>7aP+5lf/Q7jl51WQb9Ib0mao/9Bisc8LNaIcnM98Afo=</DigestValue>
+</Reference>
+<Reference URI="res%2Flocale%2Fda%2FLC_MESSAGES%2Fhomescreen-efl.mo">
+<DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"></DigestMethod>
+<DigestValue>j9e64M1wxPEtaMj2b+2H80BNXnDpMm0SadpXGfJfqI8=</DigestValue>
+</Reference>
+<Reference URI="res%2Flocale%2Fde%2FLC_MESSAGES%2Fhomescreen-efl.mo">
+<DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"></DigestMethod>
+<DigestValue>nssSSRiMDZqObxD9zmbeP4ToT/xqlwk2sF4ENCNR1YM=</DigestValue>
+</Reference>
+<Reference URI="res%2Flocale%2Fel_GR%2FLC_MESSAGES%2Fhomescreen-efl.mo">
+<DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"></DigestMethod>
+<DigestValue>+XZHDGAYBheuyOscV/Tam1KavBPt7GlX7nWkfvoVBhQ=</DigestValue>
+</Reference>
+<Reference URI="res%2Flocale%2Fen%2FLC_MESSAGES%2Fhomescreen-efl.mo">
+<DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"></DigestMethod>
+<DigestValue>QS10uzT75NXFwfJEZIPmfd6w61j8E8tagZw36UZQvLk=</DigestValue>
+</Reference>
+<Reference URI="res%2Flocale%2Fen_PH%2FLC_MESSAGES%2Fhomescreen-efl.mo">
+<DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"></DigestMethod>
+<DigestValue>q46c5jFrppMUq3bs9RntvPXgDDhLsj3whHUOAK9GAN4=</DigestValue>
+</Reference>
+<Reference URI="res%2Flocale%2Fen_US%2FLC_MESSAGES%2Fhomescreen-efl.mo">
+<DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"></DigestMethod>
+<DigestValue>GAh/TT0xbRf8oZoi5U3C1IXr04ybeGGCkrF+dIwmTOk=</DigestValue>
+</Reference>
+<Reference URI="res%2Flocale%2Fes_ES%2FLC_MESSAGES%2Fhomescreen-efl.mo">
+<DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"></DigestMethod>
+<DigestValue>L8jLHeLsWt3uNlLDZUHoIXv/FfbsCjzNZswiSSrw9Uw=</DigestValue>
+</Reference>
+<Reference URI="res%2Flocale%2Fes_US%2FLC_MESSAGES%2Fhomescreen-efl.mo">
+<DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"></DigestMethod>
+<DigestValue>hT6HAUYSpKkyyGI7bR+8GVeGp79V7XIgw4+JT4ePHqs=</DigestValue>
+</Reference>
+<Reference URI="res%2Flocale%2Fet%2FLC_MESSAGES%2Fhomescreen-efl.mo">
+<DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"></DigestMethod>
+<DigestValue>2Ndnktb0urcCrQrHdJDjF9la3rrIqQ+wLc0Zjt/rLl4=</DigestValue>
+</Reference>
+<Reference URI="res%2Flocale%2Feu%2FLC_MESSAGES%2Fhomescreen-efl.mo">
+<DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"></DigestMethod>
+<DigestValue>KJ120FgYGz6111kBBS6qUG8rtQ5yod2A/XY/zO9ILlM=</DigestValue>
+</Reference>
+<Reference URI="res%2Flocale%2Ffi%2FLC_MESSAGES%2Fhomescreen-efl.mo">
+<DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"></DigestMethod>
+<DigestValue>AC+NPEpPHYR8oBlY9vmj7PEisgKjYc6IFVrxIM9vPsA=</DigestValue>
+</Reference>
+<Reference URI="res%2Flocale%2Ffr%2FLC_MESSAGES%2Fhomescreen-efl.mo">
+<DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"></DigestMethod>
+<DigestValue>cbgaXPnLwCntmAohkqD1fGD/8W3fgiZIV/kKXCmAofU=</DigestValue>
+</Reference>
+<Reference URI="res%2Flocale%2Ffr_CA%2FLC_MESSAGES%2Fhomescreen-efl.mo">
+<DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"></DigestMethod>
+<DigestValue>NZnmc9uPKiLyiJwVWoTyyNaUSe2CC+4YBXqrIAXXxIQ=</DigestValue>
+</Reference>
+<Reference URI="res%2Flocale%2Fga%2FLC_MESSAGES%2Fhomescreen-efl.mo">
+<DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"></DigestMethod>
+<DigestValue>W3VigK2g2KACSWrX8xgj1Pc5btWQWyvApK8POwkUPso=</DigestValue>
+</Reference>
+<Reference URI="res%2Flocale%2Fgl%2FLC_MESSAGES%2Fhomescreen-efl.mo">
+<DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"></DigestMethod>
+<DigestValue>uExwxEQI/1y47oBNwcGaHO80bmARzn30f9DOMmxVm7I=</DigestValue>
+</Reference>
+<Reference URI="res%2Flocale%2Fhi%2FLC_MESSAGES%2Fhomescreen-efl.mo">
+<DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"></DigestMethod>
+<DigestValue>XcvvTyQiMgjp6Q+qAmE1E+2houbwB5yACn7ZJQe30wo=</DigestValue>
+</Reference>
+<Reference URI="res%2Flocale%2Fhr%2FLC_MESSAGES%2Fhomescreen-efl.mo">
+<DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"></DigestMethod>
+<DigestValue>Q43M/TXJhQjIZN6BcC+DuNtIbUZH9J1NYN0DLQH5OcY=</DigestValue>
+</Reference>
+<Reference URI="res%2Flocale%2Fhu%2FLC_MESSAGES%2Fhomescreen-efl.mo">
+<DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"></DigestMethod>
+<DigestValue>TO174vd4fQkUt3As0KHgPbWO8CQpj0Cq5Nwxjj010EU=</DigestValue>
+</Reference>
+<Reference URI="res%2Flocale%2Fhy%2FLC_MESSAGES%2Fhomescreen-efl.mo">
+<DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"></DigestMethod>
+<DigestValue>SmsDTn92AvsekPW2cc9pI83yJpK+gPCBm+gP1SFE1VY=</DigestValue>
+</Reference>
+<Reference URI="res%2Flocale%2Fis%2FLC_MESSAGES%2Fhomescreen-efl.mo">
+<DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"></DigestMethod>
+<DigestValue>JLhQky0B/+daufEWDO48kBkCcGx6gerkYTwLFaYXCR8=</DigestValue>
+</Reference>
+<Reference URI="res%2Flocale%2Fit_IT%2FLC_MESSAGES%2Fhomescreen-efl.mo">
+<DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"></DigestMethod>
+<DigestValue>x0l8OFvgutc3D4i6elMGSjFFnAPiJ4XVHTVDePaE+uQ=</DigestValue>
+</Reference>
+<Reference URI="res%2Flocale%2Fja_JP%2FLC_MESSAGES%2Fhomescreen-efl.mo">
+<DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"></DigestMethod>
+<DigestValue>3lZ9Zcdx33sJC2EaVY2vVSSuJq+BMYJEbWvR2hKo5gU=</DigestValue>
+</Reference>
+<Reference URI="res%2Flocale%2Fka%2FLC_MESSAGES%2Fhomescreen-efl.mo">
+<DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"></DigestMethod>
+<DigestValue>R9ch/KGvSLuu7K7VOEP+Os9q+uWPTSLyIi4YDihzZzY=</DigestValue>
+</Reference>
+<Reference URI="res%2Flocale%2Fkk%2FLC_MESSAGES%2Fhomescreen-efl.mo">
+<DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"></DigestMethod>
+<DigestValue>FvACiVK8pgCdQ0OeH4a+wyqDqLRxsCRFM7kJBln2KV4=</DigestValue>
+</Reference>
+<Reference URI="res%2Flocale%2Fko_KR%2FLC_MESSAGES%2Fhomescreen-efl.mo">
+<DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"></DigestMethod>
+<DigestValue>r5otdbz7OeZmKrnRo2noPPACrvaiVEgO86uVWWMcthY=</DigestValue>
+</Reference>
+<Reference URI="res%2Flocale%2Flt%2FLC_MESSAGES%2Fhomescreen-efl.mo">
+<DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"></DigestMethod>
+<DigestValue>zv/7pam/M6E6JboWfWYvuR65E3bzOWSOIha/MBUAR1Q=</DigestValue>
+</Reference>
+<Reference URI="res%2Flocale%2Flv%2FLC_MESSAGES%2Fhomescreen-efl.mo">
+<DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"></DigestMethod>
+<DigestValue>XXruTOen3m3s+jzqDOnUPjvgeh+WRui+mT6ysvoDD9Y=</DigestValue>
+</Reference>
+<Reference URI="res%2Flocale%2Fmk%2FLC_MESSAGES%2Fhomescreen-efl.mo">
+<DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"></DigestMethod>
+<DigestValue>c8eK+BIXcFPjmOwu0GZwN8SpNDDzPXQGRbO1TC92HBk=</DigestValue>
+</Reference>
+<Reference URI="res%2Flocale%2Fnb%2FLC_MESSAGES%2Fhomescreen-efl.mo">
+<DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"></DigestMethod>
+<DigestValue>Cj8AEWoOboJxe5SNfIVSJInTxzzoBPx09SRXW56fhzA=</DigestValue>
+</Reference>
+<Reference URI="res%2Flocale%2Fnl%2FLC_MESSAGES%2Fhomescreen-efl.mo">
+<DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"></DigestMethod>
+<DigestValue>q9x7SHtNysPOiA2cKtKDuvqnhe6BwUR94pXzjhkqzVA=</DigestValue>
+</Reference>
+<Reference URI="res%2Flocale%2Fpl%2FLC_MESSAGES%2Fhomescreen-efl.mo">
+<DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"></DigestMethod>
+<DigestValue>XksPwpX5Tbz7FFDQ7/vzLPkGRt/XDqV/hjY2A64q+wU=</DigestValue>
+</Reference>
+<Reference URI="res%2Flocale%2Fpt_BR%2FLC_MESSAGES%2Fhomescreen-efl.mo">
+<DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"></DigestMethod>
+<DigestValue>IVi4Ot4z9Lqt4vya8j4xYZl1GVQS7pZeAjlwiqh+2o4=</DigestValue>
+</Reference>
+<Reference URI="res%2Flocale%2Fpt_PT%2FLC_MESSAGES%2Fhomescreen-efl.mo">
+<DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"></DigestMethod>
+<DigestValue>aFv4X5Ok43bwfWKobpiV/rLTzPXnCMvgsKdJj8OB2pA=</DigestValue>
+</Reference>
+<Reference URI="res%2Flocale%2Fro%2FLC_MESSAGES%2Fhomescreen-efl.mo">
+<DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"></DigestMethod>
+<DigestValue>RjspVHVp/abhArEJ1CnYJqnek6lPEjAMCLayx/Xj0m0=</DigestValue>
+</Reference>
+<Reference URI="res%2Flocale%2Fru_RU%2FLC_MESSAGES%2Fhomescreen-efl.mo">
+<DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"></DigestMethod>
+<DigestValue>Go6CoVQu3sfIsi2Mz80SSEPmnqRskSaF9Q5sDySYAtk=</DigestValue>
+</Reference>
+<Reference URI="res%2Flocale%2Fsk%2FLC_MESSAGES%2Fhomescreen-efl.mo">
+<DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"></DigestMethod>
+<DigestValue>4tIJ4yyz0BpuswaCw73snOvMuRgGC5JSBrCPuxPU2ow=</DigestValue>
+</Reference>
+<Reference URI="res%2Flocale%2Fsl%2FLC_MESSAGES%2Fhomescreen-efl.mo">
+<DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"></DigestMethod>
+<DigestValue>Fi8UCK9x9roWbjzg+MBzD2B3a694NAAbp+bKUXWUs0U=</DigestValue>
+</Reference>
+<Reference URI="res%2Flocale%2Fsr%2FLC_MESSAGES%2Fhomescreen-efl.mo">
+<DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"></DigestMethod>
+<DigestValue>x3/n/gcoRjXOnFHzZbePK//pkAyt1c4YLGID1/0Pj/M=</DigestValue>
+</Reference>
+<Reference URI="res%2Flocale%2Fsv%2FLC_MESSAGES%2Fhomescreen-efl.mo">
+<DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"></DigestMethod>
+<DigestValue>3qm5lJo4iSktZyMMOgN4TDwuebO/HvxTpH1OlAsogMw=</DigestValue>
+</Reference>
+<Reference URI="res%2Flocale%2Ftr_TR%2FLC_MESSAGES%2Fhomescreen-efl.mo">
+<DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"></DigestMethod>
+<DigestValue>uNhKcL0MBhQBDz9HQLthGf4dPmxX+heiRfte8bLLuUw=</DigestValue>
+</Reference>
+<Reference URI="res%2Flocale%2Fuk%2FLC_MESSAGES%2Fhomescreen-efl.mo">
+<DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"></DigestMethod>
+<DigestValue>w0QXjUJAjRHtNEXbVoqF9VRxt/e/FONY5pBMNTolZdQ=</DigestValue>
+</Reference>
+<Reference URI="res%2Flocale%2Fuz%2FLC_MESSAGES%2Fhomescreen-efl.mo">
+<DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"></DigestMethod>
+<DigestValue>1Qd8hbQGo2yGSc5Qfqyx7TFFm5GMJb0WThJoKk/CjnU=</DigestValue>
+</Reference>
+<Reference URI="res%2Flocale%2Fzh_CN%2FLC_MESSAGES%2Fhomescreen-efl.mo">
+<DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"></DigestMethod>
+<DigestValue>dSQU4CoC9yiI9SMDjX4Lp/rdYnmaJafudmzP0xOy0RQ=</DigestValue>
+</Reference>
+<Reference URI="res%2Flocale%2Fzh_HK%2FLC_MESSAGES%2Fhomescreen-efl.mo">
+<DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"></DigestMethod>
+<DigestValue>6fbM9/ol4ScNdW5OGQHpYBSjZ9q9KXM4CjjBzmhLPAU=</DigestValue>
+</Reference>
+<Reference URI="res%2Flocale%2Fzh_TW%2FLC_MESSAGES%2Fhomescreen-efl.mo">
+<DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"></DigestMethod>
+<DigestValue>LFze8kgyHYQK9yfnyAEDhHVZI71AWSjHSUeLKdkRFr0=</DigestValue>
+</Reference>
+<Reference URI="shared%2Fres%2Fhomescreen-efl.png">
+<DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"></DigestMethod>
+<DigestValue>1d0oEZHqPn+QzNzGIHwj9ODby6x9ggFs9uOsav6jPNs=</DigestValue>
+</Reference>
+<Reference URI="tizen-manifest.xml">
+<DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"></DigestMethod>
+<DigestValue>en6pJaaSkQnQvJquunrTapiz93J1ABI9AF6gK4WBi3M=</DigestValue>
+</Reference>
+<Reference URI="#prop">
+<Transforms>
+<Transform Algorithm="http://www.w3.org/2006/12/xml-c14n11"></Transform>
+</Transforms>
+<DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"></DigestMethod>
+<DigestValue>u/jU3U4Zm5ihTMSjKGlGYbWzDfRkGphPPHx3gJIYEJ4=</DigestValue>
+</Reference>
+</SignedInfo>
+<SignatureValue>
+H0Q8k/2eJseDxpcoWO+FKzF8K3iCjp8YiS+7HBaV5nMdQWrei3xe6LGRbVfeNQrQ4IcMznehyO9t
+YvzRHA20H9czpqF5p3Mfs7yR7zO0/kxexqWtti62lUCz4cHddrMUiXBazXNX4l8qUejsBGe9yhSE
+HidgpQvFsy3PpQM8/3I=
+</SignatureValue>
+<KeyInfo>
+<X509Data>
+<X509Certificate>
+MIICtzCCAiACCQCX7BAlwjllkTANBgkqhkiG9w0BAQUFADCBnTELMAkGA1UEBhMCS1IxDjAMBgNV
+BAgMBVN1d29uMQ4wDAYDVQQHDAVTdXdvbjEWMBQGA1UECgwNVGl6ZW4gVGVzdCBDQTEiMCAGA1UE
+CwwZVGl6ZW4gRGlzdHJpYnV0b3IgVGVzdCBDQTEyMDAGA1UEAwwpVGl6ZW4gUGFydG5lci1NYW51
+ZmFjdHVyZXIgRGlzdHJpYnV0b3IgQ0EwHhcNMTIxMjEzMDU0NDI3WhcNMjIxMjExMDU0NDI3WjCB
+oTELMAkGA1UEBhMCS1IxDjAMBgNVBAgMBVN1d29uMQ4wDAYDVQQHDAVTdXdvbjEWMBQGA1UECgwN
+VGl6ZW4gVGVzdCBDQTEiMCAGA1UECwwZVGl6ZW4gRGlzdHJpYnV0b3IgVGVzdCBDQTE2MDQGA1UE
+AwwtVGl6ZW4gUGFydG5lci1NYW51ZmFjdHVyZXIgRGlzdHJpYnV0b3IgU2lnbmVyMIGfMA0GCSqG
+SIb3DQEBAQUAA4GNADCBiQKBgQC2O0i2ou9Pa8KI+RVu6/1QAMichy8YqDtpM4cogiX+tYfafN/v
+4l7q9sQdotaFPLWPR1HNtG6O6SKWZmM/Hp2U+S3vDeylEhex/IopWF9RZMPJFyKr9bJnlzTqiZuz
+qItlXOZZBHhUL73v6OxqYg2BsA88jLtCoZWVAkoKDX93ZQIDAQABMA0GCSqGSIb3DQEBBQUAA4GB
+AJ5vn+dEhnZFuRdIMUt8TwQzXSxPMqNmR8+fcwwzAacxeOTgeK1C+DqE31vead/c8CVDMurZHQbs
+qH/Ala6FomTm1q0uuM3Ll2qZaPkI3qr+h37YD4AI5scyIlP7ppApcdPRSkDgqfXkika62Q9M0+MN
+nxl8+AvEukgC6qcd90oL
+</X509Certificate>
+<X509Certificate>
+MIICzzCCAjigAwIBAgIJAMNp1nbwir4GMA0GCSqGSIb3DQEBBQUAMIGiMQswCQYDVQQGEwJLUjEO
+MAwGA1UECAwFU3V3b24xDjAMBgNVBAcMBVN1d29uMRYwFAYDVQQKDA1UaXplbiBUZXN0IENBMSIw
+IAYDVQQLDBlUaXplbiBEaXN0cmlidXRvciBUZXN0IENBMTcwNQYDVQQDDC5UaXplbiBQYXJ0bmVy
+LU1hbnVmYWN0dXJlciBEaXN0cmlidXRvciBSb290IENBMB4XDTEyMTIxMzA1NDQyMFoXDTIyMTIx
+MTA1NDQyMFowgZ0xCzAJBgNVBAYTAktSMQ4wDAYDVQQIDAVTdXdvbjEOMAwGA1UEBwwFU3V3b24x
+FjAUBgNVBAoMDVRpemVuIFRlc3QgQ0ExIjAgBgNVBAsMGVRpemVuIERpc3RyaWJ1dG9yIFRlc3Qg
+Q0ExMjAwBgNVBAMMKVRpemVuIFBhcnRuZXItTWFudWZhY3R1cmVyIERpc3RyaWJ1dG9yIENBMIGf
+MA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDMni4Qmv96ww/De92kYhtzpas7viwyYoFTTuvcmayD
+FBuDoaHqrSDsrb9M7qrR4N9higg1mT8a9J8CUhPLKhlifK9OwyQsZS+8xVfPfogIJ3wumfjLl5zi
+nqpkSe2ernxOTU+PB5lWU8toKbnJO3+jchm14DjCQ4ZoqG26qbG5pQIDAQABoxAwDjAMBgNVHRME
+BTADAQH/MA0GCSqGSIb3DQEBBQUAA4GBAA9lsDyArDR9balTfqrjN241nVqyLqPOP+MFRjGWrIlI
+yLDcw2/L9hxguD8XhgAanaQUzS06XM6BajDjcSiJrohjoMFkB09M+r5fVkrhkT29oABsKXO87+p8
+JbbbIfdwMUrAjXsrjMUzJ3J6fn86/dn/PcuMAkCgrD069IzpE8NM
+</X509Certificate>
+</X509Data>
+</KeyInfo>
+<Object Id="prop"><SignatureProperties xmlns:dsp="http://www.w3.org/2009/xmldsig-properties"><SignatureProperty Id="profile" Target="#DistributorSignature"><dsp:Profile URI="http://www.w3.org/ns/widgets-digsig#profile"></dsp:Profile></SignatureProperty><SignatureProperty Id="role" Target="#DistributorSignature"><dsp:Role URI="http://www.w3.org/ns/widgets-digsig#role-distributor"></dsp:Role></SignatureProperty><SignatureProperty Id="identifier" Target="#DistributorSignature"><dsp:Identifier></dsp:Identifier></SignatureProperty></SignatureProperties></Object>
+</Signature>
\ No newline at end of file
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
old mode 100644 (file)
new mode 100755 (executable)
index 6bb5e2f..a8a4d87
@@ -1,6 +1,7 @@
-
 # Add pre/post build process
-PREBUILD_DESC = 
-PREBUILD_COMMAND = 
-POSTBUILD_DESC = 
-POSTBUILD_COMMAND = 
+
+PREBUILD_COMMAND =
+PREBUILD_DESC =
+
+POSTBUILD_COMMAND =
+POSTBUILD_DESC =
old mode 100644 (file)
new mode 100755 (executable)
diff --git a/CMake/CMakeLists.txt b/CMake/CMakeLists.txt
deleted file mode 100644 (file)
index 95630d6..0000000
+++ /dev/null
@@ -1,93 +0,0 @@
-CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
-PROJECT(homescreen-efl C)
-
-SET(INSTALL_EXEC_PREFIX "${INSTALL_PREFIX}/bin")
-SET(INSTALL_RESDIR "${INSTALL_PREFIX}/res")
-SET(INSTALL_IMAGEDIR "${INSTALL_RESDIR}/images")
-SET(EDJEDIR "${INSTALL_RESDIR}/edje")
-SET(LOCALEDIR "${INSTALL_RESDIR}/locale")
-SET(CMAKE_VERBOSE_MAKEFILE 0)
-
-SET(PROJECT_ROOT_DIR "${CMAKE_SOURCE_DIR}/..")
-SET(PROJECT_RESOURCES_DIR "${PROJECT_ROOT_DIR}/res")
-SET(PROJECT_EDC_DIR "${PROJECT_RESOURCES_DIR}/edje")
-SET(PROJECT_IMAGES_DIR "${PROJECT_RESOURCES_DIR}/images")
-SET(PROJECT_PO_DIR "${PROJECT_RESOURCES_DIR}/po")
-
-INCLUDE(FindPkgConfig)
-pkg_check_modules(MENU_PKGS REQUIRED
-       appsvc
-       badge
-       capi-appfw-application
-       capi-system-info
-       capi-appfw-package-manager
-       capi-appfw-app-manager
-       capi-system-system-settings
-       dlog
-       elementary
-       shortcut
-       syspopup-caller
-       widget_viewer
-       widget_service
-       widget_viewer_evas
-       capi-appfw-preference
-       sqlite3
-)
-
-FOREACH (flag ${MENU_PKGS_CFLAGS})
-    SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} ${flag}")
-ENDFOREACH(flag)
-
-SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} -fvisibility=hidden -Wall -Winline -g -fno-builtin-malloc -fPIC")
-SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${EXTRA_CFLAGS}")
-SET(CMAKE_EXE_LINKER_FLAGS "-Wl,--as-needed -pie")
-
-INCLUDE_DIRECTORIES(${PROJECT_ROOT_DIR}/inc)
-
-ADD_EXECUTABLE(${PROJECT_NAME}
-       ${PROJECT_ROOT_DIR}/src/homescreen-efl.c
-       ${PROJECT_ROOT_DIR}/src/all_apps.c
-       ${PROJECT_ROOT_DIR}/src/app_mgr.c
-       ${PROJECT_ROOT_DIR}/src/app_item.c
-       ${PROJECT_ROOT_DIR}/src/data_model.c
-       ${PROJECT_ROOT_DIR}/src/tree.c
-
-       ${PROJECT_ROOT_DIR}/src/app_grid.c
-       ${PROJECT_ROOT_DIR}/src/layout.c
-       ${PROJECT_ROOT_DIR}/src/page_scroller.c
-       ${PROJECT_ROOT_DIR}/src/util.c
-       ${PROJECT_ROOT_DIR}/src/app_icon.c
-       ${PROJECT_ROOT_DIR}/src/key.c
-       ${PROJECT_ROOT_DIR}/src/option_menu.c
-       ${PROJECT_ROOT_DIR}/src/mouse.c
-       ${PROJECT_ROOT_DIR}/src/folder_panel.c
-       ${PROJECT_ROOT_DIR}/src/popup.c
-       ${PROJECT_ROOT_DIR}/src/dynamic_index.c
-       ${PROJECT_ROOT_DIR}/src/livebox_all_pages.c
-       ${PROJECT_ROOT_DIR}/src/db/db.c
-
-       ${PROJECT_ROOT_DIR}/src/livebox/livebox_panel.c
-       ${PROJECT_ROOT_DIR}/src/livebox/livebox_animator.c
-       ${PROJECT_ROOT_DIR}/src/livebox/grid_item_resize.c
-       ${PROJECT_ROOT_DIR}/src/livebox/livebox_utils.c
-       ${PROJECT_ROOT_DIR}/src/livebox/grid_reposition.c
-       ${PROJECT_ROOT_DIR}/src/livebox/livebox_widget.c
-
-       ${PROJECT_ROOT_DIR}/src/add_viewer/add_viewer.c
-       ${PROJECT_ROOT_DIR}/src/add_viewer/list_view.c
-       ${PROJECT_ROOT_DIR}/src/add_viewer/view.c
-       ${PROJECT_ROOT_DIR}/src/add_viewer/widget.c
-)
-
-TARGET_LINK_LIBRARIES(${PROJECT_NAME} ${pkgs_LDFLAGS} -lm)
-TARGET_LINK_LIBRARIES(${PROJECT_NAME} ${MENU_PKGS_LDFLAGS})
-
-# Install
-INSTALL(TARGETS ${PROJECT_NAME} DESTINATION ${INSTALL_EXEC_PREFIX})
-
-INSTALL(FILES ${PROJECT_ROOT_DIR}/tizen-manifest.xml DESTINATION ${SYS_PACKAGES_DIR} RENAME org.tizen.homescreen-efl.xml)
-INSTALL(DIRECTORY DESTINATION ${PREFIX}/data)
-INSTALL(FILES ${PROJECT_ROOT_DIR}/shared/res/homescreen-efl.png DESTINATION ${SYS_ICONS_DIR})
-
-# End of a file
-ADD_SUBDIRECTORY(res)
diff --git a/CMake/res/CMakeLists.txt b/CMake/res/CMakeLists.txt
deleted file mode 100644 (file)
index d6667e4..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-ADD_SUBDIRECTORY(edje)
-ADD_SUBDIRECTORY(images)
-ADD_SUBDIRECTORY(po)
-
diff --git a/CMake/res/edje/CMakeLists.txt b/CMake/res/edje/CMakeLists.txt
deleted file mode 100644 (file)
index bf99cf5..0000000
+++ /dev/null
@@ -1,87 +0,0 @@
-ADD_CUSTOM_TARGET(home.edj
-               COMMAND edje_cc -id ${PROJECT_EDC_DIR}/../images ${EDJE_CFLAGS}
-               ${PROJECT_EDC_DIR}/home.edc home.edj
-               DEPENDS ${PROJECT_EDC_DIR}/home.edc
-)
-ADD_DEPENDENCIES(${PROJECT_NAME} home.edj)
-INSTALL(FILES home.edj DESTINATION ${EDJEDIR})
-
-ADD_CUSTOM_TARGET(icon.edj
-               COMMAND edje_cc -id ${PROJECT_EDC_DIR}/../images ${EDJE_CFLAGS}
-               ${PROJECT_EDC_DIR}/icon.edc icon.edj
-               DEPENDS ${PROJECT_EDC_DIR}/icon.edc
-)
-ADD_DEPENDENCIES(${PROJECT_NAME} icon.edj)
-INSTALL(FILES icon.edj DESTINATION ${EDJEDIR})
-
-ADD_CUSTOM_TARGET(folder.edj
-               COMMAND edje_cc -id ${PROJECT_EDC_DIR}/../images ${EDJE_CFLAGS}
-               ${PROJECT_EDC_DIR}/folder.edc folder.edj
-               DEPENDS ${PROJECT_EDC_DIR}/folder.edc
-)
-ADD_DEPENDENCIES(${PROJECT_NAME} folder.edj)
-INSTALL(FILES folder.edj DESTINATION ${EDJEDIR})
-
-ADD_CUSTOM_TARGET(folder_entry.edj
-               COMMAND edje_cc -id ${PROJECT_EDC_DIR}/../images ${EDJE_CFLAGS}
-               ${PROJECT_EDC_DIR}/folder_entry.edc folder_entry.edj
-               DEPENDS ${PROJECT_EDC_DIR}/folder_entry.edc
-)
-ADD_DEPENDENCIES(${PROJECT_NAME} folder_entry.edj)
-INSTALL(FILES folder_entry.edj DESTINATION ${EDJEDIR})
-
-ADD_CUSTOM_TARGET(index_element.edj
-               COMMAND edje_cc -id ${PROJECT_EDC_DIR}/../images ${EDJE_CFLAGS}
-               ${PROJECT_EDC_DIR}/index_element.edc index_element.edj
-               DEPENDS ${PROJECT_EDC_DIR}/index_element.edc
-)
-ADD_DEPENDENCIES(${PROJECT_NAME} index_element.edj)
-INSTALL(FILES index_element.edj DESTINATION ${EDJEDIR})
-
-ADD_CUSTOM_TARGET(app_grid.edj
-               COMMAND edje_cc -id ${PROJECT_EDC_DIR}/../images ${EDJE_CFLAGS}
-               ${PROJECT_EDC_DIR}/app_grid.edc app_grid.edj
-               DEPENDS ${PROJECT_EDC_DIR}/app_grid.edc
-)
-ADD_DEPENDENCIES(${PROJECT_NAME} app_grid.edj)
-INSTALL(FILES app_grid.edj DESTINATION ${EDJEDIR})
-
-ADD_CUSTOM_TARGET(livebox_container.edj
-               COMMAND edje_cc -id ${PROJECT_EDC_DIR}/../images ${EDJE_CFLAGS}
-               ${PROJECT_EDC_DIR}/livebox_container.edc livebox_container.edj
-               DEPENDS ${PROJECT_EDC_DIR}/livebox_container.edc
-)
-ADD_DEPENDENCIES(${PROJECT_NAME} livebox_container.edj)
-INSTALL(FILES livebox_container.edj DESTINATION ${EDJEDIR})
-
-ADD_CUSTOM_TARGET(livebox_layout.edj
-               COMMAND edje_cc -id ${PROJECT_EDC_DIR}/../images ${EDJE_CFLAGS}
-               ${PROJECT_EDC_DIR}/livebox_layout.edc livebox_layout.edj
-               DEPENDS ${PROJECT_EDC_DIR}/livebox_layout.edc
-)
-ADD_DEPENDENCIES(${PROJECT_NAME} livebox_layout.edj)
-INSTALL(FILES livebox_layout.edj DESTINATION ${EDJEDIR})
-
-ADD_CUSTOM_TARGET(page_edit.edj
-               COMMAND edje_cc -id ${PROJECT_EDC_DIR}/../images ${EDJE_CFLAGS}
-               ${PROJECT_EDC_DIR}/page_edit.edc page_edit.edj
-               DEPENDS ${PROJECT_EDC_DIR}/page_edit.edc
-)
-ADD_DEPENDENCIES(${PROJECT_NAME} page_edit.edj)
-INSTALL(FILES page_edit.edj DESTINATION ${EDJEDIR})
-
-ADD_CUSTOM_TARGET(preview.edj
-               COMMAND edje_cc -id ${PROJECT_EDC_DIR}/../images ${EDJE_CFLAGS}
-               ${PROJECT_EDC_DIR}/preview.edc preview.edj
-               DEPENDS ${PROJECT_EDC_DIR}/preview.edc
-)
-ADD_DEPENDENCIES(${PROJECT_NAME} preview.edj)
-INSTALL(FILES preview.edj DESTINATION ${EDJEDIR})
-
-ADD_CUSTOM_TARGET(color_classes.edj
-               COMMAND edje_cc -id ${PROJECT_EDC_DIR}/../images ${EDJE_CFLAGS}
-               ${PROJECT_EDC_DIR}/color_classes.edc color_classes.edj
-               DEPENDS ${PROJECT_EDC_DIR}/color_classes.edc
-)
-ADD_DEPENDENCIES(${PROJECT_NAME} color_classes.edj)
-INSTALL(FILES color_classes.edj DESTINATION ${EDJEDIR})
diff --git a/CMake/res/images/CMakeLists.txt b/CMake/res/images/CMakeLists.txt
deleted file mode 100644 (file)
index cc6190a..0000000
+++ /dev/null
@@ -1,25 +0,0 @@
-INSTALL(FILES
-       ${PROJECT_IMAGES_DIR}/default_bg.png
-       ${PROJECT_IMAGES_DIR}/default.png
-DESTINATION
-       ${INSTALL_IMAGEDIR}
-)
-
-INSTALL(FILES
-       ${PROJECT_IMAGES_DIR}/livebox/preview_alarm.png
-       ${PROJECT_IMAGES_DIR}/livebox/preview_contact_4x2.png
-       ${PROJECT_IMAGES_DIR}/livebox/preview_dual_clock.png
-       ${PROJECT_IMAGES_DIR}/livebox/preview_gallery.png
-       ${PROJECT_IMAGES_DIR}/livebox/preview_music.png
-       ${PROJECT_IMAGES_DIR}/livebox/preview_weather_4x2.png
-       ${PROJECT_IMAGES_DIR}/livebox/preview_calendar.png
-       ${PROJECT_IMAGES_DIR}/livebox/preview_contact_4x4.png
-       ${PROJECT_IMAGES_DIR}/livebox/preview_FMradio.png
-       ${PROJECT_IMAGES_DIR}/livebox/preview_internet_4x4.png
-       ${PROJECT_IMAGES_DIR}/livebox/preview_singel_clock.png
-       ${PROJECT_IMAGES_DIR}/livebox/preview_weather_4x4.png
-DESTINATION
-       "${INSTALL_IMAGEDIR}/livebox"
-)
-
-# End of a file
diff --git a/CMake/res/po/CMakeLists.txt b/CMake/res/po/CMakeLists.txt
deleted file mode 100755 (executable)
index 1ac0fc9..0000000
+++ /dev/null
@@ -1,26 +0,0 @@
-# for i18n
-
-SET(POFILES ar.po az.po bg.po ca.po cs.po da.po de.po el_GR.po en_PH.po en.po en_US.po
-                       es_ES.po es_US.po et.po eu.po fi.po fr_CA.po fr.po ga.po gl.po hi.po hr.po
-                       hu.po hy.po is.po it_IT.po ja_JP.po ka.po kk.po ko_KR.po lt.po lv.po mk.po
-                       nb.po nl.po pl.po pt_BR.po pt_PT.po ro.po ru_RU.po sk.po sl.po sr.po sv.po
-                       tr_TR.po uk.po uz.po zh_CN.po zh_HK.po zh_TW.po)
-SET(MSGFMT "/usr/bin/msgfmt")
-
-MESSAGE(STATUS "po files ---")
-FOREACH(pofile ${POFILES})
-       SET(pofile ${PROJECT_PO_DIR}/${pofile})
-       MESSAGE(STATUS "  ${pofile}")
-       GET_FILENAME_COMPONENT(absPofile ${pofile} ABSOLUTE)
-       GET_FILENAME_COMPONENT(lang ${absPofile} NAME_WE)
-       SET(moFile ${CMAKE_CURRENT_BINARY_DIR}/${lang}.mo)
-       ADD_CUSTOM_COMMAND(
-                       OUTPUT ${moFile}
-                       COMMAND ${MSGFMT} -o ${moFile} ${absPofile}
-                       DEPENDS ${absPofile}
-       )
-       INSTALL(FILES ${moFile} DESTINATION ${LOCALEDIR}/${lang}/LC_MESSAGES RENAME ${PROJECT_NAME}.mo)
-       SET(moFiles ${moFiles} ${moFile})
-ENDFOREACH(pofile)
-
-ADD_CUSTOM_TARGET(po ALL DEPENDS ${moFiles})
diff --git a/inc/add_viewer/add_viewer.h b/inc/add_viewer/add_viewer.h
deleted file mode 100644 (file)
index d00270a..0000000
+++ /dev/null
@@ -1,55 +0,0 @@
-/*
- * Copyright 2012  Samsung Electronics Co., Ltd
- *
- * Licensed under the Flora License, Version 1.1 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://floralicense.org/license/
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#ifndef ADD_VIEWER_H_
-#define ADD_VIEWER_H_
-
-#include "homescreen-efl.h"
-
-/**
- * @brief Create "add viewer" window
- *
- * @details Creates basic window that shows genlist with
- * all found widgets on device.
- *
- * @param w Evas_Coord width of the window
- * @param h Evas_Coord height of the window
- */
-void add_viewer_window_create(Evas_Coord w, Evas_Coord h);
-
-/**
- * @brief Delete "add viewer" window
- *
- * @details Deletes "add viewer" window and goes back to
- * homescreen home view
- */
-void add_viewer_window_delete(void);
-
-/**
- * @brief Get "add viewer" layout
- *
- * @return layout Evas_Object
- */
-Evas_Object *add_viewer_get_layout(void);
-
-/**
- * @brief Get "add viewer" main theme
- *
- * @return theme Elm_Theme
- */
-Elm_Theme *add_viewer_get_main_theme(void);
-
-#endif
diff --git a/inc/add_viewer/view.h b/inc/add_viewer/view.h
deleted file mode 100644 (file)
index 284683c..0000000
+++ /dev/null
@@ -1,72 +0,0 @@
-/*
- * Copyright 2012  Samsung Electronics Co., Ltd
- *
- * Licensed under the Flora License, Version 1.1 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://floralicense.org/license/
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#ifndef VIEW_H_
-#define VIEW_H_
-
-#include "homescreen-efl.h"
-
-typedef int(* indexing_cb)(Evas_Object *layout, const char *letter, void *data);
-
-/**
- * @brief Create content of the "add_viewer" layout
- *
- * @details Function creates additional object of the layout, index etc.
- *
- * @param naviframe Evas_Object naviframe where content should be created
- * @param genlist Evas_Object genlist to be created
- *
- * @return layout Evas_Object created layout to be displayed
- */
-Evas_Object *view_content_create(Evas_Object *frame, void *data);
-
-/**
- * @brief Show content
- *
- * @details Function sends signal to layout to show its content
- *
- * @param layout Evas_Object object to be shown
- */
-void view_content_show(Evas_Object *layout);
-
-/**
- * @brief Show index
- *
- * @details Function sends signal to layout to show index
- *
- * @param layout Evas_Object layout that index belongs to
- */
-void view_content_show_index(Evas_Object *layout);
-
-/**
- * @brief Select index item
- *
- * @details Function selects choosen item of the index
- *
- * @return 0 on success, 1 on failure
- */
-int view_index_set_index(const char *idx);
-
-/**
- * @brief Get index object
- *
- * @details Function returns index object
- *
- * @return index Evas_Object
- */
-Evas_Object *view_get_index(void);
-
-#endif
diff --git a/inc/add_viewer/widget.h b/inc/add_viewer/widget.h
deleted file mode 100644 (file)
index 63164ac..0000000
+++ /dev/null
@@ -1,66 +0,0 @@
-/*
- * Copyright 2012  Samsung Electronics Co., Ltd
- *
- * Licensed under the Flora License, Version 1.1 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://floralicense.org/license/
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#ifndef WIDGET_H_
-#define WIDGET_H_
-
-#include "homescreen-efl.h"
-
-typedef struct {
-       char *widget_id;
-       char *app_id;
-       char *label;
-
-       Eina_List *preview_list;
-       Elm_Object_Item *genlist_item;
-
-       int size_types_count;
-       int size_types;
-} widget_t;
-
-typedef struct {
-       int type;
-       char *path;
-} preview_t;
-
-/**
- * @brief Initialize widget list
- *
- * @details Function creates list with all target widgets, previews
- * and its sizes.
- *
- * @return 0 on success, 1 on failure
- */
-int widget_init(void);
-
-/**
- * @brief Remove widget list
- *
- * @details This function removes widget list and frees all its allocated
- * memory
- */
-void widget_fini(void);
-
-/**
- * @brief Get widget list
- *
- * @details Function returns list with all found widgets and their data.
- *
- * @return widget_list Eina_List
- */
-Eina_List* widget_get_widget_list(void);
-
-#endif
diff --git a/inc/add_widget_viewer/add_widget_data.h b/inc/add_widget_viewer/add_widget_data.h
new file mode 100755 (executable)
index 0000000..763b56a
--- /dev/null
@@ -0,0 +1,43 @@
+/*
+ * Copyright 2012  Samsung Electronics Co., Ltd
+ *
+ * Licensed under the Flora License, Version 1.1 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://floralicense.org/license/
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef __ADD_WIDGET_DATA_H__
+#define __ADD_WIDGET_DATA_H__
+
+typedef struct {
+    char *widget_id;
+    char *app_id;
+    char *label;
+
+    Eina_List *preview_list;
+    Elm_Object_Item *genlist_item;
+
+    int size_types_count;
+    int size_types;
+} add_widget_data_t;
+
+typedef struct {
+    int type;
+    char *path;
+} add_widget_data_preview_t;
+
+bool add_widget_data_init(void);
+void add_widget_data_fini(void);
+
+Eina_List *add_widget_data_get_widget_list(void);
+Eina_List *add_widget_data_get_widget_preview_list(add_widget_data_t *widget);
+
+#endif /* __ADD_WIDGET_DATA_H__ */
old mode 100644 (file)
new mode 100755 (executable)
similarity index 70%
rename from inc/key.h
rename to inc/add_widget_viewer/add_widget_viewer.h
index ee4d38e..5cedab3
--- a/inc/key.h
  * limitations under the License.
  */
 
-#ifndef KEY_H_
-#define KEY_H_
+#ifndef __ADD_WIDGET_VIEWER_H__
+#define __ADD_WIDGET_VIEWER_H__
 
-/**
- * @brief Registers the key module and all callbacks related to to hw keys.
- */
-void key_register(void);
-
-/**
- * @brief Unregisters all callbacks related to hw keys.
- */
-void key_unregister(void);
+void add_widget_viewer_win_create(void);
+void add_widget_viewer_win_destroy(void);
 
-#endif /* KEY_H_ */
+#endif /* __ADD_WIDGET_VIEWER_H__ */
diff --git a/inc/all_apps.h b/inc/all_apps.h
deleted file mode 100644 (file)
index 5c96691..0000000
+++ /dev/null
@@ -1,85 +0,0 @@
-/*
- * Copyright 2012  Samsung Electronics Co., Ltd
- *
- * Licensed under the Flora License, Version 1.1 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://floralicense.org/license/
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#ifndef ALL_APPS_H_
-#define ALL_APPS_H_
-
-#include <Elementary.h>
-#include "app_grid.h"
-#include "data_model.h"
-
-/**
- * @brief Creates all apps panel
- * @param parent elm_layout widget with proper swallow part
- * @return pointer to Evas_Object
- */
-Evas_Object *all_apps_create(Evas_Object *parent, void *data);
-
-/**
- * @brief Shows all_apps panel
- */
-void all_apps_show(void);
-
-/**
- * @brief [Hides all apps panel
- */
-void all_apps_hide(void);
-
-/**
- * @brief [brief description]
- * @details [long description]
- */
-void all_apps_del(void);
-
-/**
- * @brief Sets view mode of all apps view
- */
-void all_apps_set_view_mode(homescreen_view_t view);
-
-/**
- * @brief Function blocks srolling of the all_apps panel.
- * @details It is used during items reposition.
- *
- * @param is_blocked bool value, true if should be blocked
- */
-void all_apps_set_scrolling_blocked_state(bool is_blocked);
-
-/**
- * @brief detaches app icon from grid:
- */
-void all_apps_detach_from_grid(Elm_Object_Item *grid_item);
-
-/**
- * @brief attaches app icon to grid number grid_num:
- */
-Elm_Object_Item *all_apps_attach_to_grid(Evas_Object *icon, int grid_num);
-
-/**
- * @brief appends new page to the page scroller
- */
-bool all_apps_append_page(Tree_node_t *page_item);
-
-/**
- * @brief appends new page to the page scroller
- */
-void all_apps_remove_empty_pages(void);
-
-/**
- * @brief it simply updates all pages dynamic index display
- */
-void all_apps_update_dynamic_index_count(void);
-
-#endif /* ALL_APPS_H_ */
diff --git a/inc/app_grid.h b/inc/app_grid.h
deleted file mode 100644 (file)
index 0de34ce..0000000
+++ /dev/null
@@ -1,98 +0,0 @@
-/*
- * Copyright 2012  Samsung Electronics Co., Ltd
- *
- * Licensed under the Flora License, Version 1.1 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://floralicense.org/license/
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#ifndef APP_GRID_H_
-#define APP_GRID_H_
-
-#include <Elementary.h>
-#include "homescreen-efl.h"
-#include "tree.h"
-
-typedef enum {
-       APP_GRID_TYPE_ALL_APPS = 0,
-       APP_GRID_TYPE_FOLDER
-} app_grid_type_t;
-/**
- * @brief Function creates app_grid wgt
- * @details This is a kind of wrapper for a gengrid widget but handle drag and
- * drop events between different gengrids created by this function. Reposition
- * mechanism found active gengrid behind mouse pointer. Reposition is gengeric.
- * If you want to modify it you should set some callbacks in function
- * app_grid_custom_dnd_handlers_set.
- *
- * @param parent Pointer to eveas_object. Smart parent widget for app grid.
- * Basically you can add it into win.
- * @param data Pointer to Eina_List object with content will be inserted in
- * applicaiton list.
- * @param item_width int describes width of an item in grid.
- * @param item_height ind describes height of an item in grid
- * @return pointer to created app_grid
- */
-extern Evas_Object *app_grid_create(Evas_Object *parent, Tree_node_t *data,
-       Evas_Coord gengrid_width, Evas_Coord gengrid_height,
-       app_grid_type_t type);
-
-/**
- * @brief Append an imte inot app_grid
- * @param app_grid Pointer to elm_gengrid widget
- * @param icon_to_append pointer to appended item
- *
- * @return Elm_Object_Item if no errors, otherwise NULL
- */
-extern Elm_Object_Item *app_grid_append_item(Evas_Object *app_grid,
-       Evas_Object *icon_to_append);
-
-/**
- * @brief Function inserts an item into specific position. If idx is inproper
- * function tries to insert item at the end of the grid.
- *
- * @param app_grid Pointer to app_grid
- * @param item Pointer to item evas_object
- * @param idx index where item should be inserted
- *
- * @return Elm_Object_Item if no errors, otherwise NULL
- */
-extern Elm_Object_Item *app_grid_insert_item_relative(Evas_Object *app_grid,
-       Evas_Object *item, Elm_Object_Item *rel_it);
-
-/**
- * @brief Function change state of app grids in homescreen
- *
- * @param app_grid Pointer to elm_layout widget
- * @param view type of view mode
- */
-extern void app_grid_set_view_mode(Evas_Object *app_grid,
-       homescreen_view_t view);
-
-/**
- * @brief Function unpack item from the app_grid
- *
- * @param item pointer to stored data model
- */
-extern void app_grid_unpack_item(Elm_Object_Item *item);
-
-/**
- * @brief Function pack object to box
- */
-extern Evas_Object *app_grid_item_pack(Evas_Object *p, Evas_Object *c);
-
-/**
- * @brief Function get icon and data from app_grid item
- */
-extern Eina_Bool app_grid_get_item_content(Elm_Object_Item *item,
-       Evas_Object **icon, Tree_node_t **data);
-
-#endif /* APP_GRID_H_ */
diff --git a/inc/app_icon.h b/inc/app_icon.h
deleted file mode 100644 (file)
index e2e7694..0000000
+++ /dev/null
@@ -1,168 +0,0 @@
-/*
- * Copyright 2012  Samsung Electronics Co., Ltd
- *
- * Licensed under the Flora License, Version 1.1 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://floralicense.org/license/
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#ifndef APP_ICON_H_
-#define APP_ICON_H_
-
-#include <Elementary.h>
-#include <stdbool.h>
-
-#include "homescreen-efl.h"
-#include "app_item.h"
-#include "tree.h"
-
-typedef struct {
-       char *app_name;
-       char *app_appid;
-} app_icon_popup_info_t;
-
-typedef enum {
-       APP_ICON_TYPE_APP = 0,
-       APP_ICON_TYPE_FOLDER,
-       APP_ICON_TYPE_MINIATURE,
-} app_icon_type_t;
-
-typedef enum {
-       FOLDER_ICON_FRAME_POSSIBLE = 0,
-       FOLDER_ICON_FRAME_IMPOSSIBLE,
-       FOLDER_ICON_FRAME_NONE,
-} folder_icon_frame_type_t;
-
-/**
- * @brief Sets ignore click flag.
- *
- * @param ignore if it is true click event on icon will not be processed.
- */
-extern void app_icon_set_click_ignore(bool ignore);
-
-/**
- * @brief Remove icon object
- * @details Function removes elm_layout widget responsible for application
- * shortcut view. It deletes also elm_image widget (application shortuc image)
- * with is a child of icon_layout.
- *
- * @param icon_layout Evas_Object pointer to item witch will be deleted.
- */
-extern void app_icon_destroy(Evas_Object *icon_layout);
-
-/**
- * @brief Sets badge number and shows it on application icon.
- *
- * @param app_icon_layout application icon layout.
- * @param int number with will be displayed in badge layout.
- */
-extern void app_icon_show_badge(Evas_Object *app_icon_layout,
-       const unsigned int number);
-
-/**
- * @brief Hides badge icon on application.
- * @details [long description]
- * @param application icon layout pointer.
- */
-extern void app_icon_hide_badge(Evas_Object *app_icon_layout);
-
-/**
- * @brief Sets icon label visible
- * @param app_icon_layout pointer to icon layout.
- */
-extern void app_icon_show_label(Evas_Object *app_icon_layout);
-
-/**
- * @brief Sets icon label invisible.
- * @param app_icon_layout pointer to icon layout.
- */
-extern void app_icon_hide_label(Evas_Object *app_icon_layout);
-
-/**
- * @brief Function chage state of icon regarind to passed view type
- *
- * @param icon Pointer to icon object which should be changed.
- * @param view view type
- * @param in_folder value indicating whether given item is in folder
- *
- * @return true if success
- */
-bool app_icon_set_view_mode(Evas_Object *icon, homescreen_view_t view,
-       bool in_folder);
-
-/**
- * @brief Creates icon using app_item_t structure
- *
- * @param parent Parent widget pointer
- * @param item pointer to app_item_t structure
- *
- * @return Pointer to created icon or NULL.
- */
-Evas_Object *app_icon_create(Tree_node_t *tree_data, app_icon_type_t type);
-
-/**
- * @brief Updates miniatures in folder icon
- *
- * @param folder_icon_layout folder icon layout to update
- * @param folder_miniatures list of miniatures shown in folder icon
- * @param folder_app_tree applications on the first page of folder
- */
-void app_icon_update_folder_icon(Tree_node_t *folder_node);
-
-/**
- * @brief Highlights folder icon with specified frame type
- *
- * @param folder_icon_layout folder icon layout to highlight
- * @param frame_type type of frame to use on folder icon
- */
-void app_icon_highlight_folder_icon(Evas_Object *folder_icon_layout,
-       folder_icon_frame_type_t frame_type);
-
-/**
- * @brief Sets icon's label
- *
- * @param icon_layout icon layout in which label is set
- * @param label label to set
- */
-void app_icon_set_label(Evas_Object *icon_layout, const char* label);
-
-/**
- * @brief Sets icon layout's color
- *
- * @param icon_layout icon layout to set color
- * @param r red component of given color
- * @param g green component of given color
- * @param b blue component of given color
- * @param a alpha component of given color
- */
-void app_icon_set_color(Evas_Object *icon_layout, int r, int g, int b, int a);
-
-/**
- * @brief Sets icon's label color to black
- *
- * @param icon_layout icon layout in which label's color is changed
- */
-void app_icon_set_label_black(Evas_Object *icon_layout);
-
-/**
- * @brief Removes all data connected with icon_layout
- * @param icon_layout Pointer to app_icon layout.
- */
-void app_icon_remove(Evas_Object *icon_layout);
-
-/**
- * @brief Removes application icon and data.
- * @param icon_layout Pointer to app_icon layout.
- */
-void app_icon_uninstall(void *data);
-
-
-#endif /* APP_ICON_H_ */
diff --git a/inc/app_item.h b/inc/app_item.h
deleted file mode 100644 (file)
index 8a4d199..0000000
+++ /dev/null
@@ -1,96 +0,0 @@
-/*
- * Copyright 2012  Samsung Electronics Co., Ltd
- *
- * Licensed under the Flora License, Version 1.1 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://floralicense.org/license/
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#ifndef APP_ITEM_H_
-#define APP_ITEM_H_
-
-#include <stdbool.h>
-#include <Elementary.h>
-
-typedef enum {
-       APP_ITEM_ROOT = 0,
-       APP_ITEM_HOME,
-       APP_ITEM_ALL_APPS_ROOT,
-       APP_ITEM_PAGE,
-       APP_ITEM_ICON,
-       APP_ITEM_FOLDER,
-       APP_ITEM_WIDGET
-} app_item_type_t;
-
-typedef struct {
-       app_item_type_t type;
-       int unique_id; /*from db table; used for composing tree structure when
-       reading flattened db representation*/
-       char *label; /*this is the name of the application
-       viewed in homescreen layout*/
-       const char *icon;
-       const char *exec; /*app exec path - used for notifications*/
-       const char *appid;
-       unsigned int badge_count; /*notification count viewed in icon badge*/
-       void *data; /*pointer is used by folder to store the folder layout.*/
-       bool removable;
-       bool is_checked;
-       Evas_Object *layout;
-       Elm_Object_Item *grid_item;
-       int col;
-       int row;
-       int col_span;
-       int row_span;
-
-       char *content_info;
-} app_item_t;
-
-/**
- * @brief creates new app_item_t object
- * @param type object type
- * @param unique_id object id
- * @param label label text
- * @param icon path to icon
- * @param exec app to exec on click
- * @param appid application id
- * @param data extra data
- * @param is_removeable na the app be removed
- * @param col object column (used only for widgets)
- * @param row object row (used only for widgets)
- * @param col_span object column span (used only for widgets)
- * @param row_span object row span (used only for widgets)
- * @return
- */
-app_item_t *app_item_create(const app_item_type_t type, const int unique_id,
-       const char *label, const char *icon, const char *exec,
-       const char *appid, void *data, bool is_removeable,
-       int col, int row, int col_span, int row_span,
-       const char *content_info);
-
-/**
- * @brief Function frees all data connected with the item
- * @param item Pointer to application item.
- */
-void app_item_free(app_item_t *item);
-
-/**
- * @brief updates app_item_geometry
- * @param app_item app_item to be updated
- * @param x new pos
- * @param y new pos
- * @param w new width
- * @param h new height
- */
-void app_item_geometry_update(app_item_t *app_item, int x, int y, int w, int h);
-
-void app_item_update_content_info(app_item_t *app_item, const char *content_info);
-
-#endif /* APP_ITEM_H_ */
diff --git a/inc/app_mgr.h b/inc/app_mgr.h
deleted file mode 100644 (file)
index 589f7f2..0000000
+++ /dev/null
@@ -1,88 +0,0 @@
-/*
- * Copyright 2012  Samsung Electronics Co., Ltd
- *
- * Licensed under the Flora License, Version 1.1 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://floralicense.org/license/
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#ifndef APP_MGR_H_
-#define APP_MGR_H_
-
-#include <badge.h>
-#include "util.h"
-
-typedef struct {
-       char *label;
-       char *exec;
-       char *icon;
-       char *appid;
-       char *package;
-       bool removable;
-} app_mgr_item_t;
-
-typedef void (*package_event_manager_event_callback_t)(const char *app_info,
-       int progress);
-
-/**
- * @brief Initialize application manager
- */
-extern void app_mgr_init(void);
-
-/**
- * @brief Deinintialize application manager
- */
-extern void app_mgr_deinit(void);
-
-/**
- * @brief Gets the application list
- */
-extern Eina_List *app_mgr_get_apps(void);
-
-/**
- * @brief Destroys application list
- */
-extern void app_mgr_free_apps(Eina_List *apps);
-
-/**
- * @brief Uninstall an application from the platform
- */
-extern Eina_Bool app_mgr_uninstall_app(const char *appid);
-
-/**
- * @brief gets badge count
- * @param app_id - application id
- * @param count - badges count
- * returns EINA_FALSE on failure
- */
-extern Eina_Bool app_mgr_app_get_badge_count(const char *app_id,
-       unsigned int *count);
-
-/**
-* @brief registers listener for badge status changes
-* @param callback - callback function to call on badge change
-*/
-extern void app_mgr_register_badge_callback(badge_change_cb callback);
-
-/**
-* @brief uregisters listener for badge status changes
-* @param callback - callback function previously registered
-*/
-extern void app_mgr_unregister_badge_callback(badge_change_cb callback);
-
-/**
- * @brief Returns application label
- * @details Function is used only for update application label after language change.
- * @param app_id Application id.
- */
-char *app_mgr_get_app_label(const char *app_id);
-
-#endif /* APP_MGR_H_ */
diff --git a/inc/apps_data.h b/inc/apps_data.h
new file mode 100755 (executable)
index 0000000..fb79e75
--- /dev/null
@@ -0,0 +1,64 @@
+/*
+ * Copyright 2012  Samsung Electronics Co., Ltd
+ *
+ * Licensed under the Flora License, Version 1.1 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://floralicense.org/license/
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef __APPS_DATA_H__
+#define __APPS_DATA_H__
+
+#include <app.h>
+#include <Elementary.h>
+
+#define APPS_ROOT -1
+#define TEMP_OWNER "owner"
+
+typedef struct {
+    int db_id;
+    int parent_db_id;
+    char* owner;
+    Eina_Bool is_folder;
+    int position;
+    char* pkg_str;
+    char* label_str;
+    char* icon_path_str;
+    char* uri;
+    int type;
+    bool is_removable;
+    bool is_system;
+    Evas_Object *app_layout;
+    Evas_Object *folder_layout;
+    unsigned int badge_count;
+    Eina_Bool is_checked;
+    bool temp;
+} app_data_t;
+
+enum {
+    APPS_DATA_TYPE_APP = 0,
+    APPS_DATA_TYPE_APP_SHORTCUT,
+    APPS_DATA_TYPE_URI_SHORTCUT
+};
+
+void apps_data_init(void);
+void apps_data_sort(void);
+Eina_List *apps_data_get_list(void);
+void apps_data_get_folder_item_list(Eina_List **list, app_data_t *folder);
+void apps_data_install(app_data_t *item);
+void apps_data_uninstall(const char *package);
+app_data_t *apps_data_add_folder(void);
+void apps_data_delete_folder(app_data_t *folder_item);
+void apps_data_update_folder(app_data_t *folder_item);
+void apps_data_delete_item(app_data_t *item);
+void apps_data_delete_list(Eina_List *list);
+
+#endif /* __APPS_DATA_H__ */
old mode 100644 (file)
new mode 100755 (executable)
similarity index 55%
rename from inc/add_viewer/list_view.h
rename to inc/apps_db.h
index 0cf8e47..99c7ea6
  * limitations under the License.
  */
 
-#ifndef LIST_VIEW_H_
-#define LIST_VIEW_H_
+#ifndef __APPS_DB_H__
+#define __APPS_DB_H__
 
-#include "homescreen-efl.h"
+#include <Elementary.h>
+#include "apps_data.h"
+
+bool apps_db_create(void);
+bool apps_db_close();
+bool apps_db_update(app_data_t *item);
+bool apps_db_insert(app_data_t *item);
+bool apps_db_delete(app_data_t *item);
+bool apps_db_delete_by_pkg_str(const char* pkg);
+
+bool apps_db_get_list(Eina_List **apps);
+bool apps_db_get_app_list(Eina_List **apps);
 
-/**
- * @brief Create content of the list
- *
- * @details Function creates content of the genlist with found widgets
- *
- * @param naviframe Evas_Object naviframe where content should be created
- * @param genlist Evas_Object genlist to be created
- *
- * @return layout Evas_Object created layout to be displayed
- */
-Evas_Object *list_view_create_content(Evas_Object *naviframe, Evas_Object *genlist);
 
-#endif
+#endif /* __APPS_DB_H__ */
old mode 100644 (file)
new mode 100755 (executable)
similarity index 67%
rename from inc/layout.h
rename to inc/apps_package_manager.h
index b09f5ed..32879d5
  * limitations under the License.
  */
 
-#ifndef LAYOUT_H_
-#define LAYOUT_H_
+#ifndef __APPS_PACKAGE_MANAGER_H__
+#define __APPS_PACKAGE_MANAGER_H__
 
-#include <Elementary.h>
-#include <stdbool.h>
 
-/**
- * @brief Sets text in caption menu
- * If a parameter is NULL, that parameter won't be set
- */
-extern void layout_main_caption_set_menu_texts(
-               const char *label_text,
-               const char *left_text,
-               const char *right_text);
+#include <package_manager.h>
+#include <app_manager.h>
+#include <package_info.h>
+#include <app_info.h>
+#include <Elementary.h>
 
+void apps_package_manager_init();
+Eina_Bool apps_package_manger_get_list(Eina_List **list);
 
-#endif /* LAYOUT_H_ */
+#endif /* __APPS_PACKAGE_MANAGER_H__ */
diff --git a/inc/apps_view.h b/inc/apps_view.h
new file mode 100755 (executable)
index 0000000..ae708eb
--- /dev/null
@@ -0,0 +1,46 @@
+/*
+ * Copyright 2012  Samsung Electronics Co., Ltd
+ *
+ * Licensed under the Flora License, Version 1.1 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://floralicense.org/license/
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef __APPS_VIEW_H__
+#define __APPS_VIEW_H__
+
+#include <Elementary.h>
+
+#include "view.h"
+#include "apps_data.h"
+
+Evas_Object *apps_view_create(Evas_Object *parent);
+void apps_view_app_terminate(void);
+void apps_view_show(void);
+void apps_view_hide(void);
+void apps_view_show_anim(double pos);
+void apps_view_hide_anim(double pos);
+void apps_view_reroder(void);
+void apps_view_folder_reroder(void);
+void apps_view_update_folder_icon(app_data_t *item);
+
+Evas_Object* apps_view_create_icon(app_data_t *item);
+void apps_view_unset_all(void);
+bool apps_view_icon_set(app_data_t *item);
+void apps_view_icon_add(app_data_t *item);
+
+void apps_view_hw_menu_key(void);
+bool apps_view_hw_home_key(void);
+bool apps_view_hw_back_key(void);
+view_state_t apps_view_get_state(void);
+void apps_view_set_state(view_state_t state);
+
+#endif /* __APPS_VIEW_H__ */
diff --git a/inc/cluster_data.h b/inc/cluster_data.h
new file mode 100755 (executable)
index 0000000..0a191ac
--- /dev/null
@@ -0,0 +1,48 @@
+/*
+ * Copyright 2012  Samsung Electronics Co., Ltd
+ *
+ * Licensed under the Flora License, Version 1.1 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://floralicense.org/license/
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef __CLUSTER_DATA_H__
+#define __CLUSTER_DATA_H__
+
+#include <app.h>
+#include <Elementary.h>
+#include <widget_service.h>
+
+typedef struct {
+    int widget_id;
+    int page_idx;
+    int pos_y;
+    int pos_x;
+    char *pkg_name;
+    char *content_info;
+    widget_size_type_e type;
+    double period;
+    int allow_duplicate;
+    Evas_Object *widget_layout;
+} widget_data_t;
+
+void cluster_data_init(void);
+Eina_List *cluster_data_get_widget_list(void);
+
+int cluster_data_get_page_count();
+void cluster_data_set_page_count(int count);
+
+void cluster_data_insert_widget(const char* pkg_name, const char* content_info, int type);
+void cluster_data_insert(widget_data_t *item);
+void cluster_data_delete(widget_data_t *item);
+void cluster_data_update(widget_data_t *item);
+
+#endif /* __CLUSTER_DATA_H__ */
diff --git a/inc/cluster_db.h b/inc/cluster_db.h
new file mode 100755 (executable)
index 0000000..70d2ea1
--- /dev/null
@@ -0,0 +1,31 @@
+/*
+ * Copyright 2012  Samsung Electronics Co., Ltd
+ *
+ * Licensed under the Flora License, Version 1.1 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://floralicense.org/license/
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef __CLUSTER_DB_H__
+#define __CLUSTER_DB_H__
+
+#include <Elementary.h>
+#include "cluster_data.h"
+
+bool cluster_db_create(void);
+bool cluster_db_close();
+bool cluster_db_update(widget_data_t *item);
+bool cluster_db_insert(widget_data_t *item);
+bool cluster_db_delete(widget_data_t *item);
+
+bool cluster_db_get_list(Eina_List **cluster_list);
+
+#endif /* __CLUSTER_DB_H__ */
diff --git a/inc/cluster_page.h b/inc/cluster_page.h
new file mode 100755 (executable)
index 0000000..e04965f
--- /dev/null
@@ -0,0 +1,50 @@
+/*
+ * Copyright 2012  Samsung Electronics Co., Ltd
+ *
+ * Licensed under the Flora License, Version 1.1 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://floralicense.org/license/
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef __CLUSTER_PAGE_H__
+#define __CLUSTER_PAGE_H__
+
+#include <Elementary.h>
+#include <widget_service.h>
+#include "conf.h"
+#include "cluster_data.h"
+
+typedef struct {
+    int page_index;
+    Evas_Object *page_layout;
+    int space[CLUSTER_ROW][CLUSTER_COL];
+
+    Evas_Object *grid;
+    Evas_Object *thumbnail_ly;
+    Evas_Object *highlight;
+    int highlight_pos_x;
+    int highlight_pos_y;
+
+    Eina_List *widget_list;
+} cluster_page_t;
+
+cluster_page_t *cluster_page_new(Evas_Object* parent);
+void cluster_page_delete(cluster_page_t *page);
+bool cluster_page_set_widget(cluster_page_t *page, widget_data_t *item);
+bool cluster_page_unset(cluster_page_t *page, widget_data_t *item);
+bool cluster_page_check_empty_space(cluster_page_t *page, widget_size_type_e type,
+        int pos_x, int pos_y, int *empty_x, int *empty_y);
+Evas_Object *cluster_page_thumbnail(cluster_page_t *page);
+void cluster_page_drag_cancel(cluster_page_t *page);
+void cluster_page_drag_widget(cluster_page_t *page, widget_size_type_e type, int pos_x, int pos_y);
+bool cluster_page_drop_widget(cluster_page_t *page, widget_data_t *widget);
+
+#endif /* __CLUSTER_VIEW_PAGE_H__ */
diff --git a/inc/cluster_view.h b/inc/cluster_view.h
new file mode 100755 (executable)
index 0000000..56499d6
--- /dev/null
@@ -0,0 +1,41 @@
+/*
+ * Copyright 2012  Samsung Electronics Co., Ltd
+ *
+ * Licensed under the Flora License, Version 1.1 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://floralicense.org/license/
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef __CLUSTER_VIEW_H__
+#define __CLUSTER_VIEW_H__
+
+#include <Elementary.h>
+
+#include "cluster_data.h"
+#include "view.h"
+
+Evas_Object *cluster_view_create(Evas_Object *parent);
+void cluster_view_app_terminate(void);
+
+void cluster_view_show(void);
+void cluster_view_hide(void);
+void cluster_view_show_anim(double pos);
+void cluster_view_hide_anim(double pos);
+
+void cluster_view_hw_menu_key(void);
+bool cluster_view_hw_home_key(void);
+bool cluster_view_hw_back_key(void);
+view_state_t cluster_view_get_state(void);
+void cluster_view_set_state(view_state_t state);
+void cluster_view_delete_widget(widget_data_t *item);
+bool cluster_view_add_widget(widget_data_t *item, bool scroll);
+
+#endif /* __CLUSTER_VIEW_H__ */
old mode 100644 (file)
new mode 100755 (executable)
index cbd3a9b..2e3a2b7
  * limitations under the License.
  */
 
-#ifndef CONF_H_
-#define CONF_H_
-
-
-/* #define HOME_SCREEN_EFL_TEST_RUN 1 */
-/* #define HOME_SCREEN_DND_ENABLED 1 */
-/* #define HOME_SCREEN_BLUR_ENABLED 1 */
+#ifndef __CONF_H__
+#define __CONF_H__
 
 #define FRAMES_PER_SECOND 1.0/60.0
 
-/*=================================SCREEN CONF================================*/
-#define INDICATOR_HEIGHT 52
-#define ROOT_WIN_H 1280
-#define ROOT_WIN_W 720
-
-#define HD_WIDTH 720
-#define HD_HEIGHT 1280
-#define QHD_WIDTH 540
-#define QHD_HEIGHT 960
-#define WVGA_WIDTH 480
-#define WVGA_HEIGHT 800
-#define UHD_WIDTH 1440
-#define UHD_HEIGHT 2560
-
-#define HD_SCALE_FACTOR 1.2
-#define QHD_SCALE_FACTOR 0.85
-#define WVGA_SCALE_FACTOR 0.70
-#define UHD_SCALE_FACTOR 1.3
-
-/*=================================DATA KEYS CONF=============================*/
-#define KEY_ICON_DATA "item_data"
-#define KEY_REPOSITION_DATA "reposition_data"
-#define KEY_APP_GRID_DATA "app_grid_data"
-#define KEY_THUMB_DATA "thumb_data"
-
-#define KEY_IS_REPOSITIONABLE "is_repositionable"
-#define KEY_INDEX "index_data"
-
-/*=================================DATABASE===================================*/
-#define DATABASE_FILE \
-       "homescreen-efl.db"
+#define PATH_MAX_LEN 2048
+#define INIT_VALUE -987654321
 
-/*=================================RESOURCES==================================*/
 #define EDJE_DIR "edje"
 #define IMAGE_DIR "images"
 
-/*******************************************************************************
-*
-*
-*                              SOURCE CONFIGS
-*
-*
-*******************************************************************************/
-
-/*================================ OPTION_MENU.C==============================*/
-#define OPTION_MENU_SETTINGS "org.tizen.wallpaper-ui-service"
-#define CAPTION_MENU_CENTER_LABEL_TEXT_LEN_MAX 16
-
-#define INDEX_HEIGHT 45
-#define BUTTONS_AREA 0.055
-/*================================ ALL_APPS.C=================================*/
-#define APP_ROWS 5
-#define APP_COLS 4
-
-#define APPS_SHOW_HIDE_ANIMATION_TIME 0.35
-#define ALL_APPS_ANIMATION_DELTA_Y (0.2*(double)ROOT_WIN_H)
-#define ALL_APPS_ANIMATION_HOME_DELTA_Y (0.8 * (double) ROOT_WIN_H)
-
-/*================================ APP_ICON.C=================================*/
-#define DEFAULT_APP_ICON  \
-       IMAGE_DIR "/default.png"
-
-#define BADGE_REL_X 0.85
-#define BADGE_REL_Y 0.00
-
-#define SIGNAL_HIGHLIGHT_FOLDER "highlight_folder"
-#define SIGNAL_UNHIGHLIGHT_FOLDER "unhighlight_folder"
-#define SIGNAL_HIGHLIGHT_IMPOSSIBLE_FOLDER "highlight_impossible_folder"
-
-/*================================ APP_GRID.C=================================*/
-#define GRID_CONTENT "elm.swallow.icon"
-#define EDIT_MODE_SCALE 0.9
-#define CHOOSE_MODE_SCALE 0.9
-#define CHANGE_PAGE_TIMER 0.3
-#define CHANGE_PAGE_LEFT_AREA 0.05
-#define CHANGE_PAGE_RIGHT_AREA 0.95
-
-#define SIGNAL_APP_GRID_FULL "app_grid_full"
-#define SIGNAL_APP_GRID_BG_HIDE "signal_app_grid_bg_hide"
-
-/*================================ DATA_MODEL.C===============================*/
-#define APPS_PAGE APP_ROWS*APP_COLS
-#define FOLDER_APPS_PAGE 9
-
-/*================================ LIVEBOX CONFIG ============================*/
-#define WIDGET_NR_OF_SIZE_LIST 13
-#define LIVEBOX_ON_CREATE_SIZE 4
-#define LIVEBOX_MIN_MOUSE_MOVE 100
-
-#define TEST_PKG "/usr/apps/org.tizen.homescreen-efl/res/images/livebox/"
-#define TEST_PKG_ALARM        TEST_PKG"preview_alarm.png"
-#define TEST_PKG_DUAL_CLOCK   TEST_PKG"preview_dual_clock.png"
-#define TEST_PKG_MUSIC        TEST_PKG"preview_music.png"
-#define TEST_PKG_CALENDAR     TEST_PKG"preview_calendar.png"
-#define TEST_PKG_FMRADIO      TEST_PKG"preview_FMradio.png"
-#define TEST_PKG_SINGLE_CLOCK TEST_PKG"preview_singel_clock.png"
-#define TEST_PKG_CONTACT_4_2  TEST_PKG"preview_contact_4x2.png"
-#define TEST_PKG_GALERY       TEST_PKG"preview_gallery.png"
-#define TEST_PKG_WEATHER_4_2  TEST_PKG"preview_weather_4x2.png"
-#define TEST_PKG_CONTACT_4_4  TEST_PKG"preview_contact_4x4.png"
-#define TEST_PKG_INTERNET     TEST_PKG"preview_internet_4x4.png"
-#define TEST_PKG_WEATHER_4_4  TEST_PKG"preview_weather_4x4.png"
-
-#define EDJE_LIVEBOX_CONTAINER_FILENAME EDJE_DIR"/livebox_container.edj"
-#define GROUP_LIVEBOX_CONTAINER "livebox_container"
-
-#define EDJE_LIVEBOX_LAYOUT_FILENAME EDJE_DIR"/livebox_layout.edj"
-#define GROUP_LIVEBOX_LAYOUT "livebox"
-
-#define LIVEBOX_SCROLLER_MAX_PAGES 6
-#define LIVEBOX_GRID_ROWS 4
-#define LIVEBOX_GRID_COLUMNS 4
-#define LIVEBOX_GRID_ROWS_CELLS_MULTI 1
-#define LIVEBOX_TOTAL_ROWS (LIVEBOX_GRID_ROWS * LIVEBOX_GRID_ROWS_CELLS_MULTI)
-#define LIVEBOX_TOTAL_COLUMNS \
-       (LIVEBOX_GRID_COLUMNS * LIVEBOX_GRID_ROWS_CELLS_MULTI)
-
-#define LIVEBOX_RESIZE_POS_MULTI_ROWS (1.0 / LIVEBOX_TOTAL_ROWS)
-#define LIVEBOX_RESIZE_POS_MULTI_COLS (1.0 / LIVEBOX_TOTAL_COLUMNS)
-#define LIVEBOX_GRID_BG_PADDING 3
-#define LIVEBOX_MAX_BUTTON_NAME_LENGTH 15
-#define LIVEBOX_PAGE_HEIGHT_REL (1.0*ROOT_WIN_W/ROOT_WIN_H)
-/*this should be smaller than scroller page*/
-#define LIVEBOX_SIZE_REL (1.0*ROOT_WIN_W/ROOT_WIN_H)
-/*size of the area which causes page change during drag'n drop*/
-#define LIVEBOX_PAGE_CHANGE_RECT_SIZE 60
-#define LIVEBOX_PAGE_NO_CHANGE -1
-#define LIVEBOX_DRAGGED_ITEM_ALPHA 96
-#define LIVEBOX_LONGPRESS_TIME 1
-#define LIVEBOX_PAGE_CHANGE_PERIOD 0.75
-#define LIVEBOX_MAX_STATE_LEN 10
-#define LIVEBOX_HORIZONTAL_PADDING 10
-#define LIVEBOX_MAKE_SPACE_ANIM_TIME 0.33
-#define LIVEBOX_GRID_BG_ALPHA 40 + 51
-#define LIVEBOX_REPOSITION_ANIM_TIME 0.33
-
-#define PART_LIVEBOX "livebox"
-#define PART_RESIZE_BUTTON_DOWN  "button.down"
-#define PART_RESIZE_BUTTON_LEFT  "button.left"
-#define PART_RESIZE_BUTTON_UP    "button.up"
-#define PART_RESIZE_BUTTON_RIGHT "button.right"
-#define PART_ADD_PAGE_BUTTON "add_page_button"
-#define PART_PAGE_BG "bg"
-#define PART_GRID_BG "grid_bg"
-#define PART_GRID "grid"
-
-#define SIGNAL_CONTENT_SOURCE "content"
-#define SIGNAL_LIVEBOX_SOURCE "livebox"
-#define SIGNAL_LAYOUT_SOURCE "layout"
-#define SIGNAL_REMOVE_SOURCE "remove_button"
-#define SIGNAL_RESIZING    "drag"
-#define SIGNAL_RESIZE_END  "drag,stop"
-#define SIGNAL_RESIZE_SLIDER_DRAG_OK "drag,ok"
-#define SIGNAL_RESIZE_SLIDER_DRAG_ERR "drag,outside"
-#define SIGNAL_RESIZE_SLIDERS_SHOW "sliders,show"
-#define SIGNAL_RESIZE_SLIDERS_HIDE "sliders,hide"
-/*#define SIGNAL_REMOVE_BUTTON_CLICKED "remove_button,clicked" */
-#define SIGNAL_CLICKED "mouse,clicked,*"
-#define SIGNAL_LIVEBOX_REMOVE_BUTTON_SHOW "remove_button,show"
-#define SIGNAL_LIVEBOX_REMOVE_BUTTON_HIDE "remove_button,hide"
-#define SIGNAL_REMOVE_BUTTON_INSTANT_HIDE "remove_button,hide,instant"
-#define SIGNAL_LIVEBOX_REPOSITION_BG_SHOW "reposition_bg,show"
-#define SIGNAL_LIVEBOX_REPOSITION_BG_HIDE "reposition_bg,hide"
-#define SIGNAL_EMPTY_PAGE_SHOW "empty_page,show"
-#define SIGNAL_EMPTY_PAGE_HIDE "empty_page,hide"
-#define SIGNAL_EMPTY_PAGE_EDIT_START "empty_page,edit,start"
-#define SIGNAL_EMPTY_PAGE_EDIT_STOP "empty_page,edit,stop"
-#define SIGNAL_EDIT_START "edit,start"
-#define SIGNAL_EDIT_STOP "edit,stop"
-#define SIGNAL_ADD_SHOW "add,show"
-#define SIGNAL_ADD_HIDE "add,hide"
-#define SIGNAL_ADD_PAGE_CLICKED "add_page_button_clicked"
-#define SIGNAL_SCROLLER_PAGE_COUNT_CHANGED "scroller,count,changed"
-#define SIGNAL_MOUSE_DOWN "mouse,down,*"
-#define SIGNAL_MOUSE_UP "mouse,up,*"
-#define SIGNAL_SCROLLER_DRAG_START "scroll,drag,start"
-#define SIGNAL_SCROLLER_SCROLL "scroll"
-#define SIGNAL_GRID_SHADOW_SHOW "grid,show"
-#define SIGNAL_GRID_SHADOW_HIDE "grid,hide"
-#define CANNOT_ADD_PAGE_INFO "There is not enough space on the home screen."
-#define CANNOT_ADD_WIDGET_INFO "Unsupported widget size."
-
-/*========================== ALL PAGES CONFIG ================================*/
-#define GENGRID_ITEM_CONTENT "elm.swallow.icon"
-
-#define IMAGE_ADD_PAGE_FILENAME \
-       "/usr/apps/com.samsung.home-lite/res/images/edit_all_page_create.png"
-
-#define ALL_PAGES_X 0
-#define ALL_PAGES_Y 0
-
-#define THUMB_W_REL (320.0/ROOT_WIN_W)
-#define THUMB_H_REL (320.0/ROOT_WIN_H)
-
-#define ITEM_W_REL (336.0/ROOT_WIN_W)
-#define ITEM_H_REL (397.0/ROOT_WIN_H)
-
-#define MAX_ITEMS 6
-#define ITEM_CREATE_TIME 0.5
-#define OFFSET 100
-/*========================== KEY CONFIG ======================================*/
-
-#define KEY_HOME "XF86Home"
-#define KEY_MENU "XF86Menu"
-#define KEY_BACK "XF86Back"
-#define KEY_RETURN "Return"
-
-
-/*======================== FOLDER CONFIG =====================================*/
-#define FOLDER_MAX_ITEMS 9
-#define FOLDER_POPUP_Y_REL 0.1677
-
-/*======================== POPUP CONFIG ================================*/
-#define POPUP_MAX_FOLDER_ITEMS_TEXT "There is not enough space in folder"
-
-/*******************************************************************************
-*
-*
-*                      EDC FILE CONFIGURATIONS
-*
-*
-*******************************************************************************/
-#define SIGNAL_SOURCE "layout"
-
-/*========================== HOME VIEW CONFIG ================================*/
-#define _HOME_WGT_MIN_Y 80
-#define _HOME_WGT_MAX_Y 1140
-#define _HOME_WGT_EDIT_MAX_Y 1034
-
-#define _HOME_BTNS_Y_MIN 1188
-#define _HOME_BTNS_Y_MAX 1263
-#define _HOME_MENU_BTN_X_MIN 32
-#define _HOME_MENU_BTN_X_MAX 161
-
-#define _HOME_HOME_BTN_X_MIN 559
-#define _HOME_HOME_BTN_X_MAX 688
-#define _HOME_CHOOSER_CAPTION_Y_MIN 0
-#define _HOME_CHOOSER_CAPTION_Y_MAX 80
-
-#define _HOME_PG_INDEX_X_MIN 161
-#define _HOME_PG_INDEX_X_MAX 559
-
-#define INDICE_NEXT_PAGE_X_MIN 0.99
-#define INDICE_NEXT_PAGE_X_MAX 1.00
-#define INDICE_PREV_PAGE_X_MIN 0.00
-#define INDICE_PREV_PAGE_X_MAX 0.01
-
-#define _MAIN_CONTENT_Y_MIN 72 /*TODO: This value should be 42*/
-#define _MAIN_CONTENT_Y_MAX 862
-#define _APP_CONTENT_Y_MAX 1172
-
-#define CONTENT_Y_MIN _MAIN_CONTENT_Y_MIN/ROOT_WIN_H;
-#define CONTENT_Y_MAX _MAIN_CONTENT_Y_MAX/ROOT_WIN_H;
-#define CONTENT_APP_Y_MAX _APP_CONTENT_Y_MAX/ROOT_WIN_H;
-
-#define HOME_WGT_MIN_Y _HOME_WGT_MIN_Y/ROOT_WIN_H
-#define HOME_WGT_MAX_Y _HOME_WGT_MAX_Y/ROOT_WIN_H
-#define HOME_WGT_EDIT_MAX_Y _HOME_WGT_EDIT_MAX_Y/ROOT_WIN_H
-
-#define HOME_BTNS_Y_MIN _HOME_BTNS_Y_MIN/ROOT_WIN_H
-#define HOME_BTNS_Y_MAX _HOME_BTNS_Y_MAX/ROOT_WIN_H
-#define HOME_MENU_BTN_X_MIN _HOME_MENU_BTN_X_MIN/ROOT_WIN_W
-#define HOME_MENU_BTN_X_MAX _HOME_MENU_BTN_X_MAX/ROOT_WIN_W
-#define HOME_HOME_BTN_X_MIN _HOME_HOME_BTN_X_MIN/ROOT_WIN_W
-#define HOME_HOME_BTN_X_MAX _HOME_HOME_BTN_X_MAX/ROOT_WIN_W
-#define HOME_CHOOSER_CAPTION_Y_MIN _HOME_CHOOSER_CAPTION_Y_MIN/ROOT_WIN_H
-#define HOME_CHOOSER_CAPTION_Y_MAX _HOME_CHOOSER_CAPTION_Y_MAX/ROOT_WIN_H
-
-#define HOME_PG_INDEX_X_MIN _HOME_PG_INDEX_X_MIN/ROOT_WIN_W
-#define HOME_PG_INDEX_X_MAX _HOME_PG_INDEX_X_MAX/ROOT_WIN_W
-
-#define SIGNAL_MENU_BTN_CLICKED "menu_clicked"
-#define SIGNAL_HOME_BTN_CLICKED "home_clicked"
-#define SIGNAL_CHOOSER_CAPTION_ACTIVATE "chooser,caption,activate"
-#define SIGNAL_CHOOSER_CAPTION_DEACTIVATE "chooser,caption,deactivate"
-
-#define GROUP_HOME_LY "home_ly"
-#define PART_CONTENT "content"
-#define PART_INDEX "index"
-#define PART_EDIT_BG "edit_bg"
-#define PART_NEXT_PAGE_INDICE "next_page_indice"
-#define PART_PREV_PAGE_INDICE "prev_page_indice"
-#define PART_EVENT_BLOCKER "part_event_blocker"
-#define PART_CHOOSER_CAPTION_RIGHT_LABEL "chooser_caption_right_label"
-#define PART_CHOOSER_CAPTION_LEFT_LABEL "chooser_caption_left_label"
-#define PART_CHOOSER_CAPTION_MIDDLE_LABEL "chooser_caption_middle_label"
-
-#define SIGNAL_EDIT_BG_ON "edit_bg_on"
-#define SIGNAL_EDIT_BG_OFF "edit_bg_off"
-#define SIGNAL_NEXT_PAGE_INDICE_SHOW "next_page_show"
-#define SIGNAL_PREV_PAGE_INDICE_SHOW "prev_page_show"
-#define SIGNAL_INDICE_HIDE "page_indice_hide"
-
-#define SIGNAL_BLOCK_EVENTS "block_home_events"
-#define SIGNAL_UNBLOCK_EVENTS "unblock_home_events"
-
-/*this signals is used for change page on reposition action */
-#define SIGNAL_NEXT_PAGE_CHANGE "next_page_change"
-#define SIGNAL_PREV_PAGE_CHANGE "prev_page_change"
-
-/*these signals change states of bottom buttons (menu and home/all apps) */
-#define SIGNAL_BOTTOM_BUTTONS_HOME_STATE_SET "menu_icon_home_state_set"
-#define SIGNAL_BOTTOM_BUTTONS_ALL_APPS_STATE_SET "menu_icon_all_apps_state_set"
-#define SIGNAL_BOTTOM_BUTTONS_HOME_EDIT_STATE_SET "menu_icon_home_edit_state_set"
-#define SIGNAL_BOTTOM_BUTTONS_ALL_APPS_EDIT_STATE_SET "menu_icon_edit_state_set"
-
-/*========================== LIVEBOX EDC CONFIG ==============================*/
-#define _LIVEBOX_X_MARGIN 6
-#define _LIVEBOX_X_MIN _LIVEBOX_X_MARGIN
-#define _LIVEBOX_X_MAX (ROOT_WIN_W - _LIVEBOX_X_MARGIN)
-
-#define _LIVEBOX_EDIT_X_MARGIN 30
-#define _LIVEBOX_EDIT_Y_MARGIN 30
-#define _LIVEBOX_EDIT_X_MIN _LIVEBOX_EDIT_X_MARGIN
-#define _LIVEBOX_EDIT_X_MAX (ROOT_WIN_W - _LIVEBOX_EDIT_X_MARGIN)
-#define _LIVEBOX_EDIT_Y_MIN _LIVEBOX_EDIT_X_MARGIN
-/*square area of screen width size is required */
-#define _LIVEBOX_EDIT_Y_MAX (ROOT_WIN_W - _LIVEBOX_EDIT_X_MARGIN)
-
-#define _LIVEBOX_ADD_PAGE_BUTTON_SIZE_HALF 60
-#define _LIVEBOX_ADD_PAGE_BUTTON_X_MIN \
-       (ROOT_WIN_W / 2 - _LIVEBOX_ADD_PAGE_BUTTON_SIZE_HALF)
-#define _LIVEBOX_ADD_PAGE_BUTTON_X_MAX \
-       (ROOT_WIN_W / 2 + _LIVEBOX_ADD_PAGE_BUTTON_SIZE_HALF)
-#define _LIVEBOX_ADD_PAGE_BUTTON_Y_MIN \
-       (ROOT_WIN_W / 2 - _LIVEBOX_ADD_PAGE_BUTTON_SIZE_HALF)
-#define _LIVEBOX_ADD_PAGE_BUTTON_Y_MAX \
-       (ROOT_WIN_W / 2 + _LIVEBOX_ADD_PAGE_BUTTON_SIZE_HALF)
-
-#define LIVEBOX_REMOVE_BUTTON_SIZE 48
-#define LIVEBOX_SLIDER_BUTTON_SIZE 12
-#define LIVEBOX_SLIDER_FRAME_OFFSET_1 5
-#define LIVEBOX_SLIDER_FRAME_OFFSET_2 8
-
-#define LIVEBOX_REMOVE_LB_BUTTON_SIZE 24
-#define LIVEBOX_REMOVE_LB_OFFSET_X 9
-#define LIVEBOX_REMOVE_LB_OFFSET_Y 8
-
-#define LIVEBOX_REPOSITION_BG_BORDER 10
-#define LIVEBOX_REPOSITION_BG_COLOR 162
-#define LIVEBOX_REPOSITION_SHADOW_COLOR 96
-
-#define LIVEBOX_X_MIN _LIVEBOX_X_MIN/ROOT_WIN_W
-#define LIVEBOX_X_MAX _LIVEBOX_X_MAX/ROOT_WIN_W
-
-#define LIVEBOX_EDIT_X_MIN _LIVEBOX_EDIT_X_MIN/ROOT_WIN_W
-#define LIVEBOX_EDIT_X_MAX _LIVEBOX_EDIT_X_MAX/ROOT_WIN_W
-#define LIVEBOX_EDIT_Y_MIN _LIVEBOX_EDIT_Y_MIN/ROOT_WIN_W
-#define LIVEBOX_EDIT_Y_MAX _LIVEBOX_EDIT_Y_MAX/ROOT_WIN_W
-
-#define LIVEBOX_ADD_PAGE_BUTTON_X_MIN _LIVEBOX_ADD_PAGE_BUTTON_X_MIN/ROOT_WIN_W
-#define LIVEBOX_ADD_PAGE_BUTTON_X_MAX _LIVEBOX_ADD_PAGE_BUTTON_X_MAX/ROOT_WIN_W
-#define LIVEBOX_ADD_PAGE_BUTTON_Y_MIN _LIVEBOX_ADD_PAGE_BUTTON_Y_MIN/ROOT_WIN_W
-#define LIVEBOX_ADD_PAGE_BUTTON_Y_MAX _LIVEBOX_ADD_PAGE_BUTTON_Y_MAX/ROOT_WIN_W
-
-#define LIVEBOX_RESIZE_FRAME_REL_1 \
-       (1.0 * LIVEBOX_SLIDER_FRAME_OFFSET_1 / LIVEBOX_SLIDER_BUTTON_SIZE)
-#define LIVEBOX_RESIZE_FRAME_REL_2 \
-       (1.0 * LIVEBOX_SLIDER_FRAME_OFFSET_2 / LIVEBOX_SLIDER_BUTTON_SIZE)
-
-/*========================== APP ICON CONFIG =================================*/
-#define FOLDER_ICON_MAX_MINIATURES 4
-
-#define ICON_CONTAINER_W 132
-#define ICON_CONTAINER_H 159
-
-#define ICON_BADGE_W 30
-#define ICON_BADGE_H 30
-
-#define _ICON_Y_MIN 8
-#define _ICON_Y_MAX 96
-#define _ICON_X_MIN 22
-#define _ICON_X_MAX 110
-
-#define _ICON_NAME_X_MIN 6
-#define _ICON_NAME_X_MAX 126
-#define _ICON_NAME_Y_MIN 98
-#define _ICON_NAME_Y_MAX 156
-#define _ICON_NAME_EDIT_Y_MAX 144
-
-#define _ICON_UNINSTALL_BTN_X_MAX 60
-#define _ICON_UNINSTALL_BTN_Y_MAX 60
-
-#define ICON_Y_MIN _ICON_Y_MIN/ICON_CONTAINER_H
-#define ICON_Y_MAX _ICON_Y_MAX/ICON_CONTAINER_H
-#define ICON_X_MIN _ICON_X_MIN/ICON_CONTAINER_W
-#define ICON_X_MAX _ICON_X_MAX/ICON_CONTAINER_W
-
-#define ICON_NAME_X_MIN _ICON_NAME_X_MIN/ICON_CONTAINER_W
-#define ICON_NAME_X_MAX _ICON_NAME_X_MAX/ICON_CONTAINER_W
-#define ICON_NAME_Y_MIN _ICON_NAME_Y_MIN/ICON_CONTAINER_H
-#define ICON_NAME_Y_MAX _ICON_NAME_Y_MAX/ICON_CONTAINER_H
-#define ICON_NAME_EDIT_Y_MAX _ICON_NAME_EDIT_Y_MAX/ICON_CONTAINER_H
-
-#define ICON_UNINSTALL_BTN_X_MAX _ICON_UNINSTALL_BTN_X_MAX/ICON_CONTAINER_W
-#define ICON_UNINSTALL_BTN_Y_MAX _ICON_UNINSTALL_BTN_Y_MAX/ICON_CONTAINER_H
-
-#define ICON_BADGE_CHECKBOX_REL1_X 0.6588
-#define ICON_BADGE_CHECKBOX_REL1_Y 0.0498
-#define ICON_BADGE_CHECKBOX_REL2_X 0.9412
-#define ICON_BADGE_CHECKBOX_REL2_Y 0.2886
-
-#define GROUP_ICON_LY "app_icon_layout"
-#define PART_ICON_CONTENT "icon_content"
-#define PART_ICON_NAME "icon_name"
-
-#define SIGNAL_PRESS_SOURCE "icon_content_touch"
-
-#define SIGNAL_ICON_PRESS "icon,pressed"
-#define SIGNAL_UNINSTALL_BUTTON_SHOW "uninstall_button,show"
-#define SIGNAL_UNINSTALL_BUTTON_HIDE "uninstall_button,hide"
-#define SIGNAL_UNINSTALL_BUTTON_CLICKED "uninstall_button,clicked"
-#define SIGNAL_CHECKBOX_SHOW_UNCHECKED "checkbox,show,unchecked"
-#define SIGNAL_CHECKBOX_SHOW_CHECKED "checkbox,show,checked"
-#define SIGNAL_CHECKBOX_SHOW_DIMMED "checkbox,show,dimmed"
-#define SIGNAL_CHECKBOX_HIDE "checkbox,hide"
-#define SIGNAL_CHECKBOX_CHECKED "checkbox,checked"
-#define SIGNAL_CHECKBOX_UNCHECKED "checkbox,unchecked"
-#define SIGNAL_CHECKBOX_BLOCK "checkbox,block"
-#define SIGNAL_CHECKBOX_UNBLOCK "checkbox,unblock"
-#define SIGNAL_LABEL_SHOW "label,show"
-#define SIGNAL_LABEL_HIDE "label,hide"
-#define SIGNAL_BADGE_SHOW "badge,show"
-#define SIGNAL_BADGE_HIDE "badge,hide"
-#define SIGNAL_BADGE_FOLDER_SHOW "folder,badge,show"
-#define SIGNAL_BADGE_FOLDER_HIDE "folder,badge,hide"
-#define SIGNAL_ICON_CLICKED "icon_clicked"
-#define SIGNAL_EDIT_MODE_ON "edit_mode_on"
-#define SIGNAL_EDIT_MODE_OFF "edit_mode_off"
-#define SIGNAL_EDIT_MODE_BLACK_ON "edit_mode_black_on"
-#define SIGNAL_EDIT_MODE_BLACK_OFF "edit_mode_black_off"
-#define SIGNAL_CHOOSE_MODE_ON "choose_mode_on"
-#define SIGNAL_CHOOSE_MODE_OFF "choose_mode_off"
-#define SIGNAL_FRAME_POSSIBLE_SHOW "show_frame_possible"
-#define SIGNAL_FRAME_IMPOSSIBLE_SHOW "show_frame_impossible"
-#define SIGNAL_FRAME_HIDE "hide_frame"
-#define SIGNAL_EMPTY_BG_SHOW "empty_bg"
-#define SIGNAL_BLACK_TEXT "label,text,black"
-#define PART_CAPTION_MENU_CENTER_LABEL_NAME "chooser_caption_middle_label"
-#define PART_CAPTION_MENU_LEFT_LABEL "chooser_caption_left_label"
-#define PART_CAPTION_MENU_RIGHT_LABEL "chooser_caption_right_label"
-
-/*========================== INDEX ELEMENT CONFIG ============================*/
-#define INDEX_MAX_PAGE_COUNT 7
-#define SIGNAL_SET_CURRENT "set_current"
-#define SIGNAL_SET_DEFAULT "set_default"
-#define INDICE_SIZE_SETTER "indice_size_setter"
-
-#define INDEX_IMAGE IMAGE_DIR"/core_page_indicator_horizontal.png"
-#define INDEX_EDJE EDJE_DIR"/index_element.edj"
-#define GROUP_INDEX_ELEMENT "index_element"
-#define PART_INDEX_ELEMENT "element"
-
-#define INDEX_ELEMENT_CONTAINER_WIDTH 38.0
-#define INDEX_ELEMENT_CONTAINER_HEIGHT 38.0
-
-#define INDEX_CURRENT_SIZE 0.03
-#define INDEX_NORMAL_SIZE 0.015
-#define INDEX_CURRENT_ALPHA 255
-#define INDEX_NORMAL_ALPHA 100
-
-/*========================== APP_GRID.EDC CONFIG =============================*/
-#define GROUP_APP_GRID "app_grid_ly"
-#define GROUP_APP_GRID_ITEM_CONTAINER "app_grid_item_container"
-
-#define PART_APP_GRID_BG "app_grid_bg"
-#define PART_APP_GRID_EDIT_BG "app_grid_edit_bg"
-#define PART_APP_GRID_CONTENT "app_grid_content"
-#define PART_APP_GRID_ITEM "app_grid_item"
-
-#define PART_APP_GRID_SIZE_SETTER "size_setter"
-
-#define ANIMATION_RESIZE_TIME 0.2
-
-/*========================== FOLDER.EDC CONFIG ===============================*/
-#define MINIATURE_COL_1_MIN 0.18
-#define MINIATURE_COL_1_MAX 0.48
-#define MINIATURE_COL_2_MIN 0.52
-#define MINIATURE_COL_2_MAX 0.82
-#define MINIATURE_ROW_1_MIN 0.18
-#define MINIATURE_ROW_1_MAX 0.48
-#define MINIATURE_ROW_2_MIN 0.52
-#define MINIATURE_ROW_2_MAX 0.82
-#define MINIATURE_CENTER_MIN 0.35
-#define MINIATURE_CENTER_MAX 0.65
-
-#define FOLDER_HEIGHT 569
-
-#define _NAME_Y_MIN 0
-#define _NAME_Y_MAX 62
-
-#define _SEPARATOR_Y_MIN 62
-#define _SEPARATOR_Y_MAX 64
-
-#define _CONTENT_Y_MIN 53
-#define _CONTENT_Y_MAX 635
-
-#define _INDEX_Y_MIN 355
-#define _INDEX_Y_MAX 421
-
-#define FOLDER_NAME_Y_MIN _NAME_Y_MIN/FOLDER_HEIGHT
-#define FOLDER_NAME_Y_MAX _NAME_Y_MAX/FOLDER_HEIGHT
-
-#define FOLDER_SEPARATOR_Y_MIN _SEPARATOR_Y_MIN/FOLDER_HEIGHT
-#define FOLDER_SEPARATOR_Y_MAX _SEPARATOR_Y_MAX/FOLDER_HEIGHT
-
-#define FOLDER_CONTENT_Y_MIN _CONTENT_Y_MIN/FOLDER_HEIGHT
-#define FOLDER_CONTENT_Y_MAX _CONTENT_Y_MAX/FOLDER_HEIGHT
-
-#define INDEX_Y_MIN _INDEX_Y_MIN/FOLDER_3_R_IND_HEIGHT
-#define INDEX_Y_MAX _INDEX_Y_MAX/FOLDER_3_R_IND_HEIGHT
-
-#define GROUP_FOLDER_ICON_LAYOUT "folder_icon_layout"
-#define GROUP_FOLDER_ADD_ICON "folder_add_icon"
-#define GROUP_FOLDER_WINDOW "folder_window"
-#define GROUP_FOLDER_POPUP "folder_popup"
-#define PART_FOLDER_NAME "folder_name_entry"
-#define PART_FOLDER_CONTENT "folder_content"
-#define PART_FOLDER_UNNAMED_TEXT "Unnamed folder"
-
-#define SIGNAL_CLEAR_BTN_SHOW "clear_btn_show"
-#define SIGNAL_CLEAR_BTN_HIDE "clear_btn_hide"
-#define SIGNAL_CLEAR_BTN_CLICKED "clear_btn_clicked"
-#define SIGNAL_ENTRY_BLOCK_ON "folder_entry,block,on"
-#define SIGNAL_ENTRY_BLOCK_OFF "folder_entry,block,off"
-
-#define SIGNAL_BG_CLICKED "bg_clicked"
-
-#define SIGNAL_FOLDER_PANEL_OPEN "folder_open"
-#define SIGNAL_FOLDER_PANEL_CLOSE "folder_close"
-#define SIGNAL_FOLDER_ANIM_DONE "anim_done"
-#define SIGNAL_FOLDER_UNNAMED_TEXT_SHOW "unnamed_text_show"
-#define SIGNAL_FOLDER_UNNAMED_TEXT_HIDE "unnamed_text_hide"
-
-#define FOLDER_1_ROW_H_REL 0.25875
-#define FOLDER_2_ROW_H_REL 0.42375
-#define FOLDER_3_ROW_H_REL 0.59125
-
-#define FOLDER_ROW_W_REL 0.7
-#define FOLDER_POPUP_W_REL 0.9118
-#define FOLDER_POPUP_X_REL 0.0441
-
-#define FOLDER_GRID_W_REL 0.9
-#define FOLDER_GRID_H_REL 0.6
-#define FOLDER_ITEM_MARGIN 0.04
-
-#define FOLDER_LEFT_MARGIN 0.07
-#define FOLDER_RIGHT_MARGIN 0.93
-
-#define FOLDER_WINDOW_W home_screen_get_root_width()
-#define FOLDER_WINDOW_H home_screen_get_root_height()
-
-#define FOLDER_ROW_APPS 3
-#define FOLDER_COL_APPS 3
-
-#define POPUP_SHIFT 15
-#define KEYPAD_SPACE 5
-#define DEFAULT_FOLDER_NAME "Unnamed folder"
-
-/*========================== ALL PAGES EDC ===================================*/
-#define GROUP_ALL_PAGES "page_edit_view"
-#define GROUP_GRID_ITEM "grid_item"
-#define GROUP_THUMB "thumb"
-
-#define PART_LAYOUT_CONTENT "content"
-#define PART_GRID_ITEM_CONTENT "grid_item_content"
-#define PART_THUMB_CONTENT "page_thumbnail"
-
-#define SIGNAL_BG_HIDE "bg_hide"
-#define SIGNAL_BG_NORMAL "bg_normal"
-#define SIGNAL_BG_REPOSITON "bg_reposition"
-#define SIGNAL_REMOVE_BUTTON_CLICKED "remove_button_clicked"
-#define SIGNAL_THUMBNAIL_CLICKED "thumbnail_clicked"
-#define SIGNAL_ADD_ICON_SHOW "add_icon_show"
-#define SIGNAL_REMOVE_BUTTON_SHOW "remove_button_show"
-#define SIGNAL_REMOVE_BUTTON_HIDE "remove_button_hide"
-#define SIGNAL_REMOVE_BUTTON_HIDE_INSTANT "remove_button_hide_instant"
-
-#define BADGE_REL1_X 0.060
-#define BADGE_REL1_Y 0.118
-#define BADGE_REL2_X 0.250
-#define BADGE_REL2_Y 0.284
-
-#define ROW_SHIFT 0.45
-#define COL_SHIFT 0.32
-#endif /* CONF_H_ */
+#define HOME_ANIMATION_TIME 0.3
+#define HOME_FOLDR_ANIMATION_TIME 0.1
+#define MAX_FILE_PATH_LEN 1024
+#define HOME_EDIT_SCROLL_MOVE_TIME 1
+
+extern double __conf_get_resolution_scale_h();
+extern double __conf_get_resolution_scale_w();
+extern int __conf_get_window_h();
+extern int __conf_get_window_w();
+
+#define INDICATOR_H ((45) * (__conf_get_resolution_scale_h()))
+
+#define WINDOW_H __conf_get_window_h()
+#define WINDOW_W __conf_get_window_w()
+
+#define APPS_VIEW_PADDING_TOP INDICATOR_H + ((28) * (__conf_get_resolution_scale_h()))
+#define APPS_VIEW_W ((720) * (__conf_get_resolution_scale_w()))
+#define APPS_VIEW_H ((1060) * (__conf_get_resolution_scale_h()))
+#define APPS_VIEW_ANIMATION_DELTA ((100) * (__conf_get_resolution_scale_h()))
+
+#define APPS_VIEW_ICON_IMAGE ((118) * (__conf_get_resolution_scale_w()))
+
+#define CLUSTER_VIEW_W ((720) * (__conf_get_resolution_scale_w()))
+#define CLUSTER_VIEW_H ((1150) * (__conf_get_resolution_scale_h()))
+#define CLUSTER_W CLUSTER_VIEW_W
+#define CLUSTER_H CLUSTER_W
+#define CLUSTER_ALL_PAGE_W ((320) * (__conf_get_resolution_scale_w()))
+#define CLUSTER_ALL_PAGE_H CLUSTER_ALL_PAGE_W
+#define CLUSTER_ALL_PAGE_GAP_H ((100) * (__conf_get_resolution_scale_h()))
+#define CLUSTER_ALL_PAGE_GAP_W ((16) * (__conf_get_resolution_scale_w()))
+#define CLUSTER_ALL_PAGE_PADDING_SIDE ((32) * (__conf_get_resolution_scale_w()))
+#define CLUSTER_ALL_PAGE_PADDING_TOP ((60) * (__conf_get_resolution_scale_h()))
+#define CLUSTER_DELETE_BUTTON_W ((60) * (__conf_get_resolution_scale_w()))
+#define CLUSTER_DELETE_BUTTON_H CLUSTER_DELETE_BUTTON_W
+#define CLUSTER_EDIT_LEFT_SCROLL_REGION ((72) * (__conf_get_resolution_scale_w()))
+#define CLUSTER_EDIT_RIGHT_SCROLL_REGION (CLUSTER_VIEW_W - CLUSTER_EDIT_LEFT_SCROLL_REGION)
+
+#define CLUSTER_ROW 4
+#define CLUSTER_COL 4
+#define CLUSTER_HOME_PAGE 0
+#define CLUSTER_MAX_PAGE 6
+
+#define PAGE_INDICATOR_PADDING_BOTTON ((16) * (__conf_get_resolution_scale_h()))
+#define PAGE_INDICATOR_H ((76) * (__conf_get_resolution_scale_h()))
+#define PAGE_INDICATOR_W ((720) * (__conf_get_resolution_scale_w()))
+#define PAGE_INDICATOR_GAP 4
+#define PAGE_INDICATOR_X 0
+#define PAGE_INDICATOR_UNIT ((40) * (__conf_get_resolution_scale_w()))
+
+#define ALLPAGE_PREVIEW_PADDING_MID ((12) * (__conf_get_resolution_scale_w()))
+#define ALLPAGE_PREVIEW_PADDING_TOP ((18) * (__conf_get_resolution_scale_h()))
+#define ALLPAGE_PREVIEW_LIST_ITEM_W ((720) * (__conf_get_resolution_scale_w()))
+#define ALLPAGE_PREVIEW_LIST_ITEM_H ((388) * (__conf_get_resolution_scale_h()))
+#define ALLPAGE_PREVIEW_4X4_W ((300) * (__conf_get_resolution_scale_w()))
+#define ALLPAGE_PREVIEW_4X4_H ALLPAGE_PREVIEW_4X4_W
+#define ALLPAGE_PREVIEW_4X2_W ((300) * (__conf_get_resolution_scale_w()))
+#define ALLPAGE_PREVIEW_4X2_H ((ALLPAGE_PREVIEW_4X4_W/2) * (__conf_get_resolution_scale_h()))
+#define ALLPAGE_MOVE_GAP 0.15
+
+#define APPS_FOLDER_MAX_ITEM 9
+
+#define LONG_PRESS_TIME 0.75
+
+void conf_set_resolution_scale(int win_width, int win_height);
+
+#endif /* __CONF_H__ */
diff --git a/inc/data_model.h b/inc/data_model.h
deleted file mode 100644 (file)
index 3d51287..0000000
+++ /dev/null
@@ -1,217 +0,0 @@
-/*
- * Copyright 2012  Samsung Electronics Co., Ltd
- *
- * Licensed under the Flora License, Version 1.1 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://floralicense.org/license/
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#ifndef DATA_MODEL_H_
-#define DATA_MODEL_H_
-
-#include <stdbool.h>
-#include "app_mgr.h"
-#include "tree.h"
-
-typedef enum {
-       REPOSITION_SIDE_TO_LEFT,
-       REPOSITION_SIDE_TO_RIGHT
-} reposition_side_t;
-
-/**
- * @brief gets data model of the application
- */
-extern Tree_node_t *data_model_get_data(void);
-
-/**
- * @brief gets data model for the all apps view.
- */
-extern Tree_node_t *data_model_get_all_apps(void);
-
-/**
- * @brief gets data model for the home view.
- */
-extern Tree_node_t *data_model_get_home(void);
-
-/*
- * @brief Get applications from app manager
- */
-extern void data_model_load_app_mgr(void);
-
-/*
- * @brief Get applications from database
- */
-extern Eina_Bool data_model_load_db(void);
-
-/*
- * @brief free entire memory allocated for model structure
- * and nodes data
- */
-extern void data_model_free(void);
-
-/**
- * @brief Creates folder in the data model/
- */
-extern Tree_node_t *data_model_create_folder(app_item_t *node);
-
-/**
- * @brief Appends an item into the folder.
- */
-extern void data_model_append_node_to_folder(Tree_node_t *folder,
-       Tree_node_t *node);
-
-/**
- * @brief Removes empty pages from the all apps view in the data model.
- */
-extern void data_model_free_empty_pages(Tree_node_t *folder_or_some_other_root);
-
-/*
- * @brief Delete folder and move apps to all apps
- */
-extern void data_model_delete_folder(Tree_node_t *node);
-
-/**
- * @brief Append an newly installed application to the data model.
- */
-extern Tree_node_t *data_model_install_application(
-       app_mgr_item_t *app_mgr_item);
-
-/**
- * @brief Uninstall an application
- */
-extern void data_model_uninstall_application(Tree_node_t *node);
-
-/*
- * @brief set checked state to all icons
- */
-extern void data_model_check_all_apps(Tree_node_t *node, bool checked);
-
-/**
- * @brief returns count of checked applications in the all apps edit mode view.
- */
-extern int data_model_get_app_check_state(void);
-
-/**
- * @brief change position of an application
- */
-extern void data_model_reposition_item(Tree_node_t *node,
-       Tree_node_t *destinations_parent, Tree_node_t *destination,
-       reposition_side_t side, int page_limit);
-
-/**
- * @brief set the view type of the data models items
- */
-extern void data_model_set_view_mode(homescreen_view_t view);
-
-/**
- * @brief iterates over the whole tree and applies func_cb over each node
- * @param node - tree node, pass NULL if You want
- * to start from the root of the model tree
- * @param func_cb - function to call on each node
- * @param data - data - to be passed to func_cb
- * @details [long description]
- */
-extern void data_model_iterate(Tree_node_t *node, tree_browse_cb_t func_cb,
-       void *data);
-
-/**
- * @brief This one takes pages abstraction into account.
- * Iterates through pages, and it's items.
- * @param node - tree node, pass NULL if You want
- * to start from the root of the model tree
- * @param item_func - function to call on each item
- * @param page_func - function to call on each page
- * @param data - data - to be passed to func_cb
- */
-extern void data_model_iterate_pages(Tree_node_t *node,
-       tree_browse_cb_t page_func, tree_browse_cb_t item_func, void *data);
-
-/**
- * @brief sorts in place using sort_compare_function
- */
-extern void data_model_sort(Eina_Compare_Cb sort_compare_function);
-
-/**
- * @brief Creates new page
- * @details Creates new page node, adds it to the tree structure and
- * returns the created page
- * @return new page node
- */
-extern Tree_node_t *data_model_add_widget_page(void);
-
-/**
- * @brief Creates new widget and adds it to @p page
- * @param page Page the new widget will be added to
- * @param widget_id Created widget
- * @param col column to put widget in
- * @param row row to put widget in
- * @param col_span column span of widget
- * @param row_span row span of widget
- * @return New widget node
- */
-extern Tree_node_t *data_model_add_widget(Tree_node_t *page,
-       const char *widget_id, int col, int row, int col_span, int row_span,
-       const char *content_info);
-
-/**
- * @brief [brief description]
- * @details [long description]
- */
-extern void data_model_reposition_widget(Tree_node_t *page_node,
-       Tree_node_t *obj_node);
-
-/**
- * @brief [brief description]
- * @details [long description]
- */
-extern void data_model_resize_widget(Tree_node_t *item_node, int col, int row,
-       int col_span, int row_span);
-
-extern void data_model_update_content_info(Tree_node_t *item_node, const char *content_info);
-
-/**
- * @brief [brief description]
- * @details [long description]
- */
-extern void data_model_insert_after(Tree_node_t *prev_node,
-       Tree_node_t *item_node);
-
-/**
- * @brief [brief description]
- * @details [long description]
- */
-extern void data_model_del_item(Tree_node_t *node);
-
-/**
- * @brief [brief description]
- * @details [long description]
- */
-extern void data_model_update_item(Tree_node_t *node);
-
-/**
- * @brief Unpin a repositioned node from the folder.
- *
- * @param folder_node Folder node pointer.
- * @param node repositioned node pointer.
- */
-extern void data_model_detach_from_folder(Tree_node_t *folder_node,
-       Tree_node_t *node);
-
-/**
- * @brief Search node with package name.
- *
- * @param package name
- * @return node or NULL
- */
-Tree_node_t *data_model_search_package(const char* pkg_str);
-
-
-#endif /* DATA_MODEL_H_ */
diff --git a/inc/db/db.h b/inc/db/db.h
deleted file mode 100644 (file)
index be9e17c..0000000
+++ /dev/null
@@ -1,64 +0,0 @@
-/*
- * Copyright 2012  Samsung Electronics Co., Ltd
- *
- * Licensed under the Flora License, Version 1.1 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://floralicense.org/license/
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#ifndef __DB_H__
-#define __DB_H__
-
-#include "app_item.h"
-#include "util.h"
-
-typedef struct
-{
-       int id;
-       app_item_type_t type;
-       char *appid;
-
-       int first_id;
-       int next_id;
-
-       int x;
-       int y;
-       int w;
-       int h;
-
-       char *content_info;
-} db_item_t;
-
-/**
- * @brief Create database table
- */
-extern bool db_create_tables(void);
-
-/**
- * @brief Get the applications list from the database
- * @param apps Eina_List pointer
- */
-extern bool db_get_apps(Eina_List **apps);
-
-/**
- * @brief Frees the application list
- * @param apps Pointer to Eina_List.
- */
-extern void db_free_apps(Eina_List *apps);
-
-/**
- * @brief Updates the database
- * @param updated item
- * @param insert flag.
- */
-extern bool db_update_apps(db_item_t item, bool insert);
-
-#endif /* __DB_H__ */
diff --git a/inc/dynamic_index.h b/inc/dynamic_index.h
deleted file mode 100644 (file)
index fdd47af..0000000
+++ /dev/null
@@ -1,56 +0,0 @@
-/*
- * Copyright 2012  Samsung Electronics Co., Ltd
- *
- * Licensed under the Flora License, Version 1.1 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://floralicense.org/license/
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#ifndef DYNAMIC_INDEX_H_
-#define DYNAMIC_INDEX_H_
-
-#include <Evas.h>
-#include <Eina.h>
-
-#include "page_scroller.h"
-#include "conf.h"
-
-typedef struct {
-       Evas_Object *scroller;
-       Evas_Object *box;
-       Evas_Object *indices[INDEX_MAX_PAGE_COUNT];
-       int page_count;
-       int page_width;
-       int page_current;
-       int x_current;
-} dynamic_index_t;
-
-/**
- * @brief Creates new dynamic index object
- * @param page_scroller Evas_Object pointer to elm_scroller widget
- */
-dynamic_index_t *dynamic_index_new(Evas_Object *page_scroller);
-
-/**
- * @brief Removes dynamic inxed object
- * @param dynamic_index Pointer to dynamic_index_t type.
- */
-void dynamic_index_del(dynamic_index_t *dynamic_index);
-
-/**
- * @brief Clears content and set current index.
- * @details [long description]
- *
- * @param dynamic_index [description]
- */
-void dynamic_index_reload(dynamic_index_t *dynamic_index, int idx, int page_count);
-
-#endif /* DYNAMIC_INDEX_H_ */
diff --git a/inc/edc_conf.h b/inc/edc_conf.h
new file mode 100755 (executable)
index 0000000..2c00eb3
--- /dev/null
@@ -0,0 +1,164 @@
+/*
+ * Copyright 2012  Samsung Electronics Co., Ltd
+ *
+ * Licensed under the Flora License, Version 1.1 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://floralicense.org/license/
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef __EDC_CONF_H__
+#define __EDC_CONF_H__
+
+#define GROUP_HOME_LY "home_ly"
+#define HOME_BG "home_bg"
+#define HOME_CONTENT "part_content"
+
+#define HOME_BUTTON "home_btn"
+#define MENU_BUTTON "menu_btn"
+
+#define SIGNAL_MENU_BTN_CLICKED "menu_btn_clicked"
+#define SIGNAL_HOME_BTN_CLICKED "home_btn_clicked"
+#define SIGNAL_SOURCE "source"
+
+#define SIGNAL_BTN_SHOW_HOME_STATE "btn_show_home_state"
+#define SIGNAL_BTN_SHOW_APPS_STATE "btn_show_apps_state"
+#define SIGNAL_BTN_HIDE_HOME_STATE "btn_hide_home_state"
+#define SIGNAL_BTN_HIDE_APPS_STATE "btn_hide_apps_state"
+#define SIGNAL_HOME_BTN_ICON_SHOW "home_btn_icon_show"
+#define SIGNAL_HOME_BTN_ICON_HIDE "home_btn_icon_hide"
+#define SIGNAL_APPS_BTN_ICON_SHOW "apps_btn_icon_show"
+#define SIGNAL_APPS_BTN_ICON_HIDE "apps_btn_icon_hide"
+
+#define GROUP_HOME_BTN_LY "home_btn_ly"
+
+// cluster
+#define SIZE_SETTER "size_setter"
+#define CLUSTER_BOX "cluster_box"
+#define CLUSTER_BG "cluster_bg"
+#define CLUSTER_ADD_PAGE "cluster_add_page"
+#define CLUSTER_ALL_PAGE_MODE_ON "cluster_all_page_on"
+#define CLUSTER_ALL_PAGE_MODE_OFF "cluster_all_page_off"
+#define CLUSTER_PAGE_DELETE_BUTTON "cluster_delete_page"
+#define CLUSTER_ALLPAGE_GRID "cluster_all_page_grid"
+#define SIGNAL_CLUSTER_EDIT_STATE "cluster_edit_state"
+#define SIGNAL_CLUSTER_NORMAL_STATE "cluster_normal_state"
+#define SIGNAL_CLUSTER_PICKUP_STATE "cluster_pickup_state"
+
+#define GROUP_PAGE_INDICATOR_UNIT "page_indicator_unit"
+#define SIGNAL_PAGE_IDICATOR_ROTATION_CHANGE "rotation,changed"
+#define SIGNAL_PAGE_IDICATOR_DEFAULT "default,set"
+#define SIGNAL_PAGE_IDICATOR_CURRENT "current,set"
+
+#define GROUP_CLUSTER_PAGE_LY "cluster_page_ly"
+#define GROUP_CLUSTER_ALLPAGE_LY "cluster_allpage_ly"
+#define GROUP_CLUSTER_ALLPAGE_THUMBNAIL_LY "cluster_allpage_thumbnail_ly"
+#define CLUSTER_ALLPAGE_THUMBNAIL_IMAGE "cluster_allpage_thumbnail_image"
+#define CLUSTER_ALLPAGE_DELETE_BUTTON "cluster_allpage_delete_button"
+#define CLUSTER_ALLPAGE_ADD_BUTTON "cluster_allpage_add_button"
+#define CLUSTER_ALLPAGE_DRAG_IMAGE "cluster_allpage_drag_image"
+#define SIGNAL_ALLPAGE_DELETE_BUTTON_CLICKED "allpage_delete_button_clicked"
+#define SIGNAL_ALLPAGE_DELETE_BUTTON_SHOW "allpage_delete_button_show"
+#define SIGNAL_ALLPAGE_DELETE_BUTTON_HIDE "allpage_delete_button_hide"
+#define SIGNAL_ALLPAGE_ADD_BUTTON_CLICKED "allpage_add_button_clicked"
+#define SIGNAL_ALLPAGE_ADD_BUTTON_SHOW "allpage_add_button_show"
+#define SIGNAL_ALLPAGE_ADD_BUTTON_HIDE "allpage_add_button_hide"
+#define SIGNAL_ALLPAGE_DRAG_BG_SHOW "allpage_drag_bg_show"
+#define SIGNAL_ALLPAGE_DRAG_BG_HIDE "allpage_drag_bg_hide"
+
+// apps view
+#define GROUP_APPS_LY "apps_ly"
+#define APPS_APPS_VIEW_BG "apps_view_bg"
+
+#define GROUP_APPS_BG_LY "apps_bg_ly"
+#define GROUP_APPS_CHOOSER_BTN_LY "apps_chooser_btn_ly"
+
+#define APPS_CHOOSER_LEFT_LABEL "apps_chooser_left_label"
+#define APPS_CHOOSER_MIDDLE_LABEL "apps_chooser_middle_label"
+#define APPS_CHOOSER_RIGHT_LABEL "apps_chooser_right_label"
+
+#define SIGNAL_CHOOSER_BUTTON_SHOW "chooser_button_show"
+#define SIGNAL_CHOOSER_BUTTON_HIDE "chooser_button_hide"
+
+#define ANIMATION_RESIZE_TIME 0.3
+#define SIGNAL_SET_BLACK_TEXT "set_black_text"
+#define SIGNAL_EDIT_MODE_ON_ANI "edit_on_ani"
+#define SIGNAL_EDIT_MODE_ON "edit_on"
+#define SIGNAL_EDIT_MODE_OFF_ANI "edit_off_ani"
+#define SIGNAL_EDIT_MODE_OFF "edit_off"
+#define SIGNAL_CHOOSER_MODE_ON "chooser_on"
+#define SIGNAL_CHOOSER_MODE_OFF "chooser_off"
+#define SIGNAL_CHOOSER_LEFT_BTN_CLICKED "chooser_left_btn_clicked"
+#define SIGNAL_CHOOSER_RIGHT_BTN_CLICKED "chooser_right_btn_clicked"
+#define SIGNAL_CHECK_CHECK_BOX "check"
+#define SIGNAL_UNCHECK_CHECK_BOX "uncheck"
+#define SIGNAL_CHANGED_CHECK_BOX "changed_checkbox_state"
+
+#define SIGNAL_APPS_VIEW_HIDE "apps_bg_hide"
+#define SIGNAL_APPS_VIEW_SHOW "apps_bg_show"
+#define SIGNAL_APPS_VIEW_ANIM "apps_bg_anim"
+#define APPS_VIEW_COL 4
+#define APPS_VIEW_ROW 5
+
+#define APPS_VIEW_BG_OPACITY 70
+
+#define GROUP_APP_ICON_LY "icon_ly"
+#define APPS_ICON_CONTENT "icon_content"
+#define APPS_ICON_CONTENT_TOUCH "icon_touch"
+#define APPS_ICON_NAME "icon_name"
+#define APPS_ICON_BADGE_TEXT "badge_text"
+#define SIGNAL_ICON_DISABLE "icon_disable"
+#define SIGNAL_ICON_ENABLE "icon_enable"
+#define SIGNAL_BADGE_SHOW "badge_show"
+#define SIGNAL_BADGE_HIDE "badge_hide"
+
+#define SIGNAL_ICON_CLICKED "icon_clicked"
+
+#define GROUP_FOLDER_ICON_LY "folder_ly"
+#define SIGNAL_FRAME_POSSIBLE_SHOW "frame_possible_show"
+#define SIGNAL_FRAME_IMPOSSIBLE_SHOW "frame_impossible_show"
+
+#define APPS_ICON_UNINSTALL_BUTTON "uninstall_btn"
+#define SIGNAL_UNINSTALL_BUTTON_SHOW_ANI "uninstall_btn_show_ani"
+#define SIGNAL_UNINSTALL_BUTTON_SHOW "uninstall_btn_show"
+#define SIGNAL_UNINSTALL_BUTTON_HIDE_ANI "uninstall_btn_hide_ani"
+#define SIGNAL_UNINSTALL_BUTTON_HIDE "uninstall_btn_hide"
+#define SIGNAL_UNINSTALL_BUTTON_CLICKED "uninstall_btn_click"
+
+#define GROUP_APPS_FOLDER_POPUP_LY "apps_folder_popup_ly"
+#define APPS_FOLDER_BG "apps_folder_bg"
+#define APPS_FOLDER_COL 3
+#define APPS_FOLDER_ROW 3
+#define APPS_FOLDER_TITLE "apps_folder_title"
+#define APPS_FOLDER_SEPARATOR "apps_folder_separator"
+#define APPS_FOLDER_CONTAINER "apps_folder_container"
+#define APPS_FOLDER_PLUS_ICON "apps_folder_plus"
+#define SIGNAL_APPS_FOLDER_HIDE "apps_folder_hide"
+#define SIGNAL_APPS_FOLDER_SHOW "apps_folder_show"
+#define SIGNAL_APPS_FOLDER_SET_PLUS_ICON "apps_folder_set_plus_icon"
+#define SIGNAL_APPS_FOLDER_HIDE_PLUS_ICON "apps_folder_hide_plus_icon"
+#define SIGNAL_APPS_FOLDER_CLICKED_PLUS_ICON "apps_folder_clicked_plus_icon"
+
+#define GROUP_WIDGET_LY "widget_ly"
+#define WIDGET_CONTENT "widget_content"
+#define WIDGET_DELETE_BUTTON "widget_delete_button"
+#define SIGNAL_DELETE_BUTTON_SHOW_ANI "delete_button_show_ani"
+#define SIGNAL_DELETE_BUTTON_HIDE_ANI "delete_button_hide_ani"
+#define SIGNAL_DELETE_BUTTON_SHOW "delete_button_show"
+#define SIGNAL_DELETE_BUTTON_HIDE "delete_button_hide"
+#define SIGNAL_DELETE_BUTTON_CLICKED "delete_button_clicked"
+
+#define ADD_WIDGET_VIEWER_CONFORMANT_FRAME "add_widget_viewer_conformant_frame"
+#define ADD_WIDGET_VIEWER_CONTENT_FRAME "add_widget_viewer_content_frame"
+#define ADD_WIDGET_VIEWER_PREVIEW "add_widget_viewer_preview"
+#define ADD_WIDGET_VIEWER_PREVIEW_ICON "add_widget_viewer_preview_ICON"
+#define SIGNAL_PREVIEW_CLICKED "preview_clicked"
+
+#endif /* __EDC_CONF_H__ */
diff --git a/inc/folder_panel.h b/inc/folder_panel.h
deleted file mode 100644 (file)
index ab8450a..0000000
+++ /dev/null
@@ -1,139 +0,0 @@
-/*
- * Copyright 2012  Samsung Electronics Co., Ltd
- *
- * Licensed under the Flora License, Version 1.1 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://floralicense.org/license/
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#ifndef __FOLDER_PANEL_H__
-#define __FOLDER_PANEL_H__
-
-#include <stdbool.h>
-#include "homescreen-efl.h"
-#include "app_item.h"
-#include "dynamic_index.h"
-#include "tree.h"
-
-typedef struct {
-       Eina_List *miniatures;
-       Evas_Object *folder_scroller;
-} folder_data_t;
-
-typedef enum {
-       FOLDER_PANEL_CHECKED_NONE = 0,
-       FOLDER_PANEL_CHECKED_ANY,
-       FOLDER_PANEL_CHECKED_ALL,
-} folder_checked_t;
-
-/**
- * @brief Initializes folder module
- */
-void folder_panel_init_module(void);
-
-/**
- * @brief Frees all data initialized before.
- */
-void folder_panel_deinit_module(void);
-
-/**
- * @brief Creates folder panel.
- * @param data folder parent in data model
- * @return app_item_t pointer
- */
-extern app_item_t *folder_panel_create(Tree_node_t *data);
-
-/**
- * @brief Ignores folder click action if ignore is true.
-*/
-extern void folder_panel_set_click_ignore_state(bool ignore);
-
-/**
- * @brief Enables or disables folder entry editing.
- * @param state the state to put folder entry in
- */
-extern void folder_panel_enable_entry(bool state);
-
-/**
- * @brief Attaches icon object to grid of currently opened folder.
- * @param icon - app_item_t->layout
- */
-extern Elm_Object_Item *folder_panel_attach_to_grid(Evas_Object *icon,
-       folder_data_t *folder_data);
-
-/**
- * @brief Shows folder panel layout on screen
- * @param folder pointer to app_item_t object
- * @param keypad_show imf keyboard visibility flatg
- *
- * @return true if no errors.
- */
-extern bool folder_panel_open_folder(app_item_t *folder, bool keypad_show);
-
-/**
- * @brief Closes folder panel view.
- */
-extern void folder_panel_close_folder(void);
-
-/**
- * @brief Cancels appending new items into the folder by add icon press.
- */
-extern void folder_panel_cancel_add_icon(void);
-
-/**
- * @brief Returns folder visibility state
- * @return true if folder is visible otherwise returns false
- */
-extern bool folder_panel_is_folder_visible(void);
-
-/**
- * @brief Shows checkboxes on the folder icon.
- */
-extern folder_checked_t folder_panel_set_content_checked(Tree_node_t *node);
-
-/**
- * @brief Function returns pointer to data node of the opened folder
- * @return Tree_Node_t pointer.
- */
-extern Tree_node_t *folder_panel_get_opened_folder_node(void);
-
-/**
- * @brief Function returns pointer to app_item of opened folder
- */
-extern const app_item_t *folder_panel_get_opened_folder_item(void);
-
-/**
- * @brief Return number of items inserted into the folder.
- */
-extern int folder_panel_get_items_count(Tree_node_t *folder);
-
-/**
- * @brief Removes empty folder after reposition.
- */
-extern void folder_panel_remove_empty_folder(Tree_node_t *folder);
-
-/**
- * @brief Return folder popup geometry
- *
- * @param x position
- * @param y position
- * @param w width
- * @param h height
- */
-extern void folder_panel_get_folder_geometry(int *x, int *y, int *w, int *h);
-
-/**
- * @brief Function close entry input panel connected with folder name entry
- * widget
- */
-extern void folder_panel_hide_input_panel(void);
-
-#endif /* FOLDER_PANEL_H_ */
old mode 100644 (file)
new mode 100755 (executable)
index 18cf35f..2534331
 #include <app.h>
 #include <Elementary.h>
 
-#include <system_settings.h>
-#include <dlog.h>
-
-#include "conf.h"
-#include "app_item.h"
-#include "tree.h"
-
 #if !defined(PACKAGE)
 #define PACKAGE "org.tizen.homescreen-efl"
 #endif
 
-
 typedef enum {
-       HOMESCREEN_VIEW_HOME = 0,
-       HOMESCREEN_VIEW_HOME_EDIT,
-       HOMESCREEN_VIEW_HOME_ALL_PAGES,
-       HOMESCREEN_VIEW_HOME_ADD_VIEWER,
-       HOMESCREEN_VIEW_ALL_APPS,
-       HOMESCREEN_VIEW_ALL_APPS_EDIT,
-       HOMESCREEN_VIEW_ALL_APPS_CHOOSE,
-       HOMESCREEN_VIEW_UNKNOWN,
+    HOMESCREEN_VIEW_HOME = 0,
+    //HOMESCREEN_VIEW_HOME_EDIT,
+    //HOMESCREEN_VIEW_HOME_ALL_PAGES,
+    //HOMESCREEN_VIEW_HOME_ADD_VIEWER,
+    HOMESCREEN_VIEW_APPS,
+    //HOMESCREEN_VIEW_APPS_EDIT,
+    //HOMESCREEN_VIEW_APPS_CHOOSE,
+    HOMESCREEN_VIEW_UNKNOWN,
 } homescreen_view_t;
+Evas_Object *homescreen_efl_get_win(void);
 
-typedef enum {
-       INDICE_NEXT_PAGE_ON = 0,
-       INDICE_PREV_PAGE_ON,
-       INDICE_OFF,
-} indice_type_t;
-
-/**
- * @return returns screen width
- */
-extern int home_screen_get_root_width(void);
-
-/**
- * @return returns screen height
- */
-extern int home_screen_get_root_height(void);
-
-/**
- * @brief Returns homescreen window pointer.
- * @return Evas_Object pointer to elm_win widget or NULL if falsse
- */
-extern Evas_Object *home_screen_get_win(void);
-
-/**
- * @brief Returns elm_win main layout.
- * @details Function returns pointer to elm_layout widget with is a parent
- * for other views used in home
- * @return Evas_Object pointer to elm_layout widget
- */
-extern Evas_Object *home_screen_get_layout(void);
-
-/**
- * @brief Returns homescreen view type
- * @details Possible types :
- *
- *HOMESCREEN_VIEW_HOME,
- *HOMESCREEN_VIEW_HOME_EDIT,
- *HOMESCREEN_VIEW_HOME_ALL_PAGES,
- *HOMESCREEN_VIEW_ALL_APPS,
- *HOMESCREEN_VIEW_ALL_APPS_EDIT,
- *HOMESCREEN_VIEW_ALL_APPS_CREATE_FOLDER,
- *HOMESCREEN_VIEW_UNKNOWN,
- *
- * @return homescreen_view_t value
- */
-extern homescreen_view_t home_screen_get_view_type(void);
-
-/**
- * @brief set homescreen view type
- * @param view homescreen_view_t type
- */
-extern void home_screen_set_view_type(homescreen_view_t view);
-
-/**
- * @brief Function sets indice state
- * @details During page switching left or right side of the screen should be
- * highlighted. This function is repsponsible for this logic.
- *
- * @param indice type of performed action
- */
-extern void home_screen_set_indice_state(indice_type_t indice);
-
-/**
- * @brief Update the view after application uninstall
- */
-extern void home_screen_mvc_item_uninstall_cb(Tree_node_t *item);
-
-/**
- * @brief Update view after folder name change
- */
-extern void home_screen_mvc_update_view(void);
-
-/**
- * @brief Update view after move an item into the folder
- */
-extern void home_screen_mvc_drag_item_to_folder_cb(Tree_node_t *dragged_item,
-       Tree_node_t *folder);
-
-/**
- * @brief home branch test function
- * @details Function for debug purpose only. Displays
- * the data stored in home branch of the data model tree
- */
-extern void home_screen_print_tree(void);
-
-/**
- * @brief Function updates the view after drag an item from the folder.
- */
-extern void home_screen_mvc_drag_item_from_folder_cb(void);
-
-/**
- * @brief Multi resolution support function for texts in edje.
- *
- * @param layout Elm_Layout Pointer
- */
-extern void home_screen_mvc_set_ly_scale(Evas_Object *layout);
+void homescreen_efl_hw_menu_key_release(void);
+void homescreen_efl_hw_home_key_release(void);
+void homescreen_efl_hw_back_key_release(void);
 
-/**
- * @brief Close all apps choose view.
- *
- */
-extern void home_screen_close_all_apps_choose_view(void);
-
-/**
- * @brief Register gesture state change callback.
- *
- * @details Function adds callback of type Elm_Gesture_Type
- * to main homescreen gui gesture layer.
- *
- * @param[in] idx The gesture you want to track state of.
- * @param[in] cb_type The event the callback tracks (START, MOVE, END, ABORT).
- * @param[in] cb The callback itself.
- * @param[in] data Custom data to be passed.
- *
- * @return 0 on success otherwise negative value on failure
- */
-extern int home_screen_gesture_cb_set(Elm_Gesture_Type idx, Elm_Gesture_State cb_type,
-               Elm_Gesture_Event_Cb cb, void *data);
-
-/**
- * @brief Unregister gesture state change callback.
- *
- * @details Function unregisters callback on Elm_Gesture_Type
- * from main homescreen gui gesture layer.
- *
- * @param[in] idx The gesture you want to track state of.
- * @param[in] cb_type The event the callback tracks (START, MOVE, END, ABORT).
- * @param[in] cb The callback itself.
- * @param[in] data Custom data to be passed.
- *
- * @return 0 on success otherwise negative value on failure
- */
-extern int home_screen_gesture_cb_unset(Elm_Gesture_Type idx, Elm_Gesture_State cb_type,
-               Elm_Gesture_Event_Cb cb, void *data);
+void homescreen_efl_btn_show(homescreen_view_t view_t);
+void homescreen_efl_btn_hide(homescreen_view_t view_t);
 
-#endif /* __homescreen-efl_H__ */
+#endif /* __HOMESCREEN_EFL_H__ */
diff --git a/inc/hw_key.h b/inc/hw_key.h
new file mode 100755 (executable)
index 0000000..7d57f67
--- /dev/null
@@ -0,0 +1,23 @@
+/*
+ * Copyright 2012  Samsung Electronics Co., Ltd
+ *
+ * Licensed under the Flora License, Version 1.1 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://floralicense.org/license/
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef __HW_KEY_H__
+#define __HW_KEY_H__
+
+void hw_key_register(void);
+void hw_key_unregister(void);
+
+#endif /* __HW_KEY_H__ */
diff --git a/inc/livebox/grid_item_resize.h b/inc/livebox/grid_item_resize.h
deleted file mode 100644 (file)
index 9e84cb4..0000000
+++ /dev/null
@@ -1,52 +0,0 @@
-/*
- * Copyright 2012  Samsung Electronics Co., Ltd
- *
- * Licensed under the Flora License, Version 1.1 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://floralicense.org/license/
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#ifndef GRID_ITEM_RESIZE_H_
-#define GRID_ITEM_RESIZE_H_
-
-#include <Elementary.h>
-#include <Evas.h>
-#include <stdbool.h>
-
-#include "../util.h"
-#include "livebox_utils.h"
-#include "../conf.h"
-
-/**
- * @brief Adds callbacks to livebox_container
- * @param livebox_scroller scroller with livebox_container
- * @param livebox_container Layout created with file: livebox_container.edj,
- * with grid as its main part
- * @return true on success
- */
-extern bool grid_item_init_resize_callbacks(Evas_Object *livebox_scroller,
-       Evas_Object *livebox_container);
-
-/**
- * @brief Set the resize sliders on @p page based on @p livebox geometry
- */
-extern void grid_item_set_resize_livebox_sliders(Evas_Object *livebox,
-       Evas_Object *page);
-
-/**
- * @brief Set the visibility of resize frame
- * @param page Page containing the frame
- * @param visible Visibility of the frame
- */
-extern void grid_item_set_resize_sliders_visibility(Evas_Object *page,
-       bool visible);
-
-#endif /* GRID_ITEM_RESIZE_H_ */
diff --git a/inc/livebox/grid_reposition.h b/inc/livebox/grid_reposition.h
deleted file mode 100644 (file)
index b090d06..0000000
+++ /dev/null
@@ -1,79 +0,0 @@
-/*
- * Copyright 2012  Samsung Electronics Co., Ltd
- *
- * Licensed under the Flora License, Version 1.1 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://floralicense.org/license/
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#ifndef GRID_REPOSITION_H_
-#define GRID_REPOSITION_H_
-
-#include <Elementary.h>
-
-/**
- * @brief Returns the grid that the repositioned object will be packed to
- * @return origination elm_grid or NULL on error
- */
-extern Evas_Object *grid_reposition_get_current_grid(void);
-
-/**
- * @brief Returns the currently repositioned object
- * @return origination elm_grid or NULL on error or if there is no
- * repositioned object
-*/
-extern Evas_Object *grid_reposition_get_repositioned_item(void);
-
-/**
- * @brief Initialize the reposition process
- * @details
- * Function call order:
- * @code
- * grid_reposition_init()
- * -> grid_reposition_start() -> grid_reposition_move() -> grid_reposition_end()
- * @endcode
- *
- * grid_reposition_move() should be called on mouse move
- *
- * @param grid
- * @param repositioned_item
- */
-extern void grid_reposition_init(Evas_Object *grid, Evas_Object
-       *repositioned_item);
-
-/**
- * @brief Start the reposition process
- * @details Check the grid_reposition_init() function
- *
- */
-extern void grid_reposition_start(void);
-
-/**
- * @brief Move the repositioned object
- * @details Check the grid_reposition_init() function
- * @param mouse_x
- * @param mouse_y
- */
-extern void grid_reposition_move(int mouse_x, int mouse_y);
-
-/**
- * @brief End the reposition object
- * @details Check the grid_reposition_init() function
- */
-extern void grid_reposition_end(void);
-
-/**
- * @brief Sets the grid that the repostioned object will be dropped to
- * @param grid must be elm_grid
- */
-extern void grid_reposition_set_current_grid(Evas_Object *grid);
-
-#endif /* GRID_REPOSITION_H_ */
diff --git a/inc/livebox/livebox_animator.h b/inc/livebox/livebox_animator.h
deleted file mode 100644 (file)
index c2a358a..0000000
+++ /dev/null
@@ -1,86 +0,0 @@
-/*
- * Copyright 2012  Samsung Electronics Co., Ltd
- *
- * Licensed under the Flora License, Version 1.1 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://floralicense.org/license/
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#ifndef LIVEBOX_ANIMATOR_H_
-#define LIVEBOX_ANIMATOR_H_
-
-struct _Anim_Data;
-
-typedef void (*Anim_Grid_End)(struct _Anim_Data **ad);
-
-typedef struct _Anim_Data {
-       double anim_time;
-       Evas_Object *obj;
-       Ecore_Pos_Map map;
-       double map_var_1;
-       double map_var_2;
-       Eina_Rectangle *geometry_start;
-       Eina_Rectangle *geometry_end;
-       Anim_Grid_End on_end;
-       Ecore_Animator *animator;
-       bool anim_is_running;
-} Anim_Data_t;
-
-/**
- * @brief Delete an animator
- * @param ad Animator to delete
- */
-extern void livebox_animator_del_grid(Anim_Data_t **ad);
-
-/**
- * @brief creates a grid animator and starts it
- * @details Animator will be performed on grid item. It works by packing
- * an item to grid's virtual resolution.
- * Notice that the animated item has to be packed to a grid before the
- * animation starts
- * @param obj object to animate
- * @param anim_time animation time
- * @param map animator mapping method
- * @param map_var_1 value used by map
- * @param map_var_2 value used by map
- * @param geometry_start animator start position
- * @param geometry_end animator end position
- * @param on_end callback called on end of animation
- * @param ad_out created animator object
- */
-extern void livebox_animator_play_grid_pack_set(Evas_Object *obj,
-               float anim_time,
-               Ecore_Pos_Map map, float map_var_1, float map_var_2,
-               Eina_Rectangle *geometry_start, Eina_Rectangle *geometry_end,
-               Anim_Grid_End on_end,
-               Anim_Data_t **ad_out);
-
-/**
- * @brief creates a geometry animator and starts it
- * @details object position and size will be animated
- * @param obj object ot animate
- * @param anim_time animation time
- * @param map animator mapping method
- * @param map_var_1 value used by map
- * @param map_var_2 value used by map
- * @param geometry_start animator start position
- * @param geometry_end animator end position
- * @param on_end callback called on end of animation
- * @param ad_out created animator object
- */
-extern void livebox_animator_play_geometry_set(Evas_Object *obj,
-               float anim_time,
-               Ecore_Pos_Map map, float map_var_1, float map_var_2,
-               Eina_Rectangle *geometry_start, Eina_Rectangle *geometry_end,
-               Anim_Grid_End on_end,
-               Anim_Data_t **ad_out);
-
-#endif /* LIVEBOX_ANIMATOR_H_ */
diff --git a/inc/livebox/livebox_panel.h b/inc/livebox/livebox_panel.h
deleted file mode 100644 (file)
index dd7a92a..0000000
+++ /dev/null
@@ -1,216 +0,0 @@
-/*
- * Copyright 2012  Samsung Electronics Co., Ltd
- *
- * Licensed under the Flora License, Version 1.1 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://floralicense.org/license/
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#ifndef __LIVEBOX_PANEL_H__
-#define __LIVEBOX_PANEL_H__
-
-#include <Elementary.h>
-#include "tree.h"
-
-/**
- * @brief creates main livebox view
- * @details Creates the livebox scroller and adds pages with liveboxes to it
- * @param parent Layout where the livebox panel will be added
- * @return Created livebox view or NULL on error
- */
-extern Evas_Object *livebox_panel_create(Evas_Object *parent);
-
-/**
- * @brief [brief description]
- * @details [long description]
- */
-extern void livebox_panel_fill(void);
-
-/**
- *
- */
-void livebox_panel_update_dynamic_index(void);
-
-
-/**
- * @brief Creates dynamic index for livebox panel
- */
-extern void livebox_panel_create_dynamic_index(void);
-
-/**
- * @brief Sets livebox panel and its dynamic index to layout
- * @note @p layout has to have "content" and "index" parts
- * @param layout layout to add widgets to
- */
-extern void livebox_panel_set_content(Evas_Object *layout);
-
-/**
- * @brief Unsets livebox panel and its dynamic index from layout
- * @note @p layout has to have "content" and "index" parts
- * @param layout layout to remove widgets from
- */
-extern void livebox_panel_unset_content(Evas_Object *layout);
-
-/**
- * @brief Create empty livebox scroller
- * @return The created scroller or null on error
- */
-extern Evas_Object *livebox_panel_create_scroller(void);
-
-/**
- * @brief destroys the livebox scroller and all of it pages
- */
-extern void livebox_panel_destroy(void);
-
-/**
- * Adds new livebox to @p page
- * @param node widget representation in data structure
- * @param page Page where livebox will be added
- * @param livebox_pkgname livebo pkgname
- * @param pos_x position in grid
- * @param pos_y position in grid
- * @param width width of livebox in grid
- * @param height height of livebox in grid
- */
-void livebox_panel_add_livebox(Tree_node_t *node, Evas_Object *page,
-       const char *livebox_pkgname, int pos_x, int pos_y,
-       int width, int height,
-       char *content_info);
-
-/**
- * @brief Creates new livebox page
- * @param node page representation in data structure
- * @param livebox_scroller
- * @return new empty page
- */
-extern Evas_Object *livebox_panel_add_page(Tree_node_t *node,
-       Evas_Object *livebox_scroller);
-
-/**
- * @brief adds an empty page (page layout is described in @p
- * livebox_container.edc to the @p livebox_scroller
- * @param livebox_scroller Scroller to which thepage is added
- * @return TRUE on success FALSE otherwise
- */
-extern bool livebox_panel_add_empty_page(Evas_Object *livebox_scroller);
-
-/**
- * @brief Creates an empty page but doesn't add it to the scoller
- * @param node page node in the data model
- * @param livebox_scroller Scroller to which the page can be appended
- * @return
- */
-extern Evas_Object *livebox_panel_create_empty_page(Tree_node_t *node,
-       Evas_Object *livebox_scroller);
-
-/**
- * @brief Changes the view mode of the livebox page
- * @param turn_on True - edit mode on False - edit mode off
- */
-extern void livebox_panel_set_edit_mode_layout(bool turn_on);
-
-/**
- * @brief Changes the view mode of the livebox scroller
- * @param close True - edit mode off False - edit mode on
- */
-extern void livebox_panel_change_edit_mode_state(bool close);
-
-/**
- * @brief Destroys given livebox page and all its content
- * @param livebox_scroller_page page to destroy
- */
-extern void livebox_panel_destroy_page(Evas_Object *livebox_scroller_page);
-
-/**
- * @brief Function sets the reposition data
- * @param x mouse position x
- * @param y mouse position y
- */
-extern void livebox_panel_move_mouse_cb(int x, int y);
-
-/**
- *  @brief sets the pages geometry based on scroller geometry that consits them
- */
-extern void livebox_panel_refresh_content_size(void);
-
-/**
- * @brief Returns list of all pages in livebox panel
- * @return Eina_List pointer of all livebox pages
- */
-extern Eina_List *livebox_panel_get_pages(void);
-
-/**
- * @brief Gets the livebox dynamic index
- * @return Pointer to dynamic index box
- */
-extern Evas_Object *livebox_panel_get_index(void);
-
-/**
- * @brief Gets the livebox panel elm_scroller widget
- * @return Pointer to elm_scroller with livebox pages
- */
-extern Evas_Object *livebox_panel_get(void);
-
-/**
- * @brief Function return true if add page is visible.
- */
-extern bool livebox_panel_check_if_add_page_is_visible(void);
-
-/**
- * @brief hide and shows add page button
- * @param visible true - show false -hide
- */
-void livebox_panel_add_page_visible_state_set(bool visible);
-
-/**
- * @brief Returns true if 'add_page' is the curently selected livebox page
- */
-extern bool livebox_panel_is_add_page_selected(void);
-
-/**
- * Gets the current livebox page
- * @return Current scroller page
- */
-extern Evas_Object *livebox_scroller_get_page(void);
-
-/**
- *  Returns the last page of the livebox_scroller
- * @return last page or NULL on error
- */
-Evas_Object *livebox_scroller_get_last_page(void);
-
-/**
- * Check if a new widget page can be added. Shows a popup if not
- * @return true if page can be added, false if not
- */
-extern bool livebox_panel_can_add_page(void);
-
-/**
- * Looks for empty space to put new widget to
- *
- * @param span_w widget size
- * @param span_h widget height
- * @param pos_x position to put new widget
- * @param pos_y position to put new widget
- * @return Index of page where new widget can be placed
- */
-extern int livebox_panel_find_empty_space(int span_w, int span_h,
-       int *pos_x, int *pos_y);
-
-/**
- */
-extern void livebox_panel_resumed(void);
-
-/**
- */
-extern void livebox_panel_paused(void);
-
-#endif
diff --git a/inc/livebox/livebox_utils.h b/inc/livebox/livebox_utils.h
deleted file mode 100644 (file)
index 25eae56..0000000
+++ /dev/null
@@ -1,259 +0,0 @@
-/*
- * Copyright 2012  Samsung Electronics Co., Ltd
- *
- * Licensed under the Flora License, Version 1.1 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://floralicense.org/license/
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#ifndef UTILS_H_
-#define UTILS_H_
-
-#include <Elementary.h>
-
-#include "../util.h"
-#include "../conf.h"
-
-/**
- * @brief Check interection between @p rect and list items bounding
- * Eina_Rectangles
- * @details Check interection between @p rect and list items bounding
- * Eina_Rectangle.
- * If current list item == @p obj the intersection check won't be performed.
- * By standard the @p rect is the @p obj bounding rectangle.
- * So this helps to avoid interesction check with obj itself
- * @param rect rectangle
- * @param obj filter object. Can be NULL
- * @param list of objects
- * @return TRUE if intersection was found ELSE otherwise
- */
-extern bool livebox_utils_check_rect_list_grid_interesction(
-       Eina_Rectangle *rect, Evas_Object *obj, Eina_List *list);
-
-/**
- * @brief Returns the list of liveboxes on grid
- * @details Function returns liveboxes put on @p grid but but without the
- * @a shadow object
- * @param grid
- * @return list of liveboxes. Has to be freed
- */
-extern Eina_List *livebox_utils_get_liveboxes_on_gird(Evas_Object *grid);
-
-/**
- * @brief Returns the list of liveboxes on page
- * @details Page is a layout described by "livebox_container.edc" Which
- * contains a elm_grid object. All objects in the grid are returned.
- * @param obj livebox page
- * @return list of liveboxes. Has to be freed
- */
-extern Eina_List *livebox_utils_get_liveboxes_on_page_list(Evas_Object *obj);
-
-
-/**
- * @brief Returns the livebox container that contains the selected livebox
- * @return Livebox container
- */
-extern Evas_Object *livebox_utils_get_selected_livebox_layout(void);
-
-/**
- * @brief Returns the that previously contained the selected livebox.
- * Used when livebox in repositioned to different container
- * @return Livebox container
- */
-extern Evas_Object *livebox_utils_get_prev_livebox_layout(void);
-
-/**
- * @brief Returns the selected livebox
- * @return selected livebox
- */
-extern Evas_Object *livebox_utils_selected_livebox_get(void);
-
-/**
- * @brief Sets the selected livebox
- * @note Use this when livebox is selected
- * @param livebox Selected livebox
- * @param layout livbox container holding the selected livebox
- */
-extern void livebox_utils_set_selected_livebox(Evas_Object *livebox,
-       Evas_Object *layout);
-
-/**
- * @brief Crate the shadow visible when a object is repositioned
- * @param parent Shadow parent
- */
-extern void livebox_utils_create_shadow(Evas_Object *parent);
-
-/**
- * @brief Pack the shadow object to given container based on livebox position
- * @note Used in reposition
- * @param livebox item repositioned using drag&drop
- * @param page container where the shadow will be packed
- */
-extern void livebox_utils_set_shadow_pack(Evas_Object *livebox,
-       Evas_Object *page);
-
-/**
- * @brief Shadow is repacked from one livebox_container to different one
- * @details Shadow object is unpacked from its current grid and packed to grid
- * in page_to livebox_container
- * @param livebox livebox item repositioned using drag&drop
- * @param page_to livebo_container where the shadow will be packed
- */
-extern void livebox_utils_repack_shadow(Evas_Object *livebox,
-       Evas_Object *page_to);
-
-/**
- * @brief Sets the visiblity of the shadow object
- * @param visible TRUE shadow will be visible
- */
-extern void livebox_utils_set_shadow_visibility(bool visible);
-
-/**
- * @brief Creates the clipper for the shadow object
- * @details The clipper is added to the @p livebox_container and is clipped
- * by the shadow object.
- * This way only the part of the clipper will be visible where the repositioned
- * livebox can be dropped
- * @param livebox_container Layout containing the clipper
- */
-extern void livebox_utils_create_grid_shadow_clipper(Evas_Object*
-       livebox_container);
-
-/**
- * @brief Returns position fitting given grid
- * @details The input parameteters should be given in virtual coordinates of
- * a grid. If the item coordinates don't fit the grid they will be modified
- * properly.
- *     @code
- *             if(obj_x < 0)
- *             {
- *                     *out_x = 0;
- *             }
- *
- *             if obj_x + obj_w > grid_width
- *             {
- *                     *out_x = grid_width - obj_w
- *             }
- *     @endcode
- *
- * @param[in] obj_x
- * @param[in] obj_y
- * @param[in] obj_w
- * @param[in] obj_h
- * @param[out] out_x
- * @param[out] out_y
- */
-extern void livebox_utils_normalize_grid_pos(int obj_x, int obj_y, int obj_w,
-       int obj_h, int *out_x, int *out_y);
-
-/**
- * @brief Returns the grid put into the @p container widget
- * @param container The container wodth grid
- * @return Grid object or NULL on error
- */
-extern Evas_Object *livebox_utils_get_livebox_container_grid(Evas_Object *container);
-
-/**
- * @brief Returns the shadow object
- * @return shadow object
- */
-extern Evas_Object *livebox_utils_get_shadow(void);
-
-/**
- * @brief unpacks the grid object from the grid its currently packed to
- */
-extern void livebox_utils_shadow_unpack(void);
-
-/**
- * @brief Transforms the @p livebox geometry to @p grid virtual coordinates
- * @param[in] livebox object to read the geometry from
- * @param[in] grid elm_grid which virtual coordinates will be used
- * @param[out] out_x @p livebox transformed horizontal position
- * @param[out] out_y @p livebox transformed vertical position
- * @param[out] out_w @p livebox transformed width
- * @param[out] out_h @p livebox transformed height
- */
-extern void livebox_utils_convert_size_to_grid_coord(Evas_Object *livebox,
-       Evas_Object *grid, int *out_x, int *out_y, int *out_w, int *out_h);
-
-/**
- * @brief Sets the packing of @p item_to_pack to the @p grid
- * @details The @p livebox object is used to determine the position of @p
- * item_to_pack in the @p grid.
- * Note that the @p item_to_pack has to be packet in the gird allready
- * @param livebox Position of this object will be used to determine the
- * position of @p item_to_pack in the @p grid
- * @param item_to_pack Object to be packed to the @p grid
- * @param grid The grid object. Must be elm_grid
- */
-extern void livebox_utils_set_grid_object_pack(Evas_Object *livebox,
-       Evas_Object *item_to_pack, Evas_Object *grid);
-
-/**
- * @brief Repacks @p item_to_pack from @p grid_from to @p grid_to
- * @details The @p livebox object is used to determine the position of @p
- * item_to_pack in the @p grid_to.
- * The item_to_pack will be unpacked from @p grid_from and @p packed to @p
- * grid_to
- *
- * @param livebox ivebox Position of this object will be used to determine
- * the position of @p item_to_pack in the @p grid_to
- * @param item_to_pack Repacked item
- * @param grid_from Source grid
- * @param grid_to D Destination grid
- */
-extern void livebox_utils_repack_grid_object(Evas_Object *livebox,
-       Evas_Object *item_to_pack, Evas_Object *grid_from,
-       Evas_Object *grid_to);
-
-/**
- * @brief Transforms virtual @ grid virtual coordinates to screen coordinates
- * @param grid elm_grid
- * @param x Horizontal position in @p grid
- * @param y Vertical position in @p grid
- * @param w Width in @p grid
- * @param h Height in @p grid
- * @return Eina_Rectangle containing the postion transformed
- * to screen coordinates
- */
-extern Eina_Rectangle *livebox_utils_convert_virtual_grid_geo_to_screen(
-       Evas_Object *grid, int x, int y, int w, int h);
-
-/**
- * @brief Returns the bounding rectangle of the @p obj object
- * @details Bounding rectangle contains (x position, y position, width, height)
- * of the @p obj
- * @param obj to get the bounding rectangle from
- * @return Bounding rectangle
- */
-extern Eina_Rectangle *livebox_utils_get_widget_rectangle(Evas_Object *obj);
-
-/**
- * @brief Returns the bounding rectangle of the @p obj object in grid virtual
- * coordinates
- * @details Bounding rectangle contains (x position, y position, width, height)
- * of the @p obj.
- * @p Obj has to be packed into a grid.
- * @param obj to get the bounding rectangle from
- * @return Bounding rectangle
- */
-extern Eina_Rectangle *livebox_utils_get_grid_widget_rectangle(
-       Evas_Object *obj);
-
-/**
- * @brief get the current cursor position
- * @param mx position x
- * @param my position y
- */
-extern void livebox_utils_get_cursor_pos(int *mx, int *my);
-
-
-#endif /* UTILS_H_ */
diff --git a/inc/livebox/livebox_widget.h b/inc/livebox/livebox_widget.h
deleted file mode 100644 (file)
index 2c346a6..0000000
+++ /dev/null
@@ -1,97 +0,0 @@
-/*
- * Copyright 2012  Samsung Electronics Co., Ltd
- *
- * Licensed under the Flora License, Version 1.1 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://floralicense.org/license/
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#ifndef LIVEBOX_WIDGET_H_
-#define LIVEBOX_WIDGET_H_
-
-#include <Elementary.h>
-#include <widget_service.h>
-
-typedef struct {
-       char *pkg_id;
-       char *widget_id;
-       int is_prime;
-       int width;
-       int height;
-} widget_info_t;
-
-/**
- * @brief Initializes the widget module.
- */
-extern void livebox_widget_init(void);
-
-/**
- * @brief Frees all data initialized for widget module.
- */
-extern void livebox_widget_fini(void);
-
-/**
- * @brief Gets the widgets list from the widget service
- * @return Eina_List pointer
- */
-extern Eina_List *livebox_widget_get_list(void);
-
-/**
- * @brief Cretes new widget and add it to the parent.
- *
- * @param pkg_name char pointer to package name of the widget
- * @param parent pointer to parent Evas_Object
- * @param content info
- *
- * @return pointer to created widget's Evas_Object
- */
-extern Evas_Object *livebox_widget_add(const char *pkg_name, Evas_Object *parent, char *content_info);
-
-/**
- * @brief Removes the widget and its data.
- *
- * @param Widget's Evas_Object pointer.
- */
-extern void livebox_widget_del(Evas_Object *widget);
-
-/**
- * @brief Gets the widget size.
- *
- * @param size type
- * @param x - x size in pixels.
- * @param y - y size in pixels.
- */
-extern void livebox_widget_get_dimensions(int size, int *x, int *y);
-
-/**
- * @brief Gets the available sizes of the widget
- * @param widget Evas_Object pointer to the widget object.
- * @param cnt number of available widget sizes
- * @param size_list sizes list.
- */
-extern void livebox_widget_get_size_available(Evas_Object *widget, int *cnt, int **size_list);
-
-
-/**
- * @brief Blocks the mouse_up event for given widget
- * @param widget widget to block events for
- */
-extern void livebox_widget_set_event_blocking(Evas_Object *widget);
-
-/**
- */
-extern void livebox_widget_viewer_paused(void);
-
-/**
- */
-extern void livebox_widget_viewer_resumed(void);
-
-#endif /* LIVEBOX_WIDGET_H_ */
diff --git a/inc/livebox_all_pages.h b/inc/livebox_all_pages.h
deleted file mode 100644 (file)
index c8fd5b6..0000000
+++ /dev/null
@@ -1,57 +0,0 @@
-/*
- * Copyright 2012  Samsung Electronics Co., Ltd
- *
- * Licensed under the Flora License, Version 1.1 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://floralicense.org/license/
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#ifndef LIVEBOX_ALL_PAGES_H_
-#define LIVEBOX_ALL_PAGES_H_
-
-#include <stdbool.h>
-#include <Elementary.h>
-
-/**
- * @brief Shows all pages panel
- * @return Pointer to all_pages layout
- */
-extern Evas_Object *livebox_all_pages_show(void);
-
-/**
- * @brief Hides all pages layout
- * @param page_index if this value is bigger than 0 it closes the all pages view and sets page index as current home page
- */
-extern void livebox_all_pages_hide(void);
-
-/**
- * @brief Check if page at index is an add_page
- * @param index page index
- * @return true if given index indicates add page
- */
-extern bool livebox_all_pages_is_add_icon_page(int index);
-
-/**
- * @brief Function used for moves page thumb during reposition.
- * @param x int value of x mouse position
- * @param y int value of y mouse position
- */
-extern void livebox_all_pages_move_item(int x, int y);
-
-/**
- * @brief Set item to proper position
- *
- */
-extern void livebox_all_pages_up_item(void);
-
-
-
-#endif /* LIVEBOX_ALL_PAGES_H_ */
diff --git a/inc/menu.h b/inc/menu.h
new file mode 100755 (executable)
index 0000000..2394da4
--- /dev/null
@@ -0,0 +1,39 @@
+/*
+ * Copyright 2012  Samsung Electronics Co., Ltd
+ *
+ * Licensed under the Flora License, Version 1.1 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://floralicense.org/license/
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef __MENU_H__
+#define __MENU_H__
+
+#include <app.h>
+#include <Elementary.h>
+
+typedef enum {
+    MENU_DEFAULT = -1,
+    MENU_CLUSTER_EDIT = 0,
+    MENU_CLUSTER_ADD_WIDGET,
+    MENU_CLUSTER_CHANGE_WALLPAPER,
+    MENU_CLUSTER_ALL_PAGES,
+    MENU_APPS_EDIT,
+    MENU_APPS_CREATE_FOLDER,
+    MENU_MAX
+} menu_item_t;
+
+void menu_show(Eina_Hash* hash_table);
+void menu_hide(void);
+bool menu_is_show(void);
+void menu_change_state_on_hw_menu_key(Eina_Hash* hash_table);
+
+#endif /* __MENU_H__ */
old mode 100644 (file)
new mode 100755 (executable)
index d792ce1..9146c3f
  * limitations under the License.
  */
 
-#ifndef MOUSE_H_
-#define MOUSE_H_
-
-#include <stdbool.h>
-
-#include "util.h"
-
-/**
- * @brief Registers all mouse related callbacks.
- */
-extern void mouse_register(void);
-
-/**
- * @brief Unregisters all mouse related callbacks.
- */
-extern void mouse_unregister(void);
-
-
-
-#endif /* MOUSE_H_ */
+#ifndef __MOUSE_H__
+#define __MOUSE_H__
+
+#define MOUSE_MOVE_MIN_DISTANCE 100
+
+typedef struct {
+    bool pressed;
+    bool long_pressed;
+    Evas_Coord down_x;
+    Evas_Coord down_y;
+    Evas_Coord move_x;
+    Evas_Coord move_y;
+    Evas_Coord up_x;
+    Evas_Coord up_y;
+    int offset_x;
+    int offset_y;
+    Ecore_Timer *long_press_timer;
+} mouse_info_t;
+
+#endif /* __MOUSE_H__ */
diff --git a/inc/page_indicator.h b/inc/page_indicator.h
new file mode 100755 (executable)
index 0000000..fcbdaa4
--- /dev/null
@@ -0,0 +1,45 @@
+/*
+ * Copyright 2012  Samsung Electronics Co., Ltd
+ *
+ * Licensed under the Flora License, Version 1.1 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://floralicense.org/license/
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef __PAGE_INDICATOR_H__
+#define __PAGE_INDICATOR_H__
+
+#include <app.h>
+#include <Elementary.h>
+
+#define PAGE_INDICATOR_MAX_PAGE_COUNT 7
+
+typedef struct {
+    Evas_Object *scroller;
+    Evas_Object *box;
+    Evas_Object *unit[PAGE_INDICATOR_MAX_PAGE_COUNT];
+
+    int page_count;
+    int x;
+    int y;
+    int w;
+    int h;
+    int current_page;
+} page_indicator_t;
+
+page_indicator_t * page_indictor_create(Evas_Object *scroller);
+void page_indicator_set_page_count(page_indicator_t *page_indicator, int count);
+void page_indicator_scroller_resize(page_indicator_t *page_indicator, int width, int height);
+void page_indicator_set_current_page(page_indicator_t *page_indicator, int page_number);
+void page_indicator_show(page_indicator_t *page_indicator);
+void page_indicator_hide(page_indicator_t *page_indicator);
+
+#endif /* __PAGE_INDICATOR_H__ */
diff --git a/inc/page_scroller.h b/inc/page_scroller.h
deleted file mode 100644 (file)
index 8a56298..0000000
+++ /dev/null
@@ -1,164 +0,0 @@
-/*
- * Copyright 2012  Samsung Electronics Co., Ltd
- *
- * Licensed under the Flora License, Version 1.1 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://floralicense.org/license/
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#ifndef PAGE_SCROLLER_H_
-#define PAGE_SCROLLER_H_
-
-
-#include <stdbool.h>
-#include <Evas.h>
-#include <Eina.h>
-
-/**
- * @brief Creates new elm_scroller widget and sets standart parameters used in
- * homescreen application.
- * @param page_width page width.
- * @param page_height page height.
- *
- * @return Pointer to created elm_scroller widget/
- */
-extern Evas_Object *page_scroller_create(int page_width, int page_height);
-
-/**
- * @brief Removes all data connected with the page scroller object.
- *
- * @param page_scroller Page scroller pointer.
- */
-extern void page_scroller_destroy(Evas_Object *page_scroller);
-
-/**
- * @brief Add new page to the page scroller
- *
- * @param page_scroller Page scroller Evas_Object pointer.
- * @param page Page Evas_Object pointer.
- *
- * @return true if no errors.
- */
-extern bool page_scroller_add_page(Evas_Object *page_scroller,
-       Evas_Object *page);
-
-/**
- * @brief Removes the page from the page scroller.
- * @param page_scroller Page scroller object pointer.
- * @param page Page which will be removed.
- */
-extern void page_scroller_remove_page(Evas_Object *page_scroller,
-       Evas_Object *page);
-
-/**
- * @brief Gets the page from the given page scroller.
- * @param page_scroller Pointer to elm_scroller widget.
- * @param n page number.
- *
- * @return Page Evas_Object pointer.
- */
-extern Evas_Object *page_scroller_get_page(Evas_Object *page_scroller, int n);
-
-/**
- * @brief Gets all pages inserted in the page scroller list.
- * @param page_scroller Pointer to page scroller Evas_Object
- * @return List of all pages.
- */
-extern Eina_List *page_scroller_get_all_pages(Evas_Object *page_scroller);
-
-/**
- * @brief Blocks page scroller movement.
- *
- * @param page_scroller Pointer to page scroller widget.
- * @return true if no errors.
- */
-extern bool page_scroller_freeze(Evas_Object *page_scroller);
-
-/**
- * @brief Unblocks page scroller movement.
- *
- * @param page_scroller Pointer to page scroller Evas_Object.
- * @return true if no errors.
- */
-extern bool page_scroller_unfreeze(Evas_Object *page_scroller);
-
-/**
- * @brief Returns elm_scroller pointer from page scroller layout.
- *
- * @param page_scroller Page scroller Evas_Object pointer.
- * @return elm_scroller pointer or NULL if errors occurred.
- */
-extern Evas_Object *page_scroller_get_scroller(Evas_Object *page_scroller);
-
-/**
- * @brief Unpack all pages from the page scroller widget.
- * @param page_scroller Page scroller Evas_Object.
- * @return List of all pages (Evas_Objects)
- */
-extern Eina_List *page_scroller_unpack_pages(Evas_Object *page_scroller);
-
-/**
- * @brief Pack all pages into the page scroller widget.
- *
- * @param page_scroller Pointer to page scroller widget.
- * @param page_list List of pages to pack.
- */
-extern void page_scroller_pack_pages(Evas_Object *page_scroller,
-       Eina_List *page_list);
-
-/**
- * @brief Gets page thumbnail (proxy object)
- *
- * @param page Pointer to page scroller page.
- * @param int width of miniature
- * @param int height of miniature
- * @return Page copy (miniature) or NULL if errors occurred.
- */
-extern Evas_Object *page_scroller_get_page_thumbnail(Evas_Object *page,
-       unsigned int w, unsigned int h);
-
-/**
- * @brief Gets the elm_box pointer from the Page_Scroller Evas_Object.
- *
- * @param page_scroller Pointer to Page Scroller Evas_Object
- * @return elm_box pointer placed in  the Page scroller widget.
- */
-extern Evas_Object *page_scroller_obtain_box(Evas_Object *page_scroller);
-
-/**
- * @brief Get total number of pages
- * @param page_scroller Elm_scroller pointer
- * @return pages count if ok, -1 if error
- */
-
-extern int page_scroller_get_page_count(Evas_Object *page_scroller);
-/**
- * @brief Get current page
- * @return current page number or -1 if something went wrong
- */
-extern int page_scroller_get_current_page(Evas_Object *page_scroller);
-
-/**
- * @brief Set current page of the scroller
- * @param page_scroller Pointer to elm_scroller
- * @param idx index of page
- * @return true if success
- */
-extern bool page_scroller_set_current_page(Evas_Object *page_scroller, int idx);
-
-/**
- * @brief Shows page without animation
- *
- * @param page_scroller elm_scroller_pointer
- * @param idx page index
- */
-void page_scroller_show_page(Evas_Object *page_scroller, int idx);
-#endif /* PAGE_SCROLLER_H_ */
old mode 100644 (file)
new mode 100755 (executable)
index bb0c83d..1b37328
  * limitations under the License.
  */
 
-#ifndef POPUP_H_
-#define POPUP_H_
-
-#include <Evas.h>
-
-#include "app_icon.h"
-
-typedef enum {
-       ORDER_MANUALLY = 0,
-       ORDER_ALPHABETICAL = 1
-} order_mode_t;
+#ifndef __POPUP_H__
+#define __POPUP_H__
 
 typedef enum {
-       POPUP_TWO_BUTTONS,
-       POPUP_INFO,
-} popup_type_t;
+    POPUP_DEFAULT = -1,
+    POPUP_CLUSTER_PAGE_FULL = 0,
+    POPUP_CLUSTER_DELETE_PAGE,
+    POPUP_MAX
+} popup_t;
 
-typedef struct {
-       popup_type_t type;
-       char *popup_title_text;
-       char *popup_content_text;
-       char *popup_confirm_text;
-       char *popup_cancel_text;
-       Elm_Popup_Orient orientation;
-       double visible_time;
-} popup_data_t;
-
-typedef void (*popup_confirm_cb)(void *data);
-typedef void (*popup_cancel_cb)(void *data);
-
-/**
- * @brief Allocates a structure for initialze popup widet
- * @return Pointer to popup data. It must be freed manually.
- */
-popup_data_t *popup_create_data(void);
-
-/**
- * @brief Frees p_data structure memory and its members
- * @return
- */
-void popup_data_free(popup_data_t *p_data);
-
-/**
- * @brief Function shows popup window on the screen
- * @param data popup_data_t struct which is used for initialize popup with
- * its content.
- *popup_confirm_cb - function called when confirm button will be clicked.
- * popup_cancel_cb - function called when cancel button will be clicked.
- * cb_data - data used in callback functions.
- */
-void popup_show(popup_data_t *data, popup_confirm_cb confirm_cb,
-                               popup_cancel_cb cancel_cb, void *cb_data);
-
-/**
- * @brief Hide popup and remove all data
- * @returns EINA_TRUE if popup is visible otherwise EINA_FALSE
- */
-Eina_Bool popup_destroy(void);
+void popup_show(popup_t type, int btn_count, Evas_Smart_Cb btn_func[3], void *func_data[3]);
+void popup_hide(void);
+bool popup_is_show(void);
 
-#endif /* POPUP_H_ */
+#endif /* __POPUP_H__ */
diff --git a/inc/tree.h b/inc/tree.h
deleted file mode 100644 (file)
index d39648b..0000000
+++ /dev/null
@@ -1,108 +0,0 @@
-/*
- * Copyright 2012  Samsung Electronics Co., Ltd
- *
- * Licensed under the Flora License, Version 1.1 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://floralicense.org/license/
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#ifndef _TREE_H_
-#define _TREE_H_
-
-#include <stdbool.h>
-#include "app_item.h"
-
-#define TREE_NODE_FOREACH(parent, node) \
-for (node = parent->first; node != NULL; node = node->next)
-
-/*
- * data                - data bind to node
- * parent      - parent node
- * next                - next sibling
- * prev                - previous sibling
- * first       - first child
- * last                - last child
- */
-typedef struct _tree_node {
-       app_item_t *data;
-       struct _tree_node *parent;
-
-       unsigned int count;
-       struct _tree_node *next;
-       struct _tree_node *prev;
-
-       struct _tree_node *first;
-       struct _tree_node *last;
-} Tree_node_t;
-
-
-/*
- * @brief signature of callback function for tree_in_depth_browse() function
- */
-typedef bool(*tree_browse_cb_t)(Tree_node_t*, Tree_node_t*, void*);
-
-
-/*
- * @brief Creates new tree node
- * @details All node fields are initialized with \0
- */
-bool tree_node_new(Tree_node_t **node);
-
-/*
- * @brief Detatch node
- */
-bool tree_node_detatch(Tree_node_t *node);
-
-/*
- * @brief Append child node to parent node
- */
-bool tree_node_append(Tree_node_t *parent, Tree_node_t *node);
-
-/*
- * @brief Append node to tree after relative node
- */
-bool tree_node_append_relative(Tree_node_t *node, Tree_node_t *relative);
-
-/*
- * @brief Prepend child node to parent node
- */
-bool tree_node_prepend(Tree_node_t *parent, Tree_node_t *node);
-
-/*
- * @brief Prepend node to tree before relative node
- */
-bool tree_node_prepend_relative(Tree_node_t *node, Tree_node_t *relative);
-
-/*
- * @brief Browse the tree in-depth
- */
-bool tree_in_depth_browse(Tree_node_t *node, tree_browse_cb_t func_cb,
-       void *data);
-
-/*
- * Updates a node with new values
- */
-void tree_node_update(Tree_node_t *node);
-
-/*
- * @brief frees memory of a single node in a safe manner. Returns count and
- * pointers to children of the node.
- * Updates nodes parent and siblings. Nodes children become
- * detached from the tree.
- * @param node[IN] - node to free
- * @param first_child - nodes first child
- * @param last_child - nodes last child
- * @param child_count - nodes children count
- */
-void tree_node_free(Tree_node_t *node, Tree_node_t **first_child,
-       Tree_node_t **last_child, int *child_count);
-
-#endif
old mode 100644 (file)
new mode 100755 (executable)
index 1b2f620..25828ec
  * limitations under the License.
  */
 
-#ifndef __HOME_SCREEN_UTIL_H__
-#define __HOME_SCREEN_UTIL_H__
+#ifndef __UTIL_H__
+#define __UTIL_H__
 
 #include <dlog.h>
-#include <Elementary.h>
-#include <stdbool.h>
+
+#ifndef __MODULE__
+#define __MODULE__ (strrchr(__FILE__, '/') ? strrchr(__FILE__, '/') + 1 : __FILE__)
+#endif
 
 #ifdef  LOG_TAG
 #undef  LOG_TAG
 #endif
 #define LOG_TAG "HOMESCREEN_EFL"
 
-#define BUF_SIZE 64
-
-/* Multi-language */
-#ifndef _
-#define _(str) gettext(str)
-#endif
-
-/* Build */
-#define HAPI __attribute__((visibility("hidden")))
-#define DAPI __attribute__((visibility("default")))
-
-#define COUNT_OF(x) \
-((sizeof(x)/sizeof(0[x])) / ((size_t)(!(sizeof(x) % sizeof(0[x])))))
-
-#define __FILENAME__ (strrchr(__FILE__, '/') ? strrchr(__FILE__, '/') + 1 : __FILE__)
-
-#if !defined(LOGD)
-#define LOGD(fmt, arg...) dlog_print(DLOG_DEBUG, LOG_TAG, "%s: %s[%d]\t " #fmt "\n", __FILENAME__, __func__, __LINE__, ##arg)
-#endif
-
-#if !defined(LOGW)
-#define LOGW(fmt, arg...) dlog_print(DLOG_WARN, LOG_TAG, "%s: %s[%d]\t " #fmt "\n", __FILENAME__, __func__, __LINE__, ##arg)
-#endif
-
-#if !defined(LOGE)
-#define LOGE(fmt, arg...) dlog_print(DLOG_ERROR, LOG_TAG, "%s: %s[%d]\t " #fmt "\n", __FILENAME__, __func__, __LINE__, ##arg)
-#endif
-
-#if !defined(LOGI)
-#define LOGI(fmt, arg...) dlog_print(DLOG_ERROR, LOG_TAG, "%s: %s[%d]\t " #fmt "\n", __FILENAME__, __func__, __LINE__, ##arg)
-#endif
-
-/**
- * @brief Creates elm_layout widget and load edje file to it.
- *
- * @param win Homescreen efl window pointer.
- * @param edje_filename  name of the edje file
- * @param edje_group group name from the edje file
- * @return elm_layout Evas_Object pointer.
- */
-extern Evas_Object *util_create_edje_layout(
-       Evas_Object *win, const char* edje_filename, const char* edje_group);
-
-/*DBG callbacks set. Please use it if new objects are not visible .etc*/
-extern void tst_resize_cb(void *data, Evas *e, Evas_Object *obj, void *ei);
-extern void tst_show_cb(void *data, Evas *e, Evas_Object *obj, void *ei);
-extern void tst_hide_cb(void *data, Evas *e, Evas_Object *obj, void *ei);
-extern void tst_move_cb(void *data, Evas *e, Evas_Object *obj, void *ei);
-extern void tst_del_cb(void *data, Evas *e, Evas_Object *obj, void *ei);
+#define LOG_(prio, tag, fmt, arg...) \
+    ({ do { \
+        dlog_print(prio, tag, "%s: %s(%d) > " fmt, __MODULE__, __func__, __LINE__, ##arg);\
+    } while (0); })
 
+#define LOGD(format, arg...) LOG_(DLOG_DEBUG, LOG_TAG, format, ##arg)
+#define LOGI(format, arg...) LOG_(DLOG_INFO, LOG_TAG, format, ##arg)
+#define LOGW(format, arg...) LOG_(DLOG_WARN, LOG_TAG, format, ##arg)
+#define LOGE(format, arg...) LOG_(DLOG_ERROR, LOG_TAG, format, ##arg)
+#define LOGF(format, arg...) LOG_(DLOG_FATAL, LOG_TAG, format, ##arg)
 
-
-/**
- * @brief Function returns Eina list of evas objects visible in gengrid
- *
- * @param gengrid Evas_Object pointer to elm_gengrid
- * @return Eina_List pointer which Evas_Objects
- */
-extern Eina_List *elm_gengrid_get_evas_objects_from_items(Evas_Object *gengrid);
-
-/**
- * @brief Function returns pointer to elm_object_item placed in gengrid
- * at specified position
- * @param gengrid Pointer to elm_gengrid_widget;
- * @param idx
- * @return Pointer to elm_object_item
- */
-Elm_Object_Item *elm_gengrid_get_item_at_index(Evas_Object *gengrid, int idx);
-
-/*
- * @brief Application sub-directories type.
- */
 enum app_subdir {
        APP_DIR_DATA,
        APP_DIR_CACHE,
@@ -110,19 +51,8 @@ enum app_subdir {
        APP_DIR_EXTERNAL_SHARED_DATA,
 };
 
-/**
- * @brief Returns absolute path to resource file located in applications directory.
- *
- * @param subdir type of subdirectory
- * @param relative path of resource from starting from "data" dir.
- *        eg. for DATA_DIR subdir and relative "database.db" => "/home/owner/apps/org.tizen.homescreen-efl/data/database.db"
- * @return absolute path string.
- */
 const char *util_get_file_path(enum app_subdir dir, const char *relative);
 
-/**
- * @brief Convinience macros
- */
 #define util_get_data_file_path(x) util_get_file_path(APP_DIR_DATA, (x))
 #define util_get_cache_file_path(x) util_get_file_path(APP_DIR_CACHE, (x))
 #define util_get_res_file_path(x) util_get_file_path(APP_DIR_RESOURCE, (x))
@@ -133,4 +63,4 @@ const char *util_get_file_path(enum app_subdir dir, const char *relative);
 #define util_get_external_cache_file_path(x) util_get_file_path(APP_DIR_EXTERNAL_CACHE, (x))
 #define util_get_external_shared_data_file_path(x) util_get_file_path(APP_DIR_EXTERNAL_SHARED_DATA, (x))
 
-#endif /* __HOME_SCREEN_UTIL_H__ */
+#endif /* __UTIL_H__ */
diff --git a/inc/view.h b/inc/view.h
new file mode 100755 (executable)
index 0000000..b73b612
--- /dev/null
@@ -0,0 +1,29 @@
+/*
+ * Copyright 2012  Samsung Electronics Co., Ltd
+ *
+ * Licensed under the Flora License, Version 1.1 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://floralicense.org/license/
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef __VIEW_H__
+#define __VIEW_H__
+
+typedef enum {
+    VIEW_STATE_NORMAL = 0,
+    VIEW_STATE_EDIT,
+    VIEW_STATE_CHOOSER,
+    VIEW_STATE_ADD_VIEWER,
+    VIEW_STATE_ALL_PAGE,
+    VIEW_STATE_UNKNOWN,
+} view_state_t;
+
+#endif /* __VIEW_H__ */
old mode 100644 (file)
new mode 100755 (executable)
similarity index 53%
rename from inc/option_menu.h
rename to inc/widget_viewer.h
index 2755ea9..7ae4a06
  * limitations under the License.
  */
 
-#ifndef OPTION_MENU_H_
-#define OPTION_MENU_H_
+#ifndef __WIDGET_VIEWER_H__
+#define __WIDGET_VIEWER_H__
 
+#include <Elementary.h>
+#include <widget_service.h>
+#include <widget_viewer_evas.h>
 
-#include <stdbool.h>
+#include "cluster_data.h"
 
-/**
- * @brief Shows option menu with proper entries.
- * @return true on success.
- */
-extern bool option_menu_show(void);
-
-/**
- * @brief Hides option menu popup.
- */
-extern void option_menu_hide(void);
-
-/**
- * @brief Handle hardware button actions.
- */
-extern void option_menu_change_state_on_hw_menu_key(void);
-
-/**
- * @brief Updates caption menu at the top of the screen.
- */
-extern void option_menu_update_on_item_selected(void);
+void widget_viewer_init(Evas_Object *win);
+void widget_viewer_fini(void);
 
+Evas_Object *widget_viewer_add_widget(Evas_Object *parent, widget_data_t *item, int *widget_width, int *widget_height);
 
-#endif /* OPTION_MENU_H_ */
+#endif /* __WIDGET_VIEWER_H__ */
diff --git a/org.tizen.homescreen-efl.manifest b/org.tizen.homescreen-efl.manifest
deleted file mode 100644 (file)
index 75b0fa5..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-<manifest>
-    <request>
-        <domain name="_"/>
-    </request>
-</manifest>
diff --git a/packaging/org.tizen.homescreen-efl.spec b/packaging/org.tizen.homescreen-efl.spec
deleted file mode 100644 (file)
index 928e9b9..0000000
+++ /dev/null
@@ -1,91 +0,0 @@
-Name:    org.tizen.homescreen-efl
-Summary: Homescreen-Efl
-Version: 0.0.1
-Release: 0.1
-Group:   Applications/Core Applications
-License: Flora-1.1
-Source0: %{name}-%{version}.tar.gz
-
-%if "%{?tizen_profile_name}" == "wearable"
-ExcludeArch: %{arm} %ix86 x86_64
-%endif
-
-%if "%{?tizen_profile_name}" == "tv"
-ExcludeArch: %{arm} %ix86 x86_64
-%endif
-
-BuildRequires:  cmake
-BuildRequires:  edje-tools
-BuildRequires:  gettext-tools
-BuildRequires:  coreutils
-BuildRequires:  hash-signer
-BuildRequires:  pkgconfig(appsvc)
-BuildRequires:  pkgconfig(badge)
-BuildRequires:  pkgconfig(capi-appfw-application)
-BuildRequires:  pkgconfig(capi-system-info)
-BuildRequires:  pkgconfig(capi-appfw-package-manager)
-BuildRequires:  pkgconfig(capi-appfw-app-manager)
-BuildRequires:  pkgconfig(dlog)
-BuildRequires:  pkgconfig(elementary)
-BuildRequires:  pkgconfig(shortcut)
-BuildRequires:  pkgconfig(syspopup-caller)
-BuildRequires:  pkgconfig(widget_viewer)
-BuildRequires:  pkgconfig(widget_service)
-BuildRequires:  pkgconfig(sqlite3)
-BuildRequires:  pkgconfig(db-util)
-BuildRequires:  pkgconfig(notification)
-BuildRequires:  pkgconfig(capi-system-system-settings)
-BuildRequires:  pkgconfig(widget_service)
-BuildRequires:  pkgconfig(widget_viewer_evas)
-BuildRequires:  pkgconfig(shortcut)
-BuildRequires:  pkgconfig(capi-appfw-preference)
-BuildRequires:  pkgconfig(libtzplatform-config)
-
-%description
-Tizen Homescreen Reference Implementation
-
-%prep
-%setup -q
-
-%build
-
-%define _pkg_dir %{TZ_SYS_RO_APP}/%{name}
-%define _pkg_shared_dir %{_pkg_dir}/shared
-%define _pkg_data_dir %{_pkg_dir}/data
-%define _sys_icons_dir %{_pkg_shared_dir}/res
-%define _sys_packages_dir %{TZ_SYS_RO_PACKAGES}
-%define _sys_license_dir %{TZ_SYS_SHARE}/license
-
-cd CMake
-cmake . -DINSTALL_PREFIX=%{_pkg_dir} \
-       -DSYS_ICONS_DIR=%{_sys_icons_dir} \
-       -DSYS_PACKAGES_DIR=%{_sys_packages_dir}
-make %{?jobs:-j%jobs}
-cd -
-
-%install
-cd CMake
-%make_install
-cd -
-
-%define tizen_sign 1
-%define tizen_sign_base %{_pkg_dir}
-%define tizen_sign_level public
-%define tizen_author_sign 1
-%define tizen_dist_sign 1
-mkdir -p %{buildroot}%{_sys_license_dir}
-cp LICENSE %{buildroot}%{_sys_license_dir}/homescreen-efl
-%find_lang homescreen-efl
-
-%files -f homescreen-efl.lang
-%manifest %{name}.manifest
-%defattr(-,root,root,-)
-%{_pkg_dir}/bin/homescreen-efl
-%{_pkg_dir}/res/edje/*.edj
-%{_pkg_dir}/res/images/*.png
-%{_pkg_dir}/res/images/livebox/*.png
-%{_sys_icons_dir}/homescreen-efl.png
-%{_sys_packages_dir}/%{name}.xml
-%{_sys_license_dir}/homescreen-efl
-%{_pkg_dir}/author-signature.xml
-%{_pkg_dir}/signature1.xml
old mode 100644 (file)
new mode 100755 (executable)
index f5074e9..ec85acc
@@ -9,7 +9,8 @@ type = app
 profile = mobile-3.0
 
 # C Sources
-USER_SRCS = src/tree.c src/db/db.c src/homescreen-efl.c src/popup.c src/livebox/livebox_widget.c src/dynamic_index.c src/app_mgr.c src/all_apps.c src/layout.c src/app_grid.c src/livebox_all_pages.c src/livebox/livebox_panel.c src/data_model.c src/option_menu.c src/key.c src/app_icon.c src/mouse.c src/folder_panel.c src/livebox/grid_reposition.c src/livebox/livebox_utils.c src/livebox/livebox_animator.c src/livebox/grid_item_resize.c src/app_item.c src/page_scroller.c src/util.c src/add_viewer/add_viewer.c src/add_viewer/list_view.c  src/add_viewer/view.c src/add_viewer/widget.c
+USER_SRCS = src/apps_data.c src/homescreen-efl.c src/popup.c src/cluster_page.c src/cluster_db.c src/cluster_view.c src/widget_viewer.c src/page_indicator.c src/cluster_data.c src/conf.c src/add_widget_viewer/add_widget_data.c src/apps_view.c src/menu.c src/hw_key.c src/add_widget_viewer/add_widget_viewer.c src/apps_db.c src/apps_package_manager.c src/util.c 
+USER_SRCS_ABS = 
 
 # EDC Sources
 USER_EDCS =  
@@ -49,7 +50,7 @@ USER_LIB_DIRS =
 USER_LIB_DIRS_ABS = 
 
 # EDC Resource Path
-USER_EDCS_IMAGE_DIRS = res/images 
+USER_EDCS_IMAGE_DIRS = edje/images 
 USER_EDCS_IMAGE_DIRS_ABS = 
 USER_EDCS_SOUND_DIRS = edje/sounds 
 USER_EDCS_SOUND_DIRS_ABS = 
@@ -59,8 +60,8 @@ USER_EDCS_FONT_DIRS_ABS =
 # EDC Flags
 USER_EXT_EDC_KEYS = EDC0 
 
-USER_EXT_EDC0_EDCS = res/edje/folder_entry.edc res/edje/livebox_layout.edc res/edje/page_edit_util.edc res/edje/icon.edc res/edje/livebox_container.edc res/edje/folder.edc res/edje/home.edc res/edje/page_edit.edc res/edje/app_grid.edc res/edje/index_element.edc res/edje/preview.edc res/edje/color_classes.edc
-USER_EXT_EDC0_EDCS_IMAGE_DIRS = res/images 
+USER_EXT_EDC0_EDCS = res/edje/widget.edc res/edje/apps_folder_icon.edc res/edje/apps_folder_popup.edc res/edje/apps_view.edc res/edje/page_indicator_unit.edc res/edje/apps_view_bg.edc res/edje/cluster_allpage_thumbnail.edc res/edje/home_btn.edc res/edje/home.edc res/edje/apps_chooser_btn.edc res/edje/add_widget_viewer.edc res/edje/app_icon.edc res/edje/cluster_page.edc res/edje/cluster_allpage.edc 
+USER_EXT_EDC0_EDCS_IMAGE_DIRS = edje/images 
 USER_EXT_EDC0_EDCS_IMAGE_DIRS_ABS = 
 USER_EXT_EDC0_EDCS_SOUND_DIRS = edje/sounds 
 USER_EXT_EDC0_EDCS_SOUND_DIRS_ABS = 
diff --git a/res/edje/add_widget_viewer.edc b/res/edje/add_widget_viewer.edc
new file mode 100755 (executable)
index 0000000..0ce6449
--- /dev/null
@@ -0,0 +1,302 @@
+/*
+ * Copyright 2012  Samsung Electronics Co., Ltd
+ *
+ * Licensed under the Flora License, Version 1.1 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://floralicense.org/license/
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include "../../inc/edc_conf.h"
+
+images {
+    image: "preview_bg_4x2.png" COMP;
+    image: "preview_bg_4x4.png" COMP;
+}
+
+styles {
+    style {
+        name: "leaf,font";
+        base: "font=Tizen text_class=T024 font_size=38 align=left color=#AAAAAA color_class=T024 ellipsis=1.0";
+        tag:  "br" "\n";
+        tag:  "hilight" "+ font=Tizen:style=Bold";
+        tag:  "b" "+ font=Tizen:style=Bold";
+        tag:  "tab" "\t";
+    }
+}
+
+collections {
+    group {
+        name: "elm/genlist/item/widget,leaf/default";
+
+        data.item: "contents" "size_setter elm.icon";
+        data.item: "texts" "elm.text";
+
+        parts {
+            part {
+                name: SIZE_SETTER;
+                type: SWALLOW;
+                mouse_events: 1;
+                description {
+                    state: "default" 0.0;
+                    rel1 { relative: 0.0 0.0; }
+                    rel2 { relative: 1.0 1.0; }
+                }
+            }
+            part {
+                name: "elm.text";
+                type: TEXTBLOCK;
+                mouse_events: 0;
+                description {
+                    state: "default" 0.0;
+                    rel1 { relative: 0.044 0.046; to: SIZE_SETTER; }
+                    rel2 { relative: 0.894 0.159; to: SIZE_SETTER; }
+                    align: 0.0 0.0;
+                    text { style: "leaf,font"; }
+                }
+            }
+            part {
+                name: "elm.icon";
+                type: SWALLOW;
+                mouse_events: 1;
+                description {
+                    state: "default" 0.0;
+                    rel1 { relative: 0.044 0.180; to: SIZE_SETTER; }
+                    rel2 { relative: 0.894 0.954; to: SIZE_SETTER; }
+                    align: 0.0 0.0;
+                }
+            }
+        }
+    }
+
+    group {
+        name: ADD_WIDGET_VIEWER_CONFORMANT_FRAME;
+        parts {
+            part {
+                name: "bg";
+                type: RECT;
+                scale: 1;
+                mouse_events: 0;
+                description {
+                    state: "default" 0.0;
+                    rel1 { relative: 0.0 0.0; }
+                    rel2 { relative: 1.0 1.0; }
+                    visible: 0;
+                }
+            }
+
+            part {
+                name: "content";
+                type: SWALLOW;
+                mouse_events: 1;
+                scale: 1;
+                description {
+                    state: "default" 0.0;
+                    rel1 { relative: 0.0 0.0; }
+                    rel2 { relative: 1.0 1.0; }
+                }
+            }
+        }
+    }
+
+    group {
+        name: ADD_WIDGET_VIEWER_CONTENT_FRAME;
+        parts {
+            part {
+                name: "content";
+                type: SWALLOW;
+                mouse_events: 1;
+                scale: 1;
+                description {
+                    state: "default" 0.0;
+                    rel1 { relative: 0.0 0.0; }
+                    rel2 { relative: 1.0 1.0; }
+                    align: 0.0 0.0;
+                    visible: 0;
+                }
+                description {
+                    state: "show,normal" 0.0;
+                    inherit: "default" 0.0;
+                    visible: 1;
+                }
+            }
+
+            part {
+                name: "index";
+                type: SWALLOW;
+                mouse_events: 1;
+                scale: 1;
+                description {
+                    state: "default" 0.0;
+                    rel1 { relative: 0.00 0.0;}
+                    rel2 { relative: 1.00 1.00; }
+                    visible: 0;
+                }
+                description {
+                    state: "show,normal" 0.0;
+                    inherit: "default" 0.0;
+                    visible: 1;
+                }
+            }
+
+            part {
+                name: "loading";
+                type: RECT;
+                mouse_events: 0;
+                description {
+                    state: "default" 0.0;
+                    rel1 { relative: 0.25 0.40; }
+                    rel2 { relative: 0.75 0.60; }
+                    color: 100 100 200 200;
+                    visible: 0;
+                }
+
+                description {
+                    state: "show" 0.0;
+                    inherit: "default" 0.0;
+                    visible: 0;
+                }
+            }
+
+            part {
+                name: "loading,txt";
+                type: TEXT;
+                mouse_events: 0;
+                scale: 1;
+                description {
+                    state: "default" 0.0;
+                    rel1 { relative: 0.0 0.0; to, "loading"; }
+                    rel2 { relative: 1.0 1.0; to, "loading"; }
+                    text {
+                        font: "Tizen:style=Bold";
+                        text_class: "tizen";
+                        align: 0.5 0.5;
+                        size: 26;
+                        text: "Loading";
+                    }
+                    visible: 0;
+                }
+                description {
+                    state: "show" 0.0;
+                    inherit: "default" 0.0;
+                    visible: 0;
+                }
+            }
+        }
+        programs {
+            program {
+                name: "loading,on";
+                source: ADD_WIDGET_VIEWER_CONTENT_FRAME;
+                signal: "loading,on";
+                action: STATE_SET "show" 0.0;
+                target: "loading";
+                target: "loading,txt";
+            }
+            program {
+                name: "loading,off";
+                source: ADD_WIDGET_VIEWER_CONTENT_FRAME;
+                signal: "loading,off";
+                action: STATE_SET "default" 0.0;
+                target: "loading";
+                target: "loading,txt";
+            }
+            program {
+                name: "show,normal";
+                signal: "display,normal";
+                source: "container";
+                action: STATE_SET "show,normal" 0.0;
+                target: "content";
+            }
+            program {
+                name: "show,normal,index";
+                signal: "display,index";
+                source: "container";
+                action: STATE_SET "show,normal" 0.0;
+                target: "index";
+            }
+        }
+    }
+
+    group {
+        name: ADD_WIDGET_VIEWER_PREVIEW;
+        parts {
+            part {
+                name: SIZE_SETTER;
+                type: SWALLOW;
+                mouse_events: 1;
+                description {
+                    state: "default" 0.0;
+                    rel1 { relative: 0.0 0.0; }
+                    rel2 { relative: 1.0 1.0; }
+                }
+            }
+            part {
+                name: "bg";
+                type: RECT;
+                mouse_events: 0;
+                description {
+                    state: "default" 0.0;
+                    rel1 { relative: 0.0 0.0; to: SIZE_SETTER; }
+                    rel2 { relative: 1.0 1.0; to: SIZE_SETTER; }
+                    color: 61 185 204 178;
+                }
+                description {
+                    state: "pressed" 0.0;
+                    inherit: "default" 0.0;
+                    color: 255 0 121 212;
+                }
+            }
+            part {
+                name: ADD_WIDGET_VIEWER_PREVIEW_ICON;
+                type: SWALLOW;
+                mouse_events: 1;
+                description {
+                    state: "default" 0.0;
+                    rel1 { relative: 0.0 0.0; to: SIZE_SETTER; }
+                    rel2 { relative: 1.0 1.0; to: SIZE_SETTER; }
+                }
+            }
+            part {
+                name: "icon,touch";
+                type: RECT;
+                mouse_events: 1;
+                description {
+                    state: "default" 0.0;
+                    rel1 { relative: 0.0 0.0; to: ADD_WIDGET_VIEWER_PREVIEW_ICON; }
+                    rel2 { relative: 1.0 1.0; to: ADD_WIDGET_VIEWER_PREVIEW_ICON; }
+                    color: 0 0 0 0;
+                }
+            }
+        }
+        programs {
+            program {
+                name: "icon,clicked";
+                signal: "mouse,clicked,1";
+                source: "icon,touch";
+                action: SIGNAL_EMIT SIGNAL_PREVIEW_CLICKED SIGNAL_SOURCE;
+            }
+            program {
+                name: "icon,down";
+                source: "icon,touch";
+                signal: "mouse,down,1";
+                action: STATE_SET "pressed" 0.0;
+                target: "bg";
+            }
+            program {
+                name: "icon,up";
+                source: "icon,touch";
+                signal: "mouse,up,1";
+                action: STATE_SET "default" 0.0;
+                target: "bg";
+            }
+        }
+    }
+}
+
diff --git a/res/edje/app_grid.edc b/res/edje/app_grid.edc
deleted file mode 100644 (file)
index b349f2c..0000000
+++ /dev/null
@@ -1,148 +0,0 @@
-/*
- * Copyright 2012  Samsung Electronics Co., Ltd
- *
- * Licensed under the Flora License, Version 1.1 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://floralicense.org/license/
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#include "../../inc/conf.h"
-
-collections {
-       group {
-               name: GROUP_APP_GRID;
-               parts {
-                       //We want to have animations and don't take care about gengrid size from code.
-                       //Because of that we must to add a part into the layout which set the size of the elm_layout
-                       //widget properly.
-                       part {
-                               name: PART_APP_GRID_SIZE_SETTER;
-                               type: SWALLOW;
-                               description {
-                                       state: "default" 0.0;
-                                       rel1 {relative: 0.0 0.0;}
-                                       rel2 {relative: 1.0 1.0;}
-                               }
-                       }
-                       part {
-                               name: PART_APP_GRID_BG;
-                               type: RECT;
-                               description {
-                                       state: "default" 0.0;
-                                       rel1 {relative: 0.0 0.0; to: PART_APP_GRID_SIZE_SETTER;}
-                                       rel2 {relative: 1.0 1.0; to: PART_APP_GRID_SIZE_SETTER;}
-                                       color: 0 0 0 45;
-                                       visible: 1;
-                               }
-                               description {
-                                       state: "hidden" 0.0; //Used in the folder
-                                       inherit: "default" 0.0;
-                                       visible: 0;
-                               }
-                       }
-                       part {
-                               name: PART_APP_GRID_EDIT_BG;
-                               type: RECT;
-                               description {
-                                       state: "default" 0.0;
-                                       rel1 {relative: 0.0 0.0; to: PART_APP_GRID_CONTENT;}
-                                       rel2 {relative: 1.0 1.0; to: PART_APP_GRID_CONTENT;}
-                                       color: 20 20 20 0;
-                                       visible: 1;
-                               }
-                               description {
-                                       state: "edit" 0.0;
-                                       inherit: "default" 0.0;
-                                       color: 20 20 20 40;
-                               }
-                               description {
-                                       state: "hidden" 0.0; //Used in the folder
-                                       inherit: "default" 0.0;
-                                       visible: 0;
-                               }
-                       }
-                       part {
-                               name: PART_APP_GRID_CONTENT;
-                               type: SWALLOW;
-                               description {
-                                       state: "default" 0.0;
-                                       align: 0.5 0.5;
-                                       rel1 {relative: 0.0 CONTENT_Y_MIN; to: PART_APP_GRID_SIZE_SETTER;}
-                                       rel2 {relative: 1.0 CONTENT_APP_Y_MAX; to: PART_APP_GRID_SIZE_SETTER;}
-                               }
-                               description {
-                                       state: "edit" 0.0;
-                                       inherit: "default" 0.0;
-                                       rel1.relative: 0.05 CONTENT_Y_MIN;
-                                       rel2.relative: 0.95 0.9;
-                               }
-                       }
-               }
-               programs {
-                       program {
-                               name: "bg_edit_mode_on";
-                               signal: SIGNAL_EDIT_MODE_ON;
-                               source: SIGNAL_SOURCE;
-                               action: STATE_SET "edit" 0.0;
-                               target: PART_APP_GRID_CONTENT;
-                               target: PART_APP_GRID_EDIT_BG;
-                               transition: DECELERATE ANIMATION_RESIZE_TIME;
-                       }
-                       program {
-                               name: "bg_edit_mode_off";
-                               signal: SIGNAL_EDIT_MODE_OFF;
-                               source: SIGNAL_SOURCE;
-                               action: STATE_SET "default" 0.0;
-                               target: PART_APP_GRID_CONTENT;
-                               target: PART_APP_GRID_EDIT_BG;
-                               transition: DECELERATE ANIMATION_RESIZE_TIME;
-                       }
-                       program {
-                               name: "bg_choose_mode_off";
-                               signal: SIGNAL_CHOOSE_MODE_OFF;
-                               source: SIGNAL_SOURCE;
-                               action: STATE_SET "default" 0.0;
-                               target: PART_APP_GRID_CONTENT;
-                               transition: DECELERATE ANIMATION_RESIZE_TIME;
-                       }
-                       program {
-                               name: "bg_choose_mode_on";
-                               signal: SIGNAL_CHOOSE_MODE_ON;
-                               source: SIGNAL_SOURCE;
-                               action: STATE_SET "edit" 0.0;
-                               target: PART_APP_GRID_CONTENT;
-                               transition: DECELERATE ANIMATION_RESIZE_TIME;
-                       }
-                       program {
-                               name: "bg_hidden";
-                               signal: SIGNAL_APP_GRID_BG_HIDE;
-                               source: SIGNAL_SOURCE;
-                               action: STATE_SET "hidden" 0.0;
-                               target: PART_APP_GRID_BG;
-                               target: PART_APP_GRID_EDIT_BG;
-                       }
-               }
-       }
-       group {
-               name: GROUP_APP_GRID_ITEM_CONTAINER;
-               parts {
-                       part {
-                               name: PART_APP_GRID_ITEM;
-                               type: SWALLOW;
-                               description {
-                                       state: "default" 0.0;
-                                       rel1.relative: 0.0 0.0;
-                                       rel2.relative: 1.0 1.0;
-                               }
-                       }
-               }
-       }
-}
\ No newline at end of file
diff --git a/res/edje/app_icon.edc b/res/edje/app_icon.edc
new file mode 100755 (executable)
index 0000000..dec6804
--- /dev/null
@@ -0,0 +1,543 @@
+/*
+ * Copyright 2012  Samsung Electronics Co., Ltd
+ *
+ * Licensed under the Flora License, Version 1.1 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://floralicense.org/license/
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include "../../inc/edc_conf.h"
+
+images {
+    image: "../res/images/app_press_117.png" COMP;
+    image: "../res/images/btn_delete_nor.png" COMP;
+    image: "../res/images/btn_delete_press.png" COMP;
+    image: "../res/images/icon_badge_container.png" COMP;
+    image: "../res/images/core_check_bg.png" COMP;
+    image: "../res/images/core_check_bg_stroke.png" COMP;
+    image: "../res/images/core_check_icon.png" COMP;
+    image: "../res/images/folder_appicon_bg.png" COMP;
+}
+
+styles {
+    style{
+        name: "icon_label";
+        base: "font=Samsung Condensed:style=Regular align=center color=#FFFFFFFF font_size=12 wrap=mixed";
+    }
+    style{
+        name: "icon_label_edit";
+        base: "font=Samsung Condensed:style=Regular align=center color=#FFFFFFFF font_size=10 wrap=mixed";
+    }
+}
+collections {
+    group { name: GROUP_APP_ICON_LY;
+        parts {
+            part { name: SIZE_SETTER;
+                type: SWALLOW;
+                mouse_events: 1;
+                repeat_events: 1;
+                description {
+                    state: "default" 0.0;
+                    align: 0 0;
+                    rel1.relative: 0.0 0.0;
+                    rel2.relative: 0.0 0.0;
+                }
+            }
+            part { name: APPS_ICON_CONTENT;
+                type: SWALLOW;
+                description {
+                    state: "default" 0.0;
+                    rel1{relative: 0.16 0; to: SIZE_SETTER;}
+                    rel2{relative: 0.84 0.6; to: SIZE_SETTER;}
+                    align: 0.5 0.5;
+                }
+            } //APPS_ICON_CONTENT
+
+            part { name: APPS_ICON_CONTENT_TOUCH;
+                type: IMAGE;
+                mouse_events: 1;
+                repeat_events: 1;
+                scale: 1;
+                description {
+                    state: "default" 0.0;
+                    rel1{relative: 0.0 0.0; to: APPS_ICON_CONTENT;}
+                    rel2{relative: 1.0 1.0; to: APPS_ICON_CONTENT;}
+                    aspect: 1.0 1.0;
+                    aspect_preference: BOTH;
+                    color: 0 0 0 0;
+                    image {
+                        normal: "../res/images/app_press_117.png";
+                    }
+                }
+                description{
+                    state: "icon_touched" 0.0;
+                    inherit: "default" 0.0;
+                    color: 0 0 0 250;
+                }
+            } //APPS_ICON_CONTENT_TOUCH
+
+            part { name: "app_icon_disable";
+                type: IMAGE;
+                mouse_events: 1;
+                repeat_events: 0;
+                scale: 1;
+                description {
+                    state: "default" 0.0;
+                    rel1{relative: 0.0 0.0; to: APPS_ICON_CONTENT;}
+                    rel2{relative: 1.0 1.0; to: APPS_ICON_CONTENT;}
+                    aspect: 1.0 1.0;
+                    aspect_preference: BOTH;
+                    color: 0 0 0 0;
+                    image {
+                        normal: "../res/images/folder_appicon_bg.png";
+                    }
+                    visible: 0;
+                }
+                description{
+                    state: "disable" 0.0;
+                    inherit: "default" 0.0;
+                    color: 0 0 0 150;
+                    visible: 1;
+                }
+            } //APPS_ICON_CONTENT_TOUCH
+
+            part { name: APPS_ICON_NAME;
+                type: TEXTBLOCK;
+                mouse_events: 1;
+                repeat_events: 1;
+                scale: 1;
+                description {
+                    state: "default" 0.0;
+                    rel1{relative: 0.04 0.63; to: SIZE_SETTER;}
+                    rel2{relative: 0.95 0.98; to: SIZE_SETTER;}
+                    color: 255 255 255 255;
+                    text {
+                            style: "icon_label";
+                            align: 0.5 0.0;
+                    }
+                }
+                description {
+                    state: "edit" 0.0;
+                    inherit: "default" 0.0;
+                    rel1{relative: 0.04 0.61 ; to: SIZE_SETTER;}
+                    rel2{relative: 0.95 0.90; to: SIZE_SETTER;}
+                    text {
+                        style: "icon_label_edit";
+                    }
+                }
+                description {
+                    state: "black_text" 0.0;
+                    inherit: "default" 0.0;
+                    color: 0 0 0 255;
+                }
+                description {
+                    state: "black_edit" 0.0;
+                    inherit: "black_text" 0.0;
+                    text {
+                        style: "icon_label_edit";
+                    }
+                }
+                description {
+                    state: "disable" 0.0;
+                    inherit: "default" 0.0;
+                    color: 0 0 0 50;
+                }
+            }//APPS_ICON_NAME
+            part
+            {
+                name: "icon_badge";
+                type: IMAGE;
+                scale: 0;
+                description
+                {
+                    state: "default" 0.0;
+                    rel1{relative: 0.0 0.0; offset: -10 -1; to: APPS_ICON_BADGE_TEXT;}
+                    rel2{relative: 1.0 1.0; offset: 13 1; to: APPS_ICON_BADGE_TEXT;}
+                    visible: 0;
+                    image
+                    {
+                        normal: "../res/images/icon_badge_container.png";
+                    }
+                }
+                description
+                {
+                    state: "show" 0.0;
+                    inherit: "default" 0.0;
+                    visible: 1;
+                }
+            }
+            part
+            {
+                name: APPS_ICON_BADGE_TEXT;
+                type: TEXT;
+                scale: 1;
+                description
+                {
+                    state: "default" 0.0;
+                    visible: 0;
+                    fixed: 1 1;
+                    color: 255 255 255 255;
+                    rel1{relative: 0.95 -0.05; to: APPS_ICON_CONTENT;}
+                    rel2{relative: 0.95 -0.05; to: APPS_ICON_CONTENT;}
+                    align: 1.0 0.0;
+                    text
+                    {
+                        font: "arial";
+                        size: 12;
+                        text_class: "ATO002";
+                        min: 1 1;
+                        max: 1 1;
+                    }
+                }
+                description
+                {
+                    state: "show" 0.0;
+                    inherit: "default" 0.0;
+                    visible: 1;
+                }
+            }
+            part { //APPS_ICON_UNINSTALL_BUTTON
+                name: APPS_ICON_UNINSTALL_BUTTON;
+                type: IMAGE;
+                scale: 0;
+                description {
+                    state: "default" 0.0;
+                    rel1{relative: -0.1 -0.1; to: APPS_ICON_CONTENT;}
+                    rel2{relative: 0.4 0.4; to: APPS_ICON_CONTENT;}
+                    color: 255 255 255 0;
+                    visible: 0;
+                    aspect: 1.0 1.0;
+                    aspect_preference: BOTH;
+                    image {
+                        normal: "../res/images/btn_delete_nor.png";
+                    }
+                }
+                description {
+                    state: "show" 0.0;
+                    inherit: "default" 0.0;
+                    color: 255 255 255 255;
+                    visible: 1;
+                }
+                description {
+                    state: "press" 0.0;
+                    inherit: "default" 0.0;
+                    color: 255 255 255 255;
+                    image {
+                        normal: "../res/images/btn_delete_press.png";
+                    }
+                    visible: 1;
+                }
+            }//APPS_ICON_UNINSTALL_BUTTON
+
+            part { //"icon_checkbox_bg";
+                name: "icon_checkbox_bg";
+                type: IMAGE;
+                scale: 0;
+                description {
+                    state: "default" 0.0;
+                    rel1{relative: 0.6 -0.1; to: APPS_ICON_CONTENT;}
+                    rel2{relative: 1.1 0.4; to: APPS_ICON_CONTENT;}
+                    color: 61 184 204 120;
+                    visible: 0;
+                    aspect: 1.0 1.0;
+                    aspect_preference: BOTH;
+                    image {
+                        normal: "../res/images/core_check_bg.png";
+                    }
+                }
+                description {
+                    state: "blank" 0.0;
+                    inherit: "default" 0.0;
+                    visible: 1;
+                }
+                description {
+                    state: "checked" 0.0;
+                    inherit: "default" 0.0;
+                    color: 61 184 204 120;
+                    visible: 1;
+                }
+            }//"icon_checkbox_bg"
+            part { //"icon_checkbox_border";
+                name: "icon_checkbox_border";
+                type: IMAGE;
+                scale: 0;
+                description {
+                    state: "default" 0.0;
+                    rel1{relative: 0.0 0.0; to: "icon_checkbox_bg";}
+                    rel2{relative: 1.0 1.0; to: "icon_checkbox_bg";}
+                    color: 255 255 255 0;
+                    visible: 0;
+                    aspect: 1.0 1.0;
+                    aspect_preference: BOTH;
+                    image {
+                        normal: "../res/images/core_check_bg_stroke.png";
+                    }
+                }
+                description {
+                    state: "blank" 0.0;
+                    inherit: "default" 0.0;
+                    color: 61 184 204 255;
+                    visible: 1;
+                }
+                description {
+                    state: "checked" 0.0;
+                    inherit: "default" 0.0;
+                    color: 61 184 204 120;
+                    visible: 1;
+                }
+            }//"icon_checkbox_border"
+            part { //"icon_checkbox"
+                name: "icon_checkbox";
+                type: IMAGE;
+                scale: 0;
+                description {
+                    state: "default" 0.0;
+                    rel1{relative: 0.0 0.0; to: "icon_checkbox_bg";}
+                    rel2{relative: 1.0 1.0; to: "icon_checkbox_bg";}
+                    color: 255 255 255 120;
+                    visible: 0;
+                    aspect: 1.0 1.0;
+                    aspect_preference: BOTH;
+                    image {
+                        normal: "../res/images/core_check_icon.png";
+                    }
+                }
+                description {
+                    state: "blank" 0.0;
+                    inherit: "default" 0.0;
+                    visible: 0;
+                }
+                description {
+                    state: "checked" 0.0;
+                    inherit: "default" 0.0;
+                    color: 255 255 255 255;
+                    visible: 1;
+                }
+            }
+            part {
+                name: "icon_checkbox_touch";
+                type:RECT;
+                scale:0;
+                mouse_events: 1;
+                repeat_events: 0;
+                description {
+                    state: "default" 0.0;
+                    rel1{relative: 0.0 -0.1; to: APPS_ICON_CONTENT;}
+                    rel2{relative: 1.2 1.0; to: APPS_ICON_CONTENT;}
+                    color: 255 255 255 0;
+                    visible: 0;
+                }
+                description {
+                    state: "blank" 0.0;
+                    inherit: "default" 0.0;
+                    visible: 1;
+                }
+                description {
+                    state: "checked" 0.0;
+                    inherit: "default" 0.0;
+                    visible: 1;
+                }
+            }
+        }
+        programs {
+            program {
+                name: "icon_touch_program";
+                signal: "mouse,down,1";
+                source: APPS_ICON_CONTENT_TOUCH;
+                action: STATE_SET "icon_touched" 0.0;
+                target: APPS_ICON_CONTENT_TOUCH;
+                transition: LINEAR 0.1;
+            }
+            program {
+                name: "icon_touch_release_program";
+                signal: "mouse,up,1";
+                source: APPS_ICON_CONTENT_TOUCH;
+                action: STATE_SET "default" 0.0;
+                target: APPS_ICON_CONTENT_TOUCH;
+                transition: LINEAR 0.1;
+            }
+            program {
+                name: "icon_clicked_program";
+                signal :"mouse,clicked,1";
+                source: APPS_ICON_CONTENT_TOUCH;
+                action: SIGNAL_EMIT SIGNAL_ICON_CLICKED SIGNAL_SOURCE;
+            }
+            program {
+                name: "set_black_text";
+                signal: SIGNAL_SET_BLACK_TEXT;
+                source: SIGNAL_SOURCE;
+                action: STATE_SET "black_text" 0.0;
+                target: APPS_ICON_NAME;
+            }
+            program {
+                name: "bg_edit_mode_on_ani";
+                signal: SIGNAL_EDIT_MODE_ON_ANI;
+                source: SIGNAL_SOURCE;
+                action: STATE_SET "edit" 0.0;
+                target: APPS_ICON_NAME;
+                transition: DECELERATE ANIMATION_RESIZE_TIME;
+            }
+            program {
+                name: "bg_edit_mode_on";
+                signal: SIGNAL_EDIT_MODE_ON;
+                source: SIGNAL_SOURCE;
+                action: STATE_SET "edit" 0.0;
+                target: APPS_ICON_NAME;
+            }
+            program {
+                name: "bg_edit_mode_off_ani";
+                signal: SIGNAL_EDIT_MODE_OFF_ANI;
+                source: SIGNAL_SOURCE;
+                action: STATE_SET "default" 0.0;
+                target: APPS_ICON_NAME;
+                transition: DECELERATE ANIMATION_RESIZE_TIME;
+            }
+            program {
+                name: "bg_edit_mode_off";
+                signal: SIGNAL_EDIT_MODE_OFF;
+                source: SIGNAL_SOURCE;
+                action: STATE_SET "default" 0.0;
+                target: APPS_ICON_NAME;
+            }
+            program {
+                name: "uninstall_button_show_ani";
+                signal: SIGNAL_UNINSTALL_BUTTON_SHOW_ANI;
+                source: SIGNAL_SOURCE;
+                action: STATE_SET "show" 0.0;
+                target: APPS_ICON_UNINSTALL_BUTTON;
+                transition: DECELERATE ANIMATION_RESIZE_TIME;
+            }
+            program {
+                name: "uninstall_button_show";
+                signal: SIGNAL_UNINSTALL_BUTTON_SHOW;
+                source: SIGNAL_SOURCE;
+                action: STATE_SET "show" 0.0;
+                target: APPS_ICON_UNINSTALL_BUTTON;
+            }
+            program {
+                name: "uninstall_button_hide_ani";
+                signal: SIGNAL_UNINSTALL_BUTTON_HIDE_ANI;
+                source: SIGNAL_SOURCE;
+                action: STATE_SET "default" 0.0;
+                target: APPS_ICON_UNINSTALL_BUTTON;
+                transition: DECELERATE ANIMATION_RESIZE_TIME;
+            }
+            program {
+                name: "uninstall_button_hide";
+                signal: SIGNAL_UNINSTALL_BUTTON_HIDE;
+                source: SIGNAL_SOURCE;
+                action: STATE_SET "default" 0.0;
+                target: APPS_ICON_UNINSTALL_BUTTON;
+            }
+            program {
+                name: "uninstall_button_clicked";
+                signal: "mouse,clicked,1";
+                source: APPS_ICON_UNINSTALL_BUTTON;
+                action: SIGNAL_EMIT SIGNAL_UNINSTALL_BUTTON_CLICKED SIGNAL_SOURCE;
+            }
+            program {
+                name: "uninstall_button_mouse_down";
+                signal: "mouse,down,1";
+                source: APPS_ICON_UNINSTALL_BUTTON;
+                action: STATE_SET "press" 0.0;
+                target: APPS_ICON_UNINSTALL_BUTTON;
+                transition: DECELERATE ANIMATION_RESIZE_TIME;
+            }
+            program {
+                name: "uninstall_button_mouse_up";
+                signal: "mouse,up,1";
+                source: APPS_ICON_UNINSTALL_BUTTON;
+                action: STATE_SET "show" 0.0;
+                target: APPS_ICON_UNINSTALL_BUTTON;
+                transition: DECELERATE ANIMATION_RESIZE_TIME;
+            }
+
+            program{
+                name: "checkbox_show";
+                signal:SIGNAL_CHOOSER_MODE_ON;
+                source:SIGNAL_SOURCE;
+                action:STATE_SET "blank" 0.0;
+                target:"icon_checkbox_bg";
+                target:"icon_checkbox_border";
+                target:"icon_checkbox_touch";
+                transition: DECELERATE ANIMATION_RESIZE_TIME;
+            }
+            program{
+                name: "checkbox_hide";
+                signal:SIGNAL_CHOOSER_MODE_OFF;
+                source:SIGNAL_SOURCE;
+                action:STATE_SET "default" 0.0;
+                target:"icon_checkbox_bg";
+                target:"icon_checkbox_border";
+                target:"icon_checkbox";
+                target:"icon_checkbox_touch";
+                transition: DECELERATE ANIMATION_RESIZE_TIME;
+            }
+
+            //Set default value of check box.
+            program{
+                name: "checkbox_check";
+                signal:SIGNAL_CHECK_CHECK_BOX;
+                source:SIGNAL_SOURCE;
+                action:STATE_SET "checked" 0.0;
+                target:"icon_checkbox";
+            }
+            //Set default value of check box.
+            program{
+                name: "checkbox_uncheck";
+                signal:SIGNAL_UNCHECK_CHECK_BOX;
+                source:SIGNAL_SOURCE;
+                action:STATE_SET "blank" 0.0;
+                target:"icon_checkbox";
+            }
+            program {
+                name: "checkbox_clicked";
+                signal:"mouse,clicked,1";
+                source:"icon_checkbox_touch";
+                script {
+                    emit(SIGNAL_CHANGED_CHECK_BOX, SIGNAL_SOURCE); //signal for C listener
+                }
+            }
+            program {
+                name: "icon_badge_show";
+                signal: SIGNAL_BADGE_SHOW;
+                source: SIGNAL_SOURCE;
+                action: STATE_SET "show" 0.0;
+                target: "icon_badge";
+                target: APPS_ICON_BADGE_TEXT;
+            }
+            program {
+                name: "icon_badge_hide";
+                signal: SIGNAL_BADGE_HIDE;
+                source: SIGNAL_SOURCE;
+                action: STATE_SET "default" 0.0;
+                target: "icon_badge";
+                target: APPS_ICON_BADGE_TEXT;
+            }
+            program {
+                name: "icon_disable";
+                signal: SIGNAL_ICON_DISABLE;
+                source: SIGNAL_SOURCE;
+                action: STATE_SET "disable" 0.0;
+                target: "app_icon_disable";
+                target: APPS_ICON_NAME;
+            }
+            program {
+                name: "icon_enable";
+                signal: SIGNAL_ICON_ENABLE;
+                source: SIGNAL_SOURCE;
+                action: STATE_SET "default" 0.0;
+                target: APPS_ICON_NAME;
+                target: "app_icon_disable";
+            }
+        }
+    }
+}
\ No newline at end of file
diff --git a/res/edje/apps_chooser_btn.edc b/res/edje/apps_chooser_btn.edc
new file mode 100755 (executable)
index 0000000..ae1eb95
--- /dev/null
@@ -0,0 +1,183 @@
+/*
+ * Copyright 2012  Samsung Electronics Co., Ltd
+ *
+ * Licensed under the Flora License, Version 1.1 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://floralicense.org/license/
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include "../../inc/edc_conf.h"
+
+collections {
+    images {
+    }
+    group { name: GROUP_APPS_CHOOSER_BTN_LY;
+        parts {
+            part {
+                name: "chooser_spacer";
+                type: SPACER;
+                scale: 0;
+                mouse_events: 0;
+                description {
+                    state: "default" 0.0;
+                    rel1.relative: 0.0 0.0;
+                    rel2.relative: 1.0 0.0625;
+                }
+            }
+            part {
+                name: APPS_CHOOSER_LEFT_LABEL;
+                type: TEXT;
+                scale: 1;
+                description
+                {
+                    color: 255 255 255 255;
+                    state: "default" 0.0;
+                    visible: 0;
+                    text
+                    {
+                        align: 0.25 0.90;
+                        size: 11;
+                        text: "CANCEL";
+                    }
+                    rel1 { relative: 0.0 0.0;to: "chooser_spacer"; }
+                    rel2 { relative: 0.33 1.0;to: "chooser_spacer"; }
+                }
+                description {
+                    state: "show" 0.0;
+                    inherit: "default" 0.0;
+                    visible: 1;
+                }
+             }
+             part {
+                name: "chooser_left_clickable_space";
+                type: RECT;
+                mouse_events: 1;
+                scale: 0;
+                description
+                {
+                    state: "default" 0.0;
+                    color: 0 0 0 0;
+                    visible: 0;
+                    rel1 { relative: 0.0 0.0; to: APPS_CHOOSER_LEFT_LABEL; }
+                    rel2 { relative: 1.0 1.0; to: APPS_CHOOSER_LEFT_LABEL; }
+                }
+                description {
+                    state: "show" 0.0;
+                    inherit: "default" 0.0;
+                    visible: 1;
+                }
+            }
+            part {
+                name: APPS_CHOOSER_MIDDLE_LABEL;
+                type: TEXT;
+                scale: 1;
+                description
+                {
+                    state: "default" 0.0;
+                    visible: 0;
+                    color: 255 255 255 255;
+                    text
+                    {
+                        align: 0.5 0.90;
+                        text: "0 Selected";
+                        size: 16;
+                    }
+                    rel1 { relative: 0.30 0.0;to: "chooser_spacer"; }
+                    rel2 { relative: 0.70 1.0;to: "chooser_spacer"; }
+                }
+                description {
+                    state: "show" 0.0;
+                    inherit: "default" 0.0;
+                    visible: 1;
+                }
+            }
+            part {
+                name: APPS_CHOOSER_RIGHT_LABEL;
+                type: TEXT;
+                scale: 1;
+                description
+                {
+                    state: "default" 0.0;
+                    visible: 0;
+                    color: 255 255 255 255;
+                    text
+                    {
+                        align: (1.0 - 0.25) 0.90;
+                        size: 11;
+                        text: "DONE";
+                    }
+                    rel1 { relative: 0.66 0.0;to: "chooser_spacer"; }
+                    rel2 { relative: 1.0 1.0;to: "chooser_spacer"; }
+                }
+                description {
+                    state: "show" 0.0;
+                    inherit: "default" 0.0;
+                    visible: 1;
+                }
+            }
+            part {
+                name: "chooser_right_clickable_space";
+                type: RECT;
+                mouse_events: 1;
+                scale: 0;
+                description
+                {
+                    state: "default" 0.0;
+                    visible: 0;
+                    color: 0 0 0 0;
+                    rel1 { relative: 0.0 0.0;to: APPS_CHOOSER_RIGHT_LABEL; }
+                    rel2 { relative: 1.0 1.0;to: APPS_CHOOSER_RIGHT_LABEL; }
+                }
+                description {
+                    state: "show" 0.0;
+                    inherit: "default" 0.0;
+                    visible: 1;
+                }
+            }
+        }
+        programs {
+            program {
+                name: "chooser_btn_show";
+                signal: SIGNAL_CHOOSER_BUTTON_SHOW;
+                source: SIGNAL_SOURCE;
+                action: STATE_SET "show" 0.0;
+                target: APPS_CHOOSER_LEFT_LABEL;
+                target: "chooser_left_clickable_space";
+                target: APPS_CHOOSER_MIDDLE_LABEL;
+                target: APPS_CHOOSER_RIGHT_LABEL;
+                target: "chooser_right_clickable_space";
+            }
+            program {
+                name: "chooser_btn_hide";
+                signal: SIGNAL_CHOOSER_BUTTON_HIDE;
+                source: SIGNAL_SOURCE;
+                action: STATE_SET "default" 0.0;
+                target: APPS_CHOOSER_LEFT_LABEL;
+                target: "chooser_left_clickable_space";
+                target: APPS_CHOOSER_MIDDLE_LABEL;
+                target: APPS_CHOOSER_RIGHT_LABEL;
+                target: "chooser_right_clickable_space";
+            }
+            program {
+                name: "chooser_left_click";
+                signal: "mouse,down,1";
+                source: "chooser_left_clickable_space";
+                action: SIGNAL_EMIT SIGNAL_CHOOSER_LEFT_BTN_CLICKED SIGNAL_SOURCE;
+            }
+            program {
+                name: "chooser_right_click";
+                signal: "mouse,clicked,1";
+                source: "chooser_right_clickable_space";
+                action: SIGNAL_EMIT SIGNAL_CHOOSER_RIGHT_BTN_CLICKED SIGNAL_SOURCE;
+            }
+       }
+    }
+}
\ No newline at end of file
diff --git a/res/edje/apps_folder_icon.edc b/res/edje/apps_folder_icon.edc
new file mode 100755 (executable)
index 0000000..71dbf4d
--- /dev/null
@@ -0,0 +1,336 @@
+/*
+ * Copyright 2012  Samsung Electronics Co., Ltd
+ *
+ * Licensed under the Flora License, Version 1.1 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://floralicense.org/license/
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include "../../inc/edc_conf.h"
+
+images {
+    image: "../res/images/folder_appicon_bg.png" COMP;
+    image: "../res/images/folder_appicon_bg_possible.png" COMP;
+    image: "../res/images/folder_appicon_bg_impossible.png" COMP;
+    image: "../res/images/folder_appicon_empty_bg.png" COMP;
+}
+collections {
+    group { name: GROUP_FOLDER_ICON_LY;
+    parts {
+        part {
+            name: SIZE_SETTER;
+            type: SWALLOW;
+            mouse_events: 1;
+            repeat_events: 1;
+            description {
+                state: "default" 0.0;
+                rel1{relative: 0.0 0.0; }
+                rel2{relative: 1.0 1.0; }
+                align: 0.5 0.5;
+            }
+        }
+        part {
+            name: "folder_icon_bg_image";
+            type: IMAGE;
+            mouse_events: 1;
+            scale: 1;
+            description {
+                state: "default" 0.0;
+                rel1{relative: 0.0 0.0; to: SIZE_SETTER;}
+                rel2{relative: 1.0 1.0; to: SIZE_SETTER;}
+                aspect: 1.0 1.0;
+                aspect_preference: BOTH;
+                image {
+                    normal: "../res/images/folder_appicon_empty_bg.png";
+                }
+            }
+            description {
+                state: "item_count_1" 0.0;
+                inherit: "default" 0.0;
+                image {
+                    normal: "../res/images/folder_appicon_bg.png";
+                }
+            }
+            description {
+                state: "item_count_2" 0.0;
+                inherit: "default" 0.0;
+                image {
+                    normal: "../res/images/folder_appicon_bg.png";
+                }
+            }
+            description {
+                state: "item_count_3" 0.0;
+                inherit: "default" 0.0;
+                image {
+                    normal: "../res/images/folder_appicon_bg.png";
+                }
+            }
+            description {
+                state: "item_count_4" 0.0;
+                inherit: "default" 0.0;
+                image {
+                    normal: "../res/images/folder_appicon_bg.png";
+                }
+            }
+        }
+        part {
+            name: "folder_icon_image_possible";
+            type: IMAGE;
+            mouse_events: 1;
+            scale: 1;
+            description {
+                state: "default" 0.0;
+                rel1{relative: 0.0 0.0; to: SIZE_SETTER;}
+                rel2{relative: 1.0 1.0; to: SIZE_SETTER;}
+                aspect: 1.0 1.0;
+                aspect_preference: BOTH;
+                image {
+                    normal: "../res/images/folder_appicon_bg_possible.png";
+                }
+                visible: 0;
+            }
+            description {
+                state: "frame_possible" 0.0;
+                inherit: "default" 0.0;
+                image {
+                    normal: "../res/images/folder_appicon_bg_possible.png";
+                }
+                visible: 1;
+            }
+            description {
+                state: "frame_impossible" 0.0;
+                inherit: "default" 0.0;
+                image {
+                    normal: "../res/images/folder_appicon_bg_impossible.png";
+                }
+                visible: 1;
+            }
+        }
+        part{
+            name :"icon_0";
+            type: SWALLOW;
+            description {
+                state: "default" 0.0;
+                rel1{relative: 0.325 0.325; to: SIZE_SETTER;}
+                rel2{relative: 0.675 0.675; to: SIZE_SETTER;}
+                aspect: 1.0 1.0;
+                aspect_preference: BOTH;
+                visible: 0;
+            }
+            description {
+                state: "item_count_1" 0.0;
+                rel1{relative: 0.325 0.325; to: SIZE_SETTER;}
+                rel2{relative: 0.675 0.675; to: SIZE_SETTER;}
+                visible: 1;
+            }
+            description {
+                state: "item_count_2" 0.0;
+                rel1{relative: 0.135 0.325; to: SIZE_SETTER;}
+                rel2{relative: 0.485 0.675; to: SIZE_SETTER;}
+                visible: 1;
+            }
+            description {
+                state: "item_count_3" 0.0;
+                rel1{relative: 0.185 0.185; to: SIZE_SETTER;}
+                rel2{relative: 0.485 0.485; to: SIZE_SETTER;}
+                visible: 1;
+            }
+            description {
+                state: "item_count_4" 0.0;
+                rel1{relative: 0.185 0.185; to: SIZE_SETTER;}
+                rel2{relative: 0.485 0.485; to: SIZE_SETTER;}
+                visible: 1;
+            }
+        }
+        part{
+            name :"icon_1";
+            type: SWALLOW;
+            description {
+                state: "default" 0.0;
+                rel1{relative: 0.488 0.325; to: SIZE_SETTER;}
+                rel2{relative: 0.838 0.675; to: SIZE_SETTER;}
+                aspect: 1.0 1.0;
+                aspect_preference: BOTH;
+                visible: 0;
+            }
+
+            description {
+                state: "item_count_1" 0.0;
+                inherit: "default" 0.0;
+                visible: 0;
+            }
+            description {
+                state: "item_count_2" 0.0;
+                rel1{relative: 0.488 0.325; to: SIZE_SETTER;}
+                rel2{relative: 0.838 0.675; to: SIZE_SETTER;}
+                visible: 1;
+            }
+            description {
+                state: "item_count_3" 0.0;
+                rel1{relative: 0.515 0.185; to: SIZE_SETTER;}
+                rel2{relative: 0.815 0.485; to: SIZE_SETTER;}
+                visible: 1;
+            }
+            description {
+                state: "item_count_4" 0.0;
+                rel1{relative: 0.515 0.185; to: SIZE_SETTER;}
+                rel2{relative: 0.815 0.485; to: SIZE_SETTER;}
+                visible: 1;
+            }
+        }
+        part{
+            name :"icon_2";
+            type: SWALLOW;
+            description {
+                state: "default" 0.0;
+                rel1{relative: 0.185 0.515; to: SIZE_SETTER;}
+                rel2{relative: 0.485 0.815; to: SIZE_SETTER;}
+                aspect: 1.0 1.0;
+                aspect_preference: BOTH;
+                visible: 0;
+            }
+            description {
+                state: "item_count_1" 0.0;
+                inherit: "default" 0.0;
+                visible: 0;
+            }
+            description {
+                state: "item_count_2" 0.0;
+                inherit: "default" 0.0;
+                visible: 0;
+            }
+            description {
+                state: "item_count_3" 0.0;
+                rel1{relative: 0.185 0.515; to: SIZE_SETTER;}
+                rel2{relative: 0.485 0.815; to: SIZE_SETTER;}
+                visible: 1;
+            }
+            description {
+                state: "item_count_4" 0.0;
+                rel1{relative: 0.185 0.515; to: SIZE_SETTER;}
+                rel2{relative: 0.485 0.815; to: SIZE_SETTER;}
+                visible: 1;
+            }
+        }
+        part{
+            name :"icon_3";
+            type: SWALLOW;
+            description {
+                state: "default" 0.0;
+                rel1{relative: 0.515 0.515; to: SIZE_SETTER;}
+                rel2{relative: 0.815 0.815; to: SIZE_SETTER;}
+                aspect: 1.0 1.0;
+                aspect_preference: BOTH;
+                visible: 0;
+            }
+            description {
+                state: "item_count_1" 0.0;
+                inherit: "default" 0.0;
+                visible: 0;
+            }
+            description {
+                state: "item_count_2" 0.0;
+                inherit: "default" 0.0;
+                visible: 0;
+            }
+            description {
+                state: "item_count_3" 0.0;
+                inherit: "default" 0.0;
+                visible: 0;
+            }
+            description {
+                state: "item_count_4" 0.0;
+                rel1{relative: 0.515 0.515; to: SIZE_SETTER;}
+                rel2{relative: 0.815 0.815; to: SIZE_SETTER;}
+                visible: 1;
+            }
+        }
+        programs
+        {
+            program {
+                name: "set_item_count_1";
+                signal: "set_item_count_1";
+                source: SIGNAL_SOURCE;
+                action: STATE_SET "item_count_1" 0.0;
+                target: "icon_0";
+                target: "icon_1";
+                target: "icon_2";
+                target: "icon_3";
+                target: "folder_icon_bg_image";
+                transition: DECELERATE 0.2;
+            }
+
+            program {
+                name: "set_item_count_2";
+                signal: "set_item_count_2";
+                source: SIGNAL_SOURCE;
+                action: STATE_SET "item_count_2" 0.0;
+                target: "icon_0";
+                target: "icon_1";
+                target: "icon_2";
+                target: "icon_3";
+                target: "folder_icon_bg_image";
+                transition: DECELERATE 0.2;
+            }
+
+            program {
+                name: "set_item_count_3";
+                signal: "set_item_count_3";
+                source: SIGNAL_SOURCE;
+                action: STATE_SET "item_count_3" 0.0;
+                target: "icon_0";
+                target: "icon_1";
+                target: "icon_2";
+                target: "icon_3";
+                target: "folder_icon_bg_image";
+                transition: DECELERATE 0.2;
+            }
+            program {
+                name: "set_item_count_4";
+                signal: "set_item_count_4";
+                source: SIGNAL_SOURCE;
+                action: STATE_SET "item_count_4" 0.0;
+                target: "icon_0";
+                target: "icon_1";
+                target: "icon_2";
+                target: "icon_3";
+                target: "folder_icon_bg_image";
+                transition: DECELERATE 0.2;
+            }
+            program {
+                name: "set_item_count_0";
+                signal: "set_item_count_0";
+                source: SIGNAL_SOURCE;
+                action: STATE_SET "default" 0.0;
+                target: "icon_0";
+                target: "icon_1";
+                target: "icon_2";
+                target: "icon_3";
+                target: "folder_icon_bg_image";
+            }
+
+            program {
+                name: "show,bg,possible";
+                signal: SIGNAL_FRAME_POSSIBLE_SHOW;
+                source: SIGNAL_SOURCE;
+                action: STATE_SET "frame_possible" 0.0;
+                target: "folder_icon_image_possible";
+            }
+            program {
+                name: "show,bg,impossible";
+                signal: SIGNAL_FRAME_IMPOSSIBLE_SHOW;
+                source: SIGNAL_SOURCE;
+                action: STATE_SET "frame_impossible" 0.0;
+                target: "folder_icon_image_possible";
+            }
+        }
+    }
+}
diff --git a/res/edje/apps_folder_popup.edc b/res/edje/apps_folder_popup.edc
new file mode 100755 (executable)
index 0000000..d1f3c83
--- /dev/null
@@ -0,0 +1,218 @@
+/*
+ * Copyright 2012  Samsung Electronics Co., Ltd
+ *
+ * Licensed under the Flora License, Version 1.1 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://floralicense.org/license/
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include "../../inc/edc_conf.h"
+
+#define MAKE_TILE(num_x,num_y)\
+    part{ name: "icon_"num_x"_"num_y;\
+        type : SWALLOW;\
+        description {\
+            state : "default" 0.0;\
+            fixed : 1 1;\
+            rel1 {\
+                relative: num_y/APPS_FOLDER_COL num_x/APPS_FOLDER_ROW ;\
+                to: APPS_FOLDER_CONTAINER;\
+            }\
+            rel2 {\
+                relative :(num_y+1)/APPS_FOLDER_COL (num_x+1)/APPS_FOLDER_ROW ;\
+                to: APPS_FOLDER_CONTAINER;\
+            }\
+            align: 0.0 0.0;\
+        }\
+    }
+images {
+    image: "../res/images/folder_popup_bg.png" COMP;
+    image: "../res/images/btn_add_nor.png" COMP;
+    image: "../res/images/btn_add_press.png" COMP;
+}
+
+collections {
+    group { name: GROUP_APPS_FOLDER_POPUP_LY;
+        script {
+            public plus_x;
+            public plus_y;
+
+            public message(Msg_Type:type, id, ...) {
+                if (type == MSG_FLOAT_SET)
+                {
+                    set_float(plus_x, getfarg(2));
+                    set_float(plus_y, getfarg(3));
+                    send_message(type, id, getfarg(2), getfarg(3));
+                }
+            }
+        }
+        parts {
+            part { name: SIZE_SETTER;
+                type: RECT;
+                mouse_events: 1;
+                repeat_events: 0;
+                description {
+                    state: "default" 0.0;
+                    align: 0.0 0.0;
+                    color: 0 0 0 100;
+                    rel1.relative: 0.0 0.0;
+                    rel2.relative: 1.0 1.0;
+                }
+            }
+            part { name: APPS_FOLDER_BG;
+                type: IMAGE;
+                mouse_events: 1;
+                repeat_events: 0;
+                description {
+                    state: "default" 0.0;
+                    align: 0.0 0.0;
+                    rel1 {relative: 0.04 0.2; to:SIZE_SETTER;}
+                    rel2 {relative: 0.96 0.8; to:SIZE_SETTER;}
+                    image {
+                        normal: "../res/images/folder_popup_bg.png";
+                        border: 5 5 5 5;
+                    }
+                    color: 255 255 255 255;
+                }
+            }
+            part { name: APPS_FOLDER_TITLE;
+                type: SWALLOW;
+                mouse_events: 1;
+                repeat_events: 0;
+                description { state: "default" 0.0;
+                    align: 0 0;
+                    rel1 {relative: 0.08 0.02; to:APPS_FOLDER_BG;}
+                    rel2 {relative: 0.92 0.12; to:APPS_FOLDER_BG;}
+                    color: 255 255 255 255;
+                }
+            }
+            part { name: APPS_FOLDER_SEPARATOR;
+                type: RECT;
+                mouse_events: 1;
+                repeat_events: 0;
+                description { state: "default" 0.0;
+                    align: 0 0;
+                    rel1 {relative: 0.08 0.12; to:APPS_FOLDER_BG;}
+                    rel2 {relative: 0.92 0.125; to:APPS_FOLDER_BG;}
+                    color: 77 231 255 255;
+                }
+            }
+            part { name: APPS_FOLDER_CONTAINER;
+                type: SPACER;
+                mouse_events: 1;
+                repeat_events: 0;
+                description { state: "default" 0.0;
+                    align: 0 0;
+                    rel1 {relative: 0.08 0.15; to:APPS_FOLDER_BG;}
+                    rel2 {relative: 0.92 0.96; to:APPS_FOLDER_BG;}
+                }
+            }
+            MAKE_TILE(0,0)
+            MAKE_TILE(0,1)
+            MAKE_TILE(0,2)
+            MAKE_TILE(1,0)
+            MAKE_TILE(1,1)
+            MAKE_TILE(1,2)
+            MAKE_TILE(2,0)
+            MAKE_TILE(2,1)
+            MAKE_TILE(2,2)
+            part { name: APPS_FOLDER_PLUS_ICON;
+                type: IMAGE;
+                mouse_events: 1;
+                repeat_events: 0;
+                description { state: "default" 0.0;
+                    aspect: 1.0 1.0;
+                    rel1 {
+                        relative: (0 + 0.16 / APPS_FOLDER_COL) 0 ;
+                        to: APPS_FOLDER_CONTAINER;
+                    }
+                    rel2 {
+                        relative :(1 - 0.16)/APPS_FOLDER_COL (1 - 0.4)/APPS_FOLDER_ROW;
+                        to: APPS_FOLDER_CONTAINER;
+                    }
+                    image {
+                        normal: "../res/images/btn_add_nor.png";
+                    }
+                }
+                description {
+                    state: "press" 0.0;
+                    inherit: "default" 0.0;
+                    image {
+                        normal: "../res/images/btn_add_press.png";
+                    }
+                }
+                description {
+                    state: "hide" 0.0;
+                    inherit: "default" 0.0;
+                    visible: 0;
+                }
+            }
+        }
+        programs {
+            program {
+                name:"bg_touched";
+                signal: "mouse,clicked,1";
+                source: SIZE_SETTER;
+                action: SIGNAL_EMIT SIGNAL_APPS_FOLDER_HIDE SIGNAL_SOURCE;
+            }
+            program {
+                name: "set_plus_btn";
+                signal: SIGNAL_APPS_FOLDER_SET_PLUS_ICON;
+                source: SIGNAL_SOURCE;
+                script {
+                    custom_state(PART:APPS_FOLDER_PLUS_ICON, "default", 0.0);
+                    set_state_val(PART:APPS_FOLDER_PLUS_ICON, STATE_REL1, ((get_float(plus_y) + 0.16) / APPS_FOLDER_COL), (get_float(plus_x)) / APPS_FOLDER_ROW);
+                    set_state_val(PART:APPS_FOLDER_PLUS_ICON, STATE_REL2, (((get_float(plus_y)) + 0.84) / APPS_FOLDER_COL), (((get_float(plus_x)) + 0.6) / APPS_FOLDER_ROW));
+                    set_state_val(PART:APPS_FOLDER_PLUS_ICON, STATE_IMAGE, get_image_id("../res/images/btn_add_nor.png"));
+                    set_state(PART:APPS_FOLDER_PLUS_ICON, "custom", 0.0);
+                }
+            }
+            program {
+                name: "set_plus_btn_up";
+                signal: "mouse,up,1";
+                source: APPS_FOLDER_PLUS_ICON;
+                script {
+                    custom_state(PART:APPS_FOLDER_PLUS_ICON, "default", 0.0);
+                    set_state_val(PART:APPS_FOLDER_PLUS_ICON, STATE_REL1, ((get_float(plus_y) + 0.16) / APPS_FOLDER_COL), (get_float(plus_x)) / APPS_FOLDER_ROW);
+                    set_state_val(PART:APPS_FOLDER_PLUS_ICON, STATE_REL2, (((get_float(plus_y)) + 0.84) / APPS_FOLDER_COL), (((get_float(plus_x)) + 0.6) / APPS_FOLDER_ROW));
+                    set_state_val(PART:APPS_FOLDER_PLUS_ICON, STATE_IMAGE, get_image_id("../res/images/btn_add_nor.png"));
+                    set_state(PART:APPS_FOLDER_PLUS_ICON, "custom", 0.0);
+                }
+            }
+            program {
+                name: "set_plus_btn_down";
+                signal: "mouse,down,1";
+                source: APPS_FOLDER_PLUS_ICON;
+                script {
+                    custom_state(PART:APPS_FOLDER_PLUS_ICON, "press", 0.0);
+                    set_state_val(PART:APPS_FOLDER_PLUS_ICON, STATE_REL1, ((get_float(plus_y) + 0.16) / APPS_FOLDER_COL), (get_float(plus_x)) / APPS_FOLDER_ROW);
+                    set_state_val(PART:APPS_FOLDER_PLUS_ICON, STATE_REL2, (((get_float(plus_y)) + 0.84) / APPS_FOLDER_COL), (((get_float(plus_x)) + 0.6) / APPS_FOLDER_ROW));
+                    set_state_val(PART:APPS_FOLDER_PLUS_ICON, STATE_IMAGE, get_image_id("../res/images/btn_add_press.png"));
+                    set_state(PART:APPS_FOLDER_PLUS_ICON, "custom", 0.0);
+                }
+            }
+
+            program {
+                name: "set_plus_btn_clicked";
+                signal: "mouse,clicked,1";
+                source: APPS_FOLDER_PLUS_ICON;
+                action: SIGNAL_EMIT SIGNAL_APPS_FOLDER_CLICKED_PLUS_ICON SIGNAL_SOURCE;
+            }
+            program {
+                name: "hide_plus_icon";
+                signal: SIGNAL_APPS_FOLDER_HIDE_PLUS_ICON;
+                source: SIGNAL_SOURCE;
+                action: STATE_SET "hide" 0.0;
+                target: APPS_FOLDER_PLUS_ICON;
+            }
+        }
+    }
+}
\ No newline at end of file
diff --git a/res/edje/apps_view.edc b/res/edje/apps_view.edc
new file mode 100755 (executable)
index 0000000..52f9981
--- /dev/null
@@ -0,0 +1,143 @@
+/*
+ * Copyright 2012  Samsung Electronics Co., Ltd
+ *
+ * Licensed under the Flora License, Version 1.1 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://floralicense.org/license/
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include "../../inc/edc_conf.h"
+
+#define MAKE_TILE(num_x,num_y)\
+    part{ name: "icon_"num_x"_"num_y;\
+        type : SWALLOW;\
+        description {\
+            state : "default" 0.0;\
+            fixed : 1 1;\
+            rel1 {\
+                relative :num_y/APPS_VIEW_COL num_x/APPS_VIEW_ROW ;\
+                to: SIZE_SETTER;\
+            }\
+            rel2 {\
+                relative :(num_y+1)/APPS_VIEW_COL (num_x+1)/APPS_VIEW_ROW ;\
+                to: SIZE_SETTER;\
+            }\
+            align: 0.0 0.0;\
+        }\
+        description {\
+            state: "edit" 0.0;\
+            inherit: "default" 0.0;\
+            rel1 {\
+                relative :0.04+(num_y/APPS_VIEW_COL)*0.9 0.05+(num_x/APPS_VIEW_ROW)*0.9 ;\
+                to: SIZE_SETTER;\
+            }\
+            rel2 {\
+                relative :0.04+((num_y+1)/APPS_VIEW_COL)*0.9 0.05+((num_x+1)/APPS_VIEW_ROW)*0.09 ;\
+                to: SIZE_SETTER;\
+            };\
+        }\
+    }
+
+collections {
+    images {
+    }
+    group { name: GROUP_APPS_LY;
+        parts {
+            part { name: SIZE_SETTER;
+                type: SWALLOW;
+                mouse_events: 1;
+                repeat_events: 1;
+                description {
+                    state: "default" 0.0;
+                    align: 0 0;
+                    rel1.relative: 0.0 0.0;
+                    rel2.relative: 0.0 0.0;
+                }
+            }
+            MAKE_TILE(0,0);
+            MAKE_TILE(0,1);
+            MAKE_TILE(0,2);
+            MAKE_TILE(0,3);
+            MAKE_TILE(1,0);
+            MAKE_TILE(1,1);
+            MAKE_TILE(1,2);
+            MAKE_TILE(1,3);
+            MAKE_TILE(2,0);
+            MAKE_TILE(2,1);
+            MAKE_TILE(2,2);
+            MAKE_TILE(2,3);
+            MAKE_TILE(3,0);
+            MAKE_TILE(3,1);
+            MAKE_TILE(3,2);
+            MAKE_TILE(3,3);
+            MAKE_TILE(4,0);
+            MAKE_TILE(4,1);
+            MAKE_TILE(4,2);
+            MAKE_TILE(4,3);
+        }
+        programs {
+            program {
+                name: "bg_edit_mode_on";
+                signal: SIGNAL_EDIT_MODE_ON_ANI;
+                source: SIGNAL_SOURCE;
+                action: STATE_SET "edit" 0.0;
+                target: "icon_0_0";
+                target: "icon_0_1";
+                target: "icon_0_2";
+                target: "icon_0_3";
+                target: "icon_1_0";
+                target: "icon_1_1";
+                target: "icon_1_2";
+                target: "icon_1_3";
+                target: "icon_2_0";
+                target: "icon_2_1";
+                target: "icon_2_2";
+                target: "icon_2_3";
+                target: "icon_3_0";
+                target: "icon_3_1";
+                target: "icon_3_2";
+                target: "icon_3_3";
+                target: "icon_4_0";
+                target: "icon_4_1";
+                target: "icon_4_2";
+                target: "icon_4_3";
+                transition: DECELERATE ANIMATION_RESIZE_TIME;
+            }
+            program {
+                name: "bg_edit_mode_off";
+                signal: SIGNAL_EDIT_MODE_OFF_ANI;
+                source: SIGNAL_SOURCE;
+                action: STATE_SET "default" 0.0;
+                target: "icon_0_0";
+                target: "icon_0_1";
+                target: "icon_0_2";
+                target: "icon_0_3";
+                target: "icon_1_0";
+                target: "icon_1_1";
+                target: "icon_1_2";
+                target: "icon_1_3";
+                target: "icon_2_0";
+                target: "icon_2_1";
+                target: "icon_2_2";
+                target: "icon_2_3";
+                target: "icon_3_0";
+                target: "icon_3_1";
+                target: "icon_3_2";
+                target: "icon_3_3";
+                target: "icon_4_0";
+                target: "icon_4_1";
+                target: "icon_4_2";
+                target: "icon_4_3";
+                transition: DECELERATE ANIMATION_RESIZE_TIME;
+            }
+        }
+    }
+}
\ No newline at end of file
diff --git a/res/edje/apps_view_bg.edc b/res/edje/apps_view_bg.edc
new file mode 100755 (executable)
index 0000000..6c28134
--- /dev/null
@@ -0,0 +1,137 @@
+/*
+ * Copyright 2012  Samsung Electronics Co., Ltd
+ *
+ * Licensed under the Flora License, Version 1.1 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://floralicense.org/license/
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include "../../inc/edc_conf.h"
+
+collections {
+    group { name: GROUP_APPS_BG_LY;
+        script {
+            public rel1;
+            public rel2;
+            public alpha;
+
+            public message(Msg_Type:type, id, ...) {
+                if (type == MSG_FLOAT_SET)
+                {
+                    set_float(rel1, getfarg(2));
+                    set_float(rel2, getfarg(3));
+                    set_float(alpha, getfarg(4));
+                    send_message(type, id, getfarg(2), getfarg(3), getfarg(4));
+                }
+            }
+        }
+        parts {
+            part { name: SIZE_SETTER;
+                type: SWALLOW;
+                mouse_events: 1;
+                repeat_events: 1;
+                description {
+                    state: "default" 0.0;
+                    align: 0.0 0.0;
+                    rel1.relative: 0.0 0.0;
+                    rel2.relative: 0.0 0.0;
+                    visible: 1;
+                }
+            }
+            part { name: APPS_APPS_VIEW_BG;
+                type: RECT;
+                mouse_events: 1;
+                repeat_events: 1;
+                description {
+                    state: "default" 0.0;
+                    align: 0.0 0.0;
+                    color: 0 0 0 APPS_VIEW_BG_OPACITY;
+                    rel1 {relative: 0.0 0.0; to:SIZE_SETTER;}
+                    rel2 {relative: 1.0 1.0; to:SIZE_SETTER;}
+                    visible: 0;
+                }
+                description {
+                    state: "edit" 0.0;
+                    inherit: "default" 0.0;
+                    visible: 1;
+                    rel1 {relative: 0.06 0.09; to:SIZE_SETTER;}
+                    rel2 {relative: 0.94 0.86; to:SIZE_SETTER;}
+                }
+                description {
+                    state: "hide" 0.0;
+                    inherit: "default" 0.0;
+                    visible: 0;
+                    map {
+                        on: 1;
+                        perspective_on: 1;
+                        smooth: 1;
+                        alpha: 1;
+                    }
+                }
+                description {
+                    state: "show" 0.0;
+                    inherit: "default" 0.0;
+                    visible: 1;
+                    map {
+                        on: 1;
+                        perspective_on: 1;
+                        smooth: 1;
+                        alpha: 1;
+                    }
+                }
+            }
+        }
+        programs {
+            program {
+                name: "apps_bg_hide";
+                signal: SIGNAL_APPS_VIEW_HIDE;
+                source: SIGNAL_SOURCE;
+                action: STATE_SET "hide" 0.0;
+                target: APPS_APPS_VIEW_BG;
+            }
+            program {
+                name: "apps_bg_show";
+                signal: SIGNAL_APPS_VIEW_SHOW;
+                source: SIGNAL_SOURCE;
+                action: STATE_SET "show" 0.0;
+                target: APPS_APPS_VIEW_BG;
+            }
+            program {
+                name: "rotation,changed";
+                signal: SIGNAL_APPS_VIEW_ANIM;
+                source: SIGNAL_SOURCE;
+                script {
+                    custom_state(PART:APPS_APPS_VIEW_BG, "show", 0.0);
+                    //set_state_val(PART:APPS_APPS_VIEW_BG, STATE_REL1, 0, get_float(rel1));
+                    //set_state_val(PART:APPS_APPS_VIEW_BG, STATE_REL2, 0, get_float(rel2));
+                    set_state_val(PART:APPS_APPS_VIEW_BG, STATE_COLOR, 0, 0, 0, round(get_float(alpha)));
+                    set_state(PART:APPS_APPS_VIEW_BG, "custom", 0.0);
+                }
+            }
+            program {
+                name: "bg_edit_mode_on";
+                signal: SIGNAL_EDIT_MODE_ON_ANI;
+                source: SIGNAL_SOURCE;
+                action: STATE_SET "edit" 0.0;
+                target: APPS_APPS_VIEW_BG;
+                transition: DECELERATE ANIMATION_RESIZE_TIME;
+            }
+            program {
+                name: "bg_edit_mode_off";
+                signal: SIGNAL_EDIT_MODE_OFF_ANI;
+                source: SIGNAL_SOURCE;
+                action: STATE_SET "show" 0.0;
+                target: APPS_APPS_VIEW_BG;
+                transition: DECELERATE ANIMATION_RESIZE_TIME;
+            }
+        }
+    }
+}
\ No newline at end of file
diff --git a/res/edje/cluster_allpage.edc b/res/edje/cluster_allpage.edc
new file mode 100755 (executable)
index 0000000..2bae1b7
--- /dev/null
@@ -0,0 +1,41 @@
+/*
+ * Copyright 2012  Samsung Electronics Co., Ltd
+ *
+ * Licensed under the Flora License, Version 1.1 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://floralicense.org/license/
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include "../../inc/edc_conf.h"
+collections {
+    group { name: GROUP_CLUSTER_ALLPAGE_LY;
+        parts {
+            part { name: SIZE_SETTER;
+                type: SWALLOW;
+                description {
+                    state: "default" 0.0;
+                    align: 0 0;
+                    rel1.relative: 0.0 0.0;
+                    rel2.relative: 1.0 1.0;
+                }
+            }
+            part { name: CLUSTER_ALLPAGE_GRID;
+                type: SWALLOW;
+                description {
+                    state: "default" 0.0;
+                    align: 0 0;
+                    rel1{relative: 0.0 0.0; to: SIZE_SETTER;}
+                    rel2{relative: 1.0 1.0; to: SIZE_SETTER;}
+                }
+            }
+        }
+    }
+}
\ No newline at end of file
diff --git a/res/edje/cluster_allpage_thumbnail.edc b/res/edje/cluster_allpage_thumbnail.edc
new file mode 100755 (executable)
index 0000000..1ed1f04
--- /dev/null
@@ -0,0 +1,239 @@
+/*
+ * Copyright 2012  Samsung Electronics Co., Ltd
+ *
+ * Licensed under the Flora License, Version 1.1 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://floralicense.org/license/
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include "../../inc/edc_conf.h"
+
+collections {
+    images {
+        image: "../res/images/btn_delete_nor.png" COMP;
+        image: "../res/images/btn_delete_press.png" COMP;
+        image: "../res/images/all_page_add.png" COMP;
+        image: "../res/images/all_page_add_press.png" COMP;
+        image: "../res/images/all_page_drag.png" COMP;
+    }
+    group { name: GROUP_CLUSTER_ALLPAGE_THUMBNAIL_LY;
+        parts {
+            part { name: "bg";
+                type: RECT;
+                description {
+                    state: "default" 0.0;
+                    align: 0 0;
+                    color: 0 0 0 50;
+                    rel1.relative: 0.0 0.0;
+                    rel2.relative: 1.0 1.0;
+                }
+                description {
+                    state: "hide" 0.0;
+                    inherit: "default" 0.0;
+                    color: 0 0 0 0;
+                    visible: 0;
+                }
+            }
+            part { name: CLUSTER_ALLPAGE_ADD_BUTTON;
+                type: IMAGE;
+                description {
+                    state: "default" 0.0;
+                    rel1{relative: 0.375 0.375; to: "bg";}
+                    rel2{relative: 0.625 0.625; to: "bg";}
+                    visible: 0;
+                    aspect: 1.0 1.0;
+                    aspect_preference: BOTH;
+                    image {
+                        normal: "../res/images/all_page_add.png";
+                    }
+                }
+                description {
+                    state: "show" 0.0;
+                    inherit: "default" 0.0;
+                    color: 255 255 255 255;
+                    visible: 1;
+                }
+                description {
+                    state: "press" 0.0;
+                    inherit: "default" 0.0;
+                    color: 255 255 255 255;
+                    image {
+                        normal: "../res/images/all_page_add_press.png";
+                    }
+                    visible: 1;
+                }
+            }
+            part { name: "cluster_allpage_add_button_touch_rect";
+                type: RECT;
+                description {
+                    state: "default" 0.0;
+                    rel1{relative: 0.0 0.0; to: "bg";}
+                    rel2{relative: 1.0 1.0; to: "bg";}
+                    visible: 0;
+                    color: 0 0 0 0;
+                }
+                description {
+                    state: "show" 0.0;
+                    inherit: "default" 0.0;
+                    visible: 1;
+                }
+            }
+            part { name: CLUSTER_ALLPAGE_THUMBNAIL_IMAGE;
+                type: SWALLOW;
+                description {
+                    state: "default" 0.0;
+                    align: 0 0;
+                    rel1.relative: 0.0 0.0;
+                    rel2.relative: 1.0 1.0;
+                }
+            }
+            part { name: CLUSTER_ALLPAGE_DRAG_IMAGE;
+                type: IMAGE;
+                description {
+                    state: "default" 0.0;
+                    rel1{relative: -0.03 -0.03; to: CLUSTER_ALLPAGE_THUMBNAIL_IMAGE;}
+                    rel2{relative: 1.03 1.03; to: CLUSTER_ALLPAGE_THUMBNAIL_IMAGE;}
+                    color: 255 255 255 150;
+                    visible: 0;
+                    image {
+                        normal: "../res/images/all_page_drag.png";
+                    }
+                }
+                description {
+                    state: "show" 0.0;
+                    inherit: "default" 0.0;
+                    visible: 1;
+                }
+            }
+            part {
+                name: CLUSTER_ALLPAGE_DELETE_BUTTON;
+                type: IMAGE;
+                description {
+                    state: "default" 0.0;
+                    rel1{relative: 0.031 0.031; to: CLUSTER_ALLPAGE_THUMBNAIL_IMAGE;}
+                    rel2{relative: 0.218 0.218; to: CLUSTER_ALLPAGE_THUMBNAIL_IMAGE;}
+                    color: 255 255 255 0;
+                    visible: 0;
+                    aspect: 1.0 1.0;
+                    aspect_preference: BOTH;
+                    image {
+                        normal: "../res/images/btn_delete_nor.png";
+                    }
+                }
+                description {
+                    state: "show" 0.0;
+                    inherit: "default" 0.0;
+                    color: 255 255 255 255;
+                    visible: 1;
+                }
+                description {
+                    state: "press" 0.0;
+                    inherit: "default" 0.0;
+                    color: 255 255 255 255;
+                    image {
+                        normal: "../res/images/btn_delete_press.png";
+                    }
+                    visible: 1;
+                }
+            }
+        }
+        programs {
+            program {
+                name: "delete_button_clicked";
+                signal: "mouse,clicked,1";
+                source: CLUSTER_ALLPAGE_DELETE_BUTTON;
+                action: SIGNAL_EMIT SIGNAL_ALLPAGE_DELETE_BUTTON_CLICKED SIGNAL_SOURCE;
+            }
+            program {
+                name: "delete_button_mouse_down";
+                signal: "mouse,down,1";
+                source: CLUSTER_ALLPAGE_DELETE_BUTTON;
+                action: STATE_SET "press" 0.0;
+                target: CLUSTER_ALLPAGE_DELETE_BUTTON;
+            }
+            program {
+                name: "delete_button_mouse_up";
+                signal: "mouse,up,1";
+                source: CLUSTER_ALLPAGE_DELETE_BUTTON;
+                action: STATE_SET "show" 0.0;
+                target: CLUSTER_ALLPAGE_DELETE_BUTTON;
+            }
+            program {
+                name: "delete_button_show";
+                signal: SIGNAL_ALLPAGE_DELETE_BUTTON_SHOW;
+                source: SIGNAL_SOURCE;
+                action: STATE_SET "show" 0.0;
+                target: CLUSTER_ALLPAGE_DELETE_BUTTON;
+                transition: DECELERATE ANIMATION_RESIZE_TIME;
+            }
+            program {
+                name: "delete_button_hide";
+                signal: SIGNAL_ALLPAGE_DELETE_BUTTON_HIDE;
+                source: SIGNAL_SOURCE;
+                action: STATE_SET "default" 0.0;
+                target: CLUSTER_ALLPAGE_DELETE_BUTTON;
+                transition: DECELERATE ANIMATION_RESIZE_TIME;
+            }
+            program {
+                name: "add_button_clicked";
+                signal: "mouse,clicked,1";
+                source: "cluster_allpage_add_button_touch_rect";
+                action: SIGNAL_EMIT SIGNAL_ALLPAGE_ADD_BUTTON_CLICKED SIGNAL_SOURCE;
+            }
+            program {
+                name: "add_button_mouse_down";
+                signal: "mouse,down,1";
+                source: "cluster_allpage_add_button_touch_rect";
+                action: STATE_SET "press" 0.0;
+                target: CLUSTER_ALLPAGE_ADD_BUTTON;
+            }
+            program {
+                name: "add_button_mouse_up";
+                signal: "mouse,up,1";
+                source: "cluster_allpage_add_button_touch_rect";
+                action: STATE_SET "show" 0.0;
+                target: CLUSTER_ALLPAGE_ADD_BUTTON;
+            }
+            program {
+                name: "add_button_show";
+                signal: SIGNAL_ALLPAGE_ADD_BUTTON_SHOW;
+                source: SIGNAL_SOURCE;
+                action: STATE_SET "show" 0.0;
+                target: CLUSTER_ALLPAGE_ADD_BUTTON;
+                target: "cluster_allpage_add_button_touch_rect";
+                transition: DECELERATE ANIMATION_RESIZE_TIME;
+            }
+            program {
+                name: "add_button_hide";
+                signal: SIGNAL_ALLPAGE_ADD_BUTTON_HIDE;
+                source: SIGNAL_SOURCE;
+                action: STATE_SET "default" 0.0;
+                target: CLUSTER_ALLPAGE_ADD_BUTTON;
+                target: "cluster_allpage_add_button_touch_rect";
+                transition: DECELERATE ANIMATION_RESIZE_TIME;
+            }
+            program {
+                name: "drag_show";
+                signal: SIGNAL_ALLPAGE_DRAG_BG_SHOW;
+                source: SIGNAL_SOURCE;
+                action: STATE_SET "show" 0.0;
+                target: CLUSTER_ALLPAGE_DRAG_IMAGE;
+            }
+            program {
+                name: "drag_hide";
+                signal: SIGNAL_ALLPAGE_DRAG_BG_HIDE;
+                source: SIGNAL_SOURCE;
+                action: STATE_SET "default" 0.0;
+                target: CLUSTER_ALLPAGE_DRAG_IMAGE;
+            }
+        }
+    }
+}
\ No newline at end of file
diff --git a/res/edje/cluster_page.edc b/res/edje/cluster_page.edc
new file mode 100755 (executable)
index 0000000..b79fe67
--- /dev/null
@@ -0,0 +1,85 @@
+/*
+ * Copyright 2012  Samsung Electronics Co., Ltd
+ *
+ * Licensed under the Flora License, Version 1.1 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://floralicense.org/license/
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include "../../inc/edc_conf.h"
+
+collections {
+    images {
+        image: "../res/images/btn_delete_nor.png" COMP;
+        image: "../res/images/btn_delete_press.png" COMP;
+    }
+    group { name: GROUP_CLUSTER_PAGE_LY;
+        parts {
+            part { name: SIZE_SETTER;
+                type: SWALLOW;
+                description {
+                    state: "default" 0.0;
+                    align: 0 0;
+                    rel1.relative: 0.0 0.0;
+                    rel2.relative: 1.0 1.0;
+                }
+            }
+            part { name: CLUSTER_BG;
+                type: RECT;
+                description {
+                    state: "default" 0.0;
+                    align: 0 0;
+                    visible: 0;
+                    color : 0 0 0 0;
+                    rel1{relative: 0.0 0.0; to: SIZE_SETTER;}
+                    rel2{relative: 1.0 1.0; to: SIZE_SETTER;}
+                }
+                description {
+                    state: "edit" 0.0;
+                    inherit: "default" 0.0;
+                    color : 0 0 0 50;
+                    visible: 1;
+                    rel1{relative: 0.05 0.05; to: SIZE_SETTER;}
+                    rel2{relative: 0.95 0.95; to: SIZE_SETTER;}
+                }
+            }
+            part { name: CLUSTER_BOX;
+                type: SWALLOW;
+                description {
+                    state: "default" 0.0;
+                    align: 0 0;
+                    rel1{relative: 0.0 0.0; to: CLUSTER_BG;}
+                    rel2{relative: 1.0 1.0; to: CLUSTER_BG;}
+                }
+            }
+        }
+        programs {
+            program {
+                name: "edit_mode_on";
+                signal: SIGNAL_EDIT_MODE_ON;
+                source: SIGNAL_SOURCE;
+                action: STATE_SET "edit" 0.0;
+                target: SIZE_SETTER;
+                target: CLUSTER_BG;
+                transition: DECELERATE ANIMATION_RESIZE_TIME;
+            }
+            program {
+                name: "edit_mode_off";
+                signal: SIGNAL_EDIT_MODE_OFF;
+                source: SIGNAL_SOURCE;
+                action: STATE_SET "default" 0.0;
+                target: SIZE_SETTER;
+                target: CLUSTER_BG;
+                transition: DECELERATE ANIMATION_RESIZE_TIME;
+            }
+        }
+    }
+}
\ No newline at end of file
diff --git a/res/edje/color_classes.edc b/res/edje/color_classes.edc
deleted file mode 100644 (file)
index de2453b..0000000
+++ /dev/null
@@ -1,43 +0,0 @@
-/*
-* Samsung API
-* Copyright (c) 2009-2015 Samsung Electronics Co., Ltd.
-*
-* Licensed under the Apache License, Version 2.0 (the License);
-* you may not use this file except in compliance with the License.
-* You may obtain a copy of the License at
-*
-* http://www.apache.org/license/
-*
-* Unless required by applicable law or agreed to in writing, software
-* distributed under the License is distributed on an AS IS BASIS,
-* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-* See the License for the specific language governing permissions and
-* limitations under the License.
-*/
-
-color_classes {
-       color_class {
-               name: "ATO001";
-               color: 22 22 22 255;
-       }
-       color_class {
-               name: "B041";
-               color: 255 255 255 255;
-       }
-       color_class {
-               name: "B0223";
-               color: 0 0 0 0;
-       }
-       color_class {
-               name: "B052L1";
-               color: 0 0 0 0;
-       }
-       color_class {
-               name: "B052L1P";
-               color: 0 0 0 0;
-       }
-       color_class {
-               name: "B052L1D";
-               color: 0 0 0 0;
-       }
-}
diff --git a/res/edje/folder.edc b/res/edje/folder.edc
deleted file mode 100644 (file)
index bc85dc9..0000000
+++ /dev/null
@@ -1,619 +0,0 @@
-/*
- * Copyright 2012  Samsung Electronics Co., Ltd
- *
- * Licensed under the Flora License, Version 1.1 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://floralicense.org/license/
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#include "../../inc/conf.h"
-
-images {
-       image: "folder_appicon_bg.png" COMP;
-       image: "folder_appicon_bg_possible.png" COMP;
-       image: "folder_appicon_bg_impossible.png" COMP;
-       image: "folder_appicon_empty_bg.png" COMP;
-       image: "folder_popup_bg.png" COMP;
-       image: "btn_input_clear.png" COMP;
-       image: "btn_add_nor.png" COMP;
-       image: "btn_add_press.png" COMP;
-}
-
-collections {
-
-       group {
-               name: GROUP_FOLDER_ICON_LAYOUT;
-               parts {
-                       part {
-                               name: "folder_bg";
-                               type: SPACER;
-                               scale: 1;
-                               description {
-                                       state: "default" 0.0;
-                                       rel1{relative: 0.0 0.0;}
-                                       rel2{relative: 1.0 1.0;}
-                               }
-                               description
-                               {
-                                       state: "manage_state" 0.0;
-                                       inherit: "default" 0.0;
-                               }
-                       }
-
-                       part {
-                               name: "folder_icon_exterior";
-                               type: IMAGE;
-                               mouse_events: 1;
-                               scale: 1;
-                               description {
-                                       state: "default" 0.0;
-                                       rel1{relative: 0.0 0.0; to: "folder_bg";}
-                                       rel2{relative: 1.0 1.0; to: "folder_bg";}
-                                       aspect: 1.0 1.0;
-                                       aspect_preference: BOTH;
-                                       image {
-                                               normal: "folder_appicon_bg.png";
-                                       }
-                               }
-                               description {
-                                       state: "frame_possible" 0.0;
-                                       inherit: "default" 0.0;
-                                       image {
-                                               normal: "folder_appicon_bg_possible.png";
-                                       }
-                               }
-                               description {
-                                       state: "frame_impossible" 0.0;
-                                       inherit: "default" 0.0;
-                                       image {
-                                               normal: "folder_appicon_bg_impossible.png";
-                                       }
-                               }
-                       }
-
-                       part
-                       {
-                               name: "folder_icon_interior";
-                               type: IMAGE;
-                               mouse_events: 1;
-                               scale: 1;
-                               description
-                               {
-                                       state: "default" 0.0;
-                                       rel1{relative: 0.0 0.0; to: "folder_bg";}
-                                       rel2{relative: 1.0 1.0; to: "folder_bg";}
-                                       aspect: 1.0 1.0;
-                                       aspect_preference: BOTH;
-                                       visible: 0;
-                                       image
-                                       {
-                                               normal: "folder_appicon_empty_bg.png";
-                                       }
-                               }
-                               description
-                               {
-                                       state: "empty_folder" 0.0;
-                                       inherit: "default" 0.0;
-                                       visible: 1;
-                               }
-                       }
-
-                       part {
-                               name: "miniature_0";
-                               type: SWALLOW;
-                               description {
-                                       state: "default" 0.0;
-                                       rel1{relative: MINIATURE_CENTER_MIN MINIATURE_CENTER_MIN; to: "folder_icon_exterior";}
-                                       rel2{relative: MINIATURE_CENTER_MAX MINIATURE_CENTER_MAX; to: "folder_icon_exterior";}
-                               }
-                               description {
-                                       state: "apps_1" 0.0;
-                                       inherit: "default" 0.0;
-                                       rel1{relative: MINIATURE_CENTER_MIN MINIATURE_CENTER_MIN;}
-                                       rel2{relative: MINIATURE_CENTER_MAX MINIATURE_CENTER_MAX;}
-                               }
-                               description {
-                                       state: "apps_2" 0.0;
-                                       inherit: "default" 0.0;
-                                       rel1{relative: MINIATURE_COL_1_MIN MINIATURE_CENTER_MIN;}
-                                       rel2{relative: MINIATURE_COL_1_MAX MINIATURE_CENTER_MAX;}
-                               }
-                               description {
-                                       state: "apps_4" 0.0;
-                                       inherit: "default" 0.0;
-                                       rel1{relative: MINIATURE_COL_1_MIN MINIATURE_ROW_1_MIN;}
-                                       rel2{relative: MINIATURE_COL_1_MAX MINIATURE_ROW_1_MAX;}
-                               }
-                       }
-                       part {
-                               name: "miniature_1";
-                               type: SWALLOW;
-                               description {
-                                       state: "default" 0.0;
-                                       rel1{relative: MINIATURE_CENTER_MIN MINIATURE_CENTER_MIN; to: "folder_icon_exterior";}
-                                       rel2{relative: MINIATURE_CENTER_MAX MINIATURE_CENTER_MAX; to: "folder_icon_exterior";}
-                               }
-                               description {
-                                       state: "apps_2" 0.0;
-                                       inherit: "default" 0.0;
-                                       rel1{relative: MINIATURE_COL_2_MIN MINIATURE_CENTER_MIN;}
-                                       rel2{relative: MINIATURE_COL_2_MAX MINIATURE_CENTER_MAX;}
-                               }
-                               description  {
-                                       state: "apps_4" 0.0;
-                                       inherit: "default" 0.0;
-                                       rel1{relative: MINIATURE_COL_2_MIN MINIATURE_ROW_1_MIN;}
-                                       rel2{relative: MINIATURE_COL_2_MAX MINIATURE_ROW_1_MAX;}
-                               }
-                       }
-                       part {
-                               name: "miniature_2";
-                               type: SWALLOW;
-                               description {
-                                       state: "default" 0.0;
-                                       rel1{relative: MINIATURE_CENTER_MIN MINIATURE_CENTER_MIN; to: "folder_icon_exterior";}
-                                       rel2{relative: MINIATURE_CENTER_MAX MINIATURE_CENTER_MAX; to: "folder_icon_exterior";}
-                               }
-                               description  {
-                                       state: "apps_4" 0.0;
-                                       inherit: "default" 0.0;
-                                       rel1{relative: MINIATURE_COL_1_MIN MINIATURE_ROW_2_MIN;}
-                                       rel2{relative: MINIATURE_COL_1_MAX MINIATURE_ROW_2_MAX;}
-                               }
-                       }
-                       part {
-                               name: "miniature_3";
-                               type: SWALLOW;
-                               description {
-                                       state: "default" 0.0;
-                                       rel1{relative: MINIATURE_CENTER_MIN MINIATURE_CENTER_MIN; to: "folder_icon_exterior";}
-                                       rel2{relative: MINIATURE_CENTER_MAX MINIATURE_CENTER_MAX; to: "folder_icon_exterior";}
-                               }
-                               description  {
-                                       state: "apps_4" 0.0;
-                                       inherit: "default" 0.0;
-                                       rel1{relative: MINIATURE_COL_2_MIN MINIATURE_ROW_2_MIN;}
-                                       rel2{relative: MINIATURE_COL_2_MAX MINIATURE_ROW_2_MAX;}
-                               }
-                       }
-               }
-
-               programs {
-                       program {
-                               name: "folder_clicked_program";
-                               signal :"mouse,clicked,1";
-                               source: "icon_content";
-                               action: SIGNAL_EMIT SIGNAL_FOLDER_CLICKED SIGNAL_SOURCE;
-                               //after: program with change the icon shadow state to clicked!
-                       }
-                       program {
-                               name: "set,miniatures,1";
-                               signal: "set,miniatures,1";
-                               source: SIGNAL_SOURCE;
-                               action: STATE_SET "default" 0.0;
-                               target: "folder_icon_interior";
-                               after: "content_update_1";
-                       }
-                       program {
-                               name: "content_update_1";
-                               action: STATE_SET "apps_1" 0.0;
-                               target: "miniature_0";
-                               transition: DECELERATE 0.2;
-                       }
-
-                       program {
-                               name: "set,miniatures,2";
-                               signal: "set,miniatures,2";
-                               source: SIGNAL_SOURCE;
-                               action: STATE_SET "default" 0.0;
-                               target: "folder_icon_interior";
-                               after: "content_update_2";
-                       }
-                       program {
-                               name: "content_update_2";
-                               action: STATE_SET "apps_2" 0.0;
-                               target: "miniature_0";
-                               target: "miniature_1";
-                               transition: DECELERATE 0.2;
-                       }
-
-                       program {
-                               name: "set,miniatures,4";
-                               signal: "set,miniatures,4";
-                               source: SIGNAL_SOURCE;
-                               action: STATE_SET "default" 0.0;
-                               target: "folder_icon_interior";
-                               after: "content_update_4";
-                       }
-                       program {
-                               name: "content_update_4";
-                               action: STATE_SET "apps_4" 0.0;
-                               target: "miniature_0";
-                               target: "miniature_1";
-                               target: "miniature_2";
-                               target: "miniature_3";
-                               transition: DECELERATE 0.2;
-                       }
-                       program {
-                               name: "show,bg,possible";
-                               signal: SIGNAL_FRAME_POSSIBLE_SHOW;
-                               source: SIGNAL_SOURCE;
-                               action: STATE_SET "frame_possible" 0.0;
-                               target: "folder_icon_exterior";
-                       }
-                       program {
-                               name: "show,bg,impossible";
-                               signal: SIGNAL_FRAME_IMPOSSIBLE_SHOW;
-                               source: SIGNAL_SOURCE;
-                               action: STATE_SET "frame_impossible" 0.0;
-                               target: "folder_icon_exterior";
-                       }
-                       program {
-                               name: "show,bg,default";
-                               signal: SIGNAL_FRAME_HIDE;
-                               source: SIGNAL_SOURCE;
-                               action: STATE_SET "default" 0.0;
-                               target: "folder_icon_exterior";
-                       }
-                       program {
-                               name: "show,bg,empty";
-                               signal: SIGNAL_EMPTY_BG_SHOW;
-                               source: SIGNAL_SOURCE;
-                               action: STATE_SET "empty_folder" 0.0;
-                               target: "folder_icon_interior";
-                       }
-                       program {
-                               name: "hide,bg,empty";
-                               action: STATE_SET "default" 0.0;
-                               target: "folder_icon_interior";
-                       }
-               }
-       }
-
-       group {
-               name: GROUP_FOLDER_ADD_ICON;
-               parts {
-                       part {
-                               name: "bg";
-                               type: SPACER;
-                               scale: 1;
-                               description {
-                                       state: "default" 0.0;
-                                       rel1{relative: 0.0 0.0;}
-                                       rel2{relative: 1.0 1.0;}
-                               }
-                               description
-                               {
-                                       state: "manage_state" 0.0;
-                                       inherit: "default" 0.0;
-                               }
-                       }
-                       part
-                       {
-                               name: "add_icon";
-                               type: IMAGE;
-                               scale: 1;
-                               mouse_events: 1;
-                               description
-                               {
-                                       state: "default" 0.0;
-                                       rel1 {relative: 0.0 0.0; to: "bg";}
-                                       rel2 {relative: 1.0 1.0; to: "bg";}
-                                       aspect: 1.0 1.0;
-                                       aspect_preference: BOTH;
-                                       image {
-                                               normal: "btn_add_nor.png";
-                                       }
-                               }
-                               description
-                               {
-                                       state: "pressed" 0.0;
-                                       inherit: "default" 0.0;
-                                       image {
-                                               normal: "btn_add_press.png";
-                                       }
-                               }
-                       }
-               }
-               programs {
-                       program {
-                               name: "add_pressed";
-                               signal: "mouse,down,1";
-                               source: "add_icon";
-                               action: STATE_SET "pressed" 0.0;
-                               target: "add_icon";
-                               transition: DECELERATE 0.2;
-                       }
-                       program {
-                               name: "add_released";
-                               signal: "mouse,up,1";
-                               source: "add_icon";
-                               action: STATE_SET "default" 0.0;
-                               target: "add_icon";
-                               transition: DECELERATE 0.2;
-                       }
-               }
-       }
-
-       group {
-               name: GROUP_FOLDER_WINDOW;
-               parts {
-                       part {
-                               name: "bg"; //this part should be rect because click on it should close the folder.
-                               type: RECT;
-                               mouse_events: 1;
-                               repeat_events: 0;
-                               description {
-                                       state: "default" 0.0;
-                                       color: 0 0 0 0;
-                                       rel1.relative: 0.0 0.0;
-                                       rel2.relative: 1.0 1.0;
-                               }
-                       }
-               }
-               programs {
-                       program {
-                               name: "background_clicked_cb";
-                               signal: "mouse,clicked,1";
-                               source: "bg";
-                               action: SIGNAL_EMIT "bg_clicked" SIGNAL_SOURCE;
-                       }
-               }
-       }
-
-       group
-       {
-               name: GROUP_FOLDER_POPUP;
-               parts
-               {
-                       part
-                       {
-                               name: "folder_bg";
-                               type: IMAGE;
-                               description
-                               {
-                                       state: "default" 0.0;
-                                       rel1 {relative: 0.0 0.0;}
-                                       rel2 {relative: 1.0 0.0;}
-                                       image {
-                                               normal: "folder_popup_bg.png";
-                                               border: 5 5 5 5;
-                                       }
-                               }
-                               description {
-                                       state: "done";
-                                       inherit: "default" 0.0;
-                                       rel1 {relative: 0.0 0.0;}
-                                       rel2 {relative: 1.0 1.0;}
-                               }
-                       }
-                       part
-                       {
-                               name: "separator";
-                               type: RECT;
-                               description
-                               {
-                                       state: "default" 0.0;
-                                       rel1 {relative: FOLDER_LEFT_MARGIN FOLDER_SEPARATOR_Y_MIN; to: "folder_bg";}
-                                       rel2 {relative: FOLDER_RIGHT_MARGIN FOLDER_SEPARATOR_Y_MAX; to: "folder_bg";}
-                                       color: 0 0 255 150;
-                               }
-                       }
-                       part
-                       {
-                               name: PART_FOLDER_NAME; //align y 0.0
-                               type: SWALLOW;
-                               description
-                               {
-                                       state: "default" 0.0;
-                                       rel1 {relative: 0.15 FOLDER_NAME_Y_MIN; to: "folder_bg";}
-                                       rel2 {relative: 0.85 FOLDER_NAME_Y_MAX; to: "folder_bg";}
-                                       color: 0 0 0 0;
-                                       visible: 0;
-                               }
-                               description {
-                                       state: "done" 0.0;
-                                       inherit: "default" 0.0;
-                                       visible: 1;
-                               }
-                       }
-                       part {
-                               name: PART_FOLDER_UNNAMED_TEXT;
-                               type: TEXT;
-                               mouse_events: 1;
-                               repeat_events: 1;
-                               description {
-                                       state: "default" 0.0;
-                                       rel1 { relative: 0.0 0.0; to: PART_FOLDER_NAME;}
-                                       rel2 { relative: 1.0 1.0; to: PART_FOLDER_NAME;}
-                                       color: 0 0 0 255;
-                                       visible: 0;
-                                       text {
-                                               text: "";
-                                               size: 26;
-                                       }
-                               }
-                               description {
-                                       state: "visible" 0.0;
-                                       inherit: "default" 0.0;
-                                       visible: 1;
-                               }
-                       }
-                       part
-                       {
-                               name: "folder_clear_text_btn";
-                               type: IMAGE;
-                               description {
-                                       state: "default" 0.0;
-                                       rel1 {relative: 1.02 0.12; to: PART_FOLDER_NAME;}
-                                       rel2 {relative: 1.10 0.88; to: PART_FOLDER_NAME;}
-                                       aspect_preference: BOTH;
-                                       image
-                                       {
-                                               normal: "btn_input_clear.png";
-                                       }
-                                       visible: 0;
-                               }
-                               description
-                               {
-                                       state: "visible" 0.0;
-                                       inherit: "default" 0.0;
-                                       visible: 1;
-                               }
-                               description
-                               {
-                                       state: "dim" 0.0;
-                                       inherit: "visible";
-                                       color: 20 20 20 255;
-                               }
-                       }
-                       part
-                       {
-                               name: "folder_entry_block";
-                               type: RECT;
-                               repeat_events: 0;
-                               description
-                               {
-                                       state: "default" 0.0;
-                                       rel1 {relative: 0.0 0.0; to: PART_FOLDER_NAME;}
-                                       rel2 {relative: 1.0 1.0; to: PART_FOLDER_NAME;}
-                                       color: 0 0 0 0;
-                                       visible: 0;
-                               }
-                               description
-                               {
-                                       state: "block_on" 0.0;
-                                       inherit: "default" 0.0;
-                                       visible: 1;
-                               }
-                       }
-                       part
-                       {
-                               name: PART_FOLDER_CONTENT; //align y 1.0
-                               type: SWALLOW;
-                               description
-                               {
-                                       state: "default";
-                                       rel1 {relative: FOLDER_LEFT_MARGIN FOLDER_CONTENT_Y_MIN; to: "folder_bg";}
-                                       rel2 {relative: FOLDER_RIGHT_MARGIN FOLDER_CONTENT_Y_MAX; to: "folder_bg";}
-                                       color: 0 0 0 0;
-                               }
-                       }
-               }
-               programs
-               {
-                       //Clear button programs
-                       program
-                       {
-                               name: "clear_button_show";
-                               signal: SIGNAL_CLEAR_BTN_SHOW;
-                               source: SIGNAL_SOURCE;
-                               action: STATE_SET "visible" 0.0;
-                               target: "folder_clear_text_btn";
-                       }
-                       program
-                       {
-                               name: "clear_button_hide";
-                               signal: SIGNAL_CLEAR_BTN_HIDE;
-                               source: SIGNAL_SOURCE;
-                               action: STATE_SET "default" 0.0;
-                               target: "folder_clear_text_btn";
-                       }
-                       program
-                       {
-                               name: "folder_entry_block_on";
-                               signal: SIGNAL_ENTRY_BLOCK_ON;
-                               source: SIGNAL_SOURCE;
-                               action: STATE_SET "block_on" 0.0;
-                               target: "folder_entry_block";
-                       }
-                       program
-                       {
-                               name: "folder_entry_block_off";
-                               signal: SIGNAL_ENTRY_BLOCK_OFF;
-                               source: SIGNAL_SOURCE;
-                               action: STATE_SET "default" 0.0;
-                               target: "folder_entry_block";
-                       }
-                       program
-                       {
-                               name: "clear_btn_clicked";
-                               signal: "mouse,clicked,1";
-                               source: "folder_clear_text_btn";
-                               action: SIGNAL_EMIT SIGNAL_CLEAR_BTN_CLICKED SIGNAL_SOURCE;
-                       }
-                       program
-                       {
-                               name: "clear_btn_mouse_down";
-                               signal: "mouse,down,1";
-                               source: "folder_clear_text_btn";
-                               action: STATE_SET "dim" 0.0;
-                               target: "folder_clear_text_btn";
-                       }
-                       program
-                       {
-                               name: "clear_btn_mouse_up";
-                               signal: "mouse,up,1";
-                               source: "folder_clear_text_btn";
-                               action: STATE_SET "visible" 0.0;
-                               target: "folder_clear_text_btn";
-                       }
-                       //Animations
-                       program {
-                               name: "folder_open_animation";
-                               signal: SIGNAL_FOLDER_PANEL_OPEN;
-                               source: SIGNAL_SOURCE;
-                               action: STATE_SET "done" 0.0;
-                               target: "folder_bg";
-                               after: "show_entry_program";
-                               transition: DECELERATE 0.3;
-                       }
-                       program {
-                               name: "show_entry_program";
-                               action: STATE_SET "done" 0.0;
-                               target: PART_FOLDER_NAME;
-                       }
-                       program {
-                               name: "folder_close_animation_start";
-                               signal: SIGNAL_FOLDER_PANEL_CLOSE;
-                               source: SIGNAL_SOURCE;
-                               action: STATE_SET "default" 0.0;
-                               target: PART_FOLDER_NAME;
-                               after: "folder_close_animation";
-                       }
-                       program {
-                               name: "folder_close_animation";
-                               action: STATE_SET "default" 0.0;
-                               target: "folder_bg";
-                               after: "folder_close_animation_done";
-                               transition: DECELERATE 0.3;
-                       }
-                       program {
-                               name: "folder_close_animation_done";
-                               action: SIGNAL_EMIT SIGNAL_FOLDER_ANIM_DONE SIGNAL_SOURCE;
-                       }
-                       program {
-                               name: "unnamed_text_show";
-                               signal: SIGNAL_FOLDER_UNNAMED_TEXT_SHOW;
-                               source: SIGNAL_SOURCE;
-                               action: STATE_SET "visible" 0.0;
-                               target: PART_FOLDER_UNNAMED_TEXT;
-                       }
-                       program {
-                               name: "unnamed_text_hide";
-                               signal: SIGNAL_FOLDER_UNNAMED_TEXT_HIDE;
-                               source: SIGNAL_SOURCE;
-                               action: STATE_SET "default" 0.0;
-                               target: PART_FOLDER_UNNAMED_TEXT;
-                       }
-               }
-       }
-}
diff --git a/res/edje/folder_entry.edc b/res/edje/folder_entry.edc
deleted file mode 100644 (file)
index dae6e60..0000000
+++ /dev/null
@@ -1,244 +0,0 @@
-/*
- * Copyright 2012  Samsung Electronics Co., Ltd
- *
- * Licensed under the Flora License, Version 1.1 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://floralicense.org/license/
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-collections {
-       base_scale: 1.8;
-       group {
-               name: "elm/entry/base-single/default";
-               styles {
-                       style { name: "entry_single_textblock_style";
-                          base: "font=Tizen:style=Regular color=#00000000 align=center font_size=26 style=shadow shadow_color=#000000bf wrap=word";
-                       }
-                       style { name: "entry_single_textblock_disabled_style";
-                          base: "font=Tizen:style=Regular color=#00000000 align=center font_size=26 style=shadow shadow_color=#000000bf wrap=word";
-                       }
-               }
-               data {
-                       item: context_menu_orientation "horizontal";
-               }
-               parts {
-                       part {
-                               name: "entry.swallow.background";
-                               type: SWALLOW;
-                               scale: 1;
-                               description {
-                                       state: "default" 0.0;
-                                       visible: 1;
-                                       rel1 { relative: 0 0; to: "elm.text"; }
-                                       rel2 { relative: 1 1; to: "elm.text"; }
-                               }
-                       }
-               }
-               parts {
-                       part {
-                               name: "elm.text";
-                               type: TEXTBLOCK;
-                               mouse_events: 1;
-                               scale: 1;
-                               entry_mode: EDITABLE;
-                               multiline: 0;
-                               source: "elm/entry/selection/default";
-                               source4: "elm/entry/cursor/default";
-                               source5: "elm/entry/anchor/default";
-                               description {
-                                       state: "default" 0.0;
-                                       text {
-                                               style: "entry_single_textblock_style";
-                                               min: 1 1;
-                                               max: 0 1;
-                                               ellipsis: -1;
-                                       }
-                               }
-                               description {
-                                       state: "disabled" 0.0;
-                                       inherit: "default" 0.0;
-                                       text {
-                                               style: "entry_single_textblock_disabled_style";
-                                       }
-                               }
-                       }
-               }
-               programs {
-                       program {
-                               name: "focus";
-                               signal: "load";
-                               source: "";
-                               action: FOCUS_SET;
-                               target: "elm.text";
-                       }
-                       program {
-                               name: "disable";
-                               signal: "elm,state,disabled";
-                               source: "elm";
-                               action: STATE_SET "disabled" 0.0;
-                               target: "elm.text";
-                       }
-                       program {
-                               name: "enable";
-                               signal: "elm,state,enabled";
-                               source: "elm";
-                               action: STATE_SET "default" 0.0;
-                               target: "elm.text";
-                       }
-               }
-       }
-       group {
-               name: "elm/entry/cursor/default";
-               parts {
-                       part {
-                               name: "clip2";
-                               type: RECT;
-                               mouse_events: 0;
-                               scale: 1;
-                               description {
-                                       state: "default" 0.0;
-                                       rel1.to: "clip";
-                                       rel2.to: "clip";
-                                       visible: 0;
-                               }
-                               description {
-                                       state: "focused" 0.0;
-                                       inherit: "default" 0.0;
-                                       visible: 1;
-                               }
-                       }
-                       part {
-                               name: "clip";
-                               type: RECT;
-                               mouse_events: 0;
-                               scale: 1;
-                               clip_to: "clip2";
-                               description {
-                                       state: "default" 0.0;
-                                       rel1.offset: -10 0;
-                                       rel2.offset: 9 9;
-                               }
-                               description {
-                                       state: "hidden" 0.0;
-                                       inherit: "default" 0.0;
-                                       visible: 0;
-                               }
-                       }
-                       part {
-                               name: "base";
-                               type: RECT;
-                               mouse_events: 0;
-                               scale: 1;
-                               clip_to: "clip";
-                               description {
-                                       state: "default" 0.0;
-                                       min: 2 2;
-                                       align: 0.5 1.0;
-                                       color: 0 0 0 0;
-                               }
-                       }
-                       part {
-                               name: "glow";
-                               type: RECT;
-                               mouse_events: 0;
-                               scale: 1;
-                               clip_to: "clip2";
-                               description {
-                                       state: "default" 0.0;
-                                       min: 4 0;
-                                       fixed: 1 0;
-                                       align: 0.5 0.5;
-                                       rel1 {
-                                               relative: 0.0  0.0;
-                                               offset: 0 2;
-                                       }
-                                       rel2 {
-                                               relative: 0.0  1.0;
-                                               offset: 0 -2;
-                                       }
-                                       color: 42 137 194 255;
-                               }
-                               description {
-                                       state: "hidden" 0.0;
-                                       inherit: "default" 0.0;
-                                       color: 0 0 0 0;
-                               }
-                       }
-               }
-               programs {
-                       program {
-                               name: "show";
-                               action: STATE_SET "hidden" 0.0;
-                               in: 0.6 0.0;
-                               target: "glow";
-                               after: "show4";
-                       }
-                       program {
-                               name: "show4";
-                               action: STATE_SET "default" 0.0;
-                               in: 0.6 0.0;
-                               target: "glow";
-                               after: "show";
-                       }
-                       program {
-                               name: "focused";
-                               signal: "elm,action,focus";
-                               source: "elm";
-                               action: STATE_SET "focused" 0.0;
-                               target: "clip2";
-                               after: "show4";
-                       }
-                       program {
-                               name: "unfocused";
-                               signal: "elm,action,unfocus";
-                               source: "elm";
-                               action: STATE_SET "default" 0.0;
-                               target: "clip2";
-                               after: "stop_glow";
-                       }
-                       program {
-                               name: "stop_glow";
-                               action: ACTION_STOP;
-                               target: "show";
-                               target: "show4";
-                       }
-               }
-       }
-       group { name: "elm/entry/selection/default";
-               parts {
-                       part {
-                               name: "bg";
-                               type: RECT;
-                               scale: 1;
-                               mouse_events: 0;
-                               description {
-                                       state: "default" 0.0;
-                                       color: 138 183 223 128;
-                               }
-                       }
-               }
-       }
-       group {
-               name: "elm/entry/anchor/default";
-               parts {
-                       part {
-                               name: "bg";
-                               type: RECT;
-                               scale: 1;
-                               mouse_events: 0;
-                               description {
-                                       state: "default" 0.0;
-                                       color: 128 0 0 64;
-                               }
-                       }
-               }
-       }
-}
old mode 100644 (file)
new mode 100755 (executable)
index 1f1ebf2..5398e9b
  * limitations under the License.
  */
 
-#include "../../inc/conf.h"
-
-images {
-       image: "home_button_bg.png" COMP;
-       image: "home_icon_home.png" COMP;
-       image: "home_icon_menu.png" COMP;
-       image: "all_apps_icon_menu.png" COMP;
-       image: "home_icon_reorder.png" COMP;
-}
+#include "../../inc/edc_conf.h"
 
 collections {
-       group {
-               name: "home_ly";
-               parts {
-                       part {
-                               name: "bg_spacer";
-                               type: SPACER;
-                               scale: 0;
-                               description {
-                                       state: "default" 0.0;
-                                       rel1.relative: 0.0 0.0;
-                                       rel2.relative: 1.0 1.0;
-                                       /*
-                                       * This is temporary fix due to strange elm_box bechaviour in the index swallow.
-                                       * Box has dynamic size which affects whole layout.
-                                       */
-                                       min: 720 1280;
-                                       max: 720 1280;
-                               }
-                       }
-                       part {
-                               name: "content";
-                               type: SWALLOW;
-                               mouse_events: 1;
-                               repeat_events: 1;
-                               scale: 0;
-                               description {
-                                       state: "default" 0.0;
-                                       rel1.relative: 0.0 0.0/*HOME_WGT_MIN_Y*/;
-                                       rel2.relative: 1.0 1.0/*HOME_WGT_MAX_Y*/;
-                               }
-                       }
-
-                       /*======================CHOOSER CAPTION=========================*/
-                       part {
-                               name: "chooser_caption";
-                               type: SPACER;
-                               scale: 0;
-                               description {
-                                       state: "default" 0.0;
-                                       rel1.relative: 0.0 HOME_CHOOSER_CAPTION_Y_MIN;
-                                       rel2.relative: 1.0 HOME_CHOOSER_CAPTION_Y_MAX;
-                               }
-                       }
-                       part {
-                               name: PART_CHOOSER_CAPTION_MIDDLE_LABEL;
-                               type: TEXT;
-                               scale: 1;
-                               description
-                               {
-                                       state: "default" 0.0;
-                                       visible: 0;
-                                       color: 255 255 255 255;
-                                       text
-                                       {
-                                               align: 0.5 0.90;
-                                               text:"999 selected";
-                                               size: 36;
-                                       }
-                                       rel1
-                                       {
-                                               relative: 0.30 0.0;
-                                               to: "chooser_caption";
-                                       }
-                                       rel2
-                                       {
-                                               relative: 0.70 1.0;
-                                               to: "chooser_caption";
-                                       }
-                               }
-                               description {
-                                       state: "chooser_activated" 0.0;
-                                       inherit: "default" 0.0;
-                                       visible: 1;
-                               }
-                        }
-                        part {
-                               name: PART_CHOOSER_CAPTION_LEFT_LABEL;
-                               type: TEXT;
-                               scale: 1;
-                               description
-                               {
-                                       color: 255 255 255 255;
-                                       state: "default" 0.0;
-                                       visible: 0;
-                                       text
-                                       {
-                                               align: 0.25 0.90;
-                                               size: 28;
-                                               text: "CANCEL";
-                                       }
-                                       rel1
-                                       {
-                                               relative: 0.0 0.0;
-                                               to: "chooser_caption";
-                                       }
-                                       rel2
-                                       {
-                                               relative: 0.33 1.0;
-                                               to: "chooser_caption";
-                                       }
-                               }
-                               description {
-                                       state: "chooser_activated" 0.0;
-                                       inherit: "default" 0.0;
-                                       visible: 1;
-                               }
-                        }
-                        part {
-                               name: "chooser_caption_left_clickable_space";
-                               type: RECT;
-                               mouse_events: 1;
-                               scale: 0;
-                               description
-                               {
-                                       state: "default" 0.0;
-                                       color: 0 0 0 0;
-                                       visible: 0;
-                                       rel1
-                                       {
-                                               to: "chooser_caption_left_label";
-                                               relative: 0.0 0.0;
-                                       }
-                                       rel2
-                                       {
-                                               to: "chooser_caption_left_label";
-                                               relative: 1.0 1.0;
-                                       }
-                               }
-                               description {
-                                       state: "chooser_activated" 0.0;
-                                       inherit: "default" 0.0;
-                                       visible: 1;
-                               }
-                       }
-                       part {
-                               name: PART_CHOOSER_CAPTION_RIGHT_LABEL;
-                               type: TEXT;
-                               scale: 1;
-                               description
-                               {
-                                       state: "default" 0.0;
-                                       visible: 0;
-                                       color: 255 255 255 255;
-                                       text
-                                       {
-                                               align: (1.0 - 0.25) 0.90;
-                                               size: 28;
-                                               text: "DONE";
-                                       }
-                                       rel1
-                                       {
-                                               relative: 0.66 0.0;
-                                               to: "chooser_caption";
-                                       }
-                                       rel2
-                                       {
-                                               relative: 1.0 1.0;
-                                               to: "chooser_caption";
-                                       }
-                               }
-                               description {
-                                       state: "chooser_activated" 0.0;
-                                       inherit: "default" 0.0;
-                                       visible: 1;
-                               }
-                       }
-                       part {
-                               name: "chooser_caption_right_clickable_space";
-                               type: RECT;
-                               mouse_events: 1;
-                               scale: 0;
-                               description
-                               {
-                                       state: "default" 0.0;
-                                       visible: 0;
-                                       color: 0 0 0 0;
-                                       rel1
-                                       {
-                                               to: "chooser_caption_right_label";
-                                               relative: 0.0 0.0;
-                                       }
-                                       rel2
-                                       {
-                                               to: "chooser_caption_right_label";
-                                               relative: 1.0 1.0;
-                                       }
-                               }
-                               description {
-                                       state: "chooser_activated" 0.0;
-                                       inherit: "default" 0.0;
-                                       visible: 1;
-                               }
-                       }
-
-                       /*==================== BUTTON : MENU IMPLEMENATION ===============*/
-                       part {
-                               name: "menu_btn";
-                               type: SPACER;
-                               scale: 0;
-                               description {
-                                       state: "default" 0.0;
-                                       rel1.relative: HOME_MENU_BTN_X_MIN HOME_BTNS_Y_MIN;
-                                       rel2.relative: HOME_MENU_BTN_X_MAX HOME_BTNS_Y_MAX;
-                               }
-                       }
-                       part {
-                               name: "menu_btn_bg";
-                               type: IMAGE;
-                               scale: 0;
-                               description {
-                                       state: "default" 0.0;
-                                       rel1 { relative: 0.0 0.0; to: "menu_btn"; }
-                                       rel2 { relative: 1.0 1.0; to: "menu_btn"; }
-                                       color: 0 0 0 40;
-                                       visible: 1;
-                                       image {
-                                               normal: "home_button_bg.png";
-                                       }
-                               }
-                               description {
-                                       state: "press" 0.0;
-                                       inherit: "default" 0.0;
-                                       color: 255 255 255 40;
-                               }
-                               description {
-                                       state: "chooser_activated" 0.0;
-                                       visible: 0;
-                               }
-                               description
-                               {
-                                       state: "all_apps_view_state" 0.0;
-                                       inherit: "default" 0.0;
-                               }
-                               description
-                               {
-                                       state: "home_view_state" 0.0;
-                                       inherit: "default" 0.0;
-                               }
-                               description
-                               {
-                                       state: "all_apps_edit_state" 0.0;
-                                       inherit: "default" 0.0;
-                                       visible: 0;
-                               }
-                       }
-                       part {
-                               name: "home_view_menu_icon";
-                               type: IMAGE;
-                               mouse_events: 0;
-                               repeat_events: 1;
-                               scale: 0;
-                               description
-                               {
-                                       state: "default" 0.0;
-                                       rel1 { relative: 0.27 0.1; to: "menu_btn"; }
-                                       rel2 { relative: 0.73 0.9; to: "menu_btn"; }
-                                       color: 255 255 255 255;
-                                       visible: 1;
-                                       image
-                                       {
-                                               normal: "home_icon_menu.png";
-                                       }
-                               }
-                               description
-                               {
-                                       state: "all_apps_view_state" 0.0;
-                                       inherit: "default" 0.0;
-                                       color: 255 255 255 0;
-                               }
-                               description
-                               {
-                                       state: "home_view_state" 0.0;
-                                       inherit: "default" 0.0;
-                               }
-                               description
-                               {
-                                       state: "all_apps_edit_state" 0.0;
-                                       inherit: "all_apps_view_state" 0.0;
-                                       visible: 0;
-                               }
-                       }
-                       part
-                       {
-                               name: "all_apps_view_menu_icon";
-                               type: IMAGE;
-                               mouse_events: 0;
-                               repeat_events: 1;
-                               scale: 0;
-                               description
-                               {
-                                       state: "default" 0.0;
-                                       rel1 { relative: 0.27 0.1; to: "menu_btn"; }
-                                       rel2 { relative: 0.73 0.9; to: "menu_btn"; }
-                                       color: 255 255 255 0;
-                                       visible: 1;
-                                       image
-                                       {
-                                               normal: "all_apps_icon_menu.png";
-                                       }
-                               }
-                               description
-                               {
-                                       state: "chooser_activated" 0.0;
-                                       visible: 0;
-                               }
-                               description
-                               {
-                                       state: "all_apps_view_state" 0.0;
-                                       inherit: "default" 0.0;
-                                       color: 255 255 255 255;
-                               }
-                               description
-                               {
-                                       state: "home_view_state" 0.0;
-                                       inherit: "default" 0.0;
-                               }
-                               description
-                               {
-                                       state: "all_apps_edit_state" 0.0;
-                                       inherit: "all_apps_view_state" 0.0;
-                                       visible: 0;
-                               }
-                       }
-
-                       /*==================== BUTTON : HOME ICON IMPLEMENTATION ===============*/
-                       part {
-                               name: "home";
-                               type: SPACER;
-                               scale: 0;
-                               description {
-                                       state: "default" 0.0;
-                                       rel1.relative: HOME_HOME_BTN_X_MIN HOME_BTNS_Y_MIN;
-                                       rel2.relative: HOME_HOME_BTN_X_MAX HOME_BTNS_Y_MAX;
-                               }
-                       }
-                       part {
-                               name: "home_btn_bg";
-                               type: IMAGE;
-                               scale: 0;
-                               description {
-                                       state: "default" 0.0;
-                                       rel1 { relative: 0.0 0.0; to: "home"; }
-                                       rel2 { relative: 1.0 1.0; to: "home"; }
-                                       color: 0 0 0 40;
-                                       visible: 1;
-                                       image {
-                                               normal: "home_button_bg.png";
-                                       }
-                               }
-                               description {
-                                       state: "press" 0.0;
-                                       inherit: "default" 0.0;
-                                       color: 255 255 255 40;
-                               }
-                               description {
-                                       state: "chooser_activated" 0.0;
-                                       visible: 0;
-                               }
-                               description
-                               {
-                                       state: "all_apps_view_state" 0.0;
-                                       inherit: "default" 0.0;
-                               }
-                               description
-                               {
-                                       state: "home_view_state" 0.0;
-                                       inherit: "default" 0.0;
-                               }
-                               description
-                               {
-                                       state: "all_apps_edit_state" 0.0;
-                                       inherit: "default" 0.0;
-                                       visible: 0;
-                               }
-                       }
-                       part
-                       {
-                               name: "home_view_home_icon";
-                               type: IMAGE;
-                               mouse_events: 0;
-                               repeat_events: 1;
-                               scale: 0;
-                               description
-                               {
-                                       state: "default" 0.0;
-                                       rel1 { relative: 0.27 0.1; to: "home"; }
-                                       rel2 { relative: 0.73 0.9; to: "home"; }
-                                       color: 255 255 255 255;
-                                       visible: 1;
-                                       image
-                                       {
-                                               normal: "home_icon_reorder.png";
-                                       }
-                               }
-                               description
-                               {
-                                       state: "chooser_activated" 0.0;
-                                       visible: 0;
-                               }
-                               description
-                               {
-                                       state: "all_apps_view_state" 0.0;
-                                       inherit: "default" 0.0;
-                                       color: 255 255 255 0;
-                               }
-                               description
-                               {
-                                       state: "home_view_state" 0.0;
-                                       inherit: "default" 0.0;
-                               }
-                               description
-                               {
-                                       state: "home_edit_state" 0.0;
-                                       inherit: "default" 0.0;
-                                       visible: 0;
-                               }
-                               description
-                               {
-                                       state: "all_apps_edit_state" 0.0;
-                                       inherit: "all_apps_view_state" 0.0;
-                                       visible: 0;
-                               }
-                       }
-
-                       part
-                       {
-                               name: "all_apps_view_home_icon";
-                               type: IMAGE;
-                               mouse_events: 0;
-                               repeat_events: 1;
-                               scale: 0;
-                               description
-                               {
-                                       state: "default" 0.0;
-                                       rel1 { relative: 0.27 0.1; to: "home"; }
-                                       rel2 { relative: 0.73 0.9; to: "home"; }
-                                       color: 255 255 255 0;
-                                       visible: 1;
-                                       image
-                                       {
-                                               normal: "home_icon_home.png";
-                                       }
-                               }
-                               description
-                               {
-                                       state: "chooser_activated" 0.0;
-                                       visible: 0;
-                               }
-                               description
-                               {
-                                       state: "all_apps_view_state" 0.0;
-                                       inherit: "default" 0.0;
-                                       color: 255 255 255 255;
-                               }
-                               description
-                               {
-                                       state: "home_view_state" 0.0;
-                                       inherit: "default" 0.0;
-                                       color: 255 255 255 0;
-                               }
-                               description
-                               {
-                                       state: "home_edit_state" 0.0;
-                                       inherit: "default" 0.0;
-                                       visible: 0;
-                               }
-                               description
-                               {
-                                       state: "all_apps_edit_state" 0.0;
-                                       inherit: "all_apps_view_state" 0.0;
-                                       visible: 0;
-                               }
-                       }
-
-                       /*==================== DYNAMIC INDEX: ===============*/
-                       part {
-                               name: PART_INDEX;
-                               type: SWALLOW;
-                               scale: 0;
-                               description {
-                                       state: "default" 0.0;
-                                       rel1.relative: HOME_PG_INDEX_X_MIN HOME_BTNS_Y_MIN;
-                                       rel2.relative: HOME_PG_INDEX_X_MAX HOME_BTNS_Y_MAX;
-                               }
-                       }
-                       part {
-                               name: PART_NEXT_PAGE_INDICE;
-                               type: RECT;
-                               scale: 0;
-                               description {
-                                       state: "default" 0.0;
-                                       color: 20 20 100 100;
-                                       rel1.relative: INDICE_NEXT_PAGE_X_MIN HOME_WGT_MIN_Y;
-                                       rel2.relative: INDICE_NEXT_PAGE_X_MAX HOME_WGT_EDIT_MAX_Y;
-                                       visible: 0;
-                               }
-                               description {
-                                       state: "visible" 0.0;
-                                       inherit: "default" 0.0;
-                                       visible: 1;
-                               }
-                       }
-                       part {
-                               name: PART_PREV_PAGE_INDICE;
-                               type: RECT;
-                               scale: 0;
-                               description {
-                                       state: "default" 0.0;
-                                       color: 20 20 100 100;
-                                       rel1.relative: INDICE_PREV_PAGE_X_MIN HOME_WGT_MIN_Y;
-                                       rel2.relative: INDICE_PREV_PAGE_X_MAX HOME_WGT_EDIT_MAX_Y;
-                                       visible: 0;
-                               }
-                               description {
-                                       state: "visible" 0.0;
-                                       inherit: "default" 0.0;
-                                       visible: 1;
-                               }
-                       }
-                       part {
-                               name: PART_EVENT_BLOCKER;
-                               type: RECT;
-                               mouse_events:  1;
-                               repeat_events: 0;
-                               description {
-                                       state: "default" 0.0;
-                                       visible: 0;
-                                       rel1 {relative: 0.0 0.0; to: "bg_spacer";}
-                                       rel2 {relative: 1.0 1.0; to: "bg_spacer";}
-                                       color: 0 0 0 0;
-                               }
-                               description {
-                                       state: "blocked" 0.0;
-                                       inherit: "default" 0.0;
-                                       visible: 1;
-                               }
-                       }
-               }
-               /*============== PROGRAMS TO OPERATE ON bottom buttons =============*/
-               programs {
-                       program {
-                               name: "menu_btn_down";
-                               signal: "mouse,down,1";
-                               source: "menu_btn_bg";
-                               action: STATE_SET "press" 0.0;
-                               target: "menu_btn_bg";
-                               transition: DECELERATE 0.1;
-                       }
-                       program {
-                               name: "menu_btn_up";
-                               signal: "mouse,up,1";
-                               source: "menu_btn_bg";
-                               action: STATE_SET "default" 0.0;
-                               target: "menu_btn_bg";
-                               transition: DECELERATE 0.1;
-                       }
-                       program {
-                               name: "menu_btn_click";
-                               signal: "mouse,clicked,1";
-                               source: "menu_btn_bg";
-                               action: SIGNAL_EMIT SIGNAL_MENU_BTN_CLICKED SIGNAL_SOURCE;
-                       }
-                       program {
-                               name: "home_btn_down";
-                               signal: "mouse,down,1";
-                               source: "home_btn_bg";
-                               action: STATE_SET "press" 0.0;
-                               target: "home_btn_bg";
-                               transition: DECELERATE 0.1;
-                       }
-                       program {
-                               name: "home_btn_up";
-                               signal: "mouse,up,1";
-                               source: "home_btn_bg";
-                               action: STATE_SET "default" 0.0;
-                               target: "home_btn_bg";
-                               transition: DECELERATE 0.1;
-                       }
-                       program {
-                               name: "home_btn_click";
-                               signal: "mouse,clicked,1";
-                               source: "home_btn_bg";
-                               action: SIGNAL_EMIT SIGNAL_HOME_BTN_CLICKED SIGNAL_SOURCE;
-                       }
-                       program
-                       {
-                               name: "menu_icon_home_view_state_set";
-                               signal: SIGNAL_BOTTOM_BUTTONS_HOME_STATE_SET;
-                               source: SIGNAL_SOURCE;
-                               action: STATE_SET "home_view_state" 0.0;
-                               target: "home_view_menu_icon";
-                               target: "all_apps_view_menu_icon";
-                               target: "home_view_home_icon";
-                               target: "all_apps_view_home_icon";
-                               target: "menu_btn_bg";
-                               target: "home_btn_bg";
-                               transition: LINEAR 0.3;
-                       }
-                       program
-                       {
-                               name: "menu_icon_all_apps_view_state_set";
-                               signal: SIGNAL_BOTTOM_BUTTONS_ALL_APPS_STATE_SET;
-                               source: SIGNAL_SOURCE;
-                               action: STATE_SET "all_apps_view_state" 0.0;
-                               target: "home_view_menu_icon";
-                               target: "all_apps_view_menu_icon";
-                               target: "home_view_home_icon";
-                               target: "all_apps_view_home_icon";
-                               target: "menu_btn_bg";
-                               target: "home_btn_bg";
-                               transition: LINEAR 0.3;
-                       }
-                       program
-                       {
-                               name: "menu_icon_home_edit_state_set";
-                               signal: SIGNAL_BOTTOM_BUTTONS_HOME_EDIT_STATE_SET;
-                               source: SIGNAL_SOURCE;
-                               script {
-                                       set_state(PART:"home_view_home_icon","home_edit_state",0.0);
-                                       set_state(PART:"all_apps_view_home_icon","home_edit_state",0.0);
-                                       set_state(PART:"home_view_menu_icon","all_apps_edit_state",0.0);
-                                       set_state(PART:"all_apps_view_menu_icon","all_apps_edit_state",0.0);
-                                       set_state(PART:"menu_btn_bg","all_apps_edit_state",0.0);
-                                       set_state(PART:"home_btn_bg","all_apps_edit_state",0.0);
-                               }
-                       }
-                       program
-                       {
-                               name: "menu_icon_all_apps_edit_state_set";
-                               signal: SIGNAL_BOTTOM_BUTTONS_ALL_APPS_EDIT_STATE_SET;
-                               source: SIGNAL_SOURCE;
-                               action: STATE_SET "all_apps_edit_state" 0.0;
-                               target: "home_view_menu_icon";
-                               target: "all_apps_view_menu_icon";
-                               target: "home_view_home_icon";
-                               target: "all_apps_view_home_icon";
-                               target: "menu_btn_bg";
-                               target: "home_btn_bg";
-                       }
-
-                       /*============== PROGRAMS TO OPERATE ON CHOOSER CAPTION =============*/
-                       program {
-                               name: "chooser_caption_activate";
-                               signal: SIGNAL_CHOOSER_CAPTION_ACTIVATE;
-                               source: SIGNAL_SOURCE;
-                               action: STATE_SET "chooser_activated" 0.0;
-                               target: "chooser_caption_middle_label";
-                               target: "chooser_caption_left_label";
-                               target: "chooser_caption_left_clickable_space";
-                               target: "chooser_caption_right_label";
-                               target: "chooser_caption_right_clickable_space";
-                               target: "all_apps_view_menu_icon";
-                               target: "menu_btn_bg";
-                               target: "home_btn_bg";
-                               target: "all_apps_view_home_icon";
-                       }
-                       program {
-                               name: "chooser_caption_deactivate";
-                               signal: SIGNAL_CHOOSER_CAPTION_DEACTIVATE;
-                               source: SIGNAL_SOURCE;
-                               action: STATE_SET "default" 0.0;
-                               target: "chooser_caption_middle_label";
-                               target: "chooser_caption_left_label";
-                               target: "chooser_caption_left_clickable_space";
-                               target: "chooser_caption_right_label";
-                               target: "chooser_caption_right_clickable_space";
-                               target: "menu_btn_bg";
-                               target: "all_apps_view_menu_icon";
-                               target: "home_btn_bg";
-                               target: "all_apps_view_home_icon";
-                       }
-                       /*============= PROGRAMS TO OPERATOE ON INDICES =====================*/
-                       program {
-                               name: "next_page_indice_show";
-                               signal: SIGNAL_NEXT_PAGE_INDICE_SHOW;
-                               source: SIGNAL_SOURCE;
-                               action: STATE_SET "visible" 0.0;
-                               target: PART_NEXT_PAGE_INDICE;
-                       }
-                       program {
-                               name: "prev_page_indice_show";
-                               signal: SIGNAL_PREV_PAGE_INDICE_SHOW;
-                               source: SIGNAL_SOURCE;
-                               action: STATE_SET "visible" 0.0;
-                               target: PART_PREV_PAGE_INDICE;
-                       }
-                       program {
-                               name: "indice_off_program";
-                               signal: SIGNAL_INDICE_HIDE;
-                               source: SIGNAL_SOURCE;
-                               action: STATE_SET "default" 0.0;
-                               target: PART_PREV_PAGE_INDICE;
-                               target: PART_NEXT_PAGE_INDICE;
-                       }
-                       program {
-                               name: "block_events";
-                               signal: SIGNAL_BLOCK_EVENTS;
-                               source: SIGNAL_SOURCE;
-                               action: STATE_SET "blocked" 0.0;
-                               target: PART_EVENT_BLOCKER;
-                       }
-                       program {
-                               name: "unblock_events";
-                               signal: SIGNAL_UNBLOCK_EVENTS;
-                               source: SIGNAL_SOURCE;
-                               action: STATE_SET "default" 0.0;
-                               target: PART_EVENT_BLOCKER;
-                               in: 0.1 0.0;
-                       }
-               }
-       }
-}
+    images {
+    }
+    group { name: GROUP_HOME_LY;
+        parts {
+            part { name: HOME_BG;
+                type: SWALLOW;
+                scale: 1;
+                description { state: "default" 0.0;
+                    align: 0 0;
+                    rel1.relative: 0.0 0.0;
+                    rel2.relative: 0.0 0.0;
+                }
+            }
+        }
+        programs {
+        }
+    }
+}
\ No newline at end of file
diff --git a/res/edje/home_btn.edc b/res/edje/home_btn.edc
new file mode 100755 (executable)
index 0000000..125bd01
--- /dev/null
@@ -0,0 +1,277 @@
+/*
+ * Copyright 2012  Samsung Electronics Co., Ltd
+ *
+ * Licensed under the Flora License, Version 1.1 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://floralicense.org/license/
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include "../../inc/edc_conf.h"
+
+collections {
+    images {
+        image: "../res/images/home_button_bg.png" COMP;
+        image: "../res/images/home_button_menu.png" COMP;
+        image: "../res/images/home_button_home.png" COMP;
+        image: "../res/images/home_button_apps.png" COMP;
+    }
+    group { name: GROUP_HOME_BTN_LY;
+        parts {
+            // Menu button
+            part { name: MENU_BUTTON;
+                type: IMAGE;
+                description { state: "default" 0.0;
+                    align: 0 0;
+                    rel1{relative: 0.044 0.928;}
+                    rel2{relative: 0.223 0.986;}
+                    color: 0 0 0 40;
+                    visible: 1;
+                    image {
+                        normal: "../res/images/home_button_bg.png";
+                    }
+                }
+                description {
+                    state: "press" 0.0;
+                    inherit: "default" 0.0;
+                    color: 255 255 255 40;
+                }
+                description { state: "show" 0.0;
+                    inherit: "default" 0.0;
+                }
+                description { state: "hide" 0.0;
+                    inherit: "default" 0.0;
+                    color: 0 0 0 0;
+                    visible: 0;
+                }
+            }
+            part { name: "menu_btn_icon";
+                type: IMAGE;
+                mouse_events: 0;
+                description { state: "default" 0.0;
+                    align: 0 0;
+                    rel1{relative: 0.27 0.1; to:MENU_BUTTON;}
+                    rel2{relative: 0.73 0.9; to:MENU_BUTTON;}
+                    color: 255 255 255 255;
+                    visible: 1;
+                    image {
+                        normal: "../res/images/home_button_menu.png";
+                    }
+                }
+                description { state: "show" 0.0;
+                    inherit: "default" 0.0;
+                    color: 255 255 255 255;
+                }
+                description { state: "hide" 0.0;
+                    inherit: "default" 0.0;
+                    color: 255 255 255 0;
+                    visible: 0;
+                }
+            }
+            //Home Button
+            part { name: HOME_BUTTON;
+                type: IMAGE;
+                description {state: "default" 0.0;
+                    align: 0 0;
+                    rel1{relative: 0.776 0.928;}
+                    rel2{relative: 0.955 0.986;}
+                    color: 0 0 0 40;
+                    visible: 1;
+                    image {
+                        normal: "../res/images/home_button_bg.png";
+                    }
+                }
+                description {
+                    state: "press" 0.0;
+                    inherit: "default" 0.0;
+                    color : 255 255 255 40;
+                }
+                description { state: "show" 0.0;
+                    inherit: "default" 0.0;
+                }
+                description { state: "hide" 0.0;
+                    inherit: "default" 0.0;
+                    color: 0 0 0 0;
+                    visible: 0;
+                }
+            }
+            part { name: "home_btn_home_icon";
+                type: IMAGE;
+                mouse_events: 0;
+                description { state: "default" 0.0;
+                    align: 0 0;
+                    rel1{relative: 0.27 0.1; to:HOME_BUTTON;}
+                    rel2{relative: 0.73 0.9; to:HOME_BUTTON;}
+                    color: 255 255 255 0;
+                    visible: 1;
+                    image {
+                        normal: "../res/images/home_button_home.png";
+                    }
+                }
+                description { state: "show" 0.0;
+                    inherit: "default" 0.0;
+                    color: 255 255 255 255;
+                }
+                description { state: "hide" 0.0;
+                    inherit: "default" 0.0;
+                    color: 255 255 255 0;
+                    visible: 0;
+                }
+            }
+            part { name: "home_btn_app_icon";
+                type: IMAGE;
+                mouse_events: 0;
+                description { state: "default" 0.0;
+                    align: 0 0;
+                    rel1{relative: 0.27 0.1; to:HOME_BUTTON;}
+                    rel2{relative: 0.73 0.9; to:HOME_BUTTON;}
+                    color: 255 255 255 255;
+                    visible: 1;
+                    image {
+                        normal: "../res/images/home_button_apps.png";
+                    }
+                }
+                description { state: "show" 0.0;
+                    inherit: "default" 0.0;
+                    color: 255 255 255 255;
+                }
+                description { state: "hide" 0.0;
+                    inherit: "default" 0.0;
+                    color: 255 255 255 0;
+                    visible: 0;
+                }
+            }
+        }
+        programs {
+            //menu button event
+            program {
+                name: "menu_btn_down";
+                signal: "mouse,down,1";
+                source: MENU_BUTTON;
+                action: STATE_SET "press" 0.0;
+                target: MENU_BUTTON;
+                transition: DECELERATE 0.1;
+            }
+            program {
+                name: "menu_btn_up";
+                signal: "mouse,up,1";
+                source: MENU_BUTTON;
+                action: STATE_SET "default" 0.0;
+                target: MENU_BUTTON;
+                transition: DECELERATE 0.1;
+            }
+            program {
+                name: "menu_btn_click";
+                signal: "mouse,clicked,1";
+                source: MENU_BUTTON;
+                action: SIGNAL_EMIT SIGNAL_MENU_BTN_CLICKED SIGNAL_SOURCE;
+            }
+            //home button event
+            program {
+                name: "home_btn_down";
+                signal: "mouse,down,1";
+                source: HOME_BUTTON;
+                action: STATE_SET "press" 0.0;
+                target: HOME_BUTTON;
+                transition: DECELERATE 0.1;
+            }
+            program {
+                name: "home_btn_up";
+                signal: "mouse,up,1";
+                source: HOME_BUTTON;
+                action: STATE_SET "default" 0.0;
+                target: HOME_BUTTON;
+                transition: DECELERATE 0.1;
+            }
+            program {
+                name: "home_btn_click";
+                signal: "mouse,clicked,1";
+                source: HOME_BUTTON;
+                action: SIGNAL_EMIT SIGNAL_HOME_BTN_CLICKED SIGNAL_SOURCE;
+            }
+            program {
+                name: "home_btn_show";
+                signal: SIGNAL_HOME_BTN_ICON_SHOW;
+                source: SIGNAL_SOURCE;
+                action: STATE_SET "show" 0.0;
+                target: "home_btn_home_icon";
+                transition: DECELERATE 0.3;
+            }
+            program {
+                name: "home_btn_hide";
+                signal: SIGNAL_HOME_BTN_ICON_HIDE;
+                source: SIGNAL_SOURCE;
+                action: STATE_SET "hide" 0.0;
+                target: "home_btn_home_icon";
+                transition: DECELERATE 0.3;
+            }
+            program {
+                name: "apps_btn_show";
+                signal: SIGNAL_APPS_BTN_ICON_SHOW;
+                source: SIGNAL_SOURCE;
+                action: STATE_SET "show" 0.0;
+                target: "home_btn_app_icon";
+                transition: DECELERATE 0.3;
+            }
+            program {
+                name: "apps_btn_hide";
+                signal: SIGNAL_APPS_BTN_ICON_HIDE;
+                source: SIGNAL_SOURCE;
+                action: STATE_SET "hide" 0.0;
+                target: "home_btn_app_icon";
+                transition: DECELERATE 0.3;
+            }
+            program {
+                name: "btn_show_home";
+                signal: SIGNAL_BTN_SHOW_APPS_STATE;
+                source: SIGNAL_SOURCE;
+                action: STATE_SET "show" 0.0;
+                target: MENU_BUTTON;
+                target: "menu_btn_icon";
+                target: HOME_BUTTON;
+                target: "home_btn_home_icon";
+                transition: DECELERATE 0.3;
+            }
+            program {
+                name: "btn_hide_home";
+                signal: SIGNAL_BTN_HIDE_APPS_STATE;
+                source: SIGNAL_SOURCE;
+                action: STATE_SET "hide" 0.0;
+                target: MENU_BUTTON;
+                target: "menu_btn_icon";
+                target: HOME_BUTTON;
+                target: "home_btn_home_icon";
+                transition: DECELERATE 0.3;
+            }
+            program {
+                name: "btn_show_apps";
+                signal: SIGNAL_BTN_SHOW_HOME_STATE;
+                source: SIGNAL_SOURCE;
+                action: STATE_SET "show" 0.0;
+                target: MENU_BUTTON;
+                target: "menu_btn_icon";
+                target: HOME_BUTTON;
+                target: "home_btn_app_icon";
+                transition: DECELERATE 0.3;
+            }
+            program {
+                name: "btn_hide_apps";
+                signal: SIGNAL_BTN_HIDE_HOME_STATE;
+                source: SIGNAL_SOURCE;
+                action: STATE_SET "hide" 0.0;
+                target: MENU_BUTTON;
+                target: "menu_btn_icon";
+                target: HOME_BUTTON;
+                target: "home_btn_app_icon";
+                transition: DECELERATE 0.3;
+            }
+        }
+    }
+}
\ No newline at end of file
diff --git a/res/edje/icon.edc b/res/edje/icon.edc
deleted file mode 100644 (file)
index 6fbbde2..0000000
+++ /dev/null
@@ -1,660 +0,0 @@
-/*
- * Copyright 2012  Samsung Electronics Co., Ltd
- *
- * Licensed under the Flora License, Version 1.1 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://floralicense.org/license/
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#include "../../inc/conf.h"
-
-images {
-       image: "app_press_117.png" COMP;
-       image: "btn_delete_nor.png" COMP;
-       image: "btn_delete_press.png" COMP;
-       image: "app_icon_checkbox_bg.png" COMP;
-       image: "app_icon_checkbox_on.png" COMP;
-       image: "app_icon_checkbox_border.png" COMP;
-       image: "icon_badge_container.png" COMP;
-}
-
-styles {
-       style{
-               name: "icon_label";
-               base: "font=Samsung Condensed:style=Regular align=center color=#FFFFFFFF font_size=28 wrap=mixed ellipsis=1.0";
-       }
-       style{
-               name: "icon_label_edit";
-               base: "font=Samsung Condensed:style=Regular align=center color=#FFFFFFFF font_size=25 wrap=mixed ellipsis=1.0";
-       }
-}
-
-collections {
-       group {
-               name: "app_icon_layout";
-               script {
-                       public checkbox_state;
-                       public alpha;
-
-                       public message(Msg_Type:type, id, ...) {
-                               if(type == MSG_INT_SET)
-                               {
-                                       set_int(alpha, getarg(2));
-                                       send_message(type, id, getarg(2));
-                               }
-                       }
-               }
-               parts {
-                       part { //"icon_bg"
-                               name: "icon_bg";
-                               type: SPACER;
-                               mouse_events: 1;
-                               repeat_events: 1;
-                               scale: 0;
-                               description {
-                                       state: "default" 0.0;
-                                       rel1{relative: 0.0 0.0; }
-                                       rel2{relative: 1.0 1.0; }
-                               }
-                               description {
-                                       state: "moved" 0.0;
-                                       inherit: "default" 0.0;
-                               }
-                               description {
-                                       state: "edit" 0.0;
-                                       inherit: "default" 0.0;
-                               }
-                               description
-                               {
-                                       state: "manage_state" 0.0;
-                                       inherit: "default" 0.0;
-                               }
-                       }
-
-                       part { //PART_ICON_CONTENT
-                               name: PART_ICON_CONTENT;
-                               type: SWALLOW;
-                               mouse_events: 1;
-                               repeat_events: 1;
-                               scale: 0;
-                               description {
-                                       state: "default" 0.0;
-                                       rel1{relative: ICON_X_MIN ICON_Y_MIN; to: "icon_bg";}
-                                       rel2{relative: ICON_X_MAX ICON_Y_MAX; to: "icon_bg";}
-                               }
-                       }
-
-
-                       part { //"icon_content_touch"
-                               name: "icon_content_touch";
-                               type: IMAGE;
-                               mouse_events: 1;
-                               repeat_events: 1;
-                               scale: 0;
-                               description {
-                                       state: "default" 0.0;
-                                       rel1{relative: 0.0 0.0; to: PART_ICON_CONTENT;}
-                                       rel2{relative: 1.0 1.0; to: PART_ICON_CONTENT;}
-                                       aspect: 1.0 1.0;
-                                       aspect_preference: BOTH;
-                                       color: 0 0 0 0;
-                                       image {
-                                               normal: "app_press_117.png";
-                                       }
-                               }
-                               description{
-                                       state: "icon_touched" 0.0;
-                                       inherit: "default" 0.0;
-                                       color: 0 0 0 150;
-                               }
-                       }
-
-                       part { //PART_ICON_NAME
-                               name: PART_ICON_NAME;
-                               type: TEXTBLOCK;
-                               mouse_events: 1;
-                               repeat_events: 1;
-                               scale: 1;
-                               description {
-                                       state: "default" 0.0;
-                                       rel1{relative: ICON_NAME_X_MIN ICON_NAME_Y_MIN; to: "icon_bg";}
-                                       rel2{relative: ICON_NAME_X_MAX 1.0; to: "icon_bg";}
-                                       color: 255 255 255 255;
-                                       text {
-                                               style: "icon_label";
-                                               align: 0.5 0.0;
-                                       }
-                               }
-                               description {
-                                       state: "edit" 0.0;
-                                       inherit: "default" 0.0;
-                                       rel1{relative: ICON_NAME_X_MIN ICON_NAME_Y_MIN; to: "icon_bg";}
-                                       rel2{relative: ICON_NAME_X_MAX 1.0; to: "icon_bg";}
-                                       text {
-                                               style: "icon_label_edit";
-                                       }
-                               }
-                               description {
-                                       state: "black_text" 0.0;
-                                       inherit: "default" 0.0;
-                                       color: 0 0 0 255;
-                               }
-                               description {
-                                       state: "black_edit" 0.0;
-                                       inherit: "black_text" 0.0;
-                                       text {
-                                               style: "icon_label_edit";
-                                       }
-                               }
-                       }
-
-
-                       /*************************** BADGE *************************************/
-
-                       part
-                       {
-                               name: "icon_badge";
-                               type: IMAGE;
-                               scale: 0;
-                               description
-                               {
-                                       state: "default" 0.0;
-                                       rel1{relative: 0.0 0.0; offset: -10 -1; to: "icon_badge_text";}
-                                       rel2{relative: 1.0 1.0; offset: 9 1; to: "icon_badge_text";}
-                                       visible: 0;
-                                       image
-                                       {
-                                               normal: "icon_badge_container.png";
-                                               border: 15 14 0 0;
-                                       }
-                               }
-                               description
-                               {
-                                       state: "visible" 0.0;
-                                       inherit: "default" 0.0;
-                                       visible: 1;
-                               }
-                       }
-
-                       part
-                       {
-                               name: "icon_badge_text";
-                               type: TEXT;
-                               scale: 1;
-                               description
-                               {
-                                       state: "default" 0.0;
-                                       visible: 0;
-                                       fixed: 1 1;
-                                       color: 255 255 255 255;
-                                       rel1{relative: BADGE_REL_X BADGE_REL_Y; to: "icon_bg";}
-                                       rel2{relative: BADGE_REL_X BADGE_REL_Y; to: "icon_bg";}
-                                       align: 1.0 0.0;
-                                       text
-                                       {
-                                               font: "arial";
-                                               size: 32;
-                                               text_class: "ATO002";
-                                               min: 1 1;
-                                               max: 1 1;
-                                               ellipsis: -1;
-                                       }
-                               }
-                               description
-                               {
-                                       state: "visible" 0.0;
-                                       inherit: "default" 0.0;
-                                       visible: 1;
-                               }
-                       }
-
-                       /*************************** END OF BADGE *************************************/
-
-                       part { //"icon_uninstall_button";
-                               name: "icon_uninstall_button";
-                               type: IMAGE;
-                               scale: 0;
-                               description {
-                                       state: "default" 0.0;
-                                       rel1{relative: 0.0 0.0; to: "icon_bg";}
-                                       rel2{relative: ICON_UNINSTALL_BTN_X_MAX ICON_UNINSTALL_BTN_Y_MAX; to: "icon_bg";}
-                                       color: 255 255 255 0;
-                                       visible: 0;
-                                       aspect: 1.0 1.0;
-                                       aspect_preference: BOTH;
-                                       image {
-                                               normal: "btn_delete_nor.png";
-                                       }
-                               }
-                               description {
-                                       state: "show" 0.0;
-                                       inherit: "default" 0.0;
-                                       color: 255 255 255 255;
-                                       visible: 1;
-                               }
-                               description {
-                                       state: "press" 0.0;
-                                       inherit: "default" 0.0;
-                                       color: 255 255 255 255;
-                                       image {
-                                               normal: "btn_delete_press.png";
-                                       }
-                                       visible: 1;
-                               }
-                       }
-
-                       /*Icons checkboxes in choose state:*/
-                       part { //"icon_checkbox_bg";
-                               name: "icon_checkbox_bg";
-                               type: IMAGE;
-                               scale: 0;
-                               description {
-                                       state: "default" 0.0;
-                                       rel1{relative: ICON_BADGE_CHECKBOX_REL1_X ICON_BADGE_CHECKBOX_REL1_Y; to: "icon_bg";}
-                                       rel2{relative: ICON_BADGE_CHECKBOX_REL2_X ICON_BADGE_CHECKBOX_REL2_Y; to: "icon_bg";}
-                                       color: 255 255 255 120;
-                                       visible: 0;
-                                       aspect: 1.0 1.0;
-                                       aspect_preference: BOTH;
-                                       //TODO: image from home-lite is used...
-                                       image {
-                                               normal: "app_icon_checkbox_bg.png";
-                                       }
-                               }
-                               description {
-                                       state: "blank" 0.0;
-                                       inherit: "default" 0.0;
-                                       visible: 1;
-                               }
-                               description {
-                                       state: "dimmed" 0.0;
-                                       inherit: "blank" 0.0;
-                               }
-                               description {
-                                       state: "checked" 0.0;
-                                       inherit: "default" 0.0;
-                                       //color_class: "ATO005";
-                                       color: 255 255 255 255;
-                                       visible: 1;
-                               }
-                       }
-
-                       part { //"icon_checkbox_border";
-                               name: "icon_checkbox_border";
-                               type: IMAGE;
-                               scale: 0;
-                               description {
-                                       state: "default" 0.0;
-                                       rel1{relative: 0.0 0.0; to: "icon_checkbox_bg";}
-                                       rel2{relative: 1.0 1.0; to: "icon_checkbox_bg";}
-                                       color: 255 255 255 0;
-                                       visible: 0;
-                                       aspect: 1.0 1.0;
-                                       aspect_preference: BOTH;
-                                       image {
-                                               normal: "app_icon_checkbox_border.png";
-                                       }
-                               }
-                               description {
-                                       state: "blank" 0.0;
-                                       inherit: "default" 0.0;
-                                       color: 255 255 255 255;
-                                       visible: 1;
-                               }
-                               description {
-                                       state: "dimmed" 0.0;
-                                       inherit: "blank" 0.0;
-                               }
-                               description {
-                                       state: "checked" 0.0;
-                                       inherit: "default" 0.0;
-                                       color: 255 255 255 120;
-                                       visible: 1;
-                               }
-                       }
-
-                       part { //"icon_checkbox"
-                               name: "icon_checkbox";
-                               type: IMAGE;
-                               scale: 0;
-                               description {
-                                       state: "default" 0.0;
-                                       rel1{relative: 0.0 0.0; to: "icon_checkbox_bg";}
-                                       rel2{relative: 1.0 1.0; to: "icon_checkbox_bg";}
-                                       color: 255 255 255 0;
-                                       visible: 0;
-                                       aspect: 1.0 1.0;
-                                       aspect_preference: BOTH;
-                                       image {
-                                               normal: "app_icon_checkbox_on.png";
-                                       }
-                               }
-                               description {
-                                       state: "blank" 0.0;
-                                       inherit: "default" 0.0;
-                                       color: 255 255 255 255;
-                                       visible: 0;
-                               }
-                               description {
-                                       state: "checked" 0.0;
-                                       inherit: "default" 0.0;
-                                       color: 255 255 255 255;
-                                       visible: 1;
-                               }
-                               description {
-                                       state: "dimmed" 0.0;
-                                       inherit: "checked" 0.0;
-                               }
-                       }
-
-                       part { //checkbox_click_area
-                               name: "checkbox_click_area";
-                               type: RECT;
-                               scale: 0;
-                               description {
-                                       state: "default" 0.0;
-                                       color: 0 0 0 0;
-                                       rel1 {
-                                               relative: -0.2 -0.2;
-                                               to: "icon_checkbox";
-                                       }
-                                       rel2 {
-                                               relative: 1.2 1.2;
-                                               to: "icon_checkbox";
-                                       }
-                                       visible: 0;
-                               }
-                               description {
-                                       state: "visible" 0.0;
-                                       inherit: "default" 0.0;
-                                       visible: 1;
-                               }
-                       }
-               }
-
-               programs {
-                       program {
-                               name: "group_loaded";
-                               signal: "load";
-                               source: "";
-                               script {
-                                       set_int(checkbox_state, 0);
-                               }
-                       }
-                       program {
-                               name: "icon_clicked_program";
-                               signal :"mouse,clicked,1";
-                               source: "icon_content";
-                               action: SIGNAL_EMIT SIGNAL_ICON_CLICKED SIGNAL_SOURCE;
-                               //after: program with change the icon shadow state to clicked!
-                       }
-
-                       program {
-                               name: "icon_touch_program";
-                               signal: SIGNAL_ICON_PRESS;
-                               source: SIGNAL_PRESS_SOURCE;
-                               action: STATE_SET "icon_touched" 0.0;
-                               target: "icon_content_touch";
-                               transition: LINEAR 0.1;
-                       }
-
-                       program {
-                               name: "icon_touch_release_program";
-                               signal: "mouse,up,1";
-                               source: "icon_content_touch";
-                               action: STATE_SET "default" 0.0;
-                               target: "icon_content_touch";
-                               transition: LINEAR 0.1;
-                       }
-                       program {
-                               name: "edit_mode_on";
-                               signal: SIGNAL_EDIT_MODE_ON;
-                               source: SIGNAL_SOURCE;
-                               action: STATE_SET "edit" 0.0;
-                               target: PART_ICON_NAME;
-                       }
-                       program {
-                               name: "edit_mode_off";
-                               signal: SIGNAL_EDIT_MODE_OFF;
-                               source: SIGNAL_SOURCE;
-                               action: STATE_SET "default" 0.0;
-                               target: PART_ICON_NAME;
-                       }
-                       program {
-                               name: "edit_mode_black_on";
-                               signal: SIGNAL_EDIT_MODE_BLACK_ON;
-                               source: SIGNAL_SOURCE;
-                               action: STATE_SET "black_edit" 0.0;
-                               target: PART_ICON_NAME;
-                       }
-                       program {
-                               name: "edit_mode_black_off";
-                               signal: SIGNAL_EDIT_MODE_BLACK_OFF;
-                               source: SIGNAL_SOURCE;
-                               action: STATE_SET "black_text" 0.0;
-                               target: PART_ICON_NAME;
-                       }
-                       program {
-                               name: "uninstall_button_show";
-                               signal: SIGNAL_UNINSTALL_BUTTON_SHOW;
-                               source: SIGNAL_SOURCE;
-                               action: STATE_SET "show" 0.0;
-                               target: "icon_uninstall_button";
-                               transition: DECELERATE 0.20;
-                       }
-                       program {
-                               name: "uninstall_button_hide";
-                               signal: SIGNAL_UNINSTALL_BUTTON_HIDE;
-                               source: SIGNAL_SOURCE;
-                               action: STATE_SET "default" 0.0;
-                               target: "icon_uninstall_button";
-                               transition: DECELERATE 0.20;
-                       }
-                       program {
-                               name: "uninstall_button_clicked";
-                               signal: "mouse,clicked,1";
-                               source: "icon_uninstall_button";
-                               action: SIGNAL_EMIT SIGNAL_UNINSTALL_BUTTON_CLICKED SIGNAL_SOURCE;
-                       }
-                       program {
-                               name: "uninstall_button_mouse_down";
-                               signal: "mouse,down,1";
-                               source: "icon_uninstall_button";
-                               action: STATE_SET "press" 0.0;
-                               target: "icon_uninstall_button";
-                               transition: DECELERATE 0.20;
-                       }
-                       program {
-                               name: "uninstall_button_mouse_up";
-                               signal: "mouse,up,1";
-                               source: "icon_uninstall_button";
-                               action: STATE_SET "show" 0.0;
-                               target: "icon_uninstall_button";
-                               transition: DECELERATE 0.20;
-                       }
-
-                       //Checkbox
-                       program {
-                               name: "checkbox_show_unchecked";
-                               signal: SIGNAL_CHECKBOX_SHOW_UNCHECKED;
-                               source: SIGNAL_SOURCE;
-                               script {
-                                       set_int(checkbox_state, 0);
-                                       emit("checkbox,blank,show", SIGNAL_SOURCE);
-                               }
-                               after: "checkbox_area_visible";
-                       }
-                       program {
-                               name: "checkbox_show_checked";
-                               signal: SIGNAL_CHECKBOX_SHOW_CHECKED;
-                               source: SIGNAL_SOURCE;
-                               script {
-                                       set_int(checkbox_state, 1);
-                                       emit("checkbox,checked,show", SIGNAL_SOURCE);
-                               }
-                               after: "checkbox_area_visible";
-                       }
-                       program {
-                               name: "checkbox_show_dimmed";
-                               signal: SIGNAL_CHECKBOX_SHOW_DIMMED;
-                               source: SIGNAL_SOURCE;
-                               script {
-                                       set_int(checkbox_state, 1);
-                                       emit("checkbox,dimmed,show", SIGNAL_SOURCE);
-                               }
-                               after: "checkbox_area_visible";
-                       }
-                       program {
-                               name: "checkbox_blank_show";
-                               signal: "checkbox,blank,show";
-                               source: SIGNAL_SOURCE;
-                               action: STATE_SET "blank" 0.0;
-                               target: "icon_checkbox";
-                               target: "icon_checkbox_border";
-                               target: "icon_checkbox_bg";
-                       }
-                       program {
-                               name: "checkbox_hide";
-                               signal: SIGNAL_CHECKBOX_HIDE;
-                               source: SIGNAL_SOURCE;
-                               action: STATE_SET "default" 0.0;
-                               target: "icon_checkbox";
-                               target: "icon_checkbox_border";
-                               target: "icon_checkbox_bg";
-                               transition: DECELERATE 0.20;
-                               after: "checkbox_area_hide";
-                       }
-                       program {
-                               name: "checkbox_checked_show";
-                               signal: "checkbox,checked,show";
-                               source: SIGNAL_SOURCE;
-                               action: STATE_SET "checked" 0.0;
-                               target: "icon_checkbox";
-                               target: "icon_checkbox_border";
-                               target: "icon_checkbox_bg";
-                               transition: DECELERATE 0.20;
-                       }
-                       program {
-                               name: "checkbox_dimmed_show";
-                               signal: "checkbox,dimmed,show";
-                               source: SIGNAL_SOURCE;
-                               action: STATE_SET "dimmed" 0.0;
-                               target: "icon_checkbox";
-                               target: "icon_checkbox_border";
-                               target: "icon_checkbox_bg";
-                               transition: DECELERATE 0.20;
-                       }
-                       program {
-                               name: "checkbox_clicked";
-                               signal: "mouse,clicked,1";
-                               source: "checkbox_click_area";
-                               script {
-                                       if (get_int(checkbox_state) == 0) {
-                                               set_int(checkbox_state, 1); //isnt it deprecated?
-                                               emit("checkbox,checked,show", SIGNAL_SOURCE); //signal for edje state change
-                                               emit("checkbox,checked", SIGNAL_SOURCE); //signal for C listener
-                                       }
-                                       else {
-                                               set_int(checkbox_state, 0);
-                                               emit("checkbox,blank,show", SIGNAL_SOURCE); //signal for edje state change
-                                               emit("checkbox,unchecked", SIGNAL_SOURCE); //signal for C listener
-                                       }
-                               }
-                       }
-                       /*This is when ALLs are in management mode:*/
-                       program {
-                               name: "set_manage_state_program";
-                               signal: "set_manage_state";
-                               source: SIGNAL_SOURCE;
-                               action: STATE_SET "manage_state" 0.0;
-                               target: "icon_bg";
-                               transition: DECELERATE 0.2;
-                       }
-                       /*This is default for ALLs: */
-                       program {
-                               name: "unset_manage_state_program";
-                               signal: "unset_manage_state";
-                               source: SIGNAL_SOURCE;
-                               action: STATE_SET "default" 0.0;
-                               target: "icon_bg";
-                               transition: DECELERATE 0.2;
-                       }
-                       program {
-                               name: "program_no_text";
-                               signal: SIGNAL_LABEL_HIDE;
-                               source: SIGNAL_SOURCE;
-                               action: STATE_SET "no_text" 0.0;
-                               target: PART_ICON_NAME;
-                       }
-                       program {
-                               name: "program_black_text";
-                               signal: "label,text,black";
-                               source: SIGNAL_SOURCE;
-                               action: STATE_SET "black_text" 0.0;
-                               target: PART_ICON_NAME;
-                       }
-                       program {
-                               name: "program_default";
-                               signal: SIGNAL_LABEL_SHOW;
-                               source: SIGNAL_SOURCE;
-                               action: STATE_SET "default" 0.0;
-                               target: PART_ICON_NAME;
-                               transition: DECELERATE 0.20;
-                       }
-                       program {
-                               name: "icon_badge_show";
-                               signal: SIGNAL_BADGE_SHOW;
-                               source: SIGNAL_SOURCE;
-                               action: STATE_SET "visible" 0.0;
-                               target: "icon_badge";
-                               target: "icon_badge_text";
-                       }
-                       program {
-                               name: "icon_badge_hide";
-                               signal: SIGNAL_BADGE_HIDE;
-                               source: SIGNAL_SOURCE;
-                               action: STATE_SET "default" 0.0;
-                               target: "icon_badge";
-                               target: "icon_badge_text";
-                       }
-                       program {
-                               name: "checkbox_area_visible";
-                               action: STATE_SET "visible" 0.0;
-                               target: "checkbox_click_area";
-                       }
-                       program {
-                               name: "checkbox_area_hide";
-                               action: STATE_SET "default" 0.0;
-                               target: "checkbox_click_area";
-                       }
-                       program {
-                               name: "area,clicked";
-                               signal: "mouse,clicked,1";
-                               source: "checkbox_click_area";
-                               action: SIGNAL_EMIT "mouse,clicked,1" "icon_checkbox";
-                       }
-                       program {
-                               name: "checkbox,block";
-                               signal: SIGNAL_CHECKBOX_BLOCK;
-                               source: SIGNAL_SOURCE;
-                               action: STATE_SET "default" 0.0;
-                               target: "checkbox_click_area";
-                       }
-                       program {
-                               name: "checkbox,unblock";
-                               signal: SIGNAL_CHECKBOX_UNBLOCK;
-                               source: SIGNAL_SOURCE;
-                               action: STATE_SET "visible" 0.0;
-                               target: "checkbox_click_area";
-                       }
-               }
-       }
-}
diff --git a/res/edje/index_element.edc b/res/edje/index_element.edc
deleted file mode 100644 (file)
index 9d1f3f2..0000000
+++ /dev/null
@@ -1,113 +0,0 @@
-/*
- * Copyright 2012  Samsung Electronics Co., Ltd
- *
- * Licensed under the Flora License, Version 1.1 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://floralicense.org/license/
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#include "../../inc/conf.h"
-
-collections {
-       group {
-               name: GROUP_INDEX_ELEMENT;
-
-               images {
-                       image: "core_page_indicator_on.png" COMP;
-                       image: "core_page_indicator_on_horizontal.png" COMP;
-               }
-
-               script {
-                       public rot;
-                       public alpha;
-
-                       public message(Msg_Type:type, id, ...) {
-                               if(type == MSG_FLOAT_SET)
-                               {
-                                       set_float(rot, getfarg(2));
-                                       set_float(alpha, getfarg(3));
-                                       send_message(type, id, getfarg(2), getfarg(3));
-                               }
-                       }
-               }
-
-               parts {
-                       part {
-                               name: INDICE_SIZE_SETTER;
-                               type: SWALLOW;
-                               description {
-                                       state: "default" 0.0;
-                                       rel1 {relative: 0.0 0.0;}
-                                       rel2 {relative: 1.0 1.0;}
-                               }
-                       }
-                       part {
-                               name: "element";
-                               type: IMAGE;
-
-                               description {
-                                       state: "default" 0.0;
-                                       color: 255 255 255 75;
-                                       rel1 {relative: 0.0 0.0; to: INDICE_SIZE_SETTER;}
-                                       rel2 {relative: 1.0 1.0; to: INDICE_SIZE_SETTER;}
-                                       image {
-                                               normal: "core_page_indicator_on_horizontal.png";
-                                       }
-                                       map {
-                                               on: 1;
-                                               perspective_on: 1;
-                                               smooth: 1;
-                                               alpha: 1;
-
-                                       }
-                               }
-                               description {
-                                       state: "current" 0.0;
-                                       inherit: "default" 0.0;
-                                       color: 255 255 255 255;
-                                       image {
-                                               normal: "core_page_indicator_on.png";
-                                       }
-                               }
-                       }
-               }
-
-               programs {
-                       program {
-                               name: "rotation,change";
-                               signal: "rot_changed";
-                               source: "ly";
-                               script {
-                                       custom_state(PART:"element", "default", 0.0);
-                                       set_state_val(PART:"element", STATE_MAP_ROT_Z, get_float(rot));
-                                       set_state_val(PART:"element", STATE_COLOR, 255, 255, 255, round(get_float(alpha)));
-                                       set_state(PART:"element", "custom", 0.0);
-                               }
-                       }
-                       program
-                       {
-                               name: "indice_set_default";
-                               signal: SIGNAL_SET_DEFAULT;
-                               source: "layout";
-                               action: STATE_SET "default" 0.0;
-                               target: "element";
-                       }
-                       program
-                       {
-                               name: "indice_set_current";
-                               signal: SIGNAL_SET_CURRENT;
-                               source: "layout";
-                               action: STATE_SET "current" 0.0;
-                               target: "element";
-                       }
-               }
-       }
-}
diff --git a/res/edje/livebox_container.edc b/res/edje/livebox_container.edc
deleted file mode 100644 (file)
index 6177498..0000000
+++ /dev/null
@@ -1,622 +0,0 @@
-/*
- * Copyright 2012  Samsung Electronics Co., Ltd
- *
- * Licensed under the Flora License, Version 1.1 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://floralicense.org/license/
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#include "../../inc/conf.h"
-
-images
-{
-       image: "btn_delete_nor.png" COMP;
-       image: "edit_all_page_create.png" COMP;
-       image: "frame.png" COMP;
-       image: "resize_button.png" COMP;
-}
-
-collections {
-       group {
-               ///@todo it would rather be named livebox_scroller_page
-               name: "livebox_container";
-
-               parts {
-                       part {
-                               //background fills the whole page in pagescroller
-                               name: "bg";
-                               scale: 1;
-                               type: SWALLOW;
-                               description {
-                                       state: "default" 0.0;
-                                       rel1
-                                       {
-                                               relative: 0.0 CONTENT_Y_MIN;
-                                       }
-                                       rel2 {
-                                               relative: 1.0 CONTENT_Y_MAX;
-                                       }
-                               }
-                       }
-
-                       part
-                       {
-                               name: "grid_bg";
-                               scale: 1;
-                               type: SWALLOW;
-                               description
-                               {
-                                       state: "default" 0.0;
-                                       visible: 1;
-                                       rel1
-                                       {
-                                               relative: 0.0 0.0; to: "content";
-                                       }
-                                       rel2
-                                       {
-                                               relative: 1.0 1.0; to: "content";
-                                       }
-                               }
-                               description
-                               {
-                                       state: "hidden" 0.0;
-                                       inherit: "default";
-                                       visible: 0;
-                               }
-
-                       }
-
-                       part {
-                               name: "edit_dim";
-                               scale: 1;
-                               type: RECT;
-                               repeat_events: 1;
-                               description {
-                                       state: "default" 0.0;
-                                       rel1 {relative: 0.0 0.0; to: "content";}
-                                       rel2 {relative: 1.0 1.0; to: "content";}
-                                       color: 0 0 0 40;
-                                       visible: 0;
-                               }
-                               description {
-                                       state: "edit";
-                                       inherit: "default" 0.0;
-                                       visible: 1;
-                               }
-                       }
-
-                       part {
-                               name : "add_page_button";
-                               scale: 1;
-                               type: IMAGE;
-                               description {
-                                       state: "default" 0.0;
-                                       rel1 {relative: LIVEBOX_ADD_PAGE_BUTTON_X_MIN LIVEBOX_ADD_PAGE_BUTTON_Y_MIN; to: "edit_dim";}
-                                       rel2 {relative: LIVEBOX_ADD_PAGE_BUTTON_X_MAX LIVEBOX_ADD_PAGE_BUTTON_Y_MAX; to: "edit_dim";}
-                                       image {
-                                               normal: "edit_all_page_create.png";
-                                       }
-                                       aspect_preference: BOTH;
-                                       visible: 0;
-                               }
-                               description {
-                                       state: "visible";
-                                       inherit: "default" 0.0;
-                                       visible: 1;
-                               }
-                       }
-
-                       part {
-                               //content is smaller than the background and positioned in the center
-                               name: "content";
-                               scale: 1;
-                               type: SWALLOW;
-                               description {
-                                       state: "default" 0.0;
-                                       rel1 { relative: LIVEBOX_X_MIN 0.0; to: "bg";}
-                                       rel2 { relative: LIVEBOX_X_MAX 1.0; to: "bg";}
-                                       fixed: 1 1;
-                               }
-                               description {
-                                       state: "edit" 0.0;
-                                       rel1 {relative: LIVEBOX_EDIT_X_MIN LIVEBOX_EDIT_Y_MIN; to: "bg";}
-                                       rel2 {relative: LIVEBOX_EDIT_X_MAX LIVEBOX_EDIT_Y_MAX; to: "bg";}
-                               }
-                       }
-
-                       part {
-                               name: "remove_button";
-                               scale: 1;
-                               type: IMAGE;
-                               mouse_events: 1;
-                               description {
-                                       state: "default" 0.0;
-                                       rel1{relative: 0.0 0.0; to: "content";}
-                                       rel2{relative: 1.0 1.0; to: "content";}
-                                       color: 255 255 255 255;
-                                       visible: 0;
-                                       aspect: 1.0 1.0;
-                                       align: 0.0 0.0;
-                                       min: LIVEBOX_REMOVE_BUTTON_SIZE LIVEBOX_REMOVE_BUTTON_SIZE;
-                                       max: LIVEBOX_REMOVE_BUTTON_SIZE LIVEBOX_REMOVE_BUTTON_SIZE;
-                                       aspect_preference: BOTH;
-                                       fixed: 1 1;
-                                       image {
-                                               normal: "btn_delete_nor.png";
-                                       }
-                               }
-                               description {
-                                       state: "show" 0.0;
-                                       inherit: "default" 0.0;
-                                       visible: 1;
-                               }
-                       }
-
-// =================================================================================
-                       part
-                       {
-                               name: "slider.vertical";
-                               type: SPACER;
-                               scale: 1;
-                               repeat_events: 1;
-                               description
-                               {
-                                       state: "default" 0.0;
-                                       align: 0.5 0.5;
-                                       rel1
-                                       {
-                                               relative: 0.0 -0.025;
-                                               to_x: "button.left";
-                                               to_y: "content";
-                                       }
-                                       rel2
-                                       {
-                                               relative: 1.0 1.03;
-                                               to_x: "button.right";
-                                               to_y: "content";
-                                       }
-
-                                       min: LIVEBOX_SLIDER_BUTTON_SIZE 0;
-                                       max: LIVEBOX_SLIDER_BUTTON_SIZE -1;
-                               }
-                       }
-                       part
-                       {
-                               name: "button.down";
-                               type: IMAGE;
-                               scale: 1;
-                               mouse_events: 1;
-                               repeat_events: 0;
-
-                               dragable {
-                                       confine: "slider.vertical";
-                                       x: 0 0 0;
-                                       y: 1 1 10;
-                               }
-                               description
-                               {
-                                       state: "default" 0.0;
-                                       color: 0 255 0 255;
-                                       align: 0.5 0.5;
-                                       visible: 1;
-                                       min: LIVEBOX_SLIDER_BUTTON_SIZE LIVEBOX_SLIDER_BUTTON_SIZE;
-
-                                       image
-                                       {
-                                               normal: "resize_button.png";
-                                       }
-                               }
-                               description
-                               {
-                                       state: "button,warning" 0.0;
-                                       inherit: "default";
-                                       color: 255 0 0 255;
-                               }
-                               description
-                               {
-                                       state: "hidden";
-                                       inherit: "default";
-                                       visible: 0;
-                               }
-                       }
-                       part
-                       {
-                               name: "button.up";
-                               type: IMAGE;
-                               scale: 1;
-                               mouse_events: 1;
-                               repeat_events: 0;
-
-                               dragable
-                               {
-                                       confine: "slider.vertical";
-                                       x: 0 0 0;
-                                       y: 1 1 10;
-                               }
-
-                               description
-                               {
-                                       state: "default" 0.0;
-                                       color: 0 255 0 255;
-                                       align: 0.5 0.5;
-                                       visible: 1;
-                                       min: LIVEBOX_SLIDER_BUTTON_SIZE LIVEBOX_SLIDER_BUTTON_SIZE;
-
-                                       image
-                                       {
-                                               normal: "resize_button.png";
-                                       }
-                               }
-                               description
-                               {
-                                       state: "button,warning" 0.0;
-                                       inherit: "default";
-                                       color: 255 0 0 255;
-                               }
-                               description
-                               {
-                                       state: "hidden";
-                                       inherit: "default";
-                                       visible: 0;
-                               }
-                       }
-
-                       part
-                       {
-                               name: "slider.horizontal";
-                               type: SPACER;
-                               scale: 1;
-                               repeat_events: 1;
-
-                               description
-                               {
-                                       state: "default" 0.0;
-                                       align: 0.5 0.5;
-
-                                       rel1
-                                       {
-                                               relative: -0.025 0.0;
-                                               to_x: "content";
-                                               to_y: "button.up";
-                                       }
-                                       rel2
-                                       {
-                                               relative: 1.03 1.0;
-                                               to_x: "content";
-                                               to_y: "button.down";
-                                       }
-
-                                       min: 0 LIVEBOX_SLIDER_BUTTON_SIZE;
-                                       max: -1 LIVEBOX_SLIDER_BUTTON_SIZE;
-                               }
-                       }
-                       part
-                       {
-                               name: "button.right";
-                               type: IMAGE;
-                               scale: 1;
-                               mouse_events: 1;
-                               repeat_events: 0;
-
-                               dragable
-                               {
-                                       confine: "slider.horizontal";
-                                       x: 1 1 10;
-                                       y: 0 0 0;
-                               }
-
-                               description
-                               {
-                                       state: "default" 0.0;
-                                       color: 0 255 0 255;
-                                       align: 0.5 0.5;
-                                       min: LIVEBOX_SLIDER_BUTTON_SIZE LIVEBOX_SLIDER_BUTTON_SIZE;
-                                       max: LIVEBOX_SLIDER_BUTTON_SIZE LIVEBOX_SLIDER_BUTTON_SIZE;
-                                       rel1
-                                       {
-                                               relative: 0.90 0.0;
-                                               to_y: "button.up";
-                                       }
-                                       rel2
-                                       {
-                                               relative: 1.00 1.0;
-                                               to_y: "button.down";
-                                       }
-
-                                       image
-                                       {
-                                               normal: "resize_button.png";
-                                       }
-                               }
-                               description
-                               {
-                                       state: "button,warning" 0.0;
-                                       inherit: "default";
-                                       color: 255 0 0 255;
-                               }
-                               description
-                               {
-                                       state: "hidden";
-                                       inherit: "default";
-                                       visible: 0;
-                               }
-                       }
-                       part
-                       {
-                               name: "button.left";
-                               type: IMAGE;
-                               scale: 1;
-                               mouse_events: 1;
-                               repeat_events: 0;
-
-                               dragable
-                               {
-                                       confine: "slider.horizontal";
-                                       x: 1 1 10;
-                                       y: 0 0 0;
-                               }
-
-                               description
-                               {
-                                       state: "default" 0.0;
-                                       color: 0 255 0 255;
-                                       align: 0.5 0.5;
-                                       min: LIVEBOX_SLIDER_BUTTON_SIZE LIVEBOX_SLIDER_BUTTON_SIZE;
-                                       max: LIVEBOX_SLIDER_BUTTON_SIZE LIVEBOX_SLIDER_BUTTON_SIZE;
-                                       visible: 1;
-                                       rel1
-                                       {
-                                               relative: 0.0 1.0;
-                                               to_y: "button.up";
-                                       }
-                                       rel2
-                                       {
-                                               relative: 0.1 0.0;
-                                               to_y: "button.down";
-                                       }
-
-                                       image
-                                       {
-                                               normal: "resize_button.png";
-                                       }
-                               }
-                               description
-                               {
-                                       state: "button,warning" 0.0;
-                                       inherit: "default";
-                                       color: 255 0 0 255;
-                               }
-                               description
-                               {
-                                       state: "hidden";
-                                       inherit: "default";
-                                       visible: 0;
-                               }
-                       }
-
-                       part {
-                               name: "event_blocker";
-                               type: RECT;
-                               mouse_events: 1;
-                               repeat_events: 1;
-                               description {
-                                       state: "default" 0.0;
-                                       fixed: 1 1;
-                                       color: 0 0 0 0;
-                                       visible: 0;
-                                       rel1 { relative: 0.0 0.0; to: "content";}
-                                       rel2 { relative: 1.0 1.0; to: "content";}
-                               }
-                               description {
-                                       state: "show" 0.0;
-                                       inherit: "default" 0.0;
-                                       visible: 1;
-                               }
-                       }
-
-                       part {
-                               name : "frame";
-                               type: IMAGE;
-                               mouse_events: 0;
-                               repeat_events: 1;
-                               description {
-                                       state: "default" 0.0;
-                                       rel1
-                                       {
-                                               relative: LIVEBOX_RESIZE_FRAME_REL_1 LIVEBOX_RESIZE_FRAME_REL_1;
-                                               to_x: "button.left";
-                                               to_y: "button.up";
-                                       }
-                                       rel2
-                                       {
-                                               relative: LIVEBOX_RESIZE_FRAME_REL_2 LIVEBOX_RESIZE_FRAME_REL_2;
-                                               to_x: "button.right";
-                                               to_y: "button.down";
-                                       }
-                                       image {
-                                               normal: "frame.png";
-                                               border: 20 20 20 20;
-                                       }
-                                       color: 0 255 0 255;
-                                       visible: 1;
-                               }
-                               description {
-                                       state: "hidden";
-                                       inherit: "default" 0.0;
-                                       visible: 0;
-                               }
-                               description {
-                                       state: "button,warning";
-                                       inherit: "default" 0.0;
-                                       color: 255 0 0 255;
-                               }
-                       }
-
-// ===========================================================================
-               programs {
-               //Remove button
-                       program {
-                               name: "remove_button_show";
-                               signal: "remove_button,show";
-                               source: "layout";
-                               action: STATE_SET "show" 0.0;
-                               target: "remove_button";
-                               transition: DECELERATE 0.20;
-                       }
-                       program {
-                               name: "event_blocker_show";
-                               action: STATE_SET "show" 0.0;
-                               target: "event_blocker";
-                       }
-
-                       program {
-                               name: "remove_button_hide";
-                               signal: "remove_button,hide";
-                               source: "layout";
-                               action: STATE_SET "default" 0.0;
-                               target: "remove_button";
-                               transition: DECELERATE 0.20;
-                       }
-                       program {
-                               name: "remove_button_hide_instant";
-                               signal: "remove_button,hide,instant";
-                               source: "layout";
-                               action: STATE_SET "default" 0.0;
-                               target: "remove_button";
-                               after: "event_blocker_hide";
-                       }
-                       program {
-                               name: "event_blocker_hide";
-                               action: STATE_SET "default" 0.0;
-                               target: "event_blocker";
-                       }
-
-                       program {
-                               name: "remove_button_clicked";
-                               signal: "mouse,clicked,1";
-                               source: "remove_button";
-                               action: SIGNAL_EMIT "remove_button,clicked" "layout";
-                       }
-
-// =========================================================================
-                       program
-                       {
-                               name: "drag,outside";
-                               signal: "drag,outside";
-                               source: "livebox";
-                               action: STATE_SET "button,warning" 0.0;
-                               target: "button.left";
-                               target: "button.right";
-                               target: "button.up";
-                               target: "button.down";
-                               target: "frame";
-                       }
-                       program
-                       {
-                               name: "drag,ok";
-                               signal: "drag,ok";
-                               source: "livebox";
-                               action: STATE_SET "default" 0.0;
-                               target: "button.left";
-                               target: "button.right";
-                               target: "button.up";
-                               target: "button.down";
-                               target: "frame";
-                       }
-
-                       program
-                       {
-                               name: "sliders,hide";
-                               signal: "sliders,hide";
-                               source: "livebox";
-                               action: STATE_SET "hidden" 0.0;
-                               target: "button.left";
-                               target: "button.right";
-                               target: "button.up";
-                               target: "button.down";
-                               target: "frame";
-                       }
-
-                       program
-                       {
-                               name: "sliders,show";
-                               signal: "sliders,show";
-                               source: "livebox";
-                               action: STATE_SET "default" 0.0;
-                               target: "button.left";
-                               target: "button.right";
-                               target: "button.up";
-                               target: "button.down";
-                               target: "frame";
-                       }
-// ==================================================================================================
-
-                       program
-                       {
-                               name: "grid,hide";
-                               signal: SIGNAL_GRID_SHADOW_HIDE;
-                               source: PART_GRID_BG;
-                               action: STATE_SET "hidden" 0.0;
-                               target: "grid_bg";
-                       }
-
-                       program
-                       {
-                               name: "grid,show";
-                               signal: SIGNAL_GRID_SHADOW_SHOW;
-                               source: PART_GRID_BG;
-                               action: STATE_SET "default" 0.0;
-                               target: "grid_bg";
-                       }
-
-
-// ==================================================================================================
-
-                       program {
-                               name: "edit_start";
-                               signal: "edit,start";
-                               source: "layout";
-                               action: STATE_SET "edit" 0.0;
-                               target: "edit_dim";
-                               target: "content";
-                       }
-                       program {
-                               name: "edit_stop";
-                               signal: "edit,stop";
-                               source: "layout";
-                               action: STATE_SET "default" 0.0;
-                               target: "edit_dim";
-                               target: "content";
-                       }
-                       program {
-                               name: "add_show";
-                               signal: "add,show";
-                               source: "layout";
-                               action: STATE_SET "visible" 0.0;
-                               target: "add_page_button";
-                       }
-                       program {
-                               name: "add_hide";
-                               signal: "add,hide";
-                               source: "layout";
-                               action: STATE_SET "default" 0.0;
-                               target: "add_page_button";
-                       }
-                       program
-                       {
-                               name: "add_page_clicked";
-                               signal: "mouse,clicked,1";
-                               source: "add_page_button";
-                               action: SIGNAL_EMIT "add_page_button_clicked" "layout";
-                       }
-               }
-       }
-}
diff --git a/res/edje/livebox_layout.edc b/res/edje/livebox_layout.edc
deleted file mode 100644 (file)
index 3e422c3..0000000
+++ /dev/null
@@ -1,176 +0,0 @@
-/*
- * Copyright 2012  Samsung Electronics Co., Ltd
- *
- * Licensed under the Flora License, Version 1.1 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://floralicense.org/license/
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#include "../../inc/conf.h"
-
-images
-{
-       image: "btn_delete_nor.png" COMP;
-       image: "reposition_bg.png" COMP;
-       image: "reposition_bg_shadow.png" COMP;
-}
-
-collections
-{
-       group
-       {
-               name: "livebox";
-               parts
-               {
-                       part
-                       {
-                               name: "reposition_bg";
-                               type: IMAGE;
-                               scale: 1;
-                               mouse_events: 0;
-                               repeat_events: 1;
-                               description
-                               {
-                                       state: "default" 0.0;
-                                       rel1{relative: 0.0 0.0; to: "livebox";}
-                                       rel2{relative: 1.0 1.0; to: "livebox";}
-                                       color: LIVEBOX_REPOSITION_BG_COLOR LIVEBOX_REPOSITION_BG_COLOR LIVEBOX_REPOSITION_BG_COLOR 0;
-                                       image
-                                       {
-                                               normal: "reposition_bg.png";
-                                               border: LIVEBOX_REPOSITION_BG_BORDER LIVEBOX_REPOSITION_BG_BORDER LIVEBOX_REPOSITION_BG_BORDER LIVEBOX_REPOSITION_BG_BORDER;
-                                       }
-                               }
-                               description
-                               {
-                                       state: "visible" 0.0;
-                                       inherit: "default" 0.0;
-                                       color: LIVEBOX_REPOSITION_BG_COLOR LIVEBOX_REPOSITION_BG_COLOR LIVEBOX_REPOSITION_BG_COLOR LIVEBOX_REPOSITION_BG_COLOR;
-                               }
-                       }
-
-                       part
-                       {
-                               name: "livebox";
-                               type: SWALLOW;
-                               scale: 1;
-                               mouse_events: 1;
-                               description
-                               {
-                                       state: "default" 0.0;
-                                       visible: 1;
-                                       rel1.relative: 0.0 0.0;
-                                       rel2.relative: 1.0 1.0;
-                               }
-                       }
-
-                       part
-                       {
-                               name: "remove_button_rect";
-                               type: SPACER;
-                               scale: 1;
-                               mouse_events: 1;
-                               description
-                               {
-                                       state: "default" 0.0;
-                                       rel1{relative: 0.0 0.0; to: "livebox";}
-                                       rel2{relative: 1.0 1.0; to: "livebox";}
-                                       align: 0.0 0.0;
-                                       aspect: 1.0 1.0;
-                                       min: LIVEBOX_REMOVE_LB_BUTTON_SIZE+LIVEBOX_REMOVE_LB_OFFSET_X LIVEBOX_REMOVE_LB_BUTTON_SIZE+LIVEBOX_REMOVE_LB_OFFSET_Y;
-                                       max: LIVEBOX_REMOVE_LB_BUTTON_SIZE+LIVEBOX_REMOVE_LB_OFFSET_X LIVEBOX_REMOVE_LB_BUTTON_SIZE+LIVEBOX_REMOVE_LB_OFFSET_Y;
-                                       aspect_preference: BOTH;
-                                       fixed: 1 1;
-
-                               }
-                       }
-
-                       part
-                       {
-                               name: "remove_button";
-                               type: IMAGE;
-                               scale: 1;
-                               mouse_events: 1;
-                               repeat_events: 0;
-                               description
-                               {
-                                       state: "default" 0.0;
-                                       visible: 0;
-                                       rel1{relative: 0.0 0.0; to: "remove_button_rect";}
-                                       rel2{relative: 1.0 1.0; to: "remove_button_rect";}
-                                       align: 1.0 1.0;
-                                       aspect: 1.0 1.0;
-                                       min: LIVEBOX_REMOVE_LB_BUTTON_SIZE LIVEBOX_REMOVE_LB_BUTTON_SIZE;
-                                       max: LIVEBOX_REMOVE_LB_BUTTON_SIZE LIVEBOX_REMOVE_LB_BUTTON_SIZE;
-                                       aspect_preference: BOTH;
-                                       fixed: 1 1;
-                                       image
-                                       {
-                                               normal: "btn_delete_nor.png";
-                                       }
-                               }
-                               description
-                               {
-                                       state: "show" 0.0;
-                                       inherit: "default" 0.0;
-                                       color: 255 255 255 255;
-                                       visible: 1;
-                               }
-                       }
-               }
-
-               programs {
-               //Remove button
-                       program {
-                               name: "remove_button_show";
-                               signal: "remove_button,show";
-                               source: "livebox";
-                               action: STATE_SET "show" 0.0;
-                               target: "remove_button";
-                               transition: DECELERATE 0.20;
-                       }
-
-                       program {
-                               name: "remove_button_hide";
-                               signal: "remove_button,hide";
-                               source: "livebox";
-                               action: STATE_SET "default" 0.0;
-                               target: "remove_button";
-                               transition: DECELERATE 0.20;
-                       }
-
-                       program {
-                               name: "remove_button_hide_instant";
-                               signal: "remove_button,hide,instant";
-                               source: "livebox";
-                               action: STATE_SET "default" 0.0;
-                               target: "remove_button";
-                       }
-
-
-                       program {
-                               name: "reposition_bg_show";
-                               signal: "reposition_bg,show";
-                               source: "livebox";
-                               action: STATE_SET "visible" 0.0;
-                               target: "reposition_bg";
-                       }
-
-                       program {
-                               name: "reposition_bg_hide";
-                               signal: "reposition_bg,hide";
-                               source: "livebox";
-                               action: STATE_SET "default" 0.0;
-                               target: "reposition_bg";
-                       }
-               }
-       }
-}
diff --git a/res/edje/page_edit.edc b/res/edje/page_edit.edc
deleted file mode 100644 (file)
index ca03b77..0000000
+++ /dev/null
@@ -1,292 +0,0 @@
-/*
- * Copyright 2012  Samsung Electronics Co., Ltd
- *
- * Licensed under the Flora License, Version 1.1 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://floralicense.org/license/
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#include "page_edit_util.edc"
-#include "../../inc/conf.h"
-
-images {
-       image: "btn_delete_nor.png" COMP;
-       image: "btn_delete_press.png" COMP;
-       image: "edit_all_page_drag.png" COMP;
-       image: "edit_all_page_bg.png" COMP;
-       image: "edit_all_page_create.png" COMP;
-}
-
-collections
-{
-       group
-       {
-               name: GROUP_ALL_PAGES;
-
-               parts {
-                       part
-                       {
-                               name: "base";
-                               type: SPACER;
-                               description {
-                                       state: "default" 0.0;
-                                       rel1 { relative: 0.0 0.0;}
-                                       rel2 { relative: 1.0 1.0;}
-                               }
-                       }
-                       part
-                       {
-                               name: "bg";
-                               type: SWALLOW;
-                               description
-                               {
-                                       state: "default" 0.0;
-                                       rel1 { relative: 0.0 0.0; to:"base";}
-                                       rel2 { relative: 1.0 1.0; to:"base";}
-                               }
-                       }
-                       part
-                       {
-                               name: PART_LAYOUT_CONTENT;
-                               type: SWALLOW; //gengrid swallow
-                               description
-                               {
-                                       state: "default" 0.0;
-                                       rel1 { relative: 0.0 0.0; to:"base";}
-                                       rel2 { relative: 1.0 1.0; to:"base";}
-                               }
-                       }
-               }
-       }
-
-       group {
-               name: GROUP_GRID_ITEM;
-
-               parts {
-                       part {
-                               name: "base";
-                               type: SPACER;
-                               description {
-                                       state: "default" 0.0;
-                                       rel1 {relative: 0.0 0.0;}
-                                       rel2 {relative: 1.0 1.0;}
-                               }
-                       }
-
-                       part {
-                               name: PART_GRID_ITEM_CONTENT;
-                               type: SWALLOW;
-                               description {
-                                       state: "default" 0.0;
-                                       rel1 {relative: 0.0 0.0; to: "base";}
-                                       rel2 {relative: 1.0 1.0; to: "base";}
-                               }
-                       }
-               }
-       }
-
-       group
-       {
-               name: GROUP_THUMB;
-               parts
-               {
-                       part
-                       {
-                               name: "base";
-                               type: SPACER;
-                               description
-                               {
-                                       state: "default" 0.0;
-                                       rel1 {relative: 0.0 0.0;}
-                                       rel2 {relative: 1.0 1.0;}
-                               }
-                       }
-                       part
-                       {
-                               name: "bg";
-                               type: IMAGE;
-                               description
-                               {
-                                       state: "default" 0.0;
-                                       rel1 {relative: 0.0 0.0; to: PART_THUMB_CONTENT;}
-                                       rel2 {relative: 1.0 1.0; to: PART_THUMB_CONTENT;}
-                                       image {
-                                               normal: "edit_all_page_bg.png";
-                                       }
-                               }
-                               description
-                               {
-                                       state: "hide" 0.0;
-                                       inherit: "default" 0.0;
-                                       visible: 0;
-                               }
-                               description
-                               {
-                                       state: "reposition" 0.0;
-                                       inherit: "default";
-                                       rel1 {relative: -0.05 -0.05;}
-                                       rel2 {relative: 1.05 1.05;}
-                                       visible: 1;
-                                       image
-                                       {
-                                               normal: "edit_all_page_drag.png";
-                                       }
-                               }
-                       }
-                       part {
-                               name: "add_bg";
-                               type: IMAGE;
-                               description {
-                                       state: "default" 0.0;
-                                       rel1 {relative: 0.34 0.34; to: "bg";}
-                                       rel2 {relative: 0.67 0.67; to: "bg";}
-                                       visible: 0;
-                                       image {
-                                               normal : "edit_all_page_create.png";
-                                       }
-                               }
-                               description {
-                                       state: "visible" 0.0;
-                                       inherit: "default" 0.0;
-                                       visible: 1;
-                               }
-                       }
-                       part
-                       {
-                               name: PART_THUMB_CONTENT;
-                               type: SWALLOW;
-                               description
-                               {
-                                       state: "default" 0.0;
-                                       rel1 {relative: 0.0 0.0; to: "base";}
-                                       rel2 {relative: 1.0 1.0; to: "base";}
-                               }
-                       }
-                       part {
-                               name: "remove_button";
-                               type: IMAGE;
-                               description {
-                                       state: "default" 0.0;
-                                       rel1{relative: BADGE_REL1_X BADGE_REL1_Y; to: "base";}
-                                       rel2{relative: BADGE_REL2_X BADGE_REL2_Y; to: "base";}
-                                       visible: 1;
-                                       aspect: 0.0 0.0;
-                                       aspect_preference: BOTH;
-                                       fixed: 1 1;
-                                       image {
-                                               normal: "btn_delete_nor.png";
-                                       }
-                               }
-                               description {
-                                       state: "pressed";
-                                       inherit: "default" 0.0;
-                                       image {
-                                               normal: "btn_delete_press.png";
-                                       }
-                               }
-                               description {
-                                       state: "hidden" 0.0;
-                                       inherit: "default" 0.0;
-                                       color: 255 255 255 0;
-                                       visible: 0;
-                               }
-                       }
-               }
-               programs
-               {
-                       program
-                       {
-                               name: "bg_hide";
-                               signal: SIGNAL_BG_HIDE;
-                               source: "layout";
-                               action: STATE_SET "hide" 0.0;
-                               target: "bg";
-                       }
-                       program
-                       {
-                               name: "bg_reposition";
-                               signal: SIGNAL_BG_REPOSITON;
-                               source: "layout";
-                               action: STATE_SET "reposition" 0.0;
-                               target: "bg";
-                               transition: DECELERATE 0.2;
-                       }
-                       program
-                       {
-                               name: "bg_normal";
-                               signal: SIGNAL_BG_NORMAL;
-                               source: "layout";
-                               action: STATE_SET "default" 0.0;
-                               target: "bg";
-                               transition: DECELERATE 0.2;
-                       }
-                       program {
-                               name: "thumbnail_clicked";
-                               signal: "mouse,clicked,1";
-                               source: "page_thumbnail";
-                               action: SIGNAL_EMIT SIGNAL_THUMBNAIL_CLICKED SIGNAL_SOURCE;
-                       }
-                       program {
-                               name: "add_icon_show";
-                               signal: SIGNAL_ADD_ICON_SHOW;
-                               source: "layout";
-                               action: STATE_SET "visible" 0.0;
-                               target: "add_bg";
-                       }
-                       program {
-                               name: "remove_button_clicked";
-                               signal: "mouse,clicked,1";
-                               source: "remove_button";
-                               action: SIGNAL_EMIT SIGNAL_REMOVE_BUTTON_CLICKED SIGNAL_SOURCE;
-                       }
-                       program {
-                               name: "remove_button_show";
-                               signal: SIGNAL_REMOVE_BUTTON_SHOW;
-                               source: "layout";
-                               action: STATE_SET "default" 0.0;
-                               target: "remove_button";
-                               transition: DECELERATE 0.20;
-                       }
-                       program {
-                               name: "remove_button_hide";
-                               signal: SIGNAL_REMOVE_BUTTON_HIDE;
-                               source: "layout";
-                               action: STATE_SET "hidden" 0.0;
-                               target: "remove_button";
-                               transition: DECELERATE 0.20;
-                       }
-                       program {
-                               name: "remove_button_hide_instant";
-                               signal: SIGNAL_REMOVE_BUTTON_HIDE_INSTANT;
-                               source: "layout";
-                               action: STATE_SET "hidden" 0.0;
-                               target: "remove_button";
-                       }
-                       program {
-                               name: "remove_button_mouse_down";
-                               signal: "mouse,down,1";
-                               source: "remove_button";
-                               action: STATE_SET "pressed" 0.0;
-                               target: "remove_button";
-                               transition: DECELERATE 0.20;
-                       }
-                       program {
-                               name: "remove_button_mouse_up";
-                               signal: "mouse,up,1";
-                               source: "remove_button";
-                               action: STATE_SET "default" 0.0;
-                               target: "remove_button";
-                               transition: DECELERATE 0.20;
-                       }
-               }
-       }
-}
-
diff --git a/res/edje/page_edit_util.edc b/res/edje/page_edit_util.edc
deleted file mode 100644 (file)
index 85c6821..0000000
+++ /dev/null
@@ -1,108 +0,0 @@
-/*
- * Copyright 2012  Samsung Electronics Co., Ltd
- *
- * Licensed under the Flora License, Version 1.1 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://floralicense.org/license/
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#define PAGE_RECT(part_name, row_def, col_def) \
-part { \
-       name: "item_"part_name"_rect"; \
-       type: RECT; \
-       description { \
-                       state: "default" 0.0; \
-                       color: 0 0 0 0; \
-                       rel1 {relative: ((col_def+1)*ROW_SHIFT) ((row_def+1)*COL_SHIFT); to: "container"; offset: THUMBNAIL_OFFSET_X THUMBNAIL_OFFSET_Y;} \
-                       rel2 {relative: ((col_def+1)*ROW_SHIFT) ((row_def+1)*COL_SHIFT); to: "container"; offset: THUMBNAIL_OFFSET_X THUMBNAIL_OFFSET_Y;} \
-                       min: THUMBNAIL_WIDTH THUMBNAIL_HEIGHT; \
-                       max: THUMBNAIL_WIDTH THUMBNAIL_HEIGHT; \
-       } \
-} \
-
-
-#define PAGE_SWALLOW(part_name, row_def, col_def, row_prev, col_prev, row_next, col_next) \
-part { \
-       name: "item_"part_name"_swallow"; \
-       type: SWALLOW; \
-       scale: 1; \
-       mouse_events: 1;\
-       description { \
-               state: "default" 0.0 ;\
-               color: 0 0 0 0; \
-               rel1 {relative: ((col_def+1)*ROW_SHIFT) ((row_def+1)*COL_SHIFT); to: "container"; offset: THUMBNAIL_OFFSET_X THUMBNAIL_OFFSET_Y;} \
-               rel2 {relative: ((col_def+1)*ROW_SHIFT) ((row_def+1)*COL_SHIFT); to: "container"; offset: THUMBNAIL_OFFSET_X THUMBNAIL_OFFSET_Y;} \
-               fixed: 1 1; \
-               min: THUMBNAIL_WIDTH THUMBNAIL_HEIGHT; \
-               max: THUMBNAIL_WIDTH THUMBNAIL_HEIGHT; \
-       } \
-       description { \
-               state: "prev" 0.0 ;\
-               color: 255 0 0 150; \
-               rel1 {relative: ((col_prev+1)*ROW_SHIFT) ((row_prev+1)*COL_SHIFT); to: "container"; offset: THUMBNAIL_OFFSET_X THUMBNAIL_OFFSET_Y;} \
-               rel2 {relative: ((col_prev+1)*ROW_SHIFT) ((row_prev+1)*COL_SHIFT); to: "container"; offset: THUMBNAIL_OFFSET_X THUMBNAIL_OFFSET_Y;} \
-               fixed: 1 1; \
-       } \
-       description { \
-               state: "next" 0.0 ;\
-               color: 255 0 0 150; \
-               rel1 {relative: ((col_next+1)*ROW_SHIFT) ((row_next+1)*COL_SHIFT); to: "container"; offset: THUMBNAIL_OFFSET_X THUMBNAIL_OFFSET_Y;} \
-               rel2 {relative: ((col_next+1)*ROW_SHIFT) ((row_next+1)*COL_SHIFT); to: "container"; offset: THUMBNAIL_OFFSET_X THUMBNAIL_OFFSET_Y;} \
-               fixed: 1 1; \
-       } \
-} \
-
-#define PAGE_PROGRAM(part_name) \
-program { \
-       name: "page_grid_"part_name"_next"; \
-       signal: "set_next"; \
-       source: "item_"part_name"_swallow"; \
-       action: STATE_SET "next" 0.0;\
-       target: "item_"part_name"_swallow"; \
-       transition: DECELERATE 0.20; \
-       after: "page_grid_ani_done_next_"part_name; \
-} \
-program { \
-       name: "page_grid_"part_name"_prev"; \
-       signal: "set_prev"; \
-       source: "item_"part_name"_swallow"; \
-       action: STATE_SET "prev" 0.0;\
-       target: "item_"part_name"_swallow"; \
-       transition: DECELERATE 0.20; \
-       after: "page_grid_ani_done_prev_"part_name; \
-} \
-program { \
-       name: "page_grid_"part_name"_ani_"; \
-       signal: "set_def"; \
-       source: "item_"part_name"_swallow"; \
-       action: STATE_SET "default" 0.0; \
-       target: "item_"part_name"_swallow"; \
-} \
-program { \
-       name: "page_grid_ani_done_prev_"part_name; \
-       action: SIGNAL_EMIT "ani,done,left" "item_"part_name"_swallow"; \
-} \
-program { \
-       name: "page_grid_ani_done_next_"part_name; \
-       action: SIGNAL_EMIT "ani,done,right" "item_"part_name"_swallow"; \
-} \
-program { \
-       name: "program_down_app_grid_"part_name; \
-       source: "item_"part_name"_swallow";\
-       signal: "mouse,down,1";\
-       action: SIGNAL_EMIT "down,part" "item_"part_name"_swallow";\
-}\
-program { \
-       name: "program_up_app_grid_"part_name; \
-       source: "item_"part_name"_swallow";\
-       signal: "mouse,up,1";\
-       action: SIGNAL_EMIT "up,part" "item_"part_name"_swallow";\
-}\
\ No newline at end of file
diff --git a/res/edje/page_indicator_unit.edc b/res/edje/page_indicator_unit.edc
new file mode 100755 (executable)
index 0000000..9c142a3
--- /dev/null
@@ -0,0 +1,108 @@
+/*
+ * Copyright 2012  Samsung Electronics Co., Ltd
+ *
+ * Licensed under the Flora License, Version 1.1 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://floralicense.org/license/
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include "../../inc/edc_conf.h"
+
+collections {
+    group {
+        name: GROUP_PAGE_INDICATOR_UNIT;
+        images {
+            image: "../res/images/page_indicator_current.png" COMP;
+            image: "../res/images/page_indicator_unit.png" COMP;
+        }
+        script {
+            public rot;
+            public alpha;
+
+            public message(Msg_Type:type, id, ...) {
+                if (type == MSG_FLOAT_SET)
+                {
+                    set_float(rot, getfarg(2));
+                    set_float(alpha, getfarg(3));
+                    send_message(type, id, getfarg(2), getfarg(3));
+                }
+            }
+        }
+        parts {
+            part { name: SIZE_SETTER;
+                type: SWALLOW;
+                description {
+                    state: "default" 0.0;
+                    align: 0 0;
+                    rel1.relative: 0.0 0.0;
+                    rel2.relative: 0.0 0.0;
+                }
+            }
+            part {
+                name: "unit";
+                type: IMAGE;
+
+                description {
+                    state: "default" 0.0;
+                    color: 255 255 255 75;
+                    rel1{relative: 0.0 0.0; to:SIZE_SETTER;}
+                    rel2{relative: 1.0 1.0; to:SIZE_SETTER;}
+                    image {
+                        normal: "../res/images/page_indicator_unit.png";
+                    }
+                    map {
+                        on: 1;
+                        perspective_on: 1;
+                        smooth: 1;
+                        alpha: 1;
+                    }
+                }
+                description {
+                    state: "current" 0.0;
+                    inherit: "default" 0.0;
+                    color: 255 255 255 255;
+                    image {
+                        normal: "../res/images/page_indicator_current.png";
+                    }
+                }
+            }
+        }
+        programs {
+            program
+            {
+                name: "indice_set_default";
+                signal: SIGNAL_PAGE_IDICATOR_DEFAULT;
+                source: SIGNAL_SOURCE;
+                action: STATE_SET "default" 0.0;
+                target: "unit";
+            }
+            program
+            {
+                name: "indice_set_current";
+                signal: SIGNAL_PAGE_IDICATOR_CURRENT;
+                source: SIGNAL_SOURCE;
+                action: STATE_SET "current" 0.0;
+                target: "unit";
+            }
+            program {
+                name: "rotation,changed";
+                signal: SIGNAL_PAGE_IDICATOR_ROTATION_CHANGE;
+                source: SIGNAL_SOURCE;
+                script {
+                    custom_state(PART:"unit", "default", 0.0);
+                    set_state_val(PART:"unit", STATE_MAP_ROT_Z, get_float(rot));
+                    set_state_val(PART:"unit", STATE_COLOR, 255, 255, 255, round(get_float(alpha)));
+                    set_state(PART:"unit", "custom", 0.0);
+                }
+            }
+        }
+    }
+}
\ No newline at end of file
diff --git a/res/edje/preview.edc b/res/edje/preview.edc
deleted file mode 100644 (file)
index a0e0f6c..0000000
+++ /dev/null
@@ -1,1093 +0,0 @@
-images {
-       image: "icon_list_open.png" COMP;
-       image: "icon_list_close.png" COMP;
-
-       image: "icon_shadow.png" COMP;
-       image: "1x1 preview shortcut.png" COMP;
-
-       image: "preview_bg_1x1.png" COMP;
-       image: "preview_bg_2x1.png" COMP;
-       image: "preview_bg_2x2.png" COMP;
-       image: "preview_bg_4x1.png" COMP;
-       image: "preview_bg_4x2.png" COMP;
-       image: "preview_bg_4x3.png" COMP;
-       image: "preview_bg_4x4.png" COMP;
-       image: "icon_drawer_search.png" COMP;
-}
-
-
-#define BG_PREVIEW_COLOR 134 177 197 255
-
-#include "color_classes.edc"
-
-
-
-styles {
-       style {
-               name: "tree,font";
-               base: "font=Tizen text_class=ATO001 font_size=28 align=left color=#FFFFFF color_class=ATO001 ellipsis=1.0";
-               tag:  "br" "\n";
-               tag:  "hilight" "+ font=Tizen:style=Bold";
-               tag:  "b" "+ font=Tizen:style=Bold";
-               tag:  "tab" "\t";
-       }
-
-       style {
-               name: "open,title,font";
-               base: "font=Tizen text_class=ATO001 font_size=28 align=left color=#FFFFFF color_class=ATO001 ellipsis=1.0";
-               tag: "br" "\n";
-               tag: "hilight" "+ font=Tizen:style=Bold";
-               tag: "b" "+ font=Tizen:style=Bold";
-               tag: "tag" "\t";
-       }
-
-       style {
-               name: "leaf,font";
-               base: "font=Tizen text_class=TO23 font_size=28 align=left color=#AAAAAA color_class=AT0001 ellipsis=1.0";
-               tag:  "br" "\n";
-               tag:  "hilight" "+ font=Tizen:style=Bold";
-               tag:  "b" "+ font=Tizen:style=Bold";
-               tag:  "tab" "\t";
-       }
-}
-
-// 44 + 76
-#define LEFT_SPACE     0
-#define PHYSI_WIDTH    480
-#define LOGI_WIDTH     (PHYSI_WIDTH - LEFT_SPACE)
-
-collections {
-       base_scale: 1.8;
-       plugins {
-               plugin {
-                       name: "touch_sound";
-                       source: "feedback";
-                       param: "1 0";
-               }
-       }
-
-       group {
-               name: "elm/genlist/item/widget,leaf/default";
-
-               data.item: "contents" "elm.icon bg";
-               data.item: "texts" "elm.text";
-
-               parts {
-                       part {
-                               name: "bg";
-                               type: SWALLOW;
-                               scale: 1;
-                               mouse_events: 1;
-                               description {
-                                       state: "default" 0.0;
-                                       rel1 { relative: 0.0 0.0; }
-                                       rel2 { relative: 1.0 1.0; }
-                                       min: 1 270;
-                                       max: -1 270;
-                               }
-                               description {
-                                       state: "selected" 0.0;
-                                       inherit: "default" 0.0;
-                               }
-                       }
-
-                       part {
-                               name: "padding.top";
-                               type: SPACER;
-                               scale: 1;
-                               mouse_events: 0;
-                               description
-                               {
-                                       state: "default" 0.0;
-                                       rel1 { relative: 0.0 0.0; to: "bg";}
-                                       rel2 { relative: 1.0 0.0; to: "bg"; }
-                                       min: 0 20;
-                               }
-                       }
-
-                       part {
-                               name: "padding.bottom";
-                               type: SPACER;
-                               scale: 1;
-                               mouse_events: 0;
-                               description
-                               {
-                                       state: "default" 0.0;
-                                       rel1 { relative: 0.0 1.0; to: "bg";}
-                                       rel2 { relative: 1.0 1.0; to: "bg";}
-                                       min: 0 20;
-                               }
-                       }
-
-                       part {
-                               name: "padding.left";
-                               type: SPACER;
-                               scale: 1;
-                               mouse_events: 0;
-                               description
-                               {
-                                       state: "default" 0.0;
-                                       rel1 { relative: 0.0 0.0; to: "bg";}
-                                       rel2 { relative: 0.0 1.0; to: "bg";}
-                                       min: 20 0;
-                               }
-                       }
-
-                       part {
-                               name: "padding.right";
-                               type: SPACER;
-                               scale: 1;
-                               mouse_events: 0;
-                               description
-                               {
-                                       state: "default" 0.0;
-                                       rel1 { relative: 1.0 0.0; to: "bg";}
-                                       rel2 { relative: 1.0 1.0; to: "bg";}
-                                       min: 20 0;
-                               }
-                       }
-
-                       part {
-                               name: "elm.text";
-                               type: TEXTBLOCK;
-                               mouse_events: 0;
-                               scale: 1;
-                               description {
-                                       state: "default" 0.0;
-                                       rel1 { relative: 0.042 1.0; to_y: "padding.top"; }
-                                       rel2 { relative: 0.958 1.0; to_y: "padding.top"; }
-                                       min: 0 36;
-                                       align: 0.0 0.0;
-                                       text { style: "leaf,font"; }
-                               }
-                       }
-
-                       part {
-                               name: "text.right.padding";
-                               type: SPACER;
-                               mouse_events: 0;
-                               scale: 1;
-                               description
-                               {
-                                       state: "default" 0.0;
-                                       rel1 { relative: 1.0 1.0; to_x: "elm.text"; to_y: "padding.top"; }
-                                       rel2 { relative: 1.0 0.0; to_x: "elm.text"; to_y: "padding.bottom"; }
-                                       align: 0.0 0.0;
-                               }
-                       }
-
-                       part {
-                               name: "elm.icon";
-                               type: SWALLOW;
-                               mouse_events: 1;
-                               scale: 1;
-                               description {
-                                       state: "default" 0.0;
-                                       rel1 { relative: 0.0 1.0; to: "elm.text"; }
-                                       rel2 { relative: 1.0 0.0; to: "padding.bottom"; }
-                                       align: 0.0 0.0;
-                               }
-                       }
-
-                       part {
-                               name: "top,line";
-                               // clip_to: "disclip";
-                               type: RECT;
-                               mouse_events: 0;
-                               scale: 1;
-                               description {
-                                       state: "default" 0.0;
-                                       rel1 { relative: 0.0 0/112; }
-                                       rel2 { relative: 1.0 1/112; }
-                                       color_class: "B0223";
-                               }
-                       }
-               }
-
-               programs {
-                       program {
-                               name: "go_active";
-                               signal: "elm,state,selected";
-                               source: "elm";
-                               action: STATE_SET "selected" 0.0;
-                               target: "bg";
-                       }
-                       program {
-                               name: "go_passive";
-                               signal: "elm,state,unselected";
-                               source: "elm";
-                               action: STATE_SET "default" 0.0;
-                               target: "bg";
-                               transition: LINEAR 0.1;
-                       }
-               }
-       }
-
-
-       group {
-               name: "conformant,frame";
-               parts {
-                       part {
-                               name: "bg";
-                               type: RECT;
-                               scale: 1;
-                               mouse_events: 0;
-                               description {
-                                       state: "default" 0.0;
-                                       rel1 { relative: 0.0 0.0; }
-                                       rel2 { relative: 1.0 0.0; }
-                                       align: 0.5 0.0;
-                                       min: 0 100;
-                                       max: -1 100;
-                                       fixed: 0 1;
-                                       color_class: "B041";
-                                       visible: 0;
-                               }
-                               description {
-                                       state: "show,search" 0.0;
-                                       inherit: "default" 0.0;
-                                       visible: 1;
-                               }
-                       }
-
-                       part {
-                               name: "content";
-                               type: SWALLOW;
-                               mouse_events: 1;
-                               scale: 1;
-                               description {
-                                       state: "default" 0.0;
-                                       rel1 { relative: 0.0 0.0; }
-                                       rel2 { relative: 1.0 1.0; }
-                               }
-                               description {
-                                       state: "show" 0.0;
-                                       inherit: "default" 0.0;
-                                       visible: 0;
-                               }
-                       }
-
-                       part {
-                               name: "entry";
-                               type: SWALLOW;
-                               mouse_events: 1;
-                               description {
-                                       state: "default" 0.0;
-                                       rel1 { relative: 0.0 0.0; to, "bg"; }
-                                       rel2 { relative: 1.0 1.0; to, "bg"; }
-                                       visible: 0;
-                               }
-                               description {
-                                       state: "show,search" 0.0;
-                                       inherit: "default" 0.0;
-                                       visible: 1;
-                               }
-                       }
-
-                       part {
-                               name: "nocontent";
-                               type: SWALLOW;
-                               mouse_events: 1;
-                               scale: 1;
-                               description {
-                                       state: "default" 0.0;
-                                       rel1 { relative: 0.0 1.0; to_y, "bg"; }
-                                       rel2 { relative: 1.0 1.0; }
-                                       visible: 0;
-                               }
-                               description {
-                                       state: "show" 0.0;
-                                       inherit: "default" 0.0;
-                                       visible: 1;
-                               }
-                       }
-               }
-
-               programs {
-                       program {
-                               name: "show,search";
-                               signal: "display,search";
-                               source: "container";
-                               action: STATE_SET "show,search" 0.0;
-                               target: "content";
-                               target: "bg";
-                               target: "entry";
-                       }
-                       program {
-                               name: "hide,search";
-                               signal: "undisplay,search";
-                               source: "container";
-                               action: STATE_SET "default" 0.0;
-                               target: "content";
-                               target: "bg";
-                               target: "entry";
-                       }
-
-                       program {
-                               name: "nocontent";
-                               signal: "nocontent";
-                               source: "container";
-                               action: STATE_SET "show" 0.0;
-                               target: "nocontent";
-                               target: "content";
-                       }
-                       program {
-                               name: "content";
-                               signal: "content";
-                               source: "container";
-                               action: STATE_SET "default" 0.0;
-                               target: "nocontent";
-                               target: "content";
-                       }
-               }
-       }
-
-       group {
-               name: "content,frame";
-               parts {
-                       part {
-                               name: "content";
-                               type: SWALLOW;
-                               mouse_events: 1;
-                               scale: 1;
-                               description {
-                                       state: "default" 0.0;
-                                       rel1 { relative: 0.0 0.0; }
-                                       rel2 { relative: 1.0 1.0; }
-                                       align: 0.0 0.0;
-                                       visible: 0;
-                               }
-                               description {
-                                       state: "show,normal" 0.0;
-                                       inherit: "default" 0.0;
-                                       visible: 1;
-                               }
-                               description {
-                                       state: "show,easy" 0.0;
-                                       inherit: "default" 0.0;
-                                       rel2 { relative: 1.0 1.0; }
-                                       visible: 1;
-                               }
-                       }
-
-                       part {
-                               name: "index";
-                               type: SWALLOW;
-                               mouse_events: 1;
-                               scale: 1;
-                               description {
-                                       state: "default" 0.0;
-                                       rel1 { relative: 0.00 0.0;}
-                                       rel2 { relative: 1.00 1.00; }
-                                       visible: 0;
-                               }
-                               description {
-                                       state: "show,normal" 0.0;
-                                       inherit: "default" 0.0;
-                                       visible: 1;
-                               }
-                               description {
-                                       state: "show,easy" 0.0;
-                                       visible: 0;
-                               }
-                       }
-
-                       part {
-                               name: "loading";
-                               type: RECT;
-                               mouse_events: 0;
-                               description {
-                                       state: "default" 0.0;
-                                       rel1 { relative: 0.25 0.40; }
-                                       rel2 { relative: 0.75 0.60; }
-                                       color: 100 100 200 200;
-                                       visible: 0;
-                               }
-
-                               description {
-                                       state: "show" 0.0;
-                                       inherit: "default" 0.0;
-                                       visible: 0;
-                               }
-                       }
-
-                       part {
-                               name: "loading,txt";
-                               type: TEXT;
-                               mouse_events: 0;
-                               scale: 1;
-                               description {
-                                       state: "default" 0.0;
-                                       rel1 { relative: 0.0 0.0; to, "loading"; }
-                                       rel2 { relative: 1.0 1.0; to, "loading"; }
-                                       text {
-                                               font: "Tizen:style=Bold";
-                                               text_class: "tizen";
-                                               align: 0.5 0.5;
-                                               size: 26;
-                                               text: "Loading";
-                                       }
-                                       visible: 0;
-                               }
-                               description {
-                                       state: "show" 0.0;
-                                       inherit: "default" 0.0;
-                                       visible: 0;
-                               }
-                       }
-               }
-               programs {
-                       program {
-                               name: "loading,on";
-                               source: "content,frame";
-                               signal: "loading,on";
-                               action: STATE_SET "show" 0.0;
-                               target: "loading";
-                               target: "loading,txt";
-                       }
-                       program {
-                               name: "loading,off";
-                               source: "content,frame";
-                               signal: "loading,off";
-                               action: STATE_SET "default" 0.0;
-                               target: "loading";
-                               target: "loading,txt";
-                       }
-                       program {
-                               name: "show,normal";
-                               signal: "display,normal";
-                               source: "container";
-                               action: STATE_SET "show,normal" 0.0;
-                               target: "content";
-                       }
-                       program {
-                               name: "show,normal,index";
-                               signal: "display,index";
-                               source: "container";
-                               action: STATE_SET "show,normal" 0.0;
-                               target: "index";
-                       }
-                       program {
-                               name: "show,easy";
-                               signal: "display,easy";
-                               source: "container";
-                               action: STATE_SET "show,easy" 0.0;
-                               target: "content";
-                               target: "index";
-                       }
-                       program {
-                               name: "hide";
-                               signal: "undisplay";
-                               source: "container";
-                               action: STATE_SET "default" 0.0;
-                               target: "content";
-                       }
-               }
-       }
-
-
-       group {
-               name: "preview,1x1";
-               parts {
-                       part {
-                               name: "bg";
-                               type: IMAGE;
-                               mouse_events: 0;
-                               scale: 1;
-                               description {
-                                       state: "default" 0.0;
-                                       rel1 { relative: 0.0 0.0; }
-                                       rel2 { relative: 1.0 1.0; }
-                                       image { normal: "preview_bg_1x1.png"; }
-                                       color_class: "B041";
-                               }
-                               description {
-                                       state: "clicked" 0.0;
-                                       inherit: "default" 0.0;
-                                       rel1 { relative: 4/87 4/87; }
-                                       rel2 { relative: 83/87 83/87; }
-                               }
-                       }
-
-                       part {
-                               name: "preview";
-                               type: SWALLOW;
-                               mouse_events: 1;
-                               scale: 1;
-                               description {
-                                       state: "default" 0.0;
-                                       rel1 { relative: 0.0 0.0; to, "bg"; }
-                                       rel2 { relative: 1.0 1.0; to, "bg"; }
-                               }
-                       }
-
-                       part {
-                               name: "preview,dbg";
-                               type: RECT;
-                               mouse_events: 1;
-                               description {
-                                       state: "default" 0.0;
-                                       rel1 { to, "preview"; }
-                                       rel2 { to, "preview"; }
-                                       color: 0 0 0 0;
-                               }
-                       }
-               }
-
-               programs {
-                       program {
-                               name: "touch_snd";
-                               signal: "mouse,clicked,1";
-                               source: "preview,dbg";
-                               action: RUN_PLUGIN "touch_sound";
-                       }
-                       program {
-                               name: "in,effect";
-                               source: "preview,dbg";
-                               signal: "mouse,down,1";
-                               action: STATE_SET "clicked" 0.0;
-                               target: "bg";
-                               transition: LINEAR 0.1;
-                       }
-                       program {
-                               name: "out,effect";
-                               source: "preview,dbg";
-                               signal: "mouse,up,1";
-                               action: STATE_SET "default" 0.0;
-                               target: "bg";
-                               transition: LINEAR 0.1;
-                       }
-                       program {
-                               name: "add,to,home";
-                               source: "preview,dbg";
-                               signal: "mouse,clicked,1";
-                               action: SIGNAL_EMIT "add,to,home" "preview";
-                       }
-               }
-       }
-
-       group {
-               name: "preview,2x1";
-               parts {
-                       part {
-                               name: "bg";
-                               type: IMAGE;
-                               mouse_events: 0;
-                               scale: 1;
-                               description {
-                                       state: "default" 0.0;
-                                       rel1 { relative: 0.0 0.0; }
-                                       rel2 { relative: 1.0 1.0; }
-                                       image { normal: "preview_bg_2x1.png"; }
-                                       color_class: "B041";
-                                       min: 164 87;
-                               }
-                               description {
-                                       state: "clicked" 0.0;
-                                       inherit: "default" 0.0;
-                                       rel1 { relative: 4/164 4/87; }
-                                       rel2 { relative: 160/164 83/87; }
-                                       min: 156 79;
-                               }
-                       }
-
-                       part {
-                               name: "preview";
-                               type: SWALLOW;
-                               mouse_events: 1;
-                               scale: 1;
-                               description {
-                                       state: "default" 0.0;
-                                       rel1 { relative: 0.0 0.0; to, "bg"; }
-                                       rel2 { relative: 1.0 1.0; to, "bg"; }
-                               }
-                       }
-
-                       part {
-                               name: "preview,dbg";
-                               type: RECT;
-                               mouse_events: 1;
-                               description {
-                                       state: "default" 0.0;
-                                       rel1 { to, "preview"; }
-                                       rel2 { to, "preview"; }
-                                       color: 0 0 0 0;
-                               }
-                       }
-               }
-
-               programs {
-                       program {
-                               name: "touch_snd";
-                               signal: "mouse,clicked,1";
-                               source: "preview,dbg";
-                               action: RUN_PLUGIN "touch_sound";
-                       }
-                       program {
-                               name: "in,effect";
-                               source: "preview,dbg";
-                               signal: "mouse,down,1";
-                               action: STATE_SET "clicked" 0.0;
-                               target: "bg";
-                               transition: LINEAR 0.1;
-                       }
-                       program {
-                               name: "out,effect";
-                               source: "preview,dbg";
-                               signal: "mouse,up,1";
-                               action: STATE_SET "default" 0.0;
-                               target: "bg";
-                               transition: LINEAR 0.1;
-                       }
-                       program {
-                               name: "add,to,home";
-                               source: "preview,dbg";
-                               signal: "mouse,clicked,1";
-                               action: SIGNAL_EMIT "add,to,home" "preview";
-                       }
-               }
-       }
-
-       group {
-               name: "preview,2x2";
-               parts {
-                       part {
-                               name: "bg";
-                               type: IMAGE;
-                               mouse_events: 0;
-                               scale: 1;
-                               description {
-                                       state: "default" 0.0;
-                                       rel1 { relative: 0.0 0.0; }
-                                       rel2 { relative: 1.0 1.0; }
-                                       image { normal: "preview_bg_2x2.png"; }
-                                       min: 164 164;
-                               }
-                               description {
-                                       state: "clicked" 0.0;
-                                       inherit: "default" 0.0;
-                                       rel1 { relative: 4/164 4/164; }
-                                       rel2 { relative: 160/164 160/164; }
-                                       min: 156 156;
-                               }
-                       }
-
-                       part {
-                               name: "preview";
-                               type: SWALLOW;
-                               mouse_events: 1;
-                               scale: 1;
-                               description {
-                                       state: "default" 0.0;
-                                       rel1 { relative: 0.0 0.0; to, "bg"; }
-                                       rel2 { relative: 1.0 1.0; to, "bg"; }
-                                       min: 133 133;
-                               }
-                       }
-
-                       part {
-                               name: "preview,dbg";
-                               type: RECT;
-                               mouse_events: 1;
-                               description {
-                                       state: "default" 0.0;
-                                       rel1 { to, "preview"; }
-                                       rel2 { to, "preview"; }
-                                       color: 255 0 0 150;
-                               }
-                       }
-               }
-
-               programs {
-                       program {
-                               name: "touch_snd";
-                               signal: "mouse,clicked,1";
-                               source: "preview,dbg";
-                               action: RUN_PLUGIN "touch_sound";
-                       }
-                       program {
-                               name: "in,effect";
-                               source: "preview,dbg";
-                               signal: "mouse,down,1";
-                               action: STATE_SET "clicked" 0.0;
-                               target: "bg";
-                               transition: LINEAR 0.1;
-                       }
-                       program {
-                               name: "out,effect";
-                               source: "preview,dbg";
-                               signal: "mouse,up,1";
-                               action: STATE_SET "default" 0.0;
-                               target: "bg";
-                               transition: LINEAR 0.1;
-                       }
-                       program {
-                               name: "add,to,home";
-                               source: "preview,dbg";
-                               signal: "mouse,clicked,1";
-                               action: SIGNAL_EMIT "add,to,home" "preview";
-                       }
-               }
-       }
-
-       group {
-               name: "preview,4x1";
-               parts {
-                       part {
-                               name: "bg";
-                               type: IMAGE;
-                               mouse_events: 0;
-                               scale: 1;
-                               description {
-                                       state: "default" 0.0;
-                                       rel1 { relative: 0.0 0.0; }
-                                       rel2 { relative: 1.0 1.0; }
-                                       image { normal: "preview_bg_4x1.png"; }
-                                       color_class: "B041";
-                                       min: 214 107;
-                               }
-                               description {
-                                       state: "clicked" 0.0;
-                                       inherit: "default" 0.0;
-                                       rel1 { relative: 4/314 4/52; }
-                                       rel2 { relative: 310/314 48/52; }
-                                       min: 200 100;
-                               }
-                       }
-
-                       part {
-                               name: "preview";
-                               type: SWALLOW;
-                               mouse_events: 1;
-                               scale: 1;
-                               description {
-                                       state: "default" 0.0;
-                                       rel1 { relative: 0.0 0.0; to, "bg"; }
-                                       rel2 { relative: 1.0 1.0; to, "bg"; }
-                               }
-                       }
-               }
-
-               programs {
-                       program {
-                               name: "touch_snd";
-                               signal: "mouse,clicked,1";
-                               source: "preview,dbg";
-                               action: RUN_PLUGIN "touch_sound";
-                       }
-                       program {
-                               name: "in,effect";
-                               source: "preview,dbg";
-                               signal: "mouse,down,1";
-                               action: STATE_SET "clicked" 0.0;
-                               target: "bg";
-                               transition: LINEAR 0.1;
-                       }
-                       program {
-                               name: "out,effect";
-                               source: "preview,dbg";
-                               signal: "mouse,up,1";
-                               action: STATE_SET "default" 0.0;
-                               target: "bg";
-                               transition: LINEAR 0.1;
-                       }
-                       program {
-                               name: "add,to,home";
-                               source: "preview,dbg";
-                               signal: "mouse,clicked,1";
-                               action: SIGNAL_EMIT "add,to,home" "preview";
-                       }
-               }
-       }
-
-       group {
-               name: "preview,4x2";
-               parts {
-                       part {
-                               name: "bg";
-                               type: RECT;
-                               mouse_events: 0;
-                               scale: 1;
-                               description {
-                                       state: "default" 0.0;
-                                       rel1 { relative: 0.0 0.0; }
-                                       rel2 { relative: 1.0 1.0; }
-                                       color: BG_PREVIEW_COLOR;
-                                       min: 214 107;
-                               }
-                               description {
-                                       state: "clicked" 0.0;
-                                       inherit: "default" 0.0;
-                                       rel1 { relative: 4/314 4/164; }
-                                       rel2 { relative: 310/314 160/164; }
-                                       min: 207 100;
-                               }
-                       }
-
-                       part {
-                               name: "preview";
-                               type: SWALLOW;
-                               mouse_events: 1;
-                               scale: 1;
-                               description {
-                                       state: "default" 0.0;
-                                       rel1 { relative: 0.0 0.0; to, "bg"; }
-                                       rel2 { relative: 1.0 1.0; to, "bg"; }
-                               }
-                       }
-                       part {
-                               name: "preview,dbg";
-                               type: RECT;
-                               mouse_events: 1;
-                               description {
-                                       state: "default" 0.0;
-                                       rel1 { to, "preview"; }
-                                       rel2 { to, "preview"; }
-                                       color: 0 0 0 0;
-                               }
-                       }
-               }
-
-               programs {
-                       program {
-                               name: "touch_snd";
-                               signal: "mouse,clicked,1";
-                               source: "preview,dbg";
-                               action: RUN_PLUGIN "touch_sound";
-                       }
-                       program {
-                               name: "in,effect";
-                               source: "preview,dbg";
-                               signal: "mouse,down,1";
-                               action: STATE_SET "clicked" 0.0;
-                               target: "bg";
-                               transition: LINEAR 0.1;
-                       }
-                       program {
-                               name: "out,effect";
-                               source: "preview,dbg";
-                               signal: "mouse,up,1";
-                               action: STATE_SET "default" 0.0;
-                               target: "bg";
-                               transition: LINEAR 0.1;
-                       }
-                       program {
-                               name: "add,to,home";
-                               source: "preview,dbg";
-                               signal: "mouse,clicked,1";
-                               action: SIGNAL_EMIT "add,to,home" "preview";
-                       }
-               }
-       }
-
-       group {
-               name: "preview,4x3";
-               parts {
-                       part {
-                               name: "bg";
-                               type: IMAGE;
-                               mouse_events: 0;
-                               scale: 1;
-                               description {
-                                       state: "default" 0.0;
-                                       rel1 { relative: 0.0 0.0; }
-                                       rel2 { relative: 1.0 1.0; }
-                                       image { normal: "preview_bg_4x3.png"; }
-                                       color_class: "B041";
-                                       min: 314 239;
-                               }
-                               description {
-                                       state: "clicked" 0.0;
-                                       inherit: "default" 0.0;
-                                       rel1 { relative: 4/314 4/239; }
-                                       rel2 { relative: 310/314 235/239; }
-                                       min: 306 231;
-                               }
-                       }
-
-                       part {
-                               name: "preview";
-                               type: SWALLOW;
-                               mouse_events: 1;
-                               scale: 1;
-                               description {
-                                       state: "default" 0.0;
-                                       rel1 { relative: 0.0 0.0; to, "bg"; }
-                                       rel2 { relative: 1.0 1.0; to, "bg"; }
-                               }
-                       }
-
-                       part {
-                               name: "preview,dbg";
-                               type: RECT;
-                               mouse_events: 1;
-                               description {
-                                       state: "default" 0.0;
-                                       rel1 { to, "preview"; }
-                                       rel2 { to, "preview"; }
-                                       color: 0 0 0 0;
-                               }
-                       }
-               }
-
-               programs {
-                       program {
-                               name: "touch_snd";
-                               signal: "mouse,clicked,1";
-                               source: "preview,dbg";
-                               action: RUN_PLUGIN "touch_sound";
-                       }
-                       program {
-                               name: "in,effect";
-                               source: "preview,dbg";
-                               signal: "mouse,down,1";
-                               action: STATE_SET "clicked" 0.0;
-                               target: "bg";
-                               transition: LINEAR 0.1;
-                       }
-                       program {
-                               name: "out,effect";
-                               source: "preview,dbg";
-                               signal: "mouse,up,1";
-                               action: STATE_SET "default" 0.0;
-                               target: "bg";
-                               transition: LINEAR 0.1;
-                       }
-                       program {
-                               name: "add,to,home";
-                               source: "preview,dbg";
-                               signal: "mouse,clicked,1";
-                               action: SIGNAL_EMIT "add,to,home" "preview";
-                       }
-               }
-       }
-
-       group {
-               name: "preview,4x4";
-               parts {
-                       part {
-                               name: "bg";
-                               type: RECT;
-                               mouse_events: 0;
-                               scale: 1;
-                               description {
-                                       state: "default" 0.0;
-                                       rel1 { relative: 0.0 0.0; }
-                                       rel2 { relative: 1.0 1.0; }
-                                       color: BG_PREVIEW_COLOR;
-                                       min: 214 214;
-                               }
-                               description {
-                                       state: "clicked" 0.0;
-                                       inherit: "default" 0.0;
-                                       rel1 { relative: 4/312 4/312; }
-                                       rel2 { relative: 308/312 308/312; }
-                                       min: 200 200;
-                               }
-                       }
-
-                       part {
-                               name: "preview";
-                               type: SWALLOW;
-                               mouse_events: 1;
-                               description {
-                                       state: "default" 0.0;
-                                       rel1 { relative: 0.0 0.0; to, "bg"; }
-                                       rel2 { relative: 1.0 1.0; to, "bg"; }
-                               }
-                       }
-                       part {
-                               name: "preview,dbg";
-                               type: RECT;
-                               mouse_events: 1;
-                               description {
-                                       state: "default" 0.0;
-                                       rel1 { to, "preview"; }
-                                       rel2 { to, "preview"; }
-                                       color: 0 0 0 0;
-                               }
-                       }
-               }
-
-               programs {
-                       program {
-                               name: "touch_snd";
-                               signal: "mouse,clicked,1";
-                               source: "preview,dbg";
-                               action: RUN_PLUGIN "touch_sound";
-                       }
-                       program {
-                               name: "in,effect";
-                               source: "preview,dbg";
-                               signal: "mouse,down,1";
-                               action: STATE_SET "clicked" 0.0;
-                               target: "bg";
-                               transition: LINEAR 0.1;
-                       }
-                       program {
-                               name: "out,effect";
-                               source: "preview,dbg";
-                               signal: "mouse,up,1";
-                               action: STATE_SET "default" 0.0;
-                               target: "bg";
-                               transition: LINEAR 0.1;
-                       }
-                       program {
-                               name: "add,to,home";
-                               source: "preview,dbg";
-                               signal: "mouse,clicked,1";
-                               action: SIGNAL_EMIT "add,to,home" "preview";
-                       }
-               }
-       }
-
-       group {
-               name: "search,btn";
-               parts {
-                       part {
-                               name: "image";
-                               type: IMAGE;
-                               scale: 1;
-                               description {
-                                       state: "default" 0.0;
-                                       rel1 { relative: 0.0 0.0; }
-                                       rel2 { relative: 1.0 1.0; }
-                                       image { normal: "icon_drawer_search.png"; }
-                                       color_class: "B052L1";
-                                       aspect: 1 1;
-                                       aspect_preference: BOTH;
-                                       min: 63 63;
-                                       max: 63 63;
-                               }
-                               description {
-                                       state: "pressed" 0.0;
-                                       inherit: "default" 0.0;
-                                       color_class: "B052L1P";
-                               }
-                               description {
-                                       state: "dim" 0.0;
-                                       inherit: "default" 0.0;
-                                       color_class: "B052L1D";
-                               }
-                       }
-               }
-               programs {
-                       program {
-                               name: "pressed";
-                               source: "image";
-                               signal: "mouse,down,1";
-                               action: STATE_SET "pressed" 0.0;
-                               target: "image";
-                       }
-                       program {
-                               name: "released";
-                               source: "image";
-                               signal: "mouse,up,1";
-                               action: STATE_SET "default" 0.0;
-                               target: "image";
-                       }
-               }
-       }
-} // collections
-
-
diff --git a/res/edje/widget.edc b/res/edje/widget.edc
new file mode 100755 (executable)
index 0000000..41b41f7
--- /dev/null
@@ -0,0 +1,166 @@
+#include "../../inc/edc_conf.h"
+
+images {
+    image: "../res/images/btn_delete_nor.png" COMP;
+    image: "../res/images/btn_delete_press.png" COMP;
+}
+
+collections {
+    group { name: GROUP_WIDGET_LY;
+        parts {
+            part { name: WIDGET_CONTENT;
+                type: SWALLOW;
+                mouse_events: 1;
+                repeat_events: 1;
+                description {
+                    state: "default" 0.0;
+                    rel1.relative: 0.0 0.0;
+                }
+            }
+            part { name: SIZE_SETTER;
+                type: SWALLOW;
+                mouse_events: 1;
+                repeat_events: 1;
+                description {
+                    state: "default" 0.0;
+                    color: 0 0 0 0;
+                    align: 0 0;
+                    visible: 0;
+                    rel1.relative: 0.0 0.0;
+                    rel2.relative: 0.01 0.01;
+                }
+            }
+            part { name: "touch,block";
+                type: RECT;
+                mouse_events: 1;
+                repeat_events: 0;
+                description {
+                    state: "default" 0.0;
+                    color: 0 0 0 0;
+                    visible: 0;
+                    rel1{relative: 0.0 0.0; to: WIDGET_CONTENT;}
+                    rel2{relative: 1.0 1.0; to: WIDGET_CONTENT;}
+                }
+                description {
+                    state: "edit" 0.0;
+                    inherit: "default" 0.0;
+                    visible: 1;
+                }
+                description {
+                    state: "pickup" 0.0;
+                    inherit: "default" 0.0;
+                    color: 0 0 0 100;
+                    visible: 1;
+                }
+            }
+            part {
+                name: WIDGET_DELETE_BUTTON;
+                type: IMAGE;
+                scale: 0;
+                description {
+                    state: "default" 0.0;
+                    rel1{relative: 0.055 0.055; to: SIZE_SETTER;}
+                    rel2{relative: 0.388 0.388; to: SIZE_SETTER;}
+                    color: 255 255 255 0;
+                    visible: 0;
+                    aspect: 1.0 1.0;
+                    aspect_preference: BOTH;
+                    image {
+                        normal: "../res/images/btn_delete_nor.png";
+                    }
+                }
+                description {
+                    state: "show" 0.0;
+                    inherit: "default" 0.0;
+                    color: 255 255 255 255;
+                    visible: 1;
+                }
+                description {
+                    state: "press" 0.0;
+                    inherit: "default" 0.0;
+                    color: 255 255 255 255;
+                    image {
+                        normal: "../res/images/btn_delete_press.png";
+                    }
+                    visible: 1;
+                }
+            }
+        }
+        programs {
+            program {
+                name: "delete_button_show_ani";
+                signal: SIGNAL_DELETE_BUTTON_SHOW_ANI;
+                source: SIGNAL_SOURCE;
+                action: STATE_SET "show" 0.0;
+                target: WIDGET_DELETE_BUTTON;
+                transition: DECELERATE ANIMATION_RESIZE_TIME;
+            }
+            program {
+                name: "delete_button_show";
+                signal: SIGNAL_DELETE_BUTTON_SHOW;
+                source: SIGNAL_SOURCE;
+                action: STATE_SET "show" 0.0;
+                target: WIDGET_DELETE_BUTTON;
+            }
+            program {
+                name: "delete_button_hide_ani";
+                signal: SIGNAL_DELETE_BUTTON_HIDE_ANI;
+                source: SIGNAL_SOURCE;
+                action: STATE_SET "default" 0.0;
+                target: WIDGET_DELETE_BUTTON;
+                transition: DECELERATE ANIMATION_RESIZE_TIME;
+            }
+            program {
+                name: "delete_button_hide";
+                signal: SIGNAL_DELETE_BUTTON_HIDE;
+                source: SIGNAL_SOURCE;
+                action: STATE_SET "default" 0.0;
+                target: WIDGET_DELETE_BUTTON;
+            }
+            program {
+                name: "delete_button_clicked";
+                signal: "mouse,clicked,1";
+                source: WIDGET_DELETE_BUTTON;
+                action: SIGNAL_EMIT SIGNAL_DELETE_BUTTON_CLICKED SIGNAL_SOURCE;
+            }
+            program {
+                name: "delete_button_mouse_down";
+                signal: "mouse,down,1";
+                source: WIDGET_DELETE_BUTTON;
+                action: STATE_SET "press" 0.0;
+                target: WIDGET_DELETE_BUTTON;
+                transition: DECELERATE ANIMATION_RESIZE_TIME;
+            }
+            program {
+                name: "delete_button_mouse_up";
+                signal: "mouse,up,1";
+                source: WIDGET_DELETE_BUTTON;
+                action: STATE_SET "show" 0.0;
+                target: WIDGET_DELETE_BUTTON;
+                transition: DECELERATE ANIMATION_RESIZE_TIME;
+            }
+            program {
+                name: "touch,disable";
+                signal: SIGNAL_CLUSTER_EDIT_STATE;
+                source: SIGNAL_SOURCE;
+                action: STATE_SET "edit" 0.0;
+                target: "touch,block";
+            }
+            program {
+                name: "touch,enable";
+                signal: SIGNAL_CLUSTER_NORMAL_STATE;
+                source: SIGNAL_SOURCE;
+                action: STATE_SET "default" 0.0;
+                target: "touch,block";
+            }
+            program {
+                name: "pick,up,widget";
+                signal: SIGNAL_CLUSTER_PICKUP_STATE;
+                source: SIGNAL_SOURCE;
+                action: STATE_SET "pickup" 0.0;
+                target: "touch,block";
+                transition: DECELERATE ANIMATION_RESIZE_TIME;
+            }
+        }
+    }
+}
\ No newline at end of file
diff --git a/res/images/00_scroll_bar_v.png b/res/images/00_scroll_bar_v.png
deleted file mode 100644 (file)
index f07b2ca..0000000
Binary files a/res/images/00_scroll_bar_v.png and /dev/null differ
old mode 100644 (file)
new mode 100755 (executable)
similarity index 86%
rename from res/images/1x1 preview shortcut.png
rename to res/images/add_page_nor.png
index 6e7cf5f..0cd3d4c
Binary files a/res/images/1x1 preview shortcut.png and b/res/images/add_page_nor.png differ
old mode 100644 (file)
new mode 100755 (executable)
similarity index 84%
rename from res/images/00_scroll_bar_h.png
rename to res/images/add_page_press.png
index 526c91c..9c58f42
Binary files a/res/images/00_scroll_bar_h.png and b/res/images/add_page_press.png differ
diff --git a/res/images/all_apps_icon_menu.png b/res/images/all_apps_icon_menu.png
deleted file mode 100644 (file)
index a99d202..0000000
Binary files a/res/images/all_apps_icon_menu.png and /dev/null differ
old mode 100644 (file)
new mode 100755 (executable)
similarity index 100%
rename from res/images/edit_all_page_add.png
rename to res/images/all_page_add.png
old mode 100644 (file)
new mode 100755 (executable)
similarity index 100%
rename from res/images/edit_all_page_add_press.png
rename to res/images/all_page_add_press.png
diff --git a/res/images/app_icon_checkbox_bg.png b/res/images/app_icon_checkbox_bg.png
deleted file mode 100755 (executable)
index f31b150..0000000
Binary files a/res/images/app_icon_checkbox_bg.png and /dev/null differ
diff --git a/res/images/app_icon_checkbox_border.png b/res/images/app_icon_checkbox_border.png
deleted file mode 100755 (executable)
index 1a78b38..0000000
Binary files a/res/images/app_icon_checkbox_border.png and /dev/null differ
diff --git a/res/images/app_icon_downloadable.png b/res/images/app_icon_downloadable.png
deleted file mode 100644 (file)
index d9ebb60..0000000
Binary files a/res/images/app_icon_downloadable.png and /dev/null differ
old mode 100644 (file)
new mode 100755 (executable)
index b48a941..65bce6b
Binary files a/res/images/btn_add_nor.png and b/res/images/btn_add_nor.png differ
old mode 100644 (file)
new mode 100755 (executable)
index 7849bc4..e696fbf
Binary files a/res/images/btn_add_press.png and b/res/images/btn_add_press.png differ
diff --git a/res/images/btn_input_clear.png b/res/images/btn_input_clear.png
deleted file mode 100755 (executable)
index 3ac0fa1..0000000
Binary files a/res/images/btn_input_clear.png and /dev/null differ
diff --git a/res/images/core_check_bg.png b/res/images/core_check_bg.png
new file mode 100755 (executable)
index 0000000..8a29528
Binary files /dev/null and b/res/images/core_check_bg.png differ
diff --git a/res/images/core_check_bg_stroke.png b/res/images/core_check_bg_stroke.png
new file mode 100755 (executable)
index 0000000..54f7e13
Binary files /dev/null and b/res/images/core_check_bg_stroke.png differ
diff --git a/res/images/default.png b/res/images/default.png
deleted file mode 100644 (file)
index 983c883..0000000
Binary files a/res/images/default.png and /dev/null differ
diff --git a/res/images/default_app_icon.png b/res/images/default_app_icon.png
new file mode 100755 (executable)
index 0000000..f6dc743
Binary files /dev/null and b/res/images/default_app_icon.png differ
diff --git a/res/images/edit_all_page_bg.png b/res/images/edit_all_page_bg.png
deleted file mode 100644 (file)
index a509b51..0000000
Binary files a/res/images/edit_all_page_bg.png and /dev/null differ
diff --git a/res/images/edit_all_page_create.png b/res/images/edit_all_page_create.png
deleted file mode 100755 (executable)
index e6fa480..0000000
Binary files a/res/images/edit_all_page_create.png and /dev/null differ
diff --git a/res/images/edit_page.png b/res/images/edit_page.png
deleted file mode 100644 (file)
index 40ed9dd..0000000
Binary files a/res/images/edit_page.png and /dev/null differ
diff --git a/res/images/edit_page_current.png b/res/images/edit_page_current.png
deleted file mode 100644 (file)
index 7f73d96..0000000
Binary files a/res/images/edit_page_current.png and /dev/null differ
old mode 100644 (file)
new mode 100755 (executable)
index 637f38a..5d3bec1
Binary files a/res/images/folder_appicon_bg.png and b/res/images/folder_appicon_bg.png differ
old mode 100644 (file)
new mode 100755 (executable)
index 5a5940b..b746faa
Binary files a/res/images/folder_appicon_empty_bg.png and b/res/images/folder_appicon_empty_bg.png differ
diff --git a/res/images/frame.png b/res/images/frame.png
deleted file mode 100644 (file)
index 1f8c2b3..0000000
Binary files a/res/images/frame.png and /dev/null differ
old mode 100644 (file)
new mode 100755 (executable)
similarity index 53%
rename from res/images/home_icon_reorder.png
rename to res/images/home_button_apps.png
index 323c15a..968b1b2
Binary files a/res/images/home_icon_reorder.png and b/res/images/home_button_apps.png differ
old mode 100644 (file)
new mode 100755 (executable)
index 2d6e811..a505579
Binary files a/res/images/home_button_bg.png and b/res/images/home_button_bg.png differ
diff --git a/res/images/home_button_home.png b/res/images/home_button_home.png
new file mode 100755 (executable)
index 0000000..ec4cdcc
Binary files /dev/null and b/res/images/home_button_home.png differ
old mode 100644 (file)
new mode 100755 (executable)
similarity index 51%
rename from res/images/home_icon_menu.png
rename to res/images/home_button_menu.png
index 268f047..75eed42
Binary files a/res/images/home_icon_menu.png and b/res/images/home_button_menu.png differ
diff --git a/res/images/home_edit_bg.#.png b/res/images/home_edit_bg.#.png
deleted file mode 100644 (file)
index 3d7bace..0000000
Binary files a/res/images/home_edit_bg.#.png and /dev/null differ
diff --git a/res/images/home_icon_home.png b/res/images/home_icon_home.png
deleted file mode 100644 (file)
index c519e8d..0000000
Binary files a/res/images/home_icon_home.png and /dev/null differ
old mode 100644 (file)
new mode 100755 (executable)
diff --git a/res/images/icon_drawer_search.png b/res/images/icon_drawer_search.png
deleted file mode 100644 (file)
index ecca326..0000000
Binary files a/res/images/icon_drawer_search.png and /dev/null differ
diff --git a/res/images/icon_list_close.png b/res/images/icon_list_close.png
deleted file mode 100644 (file)
index b26e501..0000000
Binary files a/res/images/icon_list_close.png and /dev/null differ
diff --git a/res/images/icon_list_open.png b/res/images/icon_list_open.png
deleted file mode 100644 (file)
index f101249..0000000
Binary files a/res/images/icon_list_open.png and /dev/null differ
diff --git a/res/images/icon_shadow.png b/res/images/icon_shadow.png
deleted file mode 100644 (file)
index 65e836b..0000000
Binary files a/res/images/icon_shadow.png and /dev/null differ
diff --git a/res/images/livebox/preview_FMradio.png b/res/images/livebox/preview_FMradio.png
deleted file mode 100644 (file)
index 3f8c720..0000000
Binary files a/res/images/livebox/preview_FMradio.png and /dev/null differ
diff --git a/res/images/livebox/preview_alarm.png b/res/images/livebox/preview_alarm.png
deleted file mode 100644 (file)
index f075eb7..0000000
Binary files a/res/images/livebox/preview_alarm.png and /dev/null differ
diff --git a/res/images/livebox/preview_calendar.png b/res/images/livebox/preview_calendar.png
deleted file mode 100644 (file)
index 15076ea..0000000
Binary files a/res/images/livebox/preview_calendar.png and /dev/null differ
diff --git a/res/images/livebox/preview_contact_4x2.png b/res/images/livebox/preview_contact_4x2.png
deleted file mode 100644 (file)
index 4a60575..0000000
Binary files a/res/images/livebox/preview_contact_4x2.png and /dev/null differ
diff --git a/res/images/livebox/preview_contact_4x4.png b/res/images/livebox/preview_contact_4x4.png
deleted file mode 100644 (file)
index 4b07f8a..0000000
Binary files a/res/images/livebox/preview_contact_4x4.png and /dev/null differ
diff --git a/res/images/livebox/preview_dual_clock.png b/res/images/livebox/preview_dual_clock.png
deleted file mode 100644 (file)
index 1d0f088..0000000
Binary files a/res/images/livebox/preview_dual_clock.png and /dev/null differ
diff --git a/res/images/livebox/preview_gallery.png b/res/images/livebox/preview_gallery.png
deleted file mode 100644 (file)
index 5d7d2c8..0000000
Binary files a/res/images/livebox/preview_gallery.png and /dev/null differ
diff --git a/res/images/livebox/preview_internet_4x4.png b/res/images/livebox/preview_internet_4x4.png
deleted file mode 100644 (file)
index 99423d5..0000000
Binary files a/res/images/livebox/preview_internet_4x4.png and /dev/null differ
diff --git a/res/images/livebox/preview_music.png b/res/images/livebox/preview_music.png
deleted file mode 100644 (file)
index e0168e8..0000000
Binary files a/res/images/livebox/preview_music.png and /dev/null differ
diff --git a/res/images/livebox/preview_singel_clock.png b/res/images/livebox/preview_singel_clock.png
deleted file mode 100644 (file)
index c7be20f..0000000
Binary files a/res/images/livebox/preview_singel_clock.png and /dev/null differ
diff --git a/res/images/livebox/preview_weather_4x2.png b/res/images/livebox/preview_weather_4x2.png
deleted file mode 100644 (file)
index 3aff3a1..0000000
Binary files a/res/images/livebox/preview_weather_4x2.png and /dev/null differ
diff --git a/res/images/livebox/preview_weather_4x4.png b/res/images/livebox/preview_weather_4x4.png
deleted file mode 100644 (file)
index 5d7804b..0000000
Binary files a/res/images/livebox/preview_weather_4x4.png and /dev/null differ
diff --git a/res/images/preview_bg_1x1.png b/res/images/preview_bg_1x1.png
deleted file mode 100644 (file)
index 76cdafa..0000000
Binary files a/res/images/preview_bg_1x1.png and /dev/null differ
diff --git a/res/images/preview_bg_2x1.png b/res/images/preview_bg_2x1.png
deleted file mode 100644 (file)
index 817f5ee..0000000
Binary files a/res/images/preview_bg_2x1.png and /dev/null differ
diff --git a/res/images/preview_bg_2x2.png b/res/images/preview_bg_2x2.png
deleted file mode 100644 (file)
index d34f366..0000000
Binary files a/res/images/preview_bg_2x2.png and /dev/null differ
diff --git a/res/images/preview_bg_4x1.png b/res/images/preview_bg_4x1.png
deleted file mode 100644 (file)
index 1e9ec34..0000000
Binary files a/res/images/preview_bg_4x1.png and /dev/null differ
diff --git a/res/images/preview_bg_4x2.png b/res/images/preview_bg_4x2.png
deleted file mode 100644 (file)
index aa224a1..0000000
Binary files a/res/images/preview_bg_4x2.png and /dev/null differ
diff --git a/res/images/preview_bg_4x3.png b/res/images/preview_bg_4x3.png
deleted file mode 100644 (file)
index 219dc42..0000000
Binary files a/res/images/preview_bg_4x3.png and /dev/null differ
diff --git a/res/images/preview_bg_4x4.png b/res/images/preview_bg_4x4.png
deleted file mode 100644 (file)
index 59a8bce..0000000
Binary files a/res/images/preview_bg_4x4.png and /dev/null differ
diff --git a/res/images/reposition_bg.png b/res/images/reposition_bg.png
deleted file mode 100644 (file)
index 798a2b1..0000000
Binary files a/res/images/reposition_bg.png and /dev/null differ
diff --git a/res/images/reposition_bg_shadow.png b/res/images/reposition_bg_shadow.png
deleted file mode 100644 (file)
index 526a90d..0000000
Binary files a/res/images/reposition_bg_shadow.png and /dev/null differ
diff --git a/res/images/resize_button.png b/res/images/resize_button.png
deleted file mode 100644 (file)
index 77a7dea..0000000
Binary files a/res/images/resize_button.png and /dev/null differ
diff --git a/res/images/scroll_bar.9.png b/res/images/scroll_bar.9.png
deleted file mode 100644 (file)
index a077f4d..0000000
Binary files a/res/images/scroll_bar.9.png and /dev/null differ
diff --git a/res/images/unknown.png b/res/images/unknown.png
deleted file mode 100644 (file)
index 535db60..0000000
Binary files a/res/images/unknown.png and /dev/null differ
index 315eae1..1718327 100755 (executable)
@@ -58,12 +58,6 @@ msgstr "إلغاء التحديد"
 msgid "IDS_AT_BODY_UNINSTALL"
 msgstr "إلغاء التثبيت"
 
-msgid "IDS_AT_BUTTON_CHANGE_VIEW"
-msgstr "تغيير العرض"
-
-msgid "IDS_AT_HEADER_PD_SELECTED"
-msgstr "تم تحديد %d"
-
 msgid "IDS_AT_HEADER_SELECT_APPS_TO_ADD_ABB2"
 msgstr "حدد تطبيقات للإضافة"
 
@@ -73,14 +67,8 @@ msgstr "تحديد تطبيقات لإخفائها"
 msgid "IDS_AT_HEADER_SELECT_APPS_TO_SHOW_ABB"
 msgstr "تحديد تطبيقات لعرضها"
 
-msgid "IDS_AT_OPT_ALPHABETICAL_GRID_ABB"
-msgstr "شبكة أبجدية"
-
-msgid "IDS_AT_OPT_CUSTOMISABLE_GRID_ABB"
-msgstr "شبكة قابلة للتخصيص"
-
 msgid "IDS_AT_OPT_VIEW_AS"
-msgstr "عرض "
+msgstr "عرض كـ"
 
 msgid "IDS_AT_POP_TO_REARRANGE_PAGES_YOU_NEED_TO_CHANGE_THE_VIEW_TYPE_TO_A_CUSTOMISABLE_GRID"
 msgstr "لإعادة ترتيب الشاشات، يجب تغيير نوع العرض إلى شبكة قابلة للتخصيص."
@@ -224,7 +212,7 @@ msgid "IDS_HS_POP_DISABLE_THIS_APPLICATION_Q"
 msgstr "هل تريد إلغاء تفعيل هذا التطبيق؟"
 
 msgid "IDS_HS_POP_THE_NEW_PAGE_WILL_CONSIST_OF_THE_S_PLANNER_TASKS_AND_S_MEMO_DYNAMIC_BOXES"
-msgstr "ستتألّف الصفحة الجديدة من صناديق S Memo والمهام وS Planner الديناميكية"
+msgstr "ستتألّف الصفحة الجديدة من صناديق S Planner والمهام وS Memo الديناميكية."
 
 msgid "IDS_HS_POP_THE_NEW_PAGE_WILL_CONSIST_OF_TWITTER_DYNAMIC_BOXES_MSG"
 msgstr "ستتألّف الصفحة الجديدة من صناديق Twitter الديناميكية. في الشاشة التالية، حدّد ما يصل إلى %d من يوميات الأشخاص الذين تتابعهم لعرضها على الصفحة الجديدة."
@@ -239,7 +227,7 @@ msgid "IDS_HS_TPOP_FONT_NOT_SUPPORTED_AT_THIS_SIZE"
 msgstr "الخط بهذا الحجم غير معتمد"
 
 msgid "IDS_HS_TPOP_UNABLE_TO_ADD_EXTRA_LINE_DUE_TO_SPACE_RESTRICTION_ABB"
-msgstr "تتعذر إضافة سطر آخر بسبب تقييد المساحة"
+msgstr "تتعذر إضافة سطر آخر بسبب تقييد المساحة."
 
 msgid "IDS_SCR_BODY_1_UNREAD_ITEM"
 msgstr "يوجد عنصر واحد غير مقروء"
@@ -307,6 +295,12 @@ msgstr "تم الوصول إلى أقصى عدد من الحروف."
 msgid "IDS_COM_SK_OK"
 msgstr "موافق"
 
+msgid "IDS_COM_SK_CANCEL"
+msgstr "إلغاء"
+
+msgid "IDS_COM_SK_DONE"
+msgstr "تمت"
+
 msgid "IDS_CAM_BODY_SHOWING_PD_ITEMS_T_TTS"
 msgstr "إظهار %d عناصر"
 
@@ -343,12 +337,12 @@ msgstr "اختيار"
 msgid "IDS_COM_BODY_INTERNET"
 msgstr "الإنترنت"
 
+msgid "IDS_MEMO_HEADER_PD_SELECTED_ABB2"
+msgstr "تم تحديد %d"
+
 msgid "IDS_ST_SK_NEXT"
 msgstr "التالي"
 
-msgid "IDS_HS_OPT_MANAGE_APPLICATIONS_ABB"
-msgstr "إدارة التطبيقات"
-
 msgid "IDS_HS_POP_PD_ITEMS_WILL_BE_HIDDEN"
 msgstr "سيتم إخفاء %d من العناصر."
 
@@ -359,7 +353,7 @@ msgid "IDS_HS_HEADER_DELETE_PAGE_ABB2"
 msgstr "حذف الصفحة"
 
 msgid "IDS_HS_OPT_DELETE"
-msgstr "مسح"
+msgstr "حذف"
 
 msgid "IDS_HS_OPT_SHOW_HIDDEN_APPLICATIONS_ABB"
 msgstr "إظهار التطبيقات المخفية"
@@ -400,3 +394,84 @@ msgstr "فرز العناصر بالترتيب الأبجدي"
 msgid "IDS_HS_POP_APP_ICONS_AND_FOLDERS_WILL_BE_SORTED_INTO_ALPHABETICAL_ORDER_ANY_CUSTOMISATIONS_YOU_HAVE_MADE_WILL_BE_DISCARDED"
 msgstr "سيتم تخزين رموز التطبيقات ومجلداتها بالترتيب الأبجدي. سيتم تجاهل أي عمليات تخصيص قمت بها من قبل."
 
+msgid "IDS_HS_OPT_ADD_DYNAMIC_BOX"
+msgstr "إضافة Dynamic Box"
+
+msgid "IDS_ST_BUTTON_REMOVE_ABB2"
+msgstr "إزالة"
+
+msgid "IDS_HS_HEADER_REMOVE_FOLDER_ABB"
+msgstr "إزالة المجلد"
+
+msgid "IDS_HS_BODY_FOLDER_WILL_BE_REMOVED_APPLICATIONS_IN_THIS_FOLDER_WILL_NOT_BE_UNINSTALLED"
+msgstr "ستتم إزالة المجلد. لن يتم إلغاء تثبيت التطبيقات الموجودة في هذا المجلد."
+
+msgid "IDS_HS_OPT_MANUALLY_ABB"
+msgstr "يدوياً"
+
+msgid "IDS_HS_OPT_BY_NAME_HA_Z_ABB"
+msgstr "حسب الاسم (أ-ي)"
+
+msgid "IDS_HS_POP_PS_WILL_BE_UNINSTALLED"
+msgstr "سيتم إلغاء تثبيت %s."
+
+msgid "IDS_HS_TPOP_UNABLE_TO_REARRANGE_ICONS_SORTED_BY_NAME_HA_Z"
+msgstr "تتعذر إعادة ترتيب الرموز التي تم فرزها حسب الاسم (أ-ي)."
+
+msgid "IDS_TPLATFORM_ACBUTTON_DONE_ABB"
+msgstr "تم"
+
+msgid "IDS_TPLATFORM_ACBUTTON_CANCEL_ABB"
+msgstr "إلغاء"
+
+msgid "IDS_HS_OPT_SORT_ITEMS"
+msgstr "فرز العناصر"
+
+msgid "IDS_HS_HEADER_SORT_ITEMS"
+msgstr "فرز العناصر"
+
+msgid "IDS_HS_BODY_WIDGETS_ABB"
+msgstr "التطبيقات المصغرة"
+
+msgid "IDS_HS_HEADER_UNABLE_TO_ADD_WIDGET_ABB"
+msgstr "تتعذر إضافة التطبيق المصغر"
+
+msgid "IDS_HS_HEADER_ADD_WIDGET"
+msgstr "إضافة تطبيق مصغر"
+
+msgid "IDS_HS_POP_THERE_IS_NOT_ENOUGH_SPACE_ON_THE_HOME_SCREEN_REMOVE_SOME_WIDGETS_AND_TRY_AGAIN"
+msgstr "ما من مساحة كافية على الشاشة الرئيسية. قم بإزالة بعض التطبيقات المصغرة وأعد المحاولة."
+
+msgid "IDS_HS_HEADER_EDIT"
+msgstr "تحرير"
+
+msgid "IDS_HS_OPT_EDIT"
+msgstr "تعديل"
+
+msgid "IDS_HS_BODY_THEMES_ABB"
+msgstr "السمات"
+
+msgid "IDS_HS_POP_APPLICATION_NOT_INSTALLED"
+msgstr "لم يتم تثبيت التطبيق."
+
+msgid "IDS_HS_POP_PS_AND_ALL_THE_FEATURES_RELATED_TO_IT_WILL_BE_DISABLED_TO_ENABLE_IT_AGAIN_GO_TO_SETTINGS_APPLICATION_MANAGER"
+msgstr "سيتم إلغاء تفعيل %s وجميع الميزات ذات الصلة بها. لتفعيلها مرة أخرى، انتقل إلى الإعدادات > مدير التطبيقات‬."
+
+msgid "IDS_HS_TPOP_MAXIMUM_NUMBER_OF_APPLICATIONS_IN_FOLDER_HPD_REACHED"
+msgstr "تم الوصول إلى الحد الأقصى لعدد التطبيقات في المجلد (%d)."
+
+msgid "IDS_HS_OPT_CHANGE_APP_GRID_ABB"
+msgstr "تغيير شبكة التطبيقات"
+
+msgid "IDS_HS_HEADER_CHANGE_APP_GRID_ABB"
+msgstr "تغيير شبكة التطبيقات"
+
+msgid "IDS_HS_OPT_VIEW_ALL_PAGES_ABB"
+msgstr "عرض كل الصفحات"
+
+msgid "IDS_DS_BUTTON2_STYLER"
+msgstr "المصمم"
+
+msgid "IDS_HS_TPOP_MAXIMUM_NUMBER_OF_FAVOURITE_APPS_HPD_REACHED"
+msgstr "تم بلوغ الحد الأقصى لعدد التطبيقات المفضلة (%d)."
+
index 38405e8..c0e6339 100755 (executable)
@@ -385,6 +385,15 @@ msgstr "Bütün səhifələr"
 msgid "IDS_JAVA_POP_BLANK"
 msgstr "Boş"
 
+msgid "IDS_HS_OPT_SORT_ITEMS_ALPHABETICALLY_ABB"
+msgstr "Elementi əlifba sırası ilə ayır"
+
+msgid "IDS_HS_HEADER_SORT_ITEMS_ALPHABETICALLY_ABB"
+msgstr "Elementl əlifba sırs ayır"
+
+msgid "IDS_HS_POP_APP_ICONS_AND_FOLDERS_WILL_BE_SORTED_INTO_ALPHABETICAL_ORDER_ANY_CUSTOMISATIONS_YOU_HAVE_MADE_WILL_BE_DISCARDED"
+msgstr "Proqram nişanları və qovluqlar əlifba sırası ilə çeşidlənəcək. Etdiyiniz bütün fərdiləşdirmələr silinəcək."
+
 msgid "IDS_HS_OPT_ADD_DYNAMIC_BOX"
 msgstr "Dynamic Box əlavə et"
 
@@ -451,3 +460,18 @@ msgstr "%s və onunla bağlı bütün xüsusiyyətlər qeyri-aktiv ediləcək. O
 msgid "IDS_HS_TPOP_MAXIMUM_NUMBER_OF_APPLICATIONS_IN_FOLDER_HPD_REACHED"
 msgstr "Qovluqdakı proqramların sayı maksimuma (%d) çatdı."
 
+msgid "IDS_HS_OPT_CHANGE_APP_GRID_ABB"
+msgstr "Proqram şəbəkəsini dəyiş"
+
+msgid "IDS_HS_HEADER_CHANGE_APP_GRID_ABB"
+msgstr "Proqram şəbəkəsini dəyiş"
+
+msgid "IDS_HS_OPT_VIEW_ALL_PAGES_ABB"
+msgstr "Bütün səhifələrə bax"
+
+msgid "IDS_DS_BUTTON2_STYLER"
+msgstr "Üslubçu"
+
+msgid "IDS_HS_TPOP_MAXIMUM_NUMBER_OF_FAVOURITE_APPS_HPD_REACHED"
+msgstr "Sevimli proqramların sayı maksimuma (%d) çatıb."
+
index 826d592..ac8fca5 100755 (executable)
@@ -5,7 +5,7 @@ msgid "IDS_CAM_SK_OK"
 msgstr "OK"
 
 msgid "IDS_COM_BODY_CREATE_FOLDER"
-msgstr "СÑ\8aздай папка"
+msgstr "СÑ\8aздаване Ð½Ð° папка"
 
 msgid "IDS_COM_POP_SHOW_A"
 msgstr "Покажи"
@@ -287,7 +287,7 @@ msgid "IDS_ST_BODY_FONTSTYLE_ROSEMARY"
 msgstr "Rosemary"
 
 msgid "IDS_COM_BODY_CONTACTS"
-msgstr "Ð\9eÑ\80ганайзеÑ\80"
+msgstr "ТелеÑ\84онен Ñ\83казаÑ\82ел"
 
 msgid "IDS_COM_POP_MAXIMUM_NUMBER_OF_CHARACTERS_REACHED"
 msgstr "Достигнат максимален брой знаци."
@@ -385,6 +385,15 @@ msgstr "Всички страници"
 msgid "IDS_JAVA_POP_BLANK"
 msgstr "Празно"
 
+msgid "IDS_HS_OPT_SORT_ITEMS_ALPHABETICALLY_ABB"
+msgstr "Сортиране елементи азбучно"
+
+msgid "IDS_HS_HEADER_SORT_ITEMS_ALPHABETICALLY_ABB"
+msgstr "Сортиране елементи азбучно"
+
+msgid "IDS_HS_POP_APP_ICONS_AND_FOLDERS_WILL_BE_SORTED_INTO_ALPHABETICAL_ORDER_ANY_CUSTOMISATIONS_YOU_HAVE_MADE_WILL_BE_DISCARDED"
+msgstr "Папките и иконите на приложения ще се сортират по азбучен ред. Всякакви персонализации, които сте направили, ще бъдат отхвърлени."
+
 msgid "IDS_HS_OPT_ADD_DYNAMIC_BOX"
 msgstr "Добавяне на Dynamic Box"
 
@@ -451,3 +460,18 @@ msgstr "%s и всички функции, свързани с него, ще б
 msgid "IDS_HS_TPOP_MAXIMUM_NUMBER_OF_APPLICATIONS_IN_FOLDER_HPD_REACHED"
 msgstr "Максималният брой приложения в папка (%d) е достигнат."
 
+msgid "IDS_HS_OPT_CHANGE_APP_GRID_ABB"
+msgstr "Промяна на мрежата на приложения"
+
+msgid "IDS_HS_HEADER_CHANGE_APP_GRID_ABB"
+msgstr "Промяна на мрежата на прил."
+
+msgid "IDS_HS_OPT_VIEW_ALL_PAGES_ABB"
+msgstr "Прегл. вс. стр."
+
+msgid "IDS_DS_BUTTON2_STYLER"
+msgstr "Стилизатор"
+
+msgid "IDS_HS_TPOP_MAXIMUM_NUMBER_OF_FAVOURITE_APPS_HPD_REACHED"
+msgstr "Максималният брой любими приложения (%d) е достигнат."
+
index 4fc39df..e766c8e 100755 (executable)
@@ -1,5 +1,5 @@
 msgid "IDS_CAM_SK_CANCEL"
-msgstr "Cancel"
+msgstr "Cancel·lar"
 
 msgid "IDS_CAM_SK_OK"
 msgstr "Acceptar"
@@ -296,7 +296,7 @@ msgid "IDS_COM_SK_OK"
 msgstr "Acceptar"
 
 msgid "IDS_COM_SK_CANCEL"
-msgstr "Cancel"
+msgstr "Cancel·lar"
 
 msgid "IDS_COM_SK_DONE"
 msgstr "Fet"
@@ -385,6 +385,15 @@ msgstr "Totes les pàgines"
 msgid "IDS_JAVA_POP_BLANK"
 msgstr "En blanc"
 
+msgid "IDS_HS_OPT_SORT_ITEMS_ALPHABETICALLY_ABB"
+msgstr "Ordenar elements alfabèticament"
+
+msgid "IDS_HS_HEADER_SORT_ITEMS_ALPHABETICALLY_ABB"
+msgstr "Ordenar elements alfabètic"
+
+msgid "IDS_HS_POP_APP_ICONS_AND_FOLDERS_WILL_BE_SORTED_INTO_ALPHABETICAL_ORDER_ANY_CUSTOMISATIONS_YOU_HAVE_MADE_WILL_BE_DISCARDED"
+msgstr "Les icones d'aplicacions i les carpetes s'ordenaran per ordre alfabètic. Es descartaran les personalitzacions que hagi fet."
+
 msgid "IDS_HS_OPT_ADD_DYNAMIC_BOX"
 msgstr "Afegir Dynamic Box"
 
@@ -451,3 +460,18 @@ msgstr "Es deshabilitarà %s i totes les funcions relacionades. Per tornar-ho a
 msgid "IDS_HS_TPOP_MAXIMUM_NUMBER_OF_APPLICATIONS_IN_FOLDER_HPD_REACHED"
 msgstr "S'ha assolit el nombre màxim d'aplicacions a la carpeta (%d)."
 
+msgid "IDS_HS_OPT_CHANGE_APP_GRID_ABB"
+msgstr "Canviar graella aplicació"
+
+msgid "IDS_HS_HEADER_CHANGE_APP_GRID_ABB"
+msgstr "Canviar graella aplicació"
+
+msgid "IDS_HS_OPT_VIEW_ALL_PAGES_ABB"
+msgstr "Veure totes pàg"
+
+msgid "IDS_DS_BUTTON2_STYLER"
+msgstr "Decorador"
+
+msgid "IDS_HS_TPOP_MAXIMUM_NUMBER_OF_FAVOURITE_APPS_HPD_REACHED"
+msgstr "S'ha assolit el nombre màxim d'aplicacions preferides (%d)."
+
index 8d17e6d..d963ac5 100755 (executable)
@@ -23,7 +23,7 @@ msgid "IDS_MF_OPT_DELETEFOLDER"
 msgstr "Odstranit složku"
 
 msgid "IDS_MF_POP_ERR_FOLDER_NAME_EMPTY"
-msgstr "Zadejte název složky."
+msgstr "Zadejte název složky"
 
 msgid "IDS_PB_SK_CREATE_ABB"
 msgstr "Vytv."
@@ -58,12 +58,6 @@ msgstr "Zrušit zaškrtnutí"
 msgid "IDS_AT_BODY_UNINSTALL"
 msgstr "Odinstalovat"
 
-msgid "IDS_AT_BUTTON_CHANGE_VIEW"
-msgstr "Změnit zob."
-
-msgid "IDS_AT_HEADER_PD_SELECTED"
-msgstr "Vybráno: %d"
-
 msgid "IDS_AT_HEADER_SELECT_APPS_TO_ADD_ABB2"
 msgstr "Vyberte přid. apl."
 
@@ -73,12 +67,6 @@ msgstr "Vyberte skryté aplikace"
 msgid "IDS_AT_HEADER_SELECT_APPS_TO_SHOW_ABB"
 msgstr "Vyberte zobr. aplikace"
 
-msgid "IDS_AT_OPT_ALPHABETICAL_GRID_ABB"
-msgstr "Abecední tabulka"
-
-msgid "IDS_AT_OPT_CUSTOMISABLE_GRID_ABB"
-msgstr "Vlastní tabulka"
-
 msgid "IDS_AT_OPT_VIEW_AS"
 msgstr "Zobrazit jako"
 
@@ -307,6 +295,12 @@ msgstr "Bylo dosaženo maximálního počtu znaků."
 msgid "IDS_COM_SK_OK"
 msgstr "OK"
 
+msgid "IDS_COM_SK_CANCEL"
+msgstr "Zrušit"
+
+msgid "IDS_COM_SK_DONE"
+msgstr "Hotovo"
+
 msgid "IDS_CAM_BODY_SHOWING_PD_ITEMS_T_TTS"
 msgstr "Zobrazení %d položek"
 
@@ -343,12 +337,12 @@ msgstr "Vybrat"
 msgid "IDS_COM_BODY_INTERNET"
 msgstr "Internet"
 
+msgid "IDS_MEMO_HEADER_PD_SELECTED_ABB2"
+msgstr "Vybráno %d"
+
 msgid "IDS_ST_SK_NEXT"
 msgstr "Další"
 
-msgid "IDS_HS_OPT_MANAGE_APPLICATIONS_ABB"
-msgstr "Správa aplikací"
-
 msgid "IDS_HS_POP_PD_ITEMS_WILL_BE_HIDDEN"
 msgstr "%d položek bude skryto."
 
@@ -400,3 +394,84 @@ msgstr "Seřadit položky abecedně"
 msgid "IDS_HS_POP_APP_ICONS_AND_FOLDERS_WILL_BE_SORTED_INTO_ALPHABETICAL_ORDER_ANY_CUSTOMISATIONS_YOU_HAVE_MADE_WILL_BE_DISCARDED"
 msgstr "Ikony aplikací a složky budou upořádány v abecedním pořadí. Veškeré provedené vlastní úpravy budou zrušeny."
 
+msgid "IDS_HS_OPT_ADD_DYNAMIC_BOX"
+msgstr "Přidat Dynamic Box"
+
+msgid "IDS_ST_BUTTON_REMOVE_ABB2"
+msgstr "Odebrat"
+
+msgid "IDS_HS_HEADER_REMOVE_FOLDER_ABB"
+msgstr "Odebrat složku"
+
+msgid "IDS_HS_BODY_FOLDER_WILL_BE_REMOVED_APPLICATIONS_IN_THIS_FOLDER_WILL_NOT_BE_UNINSTALLED"
+msgstr "Složka bude odebrána. Aplikace v této složce nebudou odinstalovány."
+
+msgid "IDS_HS_OPT_MANUALLY_ABB"
+msgstr "Ručně"
+
+msgid "IDS_HS_OPT_BY_NAME_HA_Z_ABB"
+msgstr "Podle názvu (A-Z)"
+
+msgid "IDS_HS_POP_PS_WILL_BE_UNINSTALLED"
+msgstr "%s bude odinstalována."
+
+msgid "IDS_HS_TPOP_UNABLE_TO_REARRANGE_ICONS_SORTED_BY_NAME_HA_Z"
+msgstr "Není možné změnit uspořádání ikon seřazených podle názvu (A-Z)."
+
+msgid "IDS_TPLATFORM_ACBUTTON_DONE_ABB"
+msgstr "HOTOVO"
+
+msgid "IDS_TPLATFORM_ACBUTTON_CANCEL_ABB"
+msgstr "ZRUŠIT"
+
+msgid "IDS_HS_OPT_SORT_ITEMS"
+msgstr "Řadit položky"
+
+msgid "IDS_HS_HEADER_SORT_ITEMS"
+msgstr "Řadit položky"
+
+msgid "IDS_HS_BODY_WIDGETS_ABB"
+msgstr "Pomůcky"
+
+msgid "IDS_HS_HEADER_UNABLE_TO_ADD_WIDGET_ABB"
+msgstr "Pomůcku nelze přidat"
+
+msgid "IDS_HS_HEADER_ADD_WIDGET"
+msgstr "Přidat nástroj"
+
+msgid "IDS_HS_POP_THERE_IS_NOT_ENOUGH_SPACE_ON_THE_HOME_SCREEN_REMOVE_SOME_WIDGETS_AND_TRY_AGAIN"
+msgstr "Na domovské obrazovce není dostatek volného místa. Odeberte některé pomůcky a opakujte akci."
+
+msgid "IDS_HS_HEADER_EDIT"
+msgstr "Upravit"
+
+msgid "IDS_HS_OPT_EDIT"
+msgstr "Upravit"
+
+msgid "IDS_HS_BODY_THEMES_ABB"
+msgstr "Témata"
+
+msgid "IDS_HS_POP_APPLICATION_NOT_INSTALLED"
+msgstr "Aplikace není nainstalována."
+
+msgid "IDS_HS_POP_PS_AND_ALL_THE_FEATURES_RELATED_TO_IT_WILL_BE_DISABLED_TO_ENABLE_IT_AGAIN_GO_TO_SETTINGS_APPLICATION_MANAGER"
+msgstr "%s a všechny související funkce budou zakázány. Když je budete chtít opět povolit, přejděte na Nastavení > Správce aplikací."
+
+msgid "IDS_HS_TPOP_MAXIMUM_NUMBER_OF_APPLICATIONS_IN_FOLDER_HPD_REACHED"
+msgstr "Bylo dosaženo maximálního počtu aplikací ve složce (%d)."
+
+msgid "IDS_HS_OPT_CHANGE_APP_GRID_ABB"
+msgstr "Změnit mřížku aplikace"
+
+msgid "IDS_HS_HEADER_CHANGE_APP_GRID_ABB"
+msgstr "Změnit mřížku aplikace"
+
+msgid "IDS_HS_OPT_VIEW_ALL_PAGES_ABB"
+msgstr "Zobr. vš. str."
+
+msgid "IDS_DS_BUTTON2_STYLER"
+msgstr "Návrhář stylu"
+
+msgid "IDS_HS_TPOP_MAXIMUM_NUMBER_OF_FAVOURITE_APPS_HPD_REACHED"
+msgstr "Bylo dosaženo maximálního počtu oblíbených aplikací (%d)."
+
index 42c9efd..e6a8198 100755 (executable)
@@ -1,5 +1,5 @@
 msgid "IDS_CAM_SK_CANCEL"
-msgstr "Annullér"
+msgstr "Annuller"
 
 msgid "IDS_CAM_SK_OK"
 msgstr "OK"
@@ -14,7 +14,7 @@ msgid "IDS_COM_SK_OPEN"
 msgstr "Åbn"
 
 msgid "IDS_MB_SK_EDIT"
-msgstr "Redigér"
+msgstr "Rediger"
 
 msgid "IDS_MEMO_SK_ADD_ABB"
 msgstr "Tilføj"
@@ -47,7 +47,7 @@ msgid "IDS_TPLATFORM_BODY_TICKBOX_T_TTS"
 msgstr "Afkrydsningsfelt"
 
 msgid "IDS_TPLATFORM_BODY_TICK_T_TTS"
-msgstr "Markér"
+msgstr "Marker"
 
 msgid "IDS_TPLATFORM_BODY_TITLE"
 msgstr "Titel"
@@ -56,7 +56,7 @@ msgid "IDS_TPLATFORM_BODY_UNTICK_T_TTS"
 msgstr "Fjern markering"
 
 msgid "IDS_AT_BODY_UNINSTALL"
-msgstr "Afinstallér"
+msgstr "Afinstaller"
 
 msgid "IDS_AT_HEADER_SELECT_APPS_TO_ADD_ABB2"
 msgstr "Vælg app at tilf."
@@ -74,10 +74,10 @@ msgid "IDS_AT_POP_TO_REARRANGE_PAGES_YOU_NEED_TO_CHANGE_THE_VIEW_TYPE_TO_A_CUSTO
 msgstr "For at omorganisere sider skal du ændre visningstypen til et brugerdefinerbart gitter."
 
 msgid "IDS_AT_POP_UNINSTALL_PS_Q"
-msgstr "Afinstallér %s?"
+msgstr "Afinstaller %s?"
 
 msgid "IDS_AT_TAB4_MINI_APPS"
-msgstr "Mini-apps"
+msgstr "Miniapps"
 
 msgid "IDS_CAM_OPT_MULTISHOT_DESELECT"
 msgstr "Fjern markering"
@@ -86,7 +86,7 @@ msgid "IDS_COM_HEADER_UNNAMED_FOLDER"
 msgstr "Mappe uden navn"
 
 msgid "IDS_HELP_BODY_DOUBLE_TAP_TO_CLOSE_APP_TRAY_TTS"
-msgstr "Dobbelttryk for at lukke app-bakken."
+msgstr "Dobbelttryk for at lukke appbakken."
 
 msgid "IDS_HELP_BODY_DOUBLE_TAP_TO_OPEN_APP_TRAY_TTS"
 msgstr "Dobbelttryk for at åbne app-bakken."
@@ -101,7 +101,7 @@ msgid "IDS_HS_BODY_DELETE_OPT_TTS"
 msgstr "Slet"
 
 msgid "IDS_HS_BODY_DOUBLE_TAP_AND_HOLD_TO_MOVE_T_TTS"
-msgstr "Dobbelttap og hold nede for at flytte."
+msgstr "Dobbelttryk og hold for at flytte."
 
 msgid "IDS_HS_BODY_DOUBLE_TAP_TO_CLOSE_T_TTS"
 msgstr "Dobbelttryk for at lukke."
@@ -158,7 +158,7 @@ msgid "IDS_HS_BUTTON_DELETE"
 msgstr "Slet"
 
 msgid "IDS_HS_BUTTON_DISABLE_ABB"
-msgstr "Deaktivér"
+msgstr "Deaktiver"
 
 msgid "IDS_HS_BUTTON_HELP"
 msgstr "Hjælp"
@@ -209,7 +209,7 @@ msgid "IDS_HS_OPT_EXTRACT_APPS_AND_DELETE_FOLDER_ABB"
 msgstr "Pak apps ud, og slet mappen"
 
 msgid "IDS_HS_POP_DISABLE_THIS_APPLICATION_Q"
-msgstr "Deaktivér denne applikation?"
+msgstr "Deaktiver denne applikation?"
 
 msgid "IDS_HS_POP_THE_NEW_PAGE_WILL_CONSIST_OF_THE_S_PLANNER_TASKS_AND_S_MEMO_DYNAMIC_BOXES"
 msgstr "Den nye side vil bestå af S Planner, Opgaver og S Memo Dynamic Box."
@@ -269,7 +269,7 @@ msgid "IDS_TPLATFORM_BODY_NOT_SELECTED_T_TTS"
 msgstr "Ikke valgt"
 
 msgid "IDS_TPLATFORM_BODY_RADIO_BUTTON_T_TTS"
-msgstr "Radioknap"
+msgstr "Alternativknap"
 
 msgid "IDS_TPLATFORM_BODY_SELECTED_T_TTS"
 msgstr "Valgt"
@@ -385,6 +385,15 @@ msgstr "Alle sider"
 msgid "IDS_JAVA_POP_BLANK"
 msgstr "Tom"
 
+msgid "IDS_HS_OPT_SORT_ITEMS_ALPHABETICALLY_ABB"
+msgstr "Sorter elementer alfabetisk"
+
+msgid "IDS_HS_HEADER_SORT_ITEMS_ALPHABETICALLY_ABB"
+msgstr "Sorter elementer alfabetisk"
+
+msgid "IDS_HS_POP_APP_ICONS_AND_FOLDERS_WILL_BE_SORTED_INTO_ALPHABETICAL_ORDER_ANY_CUSTOMISATIONS_YOU_HAVE_MADE_WILL_BE_DISCARDED"
+msgstr "Appikoner og mapper vil blive sorteret i alfabetisk rækkefølge. Eventuelle tilpasninger, du har foretaget, vil blive kasseret."
+
 msgid "IDS_HS_OPT_ADD_DYNAMIC_BOX"
 msgstr "Tilføj Dynamic Box"
 
@@ -434,10 +443,10 @@ msgid "IDS_HS_POP_THERE_IS_NOT_ENOUGH_SPACE_ON_THE_HOME_SCREEN_REMOVE_SOME_WIDGE
 msgstr "Der er ikke tilstrækkelig plads på startskærmen. Fjern nogle widgets, og prøv igen."
 
 msgid "IDS_HS_HEADER_EDIT"
-msgstr "Redigér"
+msgstr "Rediger"
 
 msgid "IDS_HS_OPT_EDIT"
-msgstr "Redigér"
+msgstr "Rediger"
 
 msgid "IDS_HS_BODY_THEMES_ABB"
 msgstr "Temaer"
@@ -451,3 +460,18 @@ msgstr "%s og alle funktioner knyttet hertil vil blive deaktiveret. For at aktiv
 msgid "IDS_HS_TPOP_MAXIMUM_NUMBER_OF_APPLICATIONS_IN_FOLDER_HPD_REACHED"
 msgstr "Det maksimale antal applikationer i mappen er blevet nået (%d)."
 
+msgid "IDS_HS_OPT_CHANGE_APP_GRID_ABB"
+msgstr "Skift appgitter"
+
+msgid "IDS_HS_HEADER_CHANGE_APP_GRID_ABB"
+msgstr "Skift appgitter"
+
+msgid "IDS_HS_OPT_VIEW_ALL_PAGES_ABB"
+msgstr "Vis alle sider"
+
+msgid "IDS_DS_BUTTON2_STYLER"
+msgstr "Styler"
+
+msgid "IDS_HS_TPOP_MAXIMUM_NUMBER_OF_FAVOURITE_APPS_HPD_REACHED"
+msgstr "Det maksimale antal yndlingsapps er nået (%d)."
+
index 732caf7..4f0d821 100755 (executable)
@@ -29,7 +29,7 @@ msgid "IDS_PB_SK_CREATE_ABB"
 msgstr "Erstellen"
 
 msgid "IDS_ST_BODY_LOADING_ING"
-msgstr "Ladevorgang läuft"
+msgstr "Lädt..."
 
 msgid "IDS_ST_HEADER_APPLICATIONS"
 msgstr "Anwendungen"
@@ -385,6 +385,15 @@ msgstr "Alle Seiten"
 msgid "IDS_JAVA_POP_BLANK"
 msgstr "Leer"
 
+msgid "IDS_HS_OPT_SORT_ITEMS_ALPHABETICALLY_ABB"
+msgstr "Alphabetische Elementsortierung"
+
+msgid "IDS_HS_HEADER_SORT_ITEMS_ALPHABETICALLY_ABB"
+msgstr "Alphabetische Elementsortierung"
+
+msgid "IDS_HS_POP_APP_ICONS_AND_FOLDERS_WILL_BE_SORTED_INTO_ALPHABETICAL_ORDER_ANY_CUSTOMISATIONS_YOU_HAVE_MADE_WILL_BE_DISCARDED"
+msgstr "App-Symbole und Ordner werden in alphabetischer Reihenfolge sortiert. Alle von Ihnen vorgenommenen Anpassungen werden verworfen."
+
 msgid "IDS_HS_OPT_ADD_DYNAMIC_BOX"
 msgstr "Dynamic Box hinzufügen"
 
@@ -451,3 +460,18 @@ msgstr "%s und alle damit zusammenhängenden Funktionen werden deaktiviert. Unte
 msgid "IDS_HS_TPOP_MAXIMUM_NUMBER_OF_APPLICATIONS_IN_FOLDER_HPD_REACHED"
 msgstr "Maximale Anzahl an Anwendungen im Ordner (%d) erreicht."
 
+msgid "IDS_HS_OPT_CHANGE_APP_GRID_ABB"
+msgstr "App-Gitter ändern"
+
+msgid "IDS_HS_HEADER_CHANGE_APP_GRID_ABB"
+msgstr "Ändern des App-Gitters"
+
+msgid "IDS_HS_OPT_VIEW_ALL_PAGES_ABB"
+msgstr "Alle anzeigen"
+
+msgid "IDS_DS_BUTTON2_STYLER"
+msgstr "Styler"
+
+msgid "IDS_HS_TPOP_MAXIMUM_NUMBER_OF_FAVOURITE_APPS_HPD_REACHED"
+msgstr "Maximale Anzahl an bevorzugten Apps (%d) erreicht."
+
index 32b459d..834afb0 100755 (executable)
@@ -385,6 +385,15 @@ msgstr "Όλες οι σελίδες"
 msgid "IDS_JAVA_POP_BLANK"
 msgstr "Κενό"
 
+msgid "IDS_HS_OPT_SORT_ITEMS_ALPHABETICALLY_ABB"
+msgstr "Αλφαβητική ταξινόμηση στοιχείων"
+
+msgid "IDS_HS_HEADER_SORT_ITEMS_ALPHABETICALLY_ABB"
+msgstr "Αλφαβητική ταξιν. στοιχείων"
+
+msgid "IDS_HS_POP_APP_ICONS_AND_FOLDERS_WILL_BE_SORTED_INTO_ALPHABETICAL_ORDER_ANY_CUSTOMISATIONS_YOU_HAVE_MADE_WILL_BE_DISCARDED"
+msgstr "Τα εικονίδια και οι φάκελοι εφαρμογών θα ταξινομηθούν με αλφαβητική σειρά. Θα απορριφθούν οποιεσδήποτε προσαρμογές έχετε κάνει."
+
 msgid "IDS_HS_OPT_ADD_DYNAMIC_BOX"
 msgstr "Προσθήκη Dynamic Box"
 
@@ -451,3 +460,18 @@ msgstr "Η εφαρμογή %s και οι σχετικές λειτουργίε
 msgid "IDS_HS_TPOP_MAXIMUM_NUMBER_OF_APPLICATIONS_IN_FOLDER_HPD_REACHED"
 msgstr "Συμπληρώθηκε ο μέγιστος αριθμός εφαρμογών στο φάκελο (%d)."
 
+msgid "IDS_HS_OPT_CHANGE_APP_GRID_ABB"
+msgstr "Αλλαγή πλέγματος εφαρμογής"
+
+msgid "IDS_HS_HEADER_CHANGE_APP_GRID_ABB"
+msgstr "Αλλαγή πλέγματος εφαρμογής"
+
+msgid "IDS_HS_OPT_VIEW_ALL_PAGES_ABB"
+msgstr "Προβ. σελίδων"
+
+msgid "IDS_DS_BUTTON2_STYLER"
+msgstr "Εφαρμογή\nεπιλ. στυλ"
+
+msgid "IDS_HS_TPOP_MAXIMUM_NUMBER_OF_FAVOURITE_APPS_HPD_REACHED"
+msgstr "Συμπληρώθηκε ο μέγιστος αριθμός αγαπημένων εφαρμογών (%d)."
+
index ab8d2f0..8f936f0 100755 (executable)
@@ -58,12 +58,6 @@ msgstr "Untick"
 msgid "IDS_AT_BODY_UNINSTALL"
 msgstr "Uninstall"
 
-msgid "IDS_AT_BUTTON_CHANGE_VIEW"
-msgstr "Change view"
-
-msgid "IDS_AT_HEADER_PD_SELECTED"
-msgstr "%d selected"
-
 msgid "IDS_AT_HEADER_SELECT_APPS_TO_ADD_ABB2"
 msgstr "Select apps to add"
 
@@ -73,12 +67,6 @@ msgstr "Select apps to hide"
 msgid "IDS_AT_HEADER_SELECT_APPS_TO_SHOW_ABB"
 msgstr "Select apps to show"
 
-msgid "IDS_AT_OPT_ALPHABETICAL_GRID_ABB"
-msgstr "Alphabetical grid"
-
-msgid "IDS_AT_OPT_CUSTOMISABLE_GRID_ABB"
-msgstr "Customisable grid"
-
 msgid "IDS_AT_OPT_VIEW_AS"
 msgstr "View as"
 
@@ -355,9 +343,6 @@ msgstr "%d selected"
 msgid "IDS_ST_SK_NEXT"
 msgstr "Next"
 
-msgid "IDS_HS_OPT_MANAGE_APPLICATIONS_ABB"
-msgstr "Manage applications"
-
 msgid "IDS_HS_POP_PD_ITEMS_WILL_BE_HIDDEN"
 msgstr "%d items will be hidden."
 
@@ -386,7 +371,7 @@ msgid "IDS_HS_POP_1_ITEM_WILL_BE_HIDDEN"
 msgstr "1 item will be hidden."
 
 msgid "IDS_HS_POP_UNABLE_TO_ADD_THIS_HOME_BOX_TO_THE_HOME_SCREEN_THERE_IS_NOT_ENOUGH_SPACE_ON_THE_HOME_SCREEN_MSG"
-msgstr "Unable to add this Home Box to the home screen. There is not enough space on the home screen. Remove some Home Boxes and try again."
+msgstr "Unable to add this Widget to the home screen. There is not enough space on the home screen. Remove some Home Boxes and try again."
 
 msgid "IDS_MSG_HEADER_UNABLE_TO_ADD"
 msgstr "Unable to add"
@@ -400,6 +385,15 @@ msgstr "All pages"
 msgid "IDS_JAVA_POP_BLANK"
 msgstr "Blank"
 
+msgid "IDS_HS_OPT_SORT_ITEMS_ALPHABETICALLY_ABB"
+msgstr "Sort items alphabetically"
+
+msgid "IDS_HS_HEADER_SORT_ITEMS_ALPHABETICALLY_ABB"
+msgstr "Sort items alphabetically"
+
+msgid "IDS_HS_POP_APP_ICONS_AND_FOLDERS_WILL_BE_SORTED_INTO_ALPHABETICAL_ORDER_ANY_CUSTOMISATIONS_YOU_HAVE_MADE_WILL_BE_DISCARDED"
+msgstr "App icons and folders will be sorted into alphabetical order. Any customisations you have made will be discarded."
+
 msgid "IDS_HS_OPT_ADD_DYNAMIC_BOX"
 msgstr "Add Dynamic Box"
 
@@ -446,7 +440,7 @@ msgid "IDS_HS_HEADER_ADD_WIDGET"
 msgstr "Add widget"
 
 msgid "IDS_HS_POP_THERE_IS_NOT_ENOUGH_SPACE_ON_THE_HOME_SCREEN_REMOVE_SOME_WIDGETS_AND_TRY_AGAIN"
-msgstr "There is not enough space on the Home screen. Remove some widgets and try again."
+msgstr "There is not enough space on the home screen. Remove some widgets and try again."
 
 msgid "IDS_HS_HEADER_EDIT"
 msgstr "Edit"
@@ -457,14 +451,27 @@ msgstr "Edit"
 msgid "IDS_HS_BODY_THEMES_ABB"
 msgstr "Themes"
 
-msgid "IDS_HS_OPT_SORT_ITEMS_ALPHABETICALLY_ABB"
-msgstr "Sort items alphabetically"
+msgid "IDS_HS_POP_APPLICATION_NOT_INSTALLED"
+msgstr "Application not installed."
 
-msgid "IDS_HS_HEADER_SORT_ITEMS_ALPHABETICALLY_ABB"
-msgstr "Sort items alphabetically"
-
-msgid "IDS_HS_POP_APP_ICONS_AND_FOLDERS_WILL_BE_SORTED_INTO_ALPHABETICAL_ORDER_ANY_CUSTOMISATIONS_YOU_HAVE_MADE_WILL_BE_DISCARDED"
-msgstr "App icons and folders will be sorted into alphabetical order. Any customisations you have made will be discarded."
+msgid "IDS_HS_POP_PS_AND_ALL_THE_FEATURES_RELATED_TO_IT_WILL_BE_DISABLED_TO_ENABLE_IT_AGAIN_GO_TO_SETTINGS_APPLICATION_MANAGER"
+msgstr "%s and all the features related to it will be disabled. To enable it again, go to Settings > Application manager."
 
 msgid "IDS_HS_TPOP_MAXIMUM_NUMBER_OF_APPLICATIONS_IN_FOLDER_HPD_REACHED"
-msgstr "Maximum number of applications in folder (%d) reached."
\ No newline at end of file
+msgstr "Maximum number of applications in folder (%d) reached."
+
+msgid "IDS_HS_OPT_CHANGE_APP_GRID_ABB"
+msgstr "Change app grid"
+
+msgid "IDS_HS_HEADER_CHANGE_APP_GRID_ABB"
+msgstr "Change app grid"
+
+msgid "IDS_HS_OPT_VIEW_ALL_PAGES_ABB"
+msgstr "View all pages"
+
+msgid "IDS_DS_BUTTON2_STYLER"
+msgstr "Styler"
+
+msgid "IDS_HS_TPOP_MAXIMUM_NUMBER_OF_FAVOURITE_APPS_HPD_REACHED"
+msgstr "Maximum number of favourite apps (%d) reached."
+
index d8dc1a1..953946e 100755 (executable)
@@ -385,6 +385,15 @@ msgstr "All pages"
 msgid "IDS_JAVA_POP_BLANK"
 msgstr "Blank"
 
+msgid "IDS_HS_OPT_SORT_ITEMS_ALPHABETICALLY_ABB"
+msgstr "Sort items alphabetically"
+
+msgid "IDS_HS_HEADER_SORT_ITEMS_ALPHABETICALLY_ABB"
+msgstr "Sort items alphabetically"
+
+msgid "IDS_HS_POP_APP_ICONS_AND_FOLDERS_WILL_BE_SORTED_INTO_ALPHABETICAL_ORDER_ANY_CUSTOMISATIONS_YOU_HAVE_MADE_WILL_BE_DISCARDED"
+msgstr "App icons and folders will be sorted into alphabetical order. Any customizations you have made will be discarded."
+
 msgid "IDS_HS_OPT_ADD_DYNAMIC_BOX"
 msgstr "Add Dynamic Box"
 
@@ -392,7 +401,7 @@ msgid "IDS_ST_BUTTON_REMOVE_ABB2"
 msgstr "Remove"
 
 msgid "IDS_HS_HEADER_REMOVE_FOLDER_ABB"
-msgstr "Remove folder"
+msgstr "Alisin ang folder"
 
 msgid "IDS_HS_BODY_FOLDER_WILL_BE_REMOVED_APPLICATIONS_IN_THIS_FOLDER_WILL_NOT_BE_UNINSTALLED"
 msgstr "Folder will be removed. Applications in this folder will not be uninstalled."
@@ -451,3 +460,18 @@ msgstr "%s and all the features related to it will be disabled. To enable it aga
 msgid "IDS_HS_TPOP_MAXIMUM_NUMBER_OF_APPLICATIONS_IN_FOLDER_HPD_REACHED"
 msgstr "Maximum number of applications in folder (%d) reached."
 
+msgid "IDS_HS_OPT_CHANGE_APP_GRID_ABB"
+msgstr "Change app grid"
+
+msgid "IDS_HS_HEADER_CHANGE_APP_GRID_ABB"
+msgstr "Change app grid"
+
+msgid "IDS_HS_OPT_VIEW_ALL_PAGES_ABB"
+msgstr "View all pages"
+
+msgid "IDS_DS_BUTTON2_STYLER"
+msgstr "Styler"
+
+msgid "IDS_HS_TPOP_MAXIMUM_NUMBER_OF_FAVOURITE_APPS_HPD_REACHED"
+msgstr "Maximum number of favorite apps (%d) reached."
+
index b93d17c..74e40d6 100755 (executable)
@@ -23,7 +23,7 @@ msgid "IDS_MF_OPT_DELETEFOLDER"
 msgstr "Delete folder"
 
 msgid "IDS_MF_POP_ERR_FOLDER_NAME_EMPTY"
-msgstr "Enter folder name."
+msgstr "Enter folder name"
 
 msgid "IDS_PB_SK_CREATE_ABB"
 msgstr "Create"
@@ -32,7 +32,7 @@ msgid "IDS_ST_BODY_LOADING_ING"
 msgstr "Loading..."
 
 msgid "IDS_ST_HEADER_APPLICATIONS"
-msgstr "Applications"
+msgstr "Apps"
 
 msgid "IDS_ST_HEADER_MUSIC"
 msgstr "Music"
@@ -170,7 +170,7 @@ msgid "IDS_HS_BUTTON_MAGAZINE_ABB"
 msgstr "Magazine"
 
 msgid "IDS_HS_BUTTON_PHONE"
-msgstr "Device"
+msgstr "Phone"
 
 msgid "IDS_HS_HEADER_ADD_ITEMS"
 msgstr "Add items"
@@ -371,7 +371,7 @@ msgid "IDS_HS_POP_1_ITEM_WILL_BE_HIDDEN"
 msgstr "1 item will be hidden."
 
 msgid "IDS_HS_POP_UNABLE_TO_ADD_THIS_HOME_BOX_TO_THE_HOME_SCREEN_THERE_IS_NOT_ENOUGH_SPACE_ON_THE_HOME_SCREEN_MSG"
-msgstr "Unable to add this Home Box to the Home screen. There is not enough space on the Home screen. Remove some Home Boxes and try again."
+msgstr "Unable to add this Widget to the Home screen. There is not enough space on the Home screen. Remove some Home Boxes and try again."
 
 msgid "IDS_MSG_HEADER_UNABLE_TO_ADD"
 msgstr "Unable to add"
@@ -385,6 +385,15 @@ msgstr "All pages"
 msgid "IDS_JAVA_POP_BLANK"
 msgstr "Blank"
 
+msgid "IDS_HS_OPT_SORT_ITEMS_ALPHABETICALLY_ABB"
+msgstr "Sort items alphabetically"
+
+msgid "IDS_HS_HEADER_SORT_ITEMS_ALPHABETICALLY_ABB"
+msgstr "Sort items alphabetically"
+
+msgid "IDS_HS_POP_APP_ICONS_AND_FOLDERS_WILL_BE_SORTED_INTO_ALPHABETICAL_ORDER_ANY_CUSTOMISATIONS_YOU_HAVE_MADE_WILL_BE_DISCARDED"
+msgstr "App icons and folders will be sorted into alphabetical order. Any customizations you have made will be discarded."
+
 msgid "IDS_HS_OPT_ADD_DYNAMIC_BOX"
 msgstr "Add Dynamic Box"
 
@@ -451,3 +460,18 @@ msgstr "%s and all the features related to it will be turned off. To turn it on
 msgid "IDS_HS_TPOP_MAXIMUM_NUMBER_OF_APPLICATIONS_IN_FOLDER_HPD_REACHED"
 msgstr "Maximum number of applications in folder (%d) reached."
 
+msgid "IDS_HS_OPT_CHANGE_APP_GRID_ABB"
+msgstr "Change app grid"
+
+msgid "IDS_HS_HEADER_CHANGE_APP_GRID_ABB"
+msgstr "Change app grid"
+
+msgid "IDS_HS_OPT_VIEW_ALL_PAGES_ABB"
+msgstr "View all pages"
+
+msgid "IDS_DS_BUTTON2_STYLER"
+msgstr "Styler"
+
+msgid "IDS_HS_TPOP_MAXIMUM_NUMBER_OF_FAVOURITE_APPS_HPD_REACHED"
+msgstr "Maximum number of favorite apps (%d) reached."
+
index b0239ce..5da2f04 100755 (executable)
@@ -385,6 +385,15 @@ msgstr "Todas las páginas"
 msgid "IDS_JAVA_POP_BLANK"
 msgstr "Vacío"
 
+msgid "IDS_HS_OPT_SORT_ITEMS_ALPHABETICALLY_ABB"
+msgstr "Ordenar alfabéticamente"
+
+msgid "IDS_HS_HEADER_SORT_ITEMS_ALPHABETICALLY_ABB"
+msgstr "Ordenar alfabéticamente"
+
+msgid "IDS_HS_POP_APP_ICONS_AND_FOLDERS_WILL_BE_SORTED_INTO_ALPHABETICAL_ORDER_ANY_CUSTOMISATIONS_YOU_HAVE_MADE_WILL_BE_DISCARDED"
+msgstr "Las carpetas y los iconos de las aplicaciones se organizarán por orden alfabético. Se descartarán las personalizaciones que haya hecho."
+
 msgid "IDS_HS_OPT_ADD_DYNAMIC_BOX"
 msgstr "Añadir Dynamic Box"
 
@@ -451,3 +460,18 @@ msgstr "%s y todas las funciones relacionadas se desactivarán. Para volver a ac
 msgid "IDS_HS_TPOP_MAXIMUM_NUMBER_OF_APPLICATIONS_IN_FOLDER_HPD_REACHED"
 msgstr "Se ha alcanzado el número máximo de aplicaciones en la carpeta (%d)."
 
+msgid "IDS_HS_OPT_CHANGE_APP_GRID_ABB"
+msgstr "Cambiar cuadrícula aplicación"
+
+msgid "IDS_HS_HEADER_CHANGE_APP_GRID_ABB"
+msgstr "Cambiar cuadrícula"
+
+msgid "IDS_HS_OPT_VIEW_ALL_PAGES_ABB"
+msgstr "Ver todas pág"
+
+msgid "IDS_DS_BUTTON2_STYLER"
+msgstr "Ajustes de estilo"
+
+msgid "IDS_HS_TPOP_MAXIMUM_NUMBER_OF_FAVOURITE_APPS_HPD_REACHED"
+msgstr "Se ha alcanzado el número máximo de aplicaciones favoritas (%d)."
+
index 6088b51..4b84417 100755 (executable)
@@ -149,7 +149,7 @@ msgid "IDS_HS_BODY_UNABLE_TO_LOAD_DATA_TAP_TO_RETRY"
 msgstr "No es posible cargar los datos. Pulse para intentarlo de nuevo."
 
 msgid "IDS_HS_BODY_WALLPAPERS_ABB"
-msgstr "Fondos de pant."
+msgstr "Fondos pantalla"
 
 msgid "IDS_HS_BUTTON_APPS"
 msgstr "Aplic."
@@ -385,6 +385,15 @@ msgstr "Todas las páginas"
 msgid "IDS_JAVA_POP_BLANK"
 msgstr "Vacío"
 
+msgid "IDS_HS_OPT_SORT_ITEMS_ALPHABETICALLY_ABB"
+msgstr "Ordenar alfabéticamente"
+
+msgid "IDS_HS_HEADER_SORT_ITEMS_ALPHABETICALLY_ABB"
+msgstr "Ordenar alfabéticamente"
+
+msgid "IDS_HS_POP_APP_ICONS_AND_FOLDERS_WILL_BE_SORTED_INTO_ALPHABETICAL_ORDER_ANY_CUSTOMISATIONS_YOU_HAVE_MADE_WILL_BE_DISCARDED"
+msgstr "Las carpetas y los atajos de aplicaciones se ordenarán alfabéticamente. Se descartarán todas las personalizaciones que haya realizado."
+
 msgid "IDS_HS_OPT_ADD_DYNAMIC_BOX"
 msgstr "Añadir Dynamic Box"
 
@@ -446,8 +455,23 @@ msgid "IDS_HS_POP_APPLICATION_NOT_INSTALLED"
 msgstr "Aplicación no instalada."
 
 msgid "IDS_HS_POP_PS_AND_ALL_THE_FEATURES_RELATED_TO_IT_WILL_BE_DISABLED_TO_ENABLE_IT_AGAIN_GO_TO_SETTINGS_APPLICATION_MANAGER"
-msgstr "%s y todas las funciones relacionadas se desactivarán. Para volver a activarlas, vaya a Configuración > Administrador de aplicaciones."
+msgstr "%s y todas las funciones relacionadas se desactivarán. Para volver a activarlas, vaya Ajustes > Administrador de aplicaciones."
 
 msgid "IDS_HS_TPOP_MAXIMUM_NUMBER_OF_APPLICATIONS_IN_FOLDER_HPD_REACHED"
 msgstr "Se alcanzó el número máximo de aplicaciones en la carpeta (%d)."
 
+msgid "IDS_HS_OPT_CHANGE_APP_GRID_ABB"
+msgstr "Cambiar cuadrícula aplicaciones"
+
+msgid "IDS_HS_HEADER_CHANGE_APP_GRID_ABB"
+msgstr "Cambiar la cuadrícula"
+
+msgid "IDS_HS_OPT_VIEW_ALL_PAGES_ABB"
+msgstr "Ver todas pág."
+
+msgid "IDS_DS_BUTTON2_STYLER"
+msgstr "Ajustes de estilo"
+
+msgid "IDS_HS_TPOP_MAXIMUM_NUMBER_OF_FAVOURITE_APPS_HPD_REACHED"
+msgstr "Se alcanzó el número máximo de aplicaciones favoritas (%d)."
+
index ece166b..837c2bd 100755 (executable)
@@ -385,6 +385,15 @@ msgstr "Kõik lehed"
 msgid "IDS_JAVA_POP_BLANK"
 msgstr "Tühi"
 
+msgid "IDS_HS_OPT_SORT_ITEMS_ALPHABETICALLY_ABB"
+msgstr "Sordi üksused tähestikuliselt"
+
+msgid "IDS_HS_HEADER_SORT_ITEMS_ALPHABETICALLY_ABB"
+msgstr "Üksuste tähestikul. sortim."
+
+msgid "IDS_HS_POP_APP_ICONS_AND_FOLDERS_WILL_BE_SORTED_INTO_ALPHABETICAL_ORDER_ANY_CUSTOMISATIONS_YOU_HAVE_MADE_WILL_BE_DISCARDED"
+msgstr "Rakenduste ikoonid ja kaustad sorditakse tähestikulisse järjestusse. Kõiki teie kohandusi eiratakse."
+
 msgid "IDS_HS_OPT_ADD_DYNAMIC_BOX"
 msgstr "Lisa Dynamic Box"
 
@@ -451,3 +460,18 @@ msgstr "%s ja kõik sellega seotud funktsioonid desaktiveeritakse. Selle uuesti
 msgid "IDS_HS_TPOP_MAXIMUM_NUMBER_OF_APPLICATIONS_IN_FOLDER_HPD_REACHED"
 msgstr "Rakenduste maksimaalne arv kaustas (%d) on täis."
 
+msgid "IDS_HS_OPT_CHANGE_APP_GRID_ABB"
+msgstr "Rakenduse ruudustiku muutmine"
+
+msgid "IDS_HS_HEADER_CHANGE_APP_GRID_ABB"
+msgstr "Rakenduse ruudustiku muutm."
+
+msgid "IDS_HS_OPT_VIEW_ALL_PAGES_ABB"
+msgstr "Kuva kõik lehed"
+
+msgid "IDS_DS_BUTTON2_STYLER"
+msgstr "Stilist"
+
+msgid "IDS_HS_TPOP_MAXIMUM_NUMBER_OF_FAVOURITE_APPS_HPD_REACHED"
+msgstr "Lemmikrakenduste maksimaalne arv (%d) on täis."
+
index c3a5738..7588680 100755 (executable)
@@ -290,7 +290,7 @@ msgid "IDS_COM_BODY_CONTACTS"
 msgstr "Kontaktuak"
 
 msgid "IDS_COM_POP_MAXIMUM_NUMBER_OF_CHARACTERS_REACHED"
-msgstr "Gehienezko karaktere kopurura heldu zara"
+msgstr "Gehienezko karaktere kopurura heldu zara."
 
 msgid "IDS_COM_SK_OK"
 msgstr "Ados"
@@ -385,6 +385,15 @@ msgstr "Orri guztiak"
 msgid "IDS_JAVA_POP_BLANK"
 msgstr "Hutsik"
 
+msgid "IDS_HS_OPT_SORT_ITEMS_ALPHABETICALLY_ABB"
+msgstr "Ordenatu elementuak alfabetikoki"
+
+msgid "IDS_HS_HEADER_SORT_ITEMS_ALPHABETICALLY_ABB"
+msgstr "Ordenatu alfabetikoki"
+
+msgid "IDS_HS_POP_APP_ICONS_AND_FOLDERS_WILL_BE_SORTED_INTO_ALPHABETICAL_ORDER_ANY_CUSTOMISATIONS_YOU_HAVE_MADE_WILL_BE_DISCARDED"
+msgstr "Aplikazio ikonoak eta karpetak alfabetikoki ordenatuko dira. Egin dituzun pertsonalizazioak baztertuko dira."
+
 msgid "IDS_HS_OPT_ADD_DYNAMIC_BOX"
 msgstr "Gehitu Dynamic Box"
 
@@ -451,3 +460,18 @@ msgstr "%s eta berari lotutako eginkizun guztiak desgaituko dira. Berriz ere gai
 msgid "IDS_HS_TPOP_MAXIMUM_NUMBER_OF_APPLICATIONS_IN_FOLDER_HPD_REACHED"
 msgstr "Karpeta bakoitzeko aplikazioen gehieneko kopurura (%d) iritsi zara."
 
+msgid "IDS_HS_OPT_CHANGE_APP_GRID_ABB"
+msgstr "Aldatu aplikazioaren sareta"
+
+msgid "IDS_HS_HEADER_CHANGE_APP_GRID_ABB"
+msgstr "Aldatu aplikazioaren sareta"
+
+msgid "IDS_HS_OPT_VIEW_ALL_PAGES_ABB"
+msgstr "Ikusi orri denak"
+
+msgid "IDS_DS_BUTTON2_STYLER"
+msgstr "Estilo\nxehetas."
+
+msgid "IDS_HS_TPOP_MAXIMUM_NUMBER_OF_FAVOURITE_APPS_HPD_REACHED"
+msgstr "Gogoko aplikazioen gehienezko kopurura (%d) iritsi zara."
+
index 645a8be..38c43d2 100755 (executable)
@@ -385,6 +385,15 @@ msgstr "Kaikki sivut"
 msgid "IDS_JAVA_POP_BLANK"
 msgstr "Tyhjä"
 
+msgid "IDS_HS_OPT_SORT_ITEMS_ALPHABETICALLY_ABB"
+msgstr "Lajittele kohteet aakkosell."
+
+msgid "IDS_HS_HEADER_SORT_ITEMS_ALPHABETICALLY_ABB"
+msgstr "Lajittele kohteet aakkosell."
+
+msgid "IDS_HS_POP_APP_ICONS_AND_FOLDERS_WILL_BE_SORTED_INTO_ALPHABETICAL_ORDER_ANY_CUSTOMISATIONS_YOU_HAVE_MADE_WILL_BE_DISCARDED"
+msgstr "Sovelluskuvakkeet ja kansiot lajitellaan aakkosellisesti. Tekemäsi muutokset hylätään."
+
 msgid "IDS_HS_OPT_ADD_DYNAMIC_BOX"
 msgstr "Lisää Dynamic Box"
 
@@ -451,3 +460,18 @@ msgstr "%s ja kaikki siihen liittyvät toiminnot poistetaan käytöstä. Voit ot
 msgid "IDS_HS_TPOP_MAXIMUM_NUMBER_OF_APPLICATIONS_IN_FOLDER_HPD_REACHED"
 msgstr "Kansiossa olevien sovellusten enimmäismäärä (%d) on saavutettu."
 
+msgid "IDS_HS_OPT_CHANGE_APP_GRID_ABB"
+msgstr "Muuta sovellusruudukkoa"
+
+msgid "IDS_HS_HEADER_CHANGE_APP_GRID_ABB"
+msgstr "Muuta sovellusruudukkoa"
+
+msgid "IDS_HS_OPT_VIEW_ALL_PAGES_ABB"
+msgstr "Näytä kaikki siv."
+
+msgid "IDS_DS_BUTTON2_STYLER"
+msgstr "Tyylittely"
+
+msgid "IDS_HS_TPOP_MAXIMUM_NUMBER_OF_FAVOURITE_APPS_HPD_REACHED"
+msgstr "Suosikkisovellusten enimmäismäärä (%d) on saavutettu."
+
index 24ce9bb..aec5eb2 100755 (executable)
@@ -29,7 +29,7 @@ msgid "IDS_PB_SK_CREATE_ABB"
 msgstr "Créer"
 
 msgid "IDS_ST_BODY_LOADING_ING"
-msgstr "Chargement..."
+msgstr "Chargement en cours."
 
 msgid "IDS_ST_HEADER_APPLICATIONS"
 msgstr "Applications"
@@ -385,6 +385,15 @@ msgstr "Toutes les pages"
 msgid "IDS_JAVA_POP_BLANK"
 msgstr "Vide"
 
+msgid "IDS_HS_OPT_SORT_ITEMS_ALPHABETICALLY_ABB"
+msgstr "Trier éléments dans ordre alpha."
+
+msgid "IDS_HS_HEADER_SORT_ITEMS_ALPHABETICALLY_ABB"
+msgstr "Tri éléments ds ordre alpha."
+
+msgid "IDS_HS_POP_APP_ICONS_AND_FOLDERS_WILL_BE_SORTED_INTO_ALPHABETICAL_ORDER_ANY_CUSTOMISATIONS_YOU_HAVE_MADE_WILL_BE_DISCARDED"
+msgstr "Les icônes d'application et les dossiers vont être triés par ordre alphabétique. Les personnalisations effectuées seront ignorées."
+
 msgid "IDS_HS_OPT_ADD_DYNAMIC_BOX"
 msgstr "Ajouter une Dynamic Box"
 
@@ -451,3 +460,18 @@ msgstr "%s et l'ensemble des fonctions qui lui sont associées vont être désac
 msgid "IDS_HS_TPOP_MAXIMUM_NUMBER_OF_APPLICATIONS_IN_FOLDER_HPD_REACHED"
 msgstr "Le nombre maximal d'applications dans le dossier (%d) a été atteint."
 
+msgid "IDS_HS_OPT_CHANGE_APP_GRID_ABB"
+msgstr "Modifier grille d'applications"
+
+msgid "IDS_HS_HEADER_CHANGE_APP_GRID_ABB"
+msgstr "Modification grille d'appli."
+
+msgid "IDS_HS_OPT_VIEW_ALL_PAGES_ABB"
+msgstr "Aff. ttes pages"
+
+msgid "IDS_DS_BUTTON2_STYLER"
+msgstr "Style"
+
+msgid "IDS_HS_TPOP_MAXIMUM_NUMBER_OF_FAVOURITE_APPS_HPD_REACHED"
+msgstr "Le nombre maximal d'applications favorites (%d) a été atteint."
+
index 901ce08..dd863c3 100755 (executable)
@@ -385,6 +385,15 @@ msgstr "Toutes les pages"
 msgid "IDS_JAVA_POP_BLANK"
 msgstr "Vide"
 
+msgid "IDS_HS_OPT_SORT_ITEMS_ALPHABETICALLY_ABB"
+msgstr "Trier éléments dans ordre alpha."
+
+msgid "IDS_HS_HEADER_SORT_ITEMS_ALPHABETICALLY_ABB"
+msgstr "Tri éléments ds ordre alpha."
+
+msgid "IDS_HS_POP_APP_ICONS_AND_FOLDERS_WILL_BE_SORTED_INTO_ALPHABETICAL_ORDER_ANY_CUSTOMISATIONS_YOU_HAVE_MADE_WILL_BE_DISCARDED"
+msgstr "Les icônes d'application et les dossiers vont être triés par ordre alphabétique. Les personnalisations effectuées seront ignorées."
+
 msgid "IDS_HS_OPT_ADD_DYNAMIC_BOX"
 msgstr "Ajouter une boite dynamique"
 
@@ -451,3 +460,18 @@ msgstr "%s et l'ensemble des fonctions qui lui sont associées vont être désac
 msgid "IDS_HS_TPOP_MAXIMUM_NUMBER_OF_APPLICATIONS_IN_FOLDER_HPD_REACHED"
 msgstr "Le nombre maximal d'applications dans le dossier (%d) a été atteint."
 
+msgid "IDS_HS_OPT_CHANGE_APP_GRID_ABB"
+msgstr "Modifier grille d'applications"
+
+msgid "IDS_HS_HEADER_CHANGE_APP_GRID_ABB"
+msgstr "Modification grille d'appli."
+
+msgid "IDS_HS_OPT_VIEW_ALL_PAGES_ABB"
+msgstr "Aff. ttes pages"
+
+msgid "IDS_DS_BUTTON2_STYLER"
+msgstr "Style"
+
+msgid "IDS_HS_TPOP_MAXIMUM_NUMBER_OF_FAVOURITE_APPS_HPD_REACHED"
+msgstr "Le nombre maximal d'applications favorites (%d) a été atteint."
+
index 4112bae..2c9ff4c 100755 (executable)
@@ -385,6 +385,15 @@ msgstr "Gach leathanach"
 msgid "IDS_JAVA_POP_BLANK"
 msgstr "Bán"
 
+msgid "IDS_HS_OPT_SORT_ITEMS_ALPHABETICALLY_ABB"
+msgstr "Sórtáil míreanna go haibítreach"
+
+msgid "IDS_HS_HEADER_SORT_ITEMS_ALPHABETICALLY_ABB"
+msgstr "Sórtáil go haibítreach"
+
+msgid "IDS_HS_POP_APP_ICONS_AND_FOLDERS_WILL_BE_SORTED_INTO_ALPHABETICAL_ORDER_ANY_CUSTOMISATIONS_YOU_HAVE_MADE_WILL_BE_DISCARDED"
+msgstr "Stórálfar íocóin agus fillteáin feidhmchláir in ord aibítreach. Cuileálfar aon saincheapadh a rinne tú."
+
 msgid "IDS_HS_OPT_ADD_DYNAMIC_BOX"
 msgstr "Cuir Dynamic Box leis"
 
@@ -451,3 +460,18 @@ msgstr "Díchumasófar %s mar aon leis na gnéithe go léir a bhaineann leis. Le
 msgid "IDS_HS_TPOP_MAXIMUM_NUMBER_OF_APPLICATIONS_IN_FOLDER_HPD_REACHED"
 msgstr "Uaslíon na bhfeidhmchlár i bhfillteán (%d) bainte amach."
 
+msgid "IDS_HS_OPT_CHANGE_APP_GRID_ABB"
+msgstr "Athraigh greille feidhmchlár"
+
+msgid "IDS_HS_HEADER_CHANGE_APP_GRID_ABB"
+msgstr "Athraigh greille feidhmchlár"
+
+msgid "IDS_HS_OPT_VIEW_ALL_PAGES_ABB"
+msgstr "Amharc ar gach lch"
+
+msgid "IDS_DS_BUTTON2_STYLER"
+msgstr "Stíleoir"
+
+msgid "IDS_HS_TPOP_MAXIMUM_NUMBER_OF_FAVOURITE_APPS_HPD_REACHED"
+msgstr "Uaslíon na bhfeidhmchlar ceanáin (%d) bainte amach."
+
index ef2415b..7fc475a 100755 (executable)
@@ -385,6 +385,15 @@ msgstr "Todas as páxinas"
 msgid "IDS_JAVA_POP_BLANK"
 msgstr "Baleira"
 
+msgid "IDS_HS_OPT_SORT_ITEMS_ALPHABETICALLY_ABB"
+msgstr "Ordenar elementos alfabeticam."
+
+msgid "IDS_HS_HEADER_SORT_ITEMS_ALPHABETICALLY_ABB"
+msgstr "Ordenar elementos alfabetic."
+
+msgid "IDS_HS_POP_APP_ICONS_AND_FOLDERS_WILL_BE_SORTED_INTO_ALPHABETICAL_ORDER_ANY_CUSTOMISATIONS_YOU_HAVE_MADE_WILL_BE_DISCARDED"
+msgstr "As iconas e carpetas das aplicacións ordenaranse alfabeticamente. Todas as personalizacións efectuadas descartaranse."
+
 msgid "IDS_HS_OPT_ADD_DYNAMIC_BOX"
 msgstr "Engadir Dynamic Box"
 
@@ -451,3 +460,18 @@ msgstr "%s e todas as funcións relacionadas desactivaranse. Para activala de no
 msgid "IDS_HS_TPOP_MAXIMUM_NUMBER_OF_APPLICATIONS_IN_FOLDER_HPD_REACHED"
 msgstr "Alcanzouse o número máximo de aplicacións da carpeta (%d)."
 
+msgid "IDS_HS_OPT_CHANGE_APP_GRID_ABB"
+msgstr "Cambiar cuadrícula aplicacións"
+
+msgid "IDS_HS_HEADER_CHANGE_APP_GRID_ABB"
+msgstr "Cambiar cuadrícula aplicac."
+
+msgid "IDS_HS_OPT_VIEW_ALL_PAGES_ABB"
+msgstr "Ver todas páx."
+
+msgid "IDS_DS_BUTTON2_STYLER"
+msgstr "Axustes de estilo"
+
+msgid "IDS_HS_TPOP_MAXIMUM_NUMBER_OF_FAVOURITE_APPS_HPD_REACHED"
+msgstr "Alcanzouse o número máximo de aplicacións favoritas (%d)."
+
index 476442f..7ee0ed3 100755 (executable)
@@ -58,12 +58,6 @@ msgstr "अनटिक करें"
 msgid "IDS_AT_BODY_UNINSTALL"
 msgstr "स्थापना रद्द करें"
 
-msgid "IDS_AT_BUTTON_CHANGE_VIEW"
-msgstr "दृश्य बदलें"
-
-msgid "IDS_AT_HEADER_PD_SELECTED"
-msgstr "%d चयनित"
-
 msgid "IDS_AT_HEADER_SELECT_APPS_TO_ADD_ABB2"
 msgstr "जोड़ने के लिए एप्स चुनें"
 
@@ -73,12 +67,6 @@ msgstr "छिपाने के लिए एप्स चुनें"
 msgid "IDS_AT_HEADER_SELECT_APPS_TO_SHOW_ABB"
 msgstr "दिखाने के लिए एप्स चुनें"
 
-msgid "IDS_AT_OPT_ALPHABETICAL_GRID_ABB"
-msgstr "वर्णक्रमानुसार ग्रिड"
-
-msgid "IDS_AT_OPT_CUSTOMISABLE_GRID_ABB"
-msgstr "अनुकूलित करने योग्य ग्रिड"
-
 msgid "IDS_AT_OPT_VIEW_AS"
 msgstr "इस रूप में देखें"
 
@@ -113,7 +101,7 @@ msgid "IDS_HS_BODY_DELETE_OPT_TTS"
 msgstr "हटाएँ"
 
 msgid "IDS_HS_BODY_DOUBLE_TAP_AND_HOLD_TO_MOVE_T_TTS"
-msgstr "à¤\85नà¥\8dयतà¥\8dर à¤²à¥\87 à¤\9cानà¥\87 à¤\95à¥\87 à¤²à¤¿à¤\8f à¤¡à¤¬à¤² टैप और होल्ड करें।"
+msgstr "à¤\85नà¥\8dयतà¥\8dर à¤²à¥\87 à¤\9cानà¥\87 à¤\95à¥\87 à¤²à¤¿à¤\8f à¤¦à¥\8b à¤¬à¤¾à¤° टैप और होल्ड करें।"
 
 msgid "IDS_HS_BODY_DOUBLE_TAP_TO_CLOSE_T_TTS"
 msgstr "बंद करने के लिए दो बार टैप करें।"
@@ -152,7 +140,7 @@ msgid "IDS_HS_BODY_THE_FOLDER_IS_OPEN"
 msgstr "फोल्डर खुला है।"
 
 msgid "IDS_HS_BODY_THIS_WILL_DELETE_THE_FOLDER_AND_ALL_THE_ITEMS_IT_CONTAINS"
-msgstr "यह à¤«à¤¼à¥\8bलà¥\8dडर à¤\94र à¤\87सà¤\95à¥\80 à¤¸à¤­à¥\80 à¤¸à¤¾à¤®à¤\97à¥\8dरà¥\80 à¤\95à¥\8b à¤¹à¤\9fा à¤¦à¥\87à¤\97ा"
+msgstr "यह à¤«à¥\8bलà¥\8dडर à¤\94र à¤\87सà¤\95à¥\80 à¤¸à¤­à¥\80 à¤¸à¤¾à¤®à¤\97à¥\8dरà¥\80 à¤\95à¥\8b à¤¹à¤\9fा à¤¦à¥\87à¤\97ा।"
 
 msgid "IDS_HS_BODY_UNABLE_TO_ADD_MORE_APPS_MAXIMUM_NUMBER_OF_APPS_REACHED"
 msgstr "अधिक ऐप जोड़ने में अक्षम। ऐप्स की अधिकतम संख्‍या पास हो गई है।"
@@ -307,6 +295,12 @@ msgstr "वर्णो की संख्‍या अधिकतम पह
 msgid "IDS_COM_SK_OK"
 msgstr "ओके"
 
+msgid "IDS_COM_SK_CANCEL"
+msgstr "रद्द"
+
+msgid "IDS_COM_SK_DONE"
+msgstr "पूर्ण"
+
 msgid "IDS_CAM_BODY_SHOWING_PD_ITEMS_T_TTS"
 msgstr "%d मदें दिखाना"
 
@@ -343,12 +337,12 @@ msgstr "चुनें"
 msgid "IDS_COM_BODY_INTERNET"
 msgstr "इंटरनेट"
 
+msgid "IDS_MEMO_HEADER_PD_SELECTED_ABB2"
+msgstr "%d चयनित"
+
 msgid "IDS_ST_SK_NEXT"
 msgstr "अगला"
 
-msgid "IDS_HS_OPT_MANAGE_APPLICATIONS_ABB"
-msgstr "एप्लीकेशंस व्यवस्थित करें"
-
 msgid "IDS_HS_POP_PD_ITEMS_WILL_BE_HIDDEN"
 msgstr "%d मदें छिपाई जाएँगी।"
 
@@ -380,7 +374,7 @@ msgid "IDS_HS_POP_UNABLE_TO_ADD_THIS_HOME_BOX_TO_THE_HOME_SCREEN_THERE_IS_NOT_EN
 msgstr "इस होम बॉक्स को होम स्क्रीन पर जोड़ने में असमर्थ। होम स्क्रीन पर पर्याप्त स्थान नहीं है। कुछ होम बॉक्सेज निकालें और फिर से प्रयास करें।"
 
 msgid "IDS_MSG_HEADER_UNABLE_TO_ADD"
-msgstr "à¤\9cà¥\8bड़नà¥\87 à¤®à¥\87à¤\82 à¤\85à¤\95à¥\8dषम"
+msgstr "à¤\9cà¥\8bड़नà¥\87 à¤®à¥\87à¤\82 à¤\85समरà¥\8dथ"
 
 msgid "IDS_HS_OPT_HOME_BOXES"
 msgstr "होम बॉक्सेज"
@@ -400,3 +394,84 @@ msgstr "वर्ण क्रम में मदें सॉर्ट कर
 msgid "IDS_HS_POP_APP_ICONS_AND_FOLDERS_WILL_BE_SORTED_INTO_ALPHABETICAL_ORDER_ANY_CUSTOMISATIONS_YOU_HAVE_MADE_WILL_BE_DISCARDED"
 msgstr "एप चिह्न और फोल्डर्स अक्षरक्रमानुसार क्रम में क्रमबद्ध किए जाएँगे। आपके द्वारा किए गए कोई भी अनुकूलन निरस्त किए जाएँगे।"
 
+msgid "IDS_HS_OPT_ADD_DYNAMIC_BOX"
+msgstr "Dynamic Box जोड़ें"
+
+msgid "IDS_ST_BUTTON_REMOVE_ABB2"
+msgstr "निकालें"
+
+msgid "IDS_HS_HEADER_REMOVE_FOLDER_ABB"
+msgstr "फोल्डर निकालें"
+
+msgid "IDS_HS_BODY_FOLDER_WILL_BE_REMOVED_APPLICATIONS_IN_THIS_FOLDER_WILL_NOT_BE_UNINSTALLED"
+msgstr "फोल्डर को निकाल दिया जाएगा। इस फोल्डर के एप्लीकेशंस को अस्थापित नहीं किया जाएगा।"
+
+msgid "IDS_HS_OPT_MANUALLY_ABB"
+msgstr "मैनुअल रूप से"
+
+msgid "IDS_HS_OPT_BY_NAME_HA_Z_ABB"
+msgstr "नाम (A-Z) द्वारा"
+
+msgid "IDS_HS_POP_PS_WILL_BE_UNINSTALLED"
+msgstr "%s अस्थापित किया जाएगा।"
+
+msgid "IDS_HS_TPOP_UNABLE_TO_REARRANGE_ICONS_SORTED_BY_NAME_HA_Z"
+msgstr "नाम (A-Z) के अनुसार क्रमबद्ध किए गए चिह्नों को पुनः व्यवस्थित करने में असमर्थ।"
+
+msgid "IDS_TPLATFORM_ACBUTTON_DONE_ABB"
+msgstr "पूर्ण"
+
+msgid "IDS_TPLATFORM_ACBUTTON_CANCEL_ABB"
+msgstr "रद्द करें"
+
+msgid "IDS_HS_OPT_SORT_ITEMS"
+msgstr "मदें क्रमबद्ध करें"
+
+msgid "IDS_HS_HEADER_SORT_ITEMS"
+msgstr "मदें क्रमबद्ध करें"
+
+msgid "IDS_HS_BODY_WIDGETS_ABB"
+msgstr "विजेट्स"
+
+msgid "IDS_HS_HEADER_UNABLE_TO_ADD_WIDGET_ABB"
+msgstr "विजेट जोड़ने में असमर्थ"
+
+msgid "IDS_HS_HEADER_ADD_WIDGET"
+msgstr "विजेट जोड़ें"
+
+msgid "IDS_HS_POP_THERE_IS_NOT_ENOUGH_SPACE_ON_THE_HOME_SCREEN_REMOVE_SOME_WIDGETS_AND_TRY_AGAIN"
+msgstr "होम स्क्रीन पर पर्याप्त स्थान नहीं है। कुछ विजेट्स निकालें और फिर से प्रयास करें।"
+
+msgid "IDS_HS_HEADER_EDIT"
+msgstr "संपादन"
+
+msgid "IDS_HS_OPT_EDIT"
+msgstr "संपादन"
+
+msgid "IDS_HS_BODY_THEMES_ABB"
+msgstr "थीम्स"
+
+msgid "IDS_HS_POP_APPLICATION_NOT_INSTALLED"
+msgstr "एप्लीकेशन स्थापित नहीं हुई।"
+
+msgid "IDS_HS_POP_PS_AND_ALL_THE_FEATURES_RELATED_TO_IT_WILL_BE_DISABLED_TO_ENABLE_IT_AGAIN_GO_TO_SETTINGS_APPLICATION_MANAGER"
+msgstr "%s और इससे जुड़ी सभी सुविधाएँ असमर्थ कर दी जाएँगी। इसे फिर से सक्षम करने के लिए सेटिंग्स > एप्लीकेशन प्रबंधक पर जाएँ।"
+
+msgid "IDS_HS_TPOP_MAXIMUM_NUMBER_OF_APPLICATIONS_IN_FOLDER_HPD_REACHED"
+msgstr "फोल्डर में अधिकतम एप्लीकेशंस की संख्या (%d) पूरी हुई।"
+
+msgid "IDS_HS_OPT_CHANGE_APP_GRID_ABB"
+msgstr "एप ग्रिड बदलें"
+
+msgid "IDS_HS_HEADER_CHANGE_APP_GRID_ABB"
+msgstr "एप ग्रिड बदलें"
+
+msgid "IDS_HS_OPT_VIEW_ALL_PAGES_ABB"
+msgstr "सभी पेज देखें"
+
+msgid "IDS_DS_BUTTON2_STYLER"
+msgstr "स्टायलर"
+
+msgid "IDS_HS_TPOP_MAXIMUM_NUMBER_OF_FAVOURITE_APPS_HPD_REACHED"
+msgstr "पसंदीदा एप्स की अधिकतम संख्‍या (%d) पूरी हो गई है।"
+
index 0116309..064b01f 100755 (executable)
@@ -385,6 +385,15 @@ msgstr "Sve stranice"
 msgid "IDS_JAVA_POP_BLANK"
 msgstr "Prazno"
 
+msgid "IDS_HS_OPT_SORT_ITEMS_ALPHABETICALLY_ABB"
+msgstr "Razvrstaj stavke po abecedi"
+
+msgid "IDS_HS_HEADER_SORT_ITEMS_ALPHABETICALLY_ABB"
+msgstr "Razvrstav. stavki po abecedi"
+
+msgid "IDS_HS_POP_APP_ICONS_AND_FOLDERS_WILL_BE_SORTED_INTO_ALPHABETICAL_ORDER_ANY_CUSTOMISATIONS_YOU_HAVE_MADE_WILL_BE_DISCARDED"
+msgstr "Ikone i mape aplikacija rasporedit će se abecednim redom. Odbacit će se sva prilagođavanja koja ste napravili."
+
 msgid "IDS_HS_OPT_ADD_DYNAMIC_BOX"
 msgstr "Dodajte Dynamic Box"
 
@@ -451,3 +460,18 @@ msgstr "%s i sve značajke povezane s time bit će isključene. Da biste ga pono
 msgid "IDS_HS_TPOP_MAXIMUM_NUMBER_OF_APPLICATIONS_IN_FOLDER_HPD_REACHED"
 msgstr "Dosegnut je maksimalan broj aplikacija u mapi (%d)."
 
+msgid "IDS_HS_OPT_CHANGE_APP_GRID_ABB"
+msgstr "Promijeni mrežu aplikacija"
+
+msgid "IDS_HS_HEADER_CHANGE_APP_GRID_ABB"
+msgstr "Promjena mreže aplikacija"
+
+msgid "IDS_HS_OPT_VIEW_ALL_PAGES_ABB"
+msgstr "Vidi sve str."
+
+msgid "IDS_DS_BUTTON2_STYLER"
+msgstr "Stilist"
+
+msgid "IDS_HS_TPOP_MAXIMUM_NUMBER_OF_FAVOURITE_APPS_HPD_REACHED"
+msgstr "Dosegnut je maksimalan broj (%d) omiljenih aplikacija."
+
index 5c8f6e8..72c2b11 100755 (executable)
@@ -5,7 +5,7 @@ msgid "IDS_CAM_SK_OK"
 msgstr "OK"
 
 msgid "IDS_COM_BODY_CREATE_FOLDER"
-msgstr "Mappát létrehoz"
+msgstr "Mappa létrehozása"
 
 msgid "IDS_COM_POP_SHOW_A"
 msgstr "Mutass"
@@ -385,6 +385,15 @@ msgstr "Összes oldal"
 msgid "IDS_JAVA_POP_BLANK"
 msgstr "Üres"
 
+msgid "IDS_HS_OPT_SORT_ITEMS_ALPHABETICALLY_ABB"
+msgstr "Elemek betűrendes rendezése"
+
+msgid "IDS_HS_HEADER_SORT_ITEMS_ALPHABETICALLY_ABB"
+msgstr "Elemek betűrendes rendezése"
+
+msgid "IDS_HS_POP_APP_ICONS_AND_FOLDERS_WILL_BE_SORTED_INTO_ALPHABETICAL_ORDER_ANY_CUSTOMISATIONS_YOU_HAVE_MADE_WILL_BE_DISCARDED"
+msgstr "Betűrendbe állítja az alkalmazások ikonjait és a mappákat. Ezzel törli a korábbi testreszabásokat."
+
 msgid "IDS_HS_OPT_ADD_DYNAMIC_BOX"
 msgstr "Dynamic Box hozzáadása"
 
@@ -451,3 +460,18 @@ msgstr "A(z) %s és minden kapcsolódó funkció le lesz tiltva. Az újbóli eng
 msgid "IDS_HS_TPOP_MAXIMUM_NUMBER_OF_APPLICATIONS_IN_FOLDER_HPD_REACHED"
 msgstr "Elérte az egy mappához adható alkalmazások maximális számát (%d)."
 
+msgid "IDS_HS_OPT_CHANGE_APP_GRID_ABB"
+msgstr "Alkalmazásrács módosítása"
+
+msgid "IDS_HS_HEADER_CHANGE_APP_GRID_ABB"
+msgstr "Alkalmazásrács módosítása"
+
+msgid "IDS_HS_OPT_VIEW_ALL_PAGES_ABB"
+msgstr "Ö. old. látható"
+
+msgid "IDS_DS_BUTTON2_STYLER"
+msgstr "Stílus-\ntervező"
+
+msgid "IDS_HS_TPOP_MAXIMUM_NUMBER_OF_FAVOURITE_APPS_HPD_REACHED"
+msgstr "Elérte a kedvenc alkalmazások maximális számát (%d)."
+
index b5ed403..6ea95a3 100755 (executable)
@@ -385,6 +385,15 @@ msgstr "Բոլոր էջերը"
 msgid "IDS_JAVA_POP_BLANK"
 msgstr "Դատարկ"
 
+msgid "IDS_HS_OPT_SORT_ITEMS_ALPHABETICALLY_ABB"
+msgstr "Տարրերը տեսակավորել այբբ. կարգով"
+
+msgid "IDS_HS_HEADER_SORT_ITEMS_ALPHABETICALLY_ABB"
+msgstr "Տարրերը տեսակ. այբբ. կարգով"
+
+msgid "IDS_HS_POP_APP_ICONS_AND_FOLDERS_WILL_BE_SORTED_INTO_ALPHABETICAL_ORDER_ANY_CUSTOMISATIONS_YOU_HAVE_MADE_WILL_BE_DISCARDED"
+msgstr "Ծրագրի պատկերակներն ու պանակները տեսակավորվելու են այբբենական կարգով: Ձեր կատարած բոլոր ընտրակայումները կանտեսվեն:"
+
 msgid "IDS_HS_OPT_ADD_DYNAMIC_BOX"
 msgstr "Ավելացնել Dynamic Box"
 
@@ -451,3 +460,18 @@ msgstr "%s-ն ու դրան առնչվող բոլոր գործառական հն
 msgid "IDS_HS_TPOP_MAXIMUM_NUMBER_OF_APPLICATIONS_IN_FOLDER_HPD_REACHED"
 msgstr "Հասել է պանակում ծրագրերի առավելագույն քանակին (%d):"
 
+msgid "IDS_HS_OPT_CHANGE_APP_GRID_ABB"
+msgstr "Փոխել ծրագրի վանդակացանցը"
+
+msgid "IDS_HS_HEADER_CHANGE_APP_GRID_ABB"
+msgstr "Փոխել ծրագրի վանդակացանցը"
+
+msgid "IDS_HS_OPT_VIEW_ALL_PAGES_ABB"
+msgstr "Դիտ. բոլոր էջեր"
+
+msgid "IDS_DS_BUTTON2_STYLER"
+msgstr "Ոճ"
+
+msgid "IDS_HS_TPOP_MAXIMUM_NUMBER_OF_FAVOURITE_APPS_HPD_REACHED"
+msgstr "Հասել է սիրված ծրագրերի առավելագույն քանակին (%d):"
+
index 0c8cc93..93560dc 100755 (executable)
@@ -385,6 +385,15 @@ msgstr "Allar síður"
 msgid "IDS_JAVA_POP_BLANK"
 msgstr "Autt"
 
+msgid "IDS_HS_OPT_SORT_ITEMS_ALPHABETICALLY_ABB"
+msgstr "Raða atriðum í stafrófsröð"
+
+msgid "IDS_HS_HEADER_SORT_ITEMS_ALPHABETICALLY_ABB"
+msgstr "Raða atriðum í stafrófsröð"
+
+msgid "IDS_HS_POP_APP_ICONS_AND_FOLDERS_WILL_BE_SORTED_INTO_ALPHABETICAL_ORDER_ANY_CUSTOMISATIONS_YOU_HAVE_MADE_WILL_BE_DISCARDED"
+msgstr "Forritatáknum og möppum verður raðað í stafrófsröð. Öllum sérstillingum verður fleygt."
+
 msgid "IDS_HS_OPT_ADD_DYNAMIC_BOX"
 msgstr "Bæta við Dynamic Box"
 
@@ -451,3 +460,18 @@ msgstr "%s og allir tengdir eiginleikar verða gerðir óvirkir. Farðu í Still
 msgid "IDS_HS_TPOP_MAXIMUM_NUMBER_OF_APPLICATIONS_IN_FOLDER_HPD_REACHED"
 msgstr "Hámarksfjölda forrita í möppu (%d) hefur verið náð."
 
+msgid "IDS_HS_OPT_CHANGE_APP_GRID_ABB"
+msgstr "Breyta uppröðun forrita"
+
+msgid "IDS_HS_HEADER_CHANGE_APP_GRID_ABB"
+msgstr "Breyta uppröðun forrita"
+
+msgid "IDS_HS_OPT_VIEW_ALL_PAGES_ABB"
+msgstr "Allar síður"
+
+msgid "IDS_DS_BUTTON2_STYLER"
+msgstr "Stíll"
+
+msgid "IDS_HS_TPOP_MAXIMUM_NUMBER_OF_FAVOURITE_APPS_HPD_REACHED"
+msgstr "Hámarksfjölda uppáhaldsforrita (%d) náð."
+
index d59d4b1..24b8c2c 100755 (executable)
@@ -385,6 +385,15 @@ msgstr "Tutte le pagine"
 msgid "IDS_JAVA_POP_BLANK"
 msgstr "Vuoto"
 
+msgid "IDS_HS_OPT_SORT_ITEMS_ALPHABETICALLY_ABB"
+msgstr "Ordina alfabeticamente elementi"
+
+msgid "IDS_HS_HEADER_SORT_ITEMS_ALPHABETICALLY_ABB"
+msgstr "Ordina elem. alfabeticamente"
+
+msgid "IDS_HS_POP_APP_ICONS_AND_FOLDERS_WILL_BE_SORTED_INTO_ALPHABETICAL_ORDER_ANY_CUSTOMISATIONS_YOU_HAVE_MADE_WILL_BE_DISCARDED"
+msgstr "Le icone e le cartelle delle applicazioni verranno riordinate in ordine alfabetico. Le personalizzazioni applicate verranno eliminate."
+
 msgid "IDS_HS_OPT_ADD_DYNAMIC_BOX"
 msgstr "Aggiungi Dynamic Box"
 
@@ -451,3 +460,18 @@ msgstr "%s e tutte le funzionalità correlate verranno disattivate. Per abilitar
 msgid "IDS_HS_TPOP_MAXIMUM_NUMBER_OF_APPLICATIONS_IN_FOLDER_HPD_REACHED"
 msgstr "È stato raggiunto il numero massimo di applicazioni nella cartella (%d)."
 
+msgid "IDS_HS_OPT_CHANGE_APP_GRID_ABB"
+msgstr "Modifica griglia applicazioni"
+
+msgid "IDS_HS_HEADER_CHANGE_APP_GRID_ABB"
+msgstr "Modifica griglia app"
+
+msgid "IDS_HS_OPT_VIEW_ALL_PAGES_ABB"
+msgstr "Vedi tutte le pagine"
+
+msgid "IDS_DS_BUTTON2_STYLER"
+msgstr "Styler"
+
+msgid "IDS_HS_TPOP_MAXIMUM_NUMBER_OF_FAVOURITE_APPS_HPD_REACHED"
+msgstr "Il numero massimo di applicazioni preferite (%d) è stato raggiunto."
+
index 2f286cf..03571e2 100755 (executable)
@@ -385,6 +385,15 @@ msgstr "全てのページ"
 msgid "IDS_JAVA_POP_BLANK"
 msgstr "空白です。"
 
+msgid "IDS_HS_OPT_SORT_ITEMS_ALPHABETICALLY_ABB"
+msgstr "アルファベット順に並べ替え"
+
+msgid "IDS_HS_HEADER_SORT_ITEMS_ALPHABETICALLY_ABB"
+msgstr "アルファベット順に並べ替え"
+
+msgid "IDS_HS_POP_APP_ICONS_AND_FOLDERS_WILL_BE_SORTED_INTO_ALPHABETICAL_ORDER_ANY_CUSTOMISATIONS_YOU_HAVE_MADE_WILL_BE_DISCARDED"
+msgstr "アプリアイコンおよびフォルダをアルファベット順に並べ替えます。カスタマイズした並び順は破棄されます。"
+
 msgid "IDS_HS_OPT_ADD_DYNAMIC_BOX"
 msgstr "Dynamic Boxを追加"
 
@@ -404,7 +413,7 @@ msgid "IDS_HS_OPT_BY_NAME_HA_Z_ABB"
 msgstr "名前順(A~Z)"
 
 msgid "IDS_HS_POP_PS_WILL_BE_UNINSTALLED"
-msgstr "%sをアンインストールします。"
+msgstr "%sをアンインストールします。"
 
 msgid "IDS_HS_TPOP_UNABLE_TO_REARRANGE_ICONS_SORTED_BY_NAME_HA_Z"
 msgstr "名前順(A~Z)で表示しているアイコンを並べ替えることはできません。"
@@ -451,3 +460,18 @@ msgstr "%sと関連する全ての機能が無効になります。再度有効
 msgid "IDS_HS_TPOP_MAXIMUM_NUMBER_OF_APPLICATIONS_IN_FOLDER_HPD_REACHED"
 msgstr "フォルダ内のアプリケーションの最大件数(%d件)に達しました。"
 
+msgid "IDS_HS_OPT_CHANGE_APP_GRID_ABB"
+msgstr "アプリグリッドを変更"
+
+msgid "IDS_HS_HEADER_CHANGE_APP_GRID_ABB"
+msgstr "アプリグリッドを変更"
+
+msgid "IDS_HS_OPT_VIEW_ALL_PAGES_ABB"
+msgstr "全ページを表示"
+
+msgid "IDS_DS_BUTTON2_STYLER"
+msgstr "スタイル"
+
+msgid "IDS_HS_TPOP_MAXIMUM_NUMBER_OF_FAVOURITE_APPS_HPD_REACHED"
+msgstr "お気に入りのアプリの最大数(%d件)に達しました。"
+
index ac82594..7f13a41 100755 (executable)
@@ -385,6 +385,15 @@ msgstr "ყველა გვერდი"
 msgid "IDS_JAVA_POP_BLANK"
 msgstr "ცარიელი"
 
+msgid "IDS_HS_OPT_SORT_ITEMS_ALPHABETICALLY_ABB"
+msgstr "ელემენტების დალაგება ანბანით"
+
+msgid "IDS_HS_HEADER_SORT_ITEMS_ALPHABETICALLY_ABB"
+msgstr "ელემენტების დალაგება ანბანით"
+
+msgid "IDS_HS_POP_APP_ICONS_AND_FOLDERS_WILL_BE_SORTED_INTO_ALPHABETICAL_ORDER_ANY_CUSTOMISATIONS_YOU_HAVE_MADE_WILL_BE_DISCARDED"
+msgstr "აპლიკაციის ნიშნები და საქაღალდეები დალაგდება ანბანით. თქვენ მიერ შერჩეული ყველა პარამეტრი გაუქმდება."
+
 msgid "IDS_HS_OPT_ADD_DYNAMIC_BOX"
 msgstr "Dynamic Box-ის დამატება"
 
@@ -451,3 +460,18 @@ msgstr "%s და მასთან დაკავშირებული ყ
 msgid "IDS_HS_TPOP_MAXIMUM_NUMBER_OF_APPLICATIONS_IN_FOLDER_HPD_REACHED"
 msgstr "საქაღალდეში მიღწეულია აპლიკაციის მაქსიმალური რაოდენობა (%d)."
 
+msgid "IDS_HS_OPT_CHANGE_APP_GRID_ABB"
+msgstr "აპლიკაციის ბადის შეცვლა"
+
+msgid "IDS_HS_HEADER_CHANGE_APP_GRID_ABB"
+msgstr "აპლიკაციის ბადის შეცვლა"
+
+msgid "IDS_HS_OPT_VIEW_ALL_PAGES_ABB"
+msgstr "იხ.ყველა გვერდი"
+
+msgid "IDS_DS_BUTTON2_STYLER"
+msgstr "სტილი"
+
+msgid "IDS_HS_TPOP_MAXIMUM_NUMBER_OF_FAVOURITE_APPS_HPD_REACHED"
+msgstr "მიღწეულია შეტყობინების რჩეული აპლიკაციების მაქსიმალური რაოდენობა (%d)."
+
index 5c2f713..4bc945d 100755 (executable)
@@ -385,6 +385,15 @@ msgstr "Барлық беттер"
 msgid "IDS_JAVA_POP_BLANK"
 msgstr "Бос"
 
+msgid "IDS_HS_OPT_SORT_ITEMS_ALPHABETICALLY_ABB"
+msgstr "Элем-ді алфавит ретімен сұрыптау"
+
+msgid "IDS_HS_HEADER_SORT_ITEMS_ALPHABETICALLY_ABB"
+msgstr "Элем. алфавит реті. сұрыптау"
+
+msgid "IDS_HS_POP_APP_ICONS_AND_FOLDERS_WILL_BE_SORTED_INTO_ALPHABETICAL_ORDER_ANY_CUSTOMISATIONS_YOU_HAVE_MADE_WILL_BE_DISCARDED"
+msgstr "Қолданба белгішелері мен қалталар алфавит ретімен сұрыпталады. Жасалған кез келген реттеулер алынып тасталынады."
+
 msgid "IDS_HS_OPT_ADD_DYNAMIC_BOX"
 msgstr "Dynamic Box қосу"
 
@@ -451,3 +460,18 @@ msgstr "%s және оған қатысты барлық мүмкіндікте
 msgid "IDS_HS_TPOP_MAXIMUM_NUMBER_OF_APPLICATIONS_IN_FOLDER_HPD_REACHED"
 msgstr "Қалтадағы қолданбалардың ең көп саны (%d) шегіне жетті."
 
+msgid "IDS_HS_OPT_CHANGE_APP_GRID_ABB"
+msgstr "Қолданба торын өзгерту"
+
+msgid "IDS_HS_HEADER_CHANGE_APP_GRID_ABB"
+msgstr "Қолданба торын өзгерту"
+
+msgid "IDS_HS_OPT_VIEW_ALL_PAGES_ABB"
+msgstr "Беттерді көру"
+
+msgid "IDS_DS_BUTTON2_STYLER"
+msgstr "Стильдеуші"
+
+msgid "IDS_HS_TPOP_MAXIMUM_NUMBER_OF_FAVOURITE_APPS_HPD_REACHED"
+msgstr "Таңдаулы қолданбалардың ең көп саны (%d) шегіне жетті."
+
index af79420..40774e8 100755 (executable)
@@ -143,7 +143,7 @@ msgid "IDS_HS_BODY_THIS_WILL_DELETE_THE_FOLDER_AND_ALL_THE_ITEMS_IT_CONTAINS"
 msgstr "폴더 및 포함된 항목을 모두 삭제합니다."
 
 msgid "IDS_HS_BODY_UNABLE_TO_ADD_MORE_APPS_MAXIMUM_NUMBER_OF_APPS_REACHED"
-msgstr "ìµ\9cë\8c\80 ì\95 í\94\8c리ì¼\80ì\9d´ì\85\98 수에 도달하여 더 이상 추가할 수 없습니다."
+msgstr "ìµ\9cë\8c\80 ì\95± 수에 도달하여 더 이상 추가할 수 없습니다."
 
 msgid "IDS_HS_BODY_UNABLE_TO_LOAD_DATA_TAP_TO_RETRY"
 msgstr "데이터를 불러올 수 없습니다. 다시 시도하려면 누르세요."
@@ -218,7 +218,7 @@ msgid "IDS_HS_POP_THE_NEW_PAGE_WILL_CONSIST_OF_TWITTER_DYNAMIC_BOXES_MSG"
 msgstr "Twitter Dynamic Box로 새 페이지를 구성합니다. 다음 화면에서 새 페이지에 표시할 팔로우하고 있는 사람들의 타임라인을 최대 %d개까지 선택하세요."
 
 msgid "IDS_HS_POP_THIS_FOLDER_WILL_BE_DELETED_BUT_THE_APPLICATIONS_WITHIN_IT_WILL_REMAIN_AVAILABLE_ON_YOUR_HOME_SCREEN_DELETE_THIS_FOLDER_Q"
-msgstr "ì\9d´ í\8f´ë\8d\94를 ì\82­ì \9cí\95\98ë\8d\94ë\9d¼ë\8f\84 í\8f´ë\8d\94ì\97\90 í\8f¬í\95¨ë\90\9c ì\95 í\94\8c리ì¼\80ì\9d´ì\85\98은 홈 화면에서 사용할 수 있습니다. 폴더를 삭제할까요?"
+msgstr "ì\9d´ í\8f´ë\8d\94를 ì\82­ì \9cí\95\98ë\8d\94ë\9d¼ë\8f\84 í\8f´ë\8d\94ì\97\90 í\8f¬í\95¨ë\90\9c ì\95±은 홈 화면에서 사용할 수 있습니다. 폴더를 삭제할까요?"
 
 msgid "IDS_HS_TPOP_FAILED_TO_RELOAD_DEVICE_MEMORY_FULL"
 msgstr "디바이스 저장공간이 없어 다시 불러오지 못하였습니다."
@@ -371,7 +371,7 @@ msgid "IDS_HS_POP_1_ITEM_WILL_BE_HIDDEN"
 msgstr "항목 1개를 숨깁니다."
 
 msgid "IDS_HS_POP_UNABLE_TO_ADD_THIS_HOME_BOX_TO_THE_HOME_SCREEN_THERE_IS_NOT_ENOUGH_SPACE_ON_THE_HOME_SCREEN_MSG"
-msgstr "í\99\88 í\99\94ë©´ì\97\90 ê³µê°\84ì\9d´ ë¶\80족í\95\98ì\97¬ ì\9d´ Home Box를 í\99\88 í\99\94ë©´ì\97\90 ì¶\94ê°\80í\95  ì\88\98 ì\97\86ì\8aµë\8b\88ë\8b¤. ì\9d¼ë¶\80 Home Box를 ì \9cê±°한 후 다시 시도하세요."
+msgstr "í\99\88 í\99\94ë©´ì\97\90 ê³µê°\84ì\9d´ ë¶\80족í\95\98ì\97¬ ì\9d´ Home Box를 í\99\88 í\99\94ë©´ì\97\90 ì¶\94ê°\80í\95  ì\88\98 ì\97\86ì\8aµë\8b\88ë\8b¤. ì\9d¼ë¶\80 Home Box를 ì\82­ì \9c한 후 다시 시도하세요."
 
 msgid "IDS_MSG_HEADER_UNABLE_TO_ADD"
 msgstr "추가할 수 없음"
@@ -385,17 +385,26 @@ msgstr "전체 페이지"
 msgid "IDS_JAVA_POP_BLANK"
 msgstr "비어 있음"
 
+msgid "IDS_HS_OPT_SORT_ITEMS_ALPHABETICALLY_ABB"
+msgstr "가나다 순 정렬"
+
+msgid "IDS_HS_HEADER_SORT_ITEMS_ALPHABETICALLY_ABB"
+msgstr "가나다 순 정렬"
+
+msgid "IDS_HS_POP_APP_ICONS_AND_FOLDERS_WILL_BE_SORTED_INTO_ALPHABETICAL_ORDER_ANY_CUSTOMISATIONS_YOU_HAVE_MADE_WILL_BE_DISCARDED"
+msgstr "앱 아이콘 및 폴더는 가나다 순으로 정렬합니다. 이전에 배열한 순서는 저장되지 않습니다."
+
 msgid "IDS_HS_OPT_ADD_DYNAMIC_BOX"
 msgstr "Dynamic Box 추가"
 
 msgid "IDS_ST_BUTTON_REMOVE_ABB2"
-msgstr "ì \9cê±°"
+msgstr "ì\82­ì \9c"
 
 msgid "IDS_HS_HEADER_REMOVE_FOLDER_ABB"
-msgstr "í\8f´ë\8d\94 ì \9cê±°"
+msgstr "í\8f´ë\8d\94 ì\82­ì \9c"
 
 msgid "IDS_HS_BODY_FOLDER_WILL_BE_REMOVED_APPLICATIONS_IN_THIS_FOLDER_WILL_NOT_BE_UNINSTALLED"
-msgstr "í\8f´ë\8d\94를 ì \9cê±°í\95©ë\8b\88ë\8b¤. í\8f´ë\8d\94 ì\95\88ì\97\90 ì\9e\88ë\8a\94 ì\95 í\94\8c리ì¼\80ì\9d´ì\85\98은 삭제되지 않습니다."
+msgstr "í\8f´ë\8d\94를 ì\82­ì \9cí\95©ë\8b\88ë\8b¤. í\8f´ë\8d\94 ì\95\88ì\97\90 ì\9e\88ë\8a\94 ì\95±은 삭제되지 않습니다."
 
 msgid "IDS_HS_OPT_MANUALLY_ABB"
 msgstr "직접 정렬"
@@ -431,7 +440,7 @@ msgid "IDS_HS_HEADER_ADD_WIDGET"
 msgstr "위젯 추가"
 
 msgid "IDS_HS_POP_THERE_IS_NOT_ENOUGH_SPACE_ON_THE_HOME_SCREEN_REMOVE_SOME_WIDGETS_AND_TRY_AGAIN"
-msgstr "í\99\88 í\99\94ë©´ì\97\90 ê³µê°\84ì\9d´ ë¶\80족í\95©ë\8b\88ë\8b¤. ì\9d¼ë¶\80 ì\9c\84ì ¯ì\9d\84 ì \9cê±°한 후 다시 시도하세요."
+msgstr "í\99\88 í\99\94ë©´ì\97\90 ê³µê°\84ì\9d´ ë¶\80족í\95©ë\8b\88ë\8b¤. ì\9d¼ë¶\80 ì\9c\84ì ¯ì\9d\84 ì\82­ì \9c한 후 다시 시도하세요."
 
 msgid "IDS_HS_HEADER_EDIT"
 msgstr "편집"
@@ -446,8 +455,23 @@ msgid "IDS_HS_POP_APPLICATION_NOT_INSTALLED"
 msgstr "애플리케이션이 설치되지 않았습니다."
 
 msgid "IDS_HS_POP_PS_AND_ALL_THE_FEATURES_RELATED_TO_IT_WILL_BE_DISABLED_TO_ENABLE_IT_AGAIN_GO_TO_SETTINGS_APPLICATION_MANAGER"
-msgstr "%s 및 관련된 모든 기능을 해제합니다. 다시 실행하려면 [설정] > [애플리케이션 관리자]로 이동하세요."
+msgstr "%s 및 관련된 모든 기능을 해제합니다. 다시 실행하려면 [설정 > 애플리케이션 관리자]로 이동하세요."
 
 msgid "IDS_HS_TPOP_MAXIMUM_NUMBER_OF_APPLICATIONS_IN_FOLDER_HPD_REACHED"
-msgstr "폴더에는 애플리케이션 %d개까지 추가할 수 있습니다."
+msgstr "폴더에는 앱 %d개까지 추가할 수 있습니다."
+
+msgid "IDS_HS_OPT_CHANGE_APP_GRID_ABB"
+msgstr "앱 배열 변경"
+
+msgid "IDS_HS_HEADER_CHANGE_APP_GRID_ABB"
+msgstr "앱 배열 변경"
+
+msgid "IDS_HS_OPT_VIEW_ALL_PAGES_ABB"
+msgstr "모든 페이지 보기"
+
+msgid "IDS_DS_BUTTON2_STYLER"
+msgstr "스타일러"
+
+msgid "IDS_HS_TPOP_MAXIMUM_NUMBER_OF_FAVOURITE_APPS_HPD_REACHED"
+msgstr "자주 사용하는 앱은 %d개까지 추가할 수 있습니다."
 
index a52a41d..1d67964 100755 (executable)
@@ -385,6 +385,15 @@ msgstr "Visi puslapiai"
 msgid "IDS_JAVA_POP_BLANK"
 msgstr "Tuščia"
 
+msgid "IDS_HS_OPT_SORT_ITEMS_ALPHABETICALLY_ABB"
+msgstr "Rūšiuoti elementus pagal abėcėlę"
+
+msgid "IDS_HS_HEADER_SORT_ITEMS_ALPHABETICALLY_ABB"
+msgstr "Rūšiuoti elem. pagal abėcėlę"
+
+msgid "IDS_HS_POP_APP_ICONS_AND_FOLDERS_WILL_BE_SORTED_INTO_ALPHABETICAL_ORDER_ANY_CUSTOMISATIONS_YOU_HAVE_MADE_WILL_BE_DISCARDED"
+msgstr "Programų piktogramos ir aplankai bus surūšiuoti pagal abėcėlę. Visi atlikti tinkinimai bus panaikinti."
+
 msgid "IDS_HS_OPT_ADD_DYNAMIC_BOX"
 msgstr "Pridėti „Dynamic Box“"
 
@@ -451,3 +460,18 @@ msgstr "%s ir visos su ja susijusios funkcijos bus išjungtos. Norėdami ją įj
 msgid "IDS_HS_TPOP_MAXIMUM_NUMBER_OF_APPLICATIONS_IN_FOLDER_HPD_REACHED"
 msgstr "Pasiektas didžiausias programų skaičius aplanke (%d)."
 
+msgid "IDS_HS_OPT_CHANGE_APP_GRID_ABB"
+msgstr "Keisti programų tinklelį"
+
+msgid "IDS_HS_HEADER_CHANGE_APP_GRID_ABB"
+msgstr "Keisti programų tinklelį"
+
+msgid "IDS_HS_OPT_VIEW_ALL_PAGES_ABB"
+msgstr "Rod. visus psl."
+
+msgid "IDS_DS_BUTTON2_STYLER"
+msgstr "Stiliaus priemonė"
+
+msgid "IDS_HS_TPOP_MAXIMUM_NUMBER_OF_FAVOURITE_APPS_HPD_REACHED"
+msgstr "Pasiektas didžiausias mėgstamų programų skaičius (%d)."
+
index 8431d67..e6ba29d 100755 (executable)
@@ -385,6 +385,15 @@ msgstr "Visas lapas"
 msgid "IDS_JAVA_POP_BLANK"
 msgstr "Tukšs"
 
+msgid "IDS_HS_OPT_SORT_ITEMS_ALPHABETICALLY_ABB"
+msgstr "Kārtot objektus alfabētiski"
+
+msgid "IDS_HS_HEADER_SORT_ITEMS_ALPHABETICALLY_ABB"
+msgstr "Kārtot objektus alfabētiski"
+
+msgid "IDS_HS_POP_APP_ICONS_AND_FOLDERS_WILL_BE_SORTED_INTO_ALPHABETICAL_ORDER_ANY_CUSTOMISATIONS_YOU_HAVE_MADE_WILL_BE_DISCARDED"
+msgstr "Programmu ikonas un mapes tiks kārtotas alfabētiski. Visi jūsu veiktie pielāgojumi tiks atmesti."
+
 msgid "IDS_HS_OPT_ADD_DYNAMIC_BOX"
 msgstr "Pievienot Dynamic Box"
 
@@ -451,3 +460,18 @@ msgstr "%s un visas ar to saistītās funkcijas tiks deaktivizētas. Lai to akti
 msgid "IDS_HS_TPOP_MAXIMUM_NUMBER_OF_APPLICATIONS_IN_FOLDER_HPD_REACHED"
 msgstr "Sasniegts maksimālais programmu skaits mapē (%d)."
 
+msgid "IDS_HS_OPT_CHANGE_APP_GRID_ABB"
+msgstr "Mainīt programmas režģi"
+
+msgid "IDS_HS_HEADER_CHANGE_APP_GRID_ABB"
+msgstr "Mainīt programmas režģi"
+
+msgid "IDS_HS_OPT_VIEW_ALL_PAGES_ABB"
+msgstr "Sk. visas lapas"
+
+msgid "IDS_DS_BUTTON2_STYLER"
+msgstr "Styler"
+
+msgid "IDS_HS_TPOP_MAXIMUM_NUMBER_OF_FAVOURITE_APPS_HPD_REACHED"
+msgstr "Sasniegts maksimālais izlases programmu skaits (%d)."
+
index b577f86..15aa870 100755 (executable)
@@ -385,6 +385,15 @@ msgstr "Сите страници"
 msgid "IDS_JAVA_POP_BLANK"
 msgstr "Празно"
 
+msgid "IDS_HS_OPT_SORT_ITEMS_ALPHABETICALLY_ABB"
+msgstr "Сортирај ставки по азбучен ред"
+
+msgid "IDS_HS_HEADER_SORT_ITEMS_ALPHABETICALLY_ABB"
+msgstr "Сортирај ставки по азб. ред"
+
+msgid "IDS_HS_POP_APP_ICONS_AND_FOLDERS_WILL_BE_SORTED_INTO_ALPHABETICAL_ORDER_ANY_CUSTOMISATIONS_YOU_HAVE_MADE_WILL_BE_DISCARDED"
+msgstr "Иконите на апликациите и папките ќе се подредат по азбучен ред. Направените приспособувања ќе се отфрлат."
+
 msgid "IDS_HS_OPT_ADD_DYNAMIC_BOX"
 msgstr "Додај Dynamic Box"
 
@@ -451,3 +460,18 @@ msgstr "%s и сите други функции поврзани со него
 msgid "IDS_HS_TPOP_MAXIMUM_NUMBER_OF_APPLICATIONS_IN_FOLDER_HPD_REACHED"
 msgstr "Достигнат е максималниот број апликации (%d) во папка."
 
+msgid "IDS_HS_OPT_CHANGE_APP_GRID_ABB"
+msgstr "Промени мрежа на апликација"
+
+msgid "IDS_HS_HEADER_CHANGE_APP_GRID_ABB"
+msgstr "Промени мрежа на апликација"
+
+msgid "IDS_HS_OPT_VIEW_ALL_PAGES_ABB"
+msgstr "Види ги сите стр."
+
+msgid "IDS_DS_BUTTON2_STYLER"
+msgstr "Стилист"
+
+msgid "IDS_HS_TPOP_MAXIMUM_NUMBER_OF_FAVOURITE_APPS_HPD_REACHED"
+msgstr "Достигнат е максималниот број омилени апликации (%d)."
+
index 12c3cf8..43e39c1 100755 (executable)
@@ -26,7 +26,7 @@ msgid "IDS_MF_POP_ERR_FOLDER_NAME_EMPTY"
 msgstr "Angi mappenavn."
 
 msgid "IDS_PB_SK_CREATE_ABB"
-msgstr "Oppr."
+msgstr "Lag ny"
 
 msgid "IDS_ST_BODY_LOADING_ING"
 msgstr "Åpner..."
@@ -385,6 +385,15 @@ msgstr "Alle sider"
 msgid "IDS_JAVA_POP_BLANK"
 msgstr "Tom"
 
+msgid "IDS_HS_OPT_SORT_ITEMS_ALPHABETICALLY_ABB"
+msgstr "Sorter elementer alfabetisk"
+
+msgid "IDS_HS_HEADER_SORT_ITEMS_ALPHABETICALLY_ABB"
+msgstr "Sorter elementer alfabetisk"
+
+msgid "IDS_HS_POP_APP_ICONS_AND_FOLDERS_WILL_BE_SORTED_INTO_ALPHABETICAL_ORDER_ANY_CUSTOMISATIONS_YOU_HAVE_MADE_WILL_BE_DISCARDED"
+msgstr "Appikoner og mapper blir sortert i alfabetisk rekkefølge. Eventuelle tilpasninger du har gjort, blir forkastet."
+
 msgid "IDS_HS_OPT_ADD_DYNAMIC_BOX"
 msgstr "Legg til Dynamic Box"
 
@@ -451,3 +460,18 @@ msgstr "%s og alle relaterte funksjoner blir deaktivert. Du kan reaktivere appen
 msgid "IDS_HS_TPOP_MAXIMUM_NUMBER_OF_APPLICATIONS_IN_FOLDER_HPD_REACHED"
 msgstr "Maksimalt antall apper i mappe (%d) er nådd."
 
+msgid "IDS_HS_OPT_CHANGE_APP_GRID_ABB"
+msgstr "Endre apprutenett"
+
+msgid "IDS_HS_HEADER_CHANGE_APP_GRID_ABB"
+msgstr "Endre apprutenett"
+
+msgid "IDS_HS_OPT_VIEW_ALL_PAGES_ABB"
+msgstr "Vis alle sider"
+
+msgid "IDS_DS_BUTTON2_STYLER"
+msgstr "Stiler"
+
+msgid "IDS_HS_TPOP_MAXIMUM_NUMBER_OF_FAVOURITE_APPS_HPD_REACHED"
+msgstr "Maksimalt antall favorittapper (%d) er nådd."
+
index c9e5db4..57a0be6 100755 (executable)
@@ -1,11 +1,11 @@
 msgid "IDS_CAM_SK_CANCEL"
-msgstr "Annuleer"
+msgstr "Annuleren"
 
 msgid "IDS_CAM_SK_OK"
 msgstr "OK"
 
 msgid "IDS_COM_BODY_CREATE_FOLDER"
-msgstr "Nieuwe map"
+msgstr "Map maken"
 
 msgid "IDS_COM_POP_SHOW_A"
 msgstr "Tonen"
@@ -14,7 +14,7 @@ msgid "IDS_COM_SK_OPEN"
 msgstr "Openen"
 
 msgid "IDS_MB_SK_EDIT"
-msgstr "Bewerk"
+msgstr "Bewerken"
 
 msgid "IDS_MEMO_SK_ADD_ABB"
 msgstr "Toev."
@@ -32,7 +32,7 @@ msgid "IDS_ST_BODY_LOADING_ING"
 msgstr "Laden..."
 
 msgid "IDS_ST_HEADER_APPLICATIONS"
-msgstr "Applicaties"
+msgstr "Apps"
 
 msgid "IDS_ST_HEADER_MUSIC"
 msgstr "Muziek"
@@ -56,7 +56,7 @@ msgid "IDS_TPLATFORM_BODY_UNTICK_T_TTS"
 msgstr "Deselecteren"
 
 msgid "IDS_AT_BODY_UNINSTALL"
-msgstr "Verwijder"
+msgstr "Verwijderen"
 
 msgid "IDS_AT_HEADER_SELECT_APPS_TO_ADD_ABB2"
 msgstr "Select. extra apps"
@@ -296,7 +296,7 @@ msgid "IDS_COM_SK_OK"
 msgstr "OK"
 
 msgid "IDS_COM_SK_CANCEL"
-msgstr "Annuleer"
+msgstr "Annuleren"
 
 msgid "IDS_COM_SK_DONE"
 msgstr "Gereed"
@@ -385,6 +385,15 @@ msgstr "Alle pagina's"
 msgid "IDS_JAVA_POP_BLANK"
 msgstr "Leeg"
 
+msgid "IDS_HS_OPT_SORT_ITEMS_ALPHABETICALLY_ABB"
+msgstr "Items alfabetisch sorteren"
+
+msgid "IDS_HS_HEADER_SORT_ITEMS_ALPHABETICALLY_ABB"
+msgstr "Items alfabetisch sorteren"
+
+msgid "IDS_HS_POP_APP_ICONS_AND_FOLDERS_WILL_BE_SORTED_INTO_ALPHABETICAL_ORDER_ANY_CUSTOMISATIONS_YOU_HAVE_MADE_WILL_BE_DISCARDED"
+msgstr "App-pictogrammen en mappen worden in alfabetische volgorde gesorteerd. Eventuele aanpassingen worden verwijderd."
+
 msgid "IDS_HS_OPT_ADD_DYNAMIC_BOX"
 msgstr "Dynamic Box toevoegen"
 
@@ -451,3 +460,18 @@ msgstr "%s en alle functies die ermee samenhangen, worden uitgeschakeld. Als u d
 msgid "IDS_HS_TPOP_MAXIMUM_NUMBER_OF_APPLICATIONS_IN_FOLDER_HPD_REACHED"
 msgstr "Maximumaantal applicaties in map (%d) is bereikt."
 
+msgid "IDS_HS_OPT_CHANGE_APP_GRID_ABB"
+msgstr "App-raster wijzigen"
+
+msgid "IDS_HS_HEADER_CHANGE_APP_GRID_ABB"
+msgstr "App-raster wijzigen"
+
+msgid "IDS_HS_OPT_VIEW_ALL_PAGES_ABB"
+msgstr "Alle pag. tonen"
+
+msgid "IDS_DS_BUTTON2_STYLER"
+msgstr "Stijl"
+
+msgid "IDS_HS_TPOP_MAXIMUM_NUMBER_OF_FAVOURITE_APPS_HPD_REACHED"
+msgstr "Maximumaantal favoriete apps (%d) bereikt."
+
index f68e9b0..90e9a9b 100755 (executable)
@@ -287,7 +287,7 @@ msgid "IDS_ST_BODY_FONTSTYLE_ROSEMARY"
 msgstr "Rosemary"
 
 msgid "IDS_COM_BODY_CONTACTS"
-msgstr "Książka telefoniczna"
+msgstr "Kontakty"
 
 msgid "IDS_COM_POP_MAXIMUM_NUMBER_OF_CHARACTERS_REACHED"
 msgstr "Osiągnięto maksymalną liczbę znaków."
@@ -385,6 +385,15 @@ msgstr "Wszystkie strony"
 msgid "IDS_JAVA_POP_BLANK"
 msgstr "Pusty"
 
+msgid "IDS_HS_OPT_SORT_ITEMS_ALPHABETICALLY_ABB"
+msgstr "Sortuj elementy alfabetyczne"
+
+msgid "IDS_HS_HEADER_SORT_ITEMS_ALPHABETICALLY_ABB"
+msgstr "Sort. element. alfabetyczne"
+
+msgid "IDS_HS_POP_APP_ICONS_AND_FOLDERS_WILL_BE_SORTED_INTO_ALPHABETICAL_ORDER_ANY_CUSTOMISATIONS_YOU_HAVE_MADE_WILL_BE_DISCARDED"
+msgstr "Ikony i katalogi aplikacji zostaną posortowane w kolejności alfabetycznej. Wszystkie wykonane dostosowania zostaną odrzucone."
+
 msgid "IDS_HS_OPT_ADD_DYNAMIC_BOX"
 msgstr "Dodaj Dynamic Box"
 
@@ -451,3 +460,18 @@ msgstr "Aplikacje %s i wszystkie funkcje z nią związane zostaną wyłączone.
 msgid "IDS_HS_TPOP_MAXIMUM_NUMBER_OF_APPLICATIONS_IN_FOLDER_HPD_REACHED"
 msgstr "Osiągnięto maksymalną liczbę aplikacji w katalogu (%d)."
 
+msgid "IDS_HS_OPT_CHANGE_APP_GRID_ABB"
+msgstr "Zmień siatkę aplikacji"
+
+msgid "IDS_HS_HEADER_CHANGE_APP_GRID_ABB"
+msgstr "Zmiana siatki aplikacji"
+
+msgid "IDS_HS_OPT_VIEW_ALL_PAGES_ABB"
+msgstr "Wyświetl strony"
+
+msgid "IDS_DS_BUTTON2_STYLER"
+msgstr "Edytor\nstylu"
+
+msgid "IDS_HS_TPOP_MAXIMUM_NUMBER_OF_FAVOURITE_APPS_HPD_REACHED"
+msgstr "Osiągnięto maksymalną liczbę ulubionych aplikacji (%d)."
+
index 50f439a..f0ad2f0 100755 (executable)
@@ -58,12 +58,6 @@ msgstr "Desmarcar"
 msgid "IDS_AT_BODY_UNINSTALL"
 msgstr "Desinstalar"
 
-msgid "IDS_AT_BUTTON_CHANGE_VIEW"
-msgstr "Alt. exib."
-
-msgid "IDS_AT_HEADER_PD_SELECTED"
-msgstr "%d selecionado(s)"
-
 msgid "IDS_AT_HEADER_SELECT_APPS_TO_ADD_ABB2"
 msgstr "Sel. aplic. adic."
 
@@ -73,12 +67,6 @@ msgstr "Selec. aplic. p/ ocultar"
 msgid "IDS_AT_HEADER_SELECT_APPS_TO_SHOW_ABB"
 msgstr "Selec. aplic. p/ exibir"
 
-msgid "IDS_AT_OPT_ALPHABETICAL_GRID_ABB"
-msgstr "Grade alfabética"
-
-msgid "IDS_AT_OPT_CUSTOMISABLE_GRID_ABB"
-msgstr "Grade personalizável"
-
 msgid "IDS_AT_OPT_VIEW_AS"
 msgstr "Visualizar como"
 
@@ -107,7 +95,7 @@ msgid "IDS_HELP_BODY_DOUBLE_TAP_TO_OPEN_TTS"
 msgstr "Tocar duas vezes para abrir."
 
 msgid "IDS_HS_BODY_BUTTON_T_TTS"
-msgstr "Tecla"
+msgstr "Botão"
 
 msgid "IDS_HS_BODY_DELETE_OPT_TTS"
 msgstr "Excluir"
@@ -307,6 +295,12 @@ msgstr "Número máximo de caracteres atingido."
 msgid "IDS_COM_SK_OK"
 msgstr "OK"
 
+msgid "IDS_COM_SK_CANCEL"
+msgstr "Cancelar"
+
+msgid "IDS_COM_SK_DONE"
+msgstr "Concluir"
+
 msgid "IDS_CAM_BODY_SHOWING_PD_ITEMS_T_TTS"
 msgstr "Exibir %d itens"
 
@@ -343,12 +337,12 @@ msgstr "Selecionar"
 msgid "IDS_COM_BODY_INTERNET"
 msgstr "Internet"
 
+msgid "IDS_MEMO_HEADER_PD_SELECTED_ABB2"
+msgstr "%d selecionado(s)"
+
 msgid "IDS_ST_SK_NEXT"
 msgstr "Próximo"
 
-msgid "IDS_HS_OPT_MANAGE_APPLICATIONS_ABB"
-msgstr "Gerenciar aplicativos"
-
 msgid "IDS_HS_POP_PD_ITEMS_WILL_BE_HIDDEN"
 msgstr "%d itens serão ocultos."
 
@@ -400,3 +394,84 @@ msgstr "Organ. itens alfabeticamente"
 msgid "IDS_HS_POP_APP_ICONS_AND_FOLDERS_WILL_BE_SORTED_INTO_ALPHABETICAL_ORDER_ANY_CUSTOMISATIONS_YOU_HAVE_MADE_WILL_BE_DISCARDED"
 msgstr "Ícones e pastas de aplicativos serão organizados em ordem alfabética. Qualquer personalização feita será descartada."
 
+msgid "IDS_HS_OPT_ADD_DYNAMIC_BOX"
+msgstr "Adicionar Dynamic Box"
+
+msgid "IDS_ST_BUTTON_REMOVE_ABB2"
+msgstr "Remover"
+
+msgid "IDS_HS_HEADER_REMOVE_FOLDER_ABB"
+msgstr "Remover pasta"
+
+msgid "IDS_HS_BODY_FOLDER_WILL_BE_REMOVED_APPLICATIONS_IN_THIS_FOLDER_WILL_NOT_BE_UNINSTALLED"
+msgstr "A pasta será removida. Os aplicativos nesta pasta não serão removidos."
+
+msgid "IDS_HS_OPT_MANUALLY_ABB"
+msgstr "Manualmente"
+
+msgid "IDS_HS_OPT_BY_NAME_HA_Z_ABB"
+msgstr "Por nome (A-Z)"
+
+msgid "IDS_HS_POP_PS_WILL_BE_UNINSTALLED"
+msgstr "%s será desinstalado."
+
+msgid "IDS_HS_TPOP_UNABLE_TO_REARRANGE_ICONS_SORTED_BY_NAME_HA_Z"
+msgstr "Não é possível reorganizar os ícones organizados por nome (A-Z)."
+
+msgid "IDS_TPLATFORM_ACBUTTON_DONE_ABB"
+msgstr "CONCLUÍDO"
+
+msgid "IDS_TPLATFORM_ACBUTTON_CANCEL_ABB"
+msgstr "CANCELAR"
+
+msgid "IDS_HS_OPT_SORT_ITEMS"
+msgstr "Ordenar itens"
+
+msgid "IDS_HS_HEADER_SORT_ITEMS"
+msgstr "Ordenar itens"
+
+msgid "IDS_HS_BODY_WIDGETS_ABB"
+msgstr "Widgets"
+
+msgid "IDS_HS_HEADER_UNABLE_TO_ADD_WIDGET_ABB"
+msgstr "Impossível adicionar widget"
+
+msgid "IDS_HS_HEADER_ADD_WIDGET"
+msgstr "Adicionar widget"
+
+msgid "IDS_HS_POP_THERE_IS_NOT_ENOUGH_SPACE_ON_THE_HOME_SCREEN_REMOVE_SOME_WIDGETS_AND_TRY_AGAIN"
+msgstr "Não existe espaço suficiente na tela de início. Remova alguns widgets e tente novamente."
+
+msgid "IDS_HS_HEADER_EDIT"
+msgstr "Editar"
+
+msgid "IDS_HS_OPT_EDIT"
+msgstr "Editar"
+
+msgid "IDS_HS_BODY_THEMES_ABB"
+msgstr "Temas"
+
+msgid "IDS_HS_POP_APPLICATION_NOT_INSTALLED"
+msgstr "Aplicação não instalada."
+
+msgid "IDS_HS_POP_PS_AND_ALL_THE_FEATURES_RELATED_TO_IT_WILL_BE_DISABLED_TO_ENABLE_IT_AGAIN_GO_TO_SETTINGS_APPLICATION_MANAGER"
+msgstr "%s e todos os recursos relacionados à ele serão desativados. Para ativá-lo novamente, vá para Configurações > Gerenciador de aplicativos."
+
+msgid "IDS_HS_TPOP_MAXIMUM_NUMBER_OF_APPLICATIONS_IN_FOLDER_HPD_REACHED"
+msgstr "Número máximo de aplicativos na pasta (%d) atingido."
+
+msgid "IDS_HS_OPT_CHANGE_APP_GRID_ABB"
+msgstr "Alterar grade do aplicativo"
+
+msgid "IDS_HS_HEADER_CHANGE_APP_GRID_ABB"
+msgstr "Alterar grade do aplicativo"
+
+msgid "IDS_HS_OPT_VIEW_ALL_PAGES_ABB"
+msgstr "Vis. páginas"
+
+msgid "IDS_DS_BUTTON2_STYLER"
+msgstr "Estilo"
+
+msgid "IDS_HS_TPOP_MAXIMUM_NUMBER_OF_FAVOURITE_APPS_HPD_REACHED"
+msgstr "Número máximo de aplicativos favoritos (%d) atingido."
+
index b278bb5..34e6db5 100755 (executable)
@@ -385,6 +385,15 @@ msgstr "Todas as páginas"
 msgid "IDS_JAVA_POP_BLANK"
 msgstr "Em branco"
 
+msgid "IDS_HS_OPT_SORT_ITEMS_ALPHABETICALLY_ABB"
+msgstr "Ordenar itens alfabeticamente"
+
+msgid "IDS_HS_HEADER_SORT_ITEMS_ALPHABETICALLY_ABB"
+msgstr "Ordenar itens alfabeticamente"
+
+msgid "IDS_HS_POP_APP_ICONS_AND_FOLDERS_WILL_BE_SORTED_INTO_ALPHABETICAL_ORDER_ANY_CUSTOMISATIONS_YOU_HAVE_MADE_WILL_BE_DISCARDED"
+msgstr "Os ícones e pastas de aplicações serão organizados por ordem alfabética. Quaisquer personalizações que tenha feito serão eliminadas."
+
 msgid "IDS_HS_OPT_ADD_DYNAMIC_BOX"
 msgstr "Adicionar Dynamic Box"
 
@@ -451,3 +460,18 @@ msgstr "%s e todas as funções relacionadas serão desactivados. Para o reactiv
 msgid "IDS_HS_TPOP_MAXIMUM_NUMBER_OF_APPLICATIONS_IN_FOLDER_HPD_REACHED"
 msgstr "Número máximo de aplicações na pasta (%d) atingido."
 
+msgid "IDS_HS_OPT_CHANGE_APP_GRID_ABB"
+msgstr "Alterar grelha de aplicações"
+
+msgid "IDS_HS_HEADER_CHANGE_APP_GRID_ABB"
+msgstr "Alterar grelha de aplicações"
+
+msgid "IDS_HS_OPT_VIEW_ALL_PAGES_ABB"
+msgstr "Ver tds. págs."
+
+msgid "IDS_DS_BUTTON2_STYLER"
+msgstr "Estilista"
+
+msgid "IDS_HS_TPOP_MAXIMUM_NUMBER_OF_FAVOURITE_APPS_HPD_REACHED"
+msgstr "Número máximo de aplicações favoritas (%d) atingido."
+
index 0817de5..9c1fdfe 100755 (executable)
@@ -5,7 +5,7 @@ msgid "IDS_CAM_SK_OK"
 msgstr "OK"
 
 msgid "IDS_COM_BODY_CREATE_FOLDER"
-msgstr "Creare folder"
+msgstr "Creare director"
 
 msgid "IDS_COM_POP_SHOW_A"
 msgstr "Afişare"
@@ -385,6 +385,15 @@ msgstr "Toate paginile"
 msgid "IDS_JAVA_POP_BLANK"
 msgstr "Necompletat"
 
+msgid "IDS_HS_OPT_SORT_ITEMS_ALPHABETICALLY_ABB"
+msgstr "Sort. elem. în ordine alfabetică"
+
+msgid "IDS_HS_HEADER_SORT_ITEMS_ALPHABETICALLY_ABB"
+msgstr "Sort. elem. în ordine alfab."
+
+msgid "IDS_HS_POP_APP_ICONS_AND_FOLDERS_WILL_BE_SORTED_INTO_ALPHABETICAL_ORDER_ANY_CUSTOMISATIONS_YOU_HAVE_MADE_WILL_BE_DISCARDED"
+msgstr "Pictogramele şi folderele aplicaţiilor vor fi sortate în ordine alfabetică. Orice personalizare pe care aţi făcut-o va fi anulată."
+
 msgid "IDS_HS_OPT_ADD_DYNAMIC_BOX"
 msgstr "Adăugare Dynamic Box"
 
@@ -451,3 +460,18 @@ msgstr "Aplicaţia %s şi toate caracteristicile asociate vor fi dezactivate. Pe
 msgid "IDS_HS_TPOP_MAXIMUM_NUMBER_OF_APPLICATIONS_IN_FOLDER_HPD_REACHED"
 msgstr "A fost atins numărul maxim de aplicaţii în folder (%d)."
 
+msgid "IDS_HS_OPT_CHANGE_APP_GRID_ABB"
+msgstr "Schimbare grilă aplicaţii"
+
+msgid "IDS_HS_HEADER_CHANGE_APP_GRID_ABB"
+msgstr "Schimbare grilă aplicaţii"
+
+msgid "IDS_HS_OPT_VIEW_ALL_PAGES_ABB"
+msgstr "Viz. toate pag."
+
+msgid "IDS_DS_BUTTON2_STYLER"
+msgstr "Stilizare"
+
+msgid "IDS_HS_TPOP_MAXIMUM_NUMBER_OF_FAVOURITE_APPS_HPD_REACHED"
+msgstr "S-a atins numărul maxim de aplicaţii preferate (%d)."
+
index 82afe2b..0218a16 100755 (executable)
@@ -385,6 +385,15 @@ msgstr "Все страницы"
 msgid "IDS_JAVA_POP_BLANK"
 msgstr "Пусто"
 
+msgid "IDS_HS_OPT_SORT_ITEMS_ALPHABETICALLY_ABB"
+msgstr "Сортировать элементы по алфавиту"
+
+msgid "IDS_HS_HEADER_SORT_ITEMS_ALPHABETICALLY_ABB"
+msgstr "Сорт. элементы по алфавиту"
+
+msgid "IDS_HS_POP_APP_ICONS_AND_FOLDERS_WILL_BE_SORTED_INTO_ALPHABETICAL_ORDER_ANY_CUSTOMISATIONS_YOU_HAVE_MADE_WILL_BE_DISCARDED"
+msgstr "Значки и папки приложений будут сохранены в алфавитном порядке. Все выполненные вами настройки будут отменены."
+
 msgid "IDS_HS_OPT_ADD_DYNAMIC_BOX"
 msgstr "Добавить Dynamic Box"
 
@@ -451,3 +460,18 @@ msgstr "%s и все связанные возможности отключат
 msgid "IDS_HS_TPOP_MAXIMUM_NUMBER_OF_APPLICATIONS_IN_FOLDER_HPD_REACHED"
 msgstr "Достигнуто максимальное число приложений в папке (%d)."
 
+msgid "IDS_HS_OPT_CHANGE_APP_GRID_ABB"
+msgstr "Изменить сетку приложения"
+
+msgid "IDS_HS_HEADER_CHANGE_APP_GRID_ABB"
+msgstr "Изменение сетки приложения"
+
+msgid "IDS_HS_OPT_VIEW_ALL_PAGES_ABB"
+msgstr "Все страницы"
+
+msgid "IDS_DS_BUTTON2_STYLER"
+msgstr "Оформление"
+
+msgid "IDS_HS_TPOP_MAXIMUM_NUMBER_OF_FAVOURITE_APPS_HPD_REACHED"
+msgstr "Достигнуто максимальное число избранных приложений (%d)."
+
index ffdde0a..c20a33f 100755 (executable)
@@ -385,6 +385,15 @@ msgstr "Všetky stránky"
 msgid "IDS_JAVA_POP_BLANK"
 msgstr "Prázdne"
 
+msgid "IDS_HS_OPT_SORT_ITEMS_ALPHABETICALLY_ABB"
+msgstr "Zoradiť položky abecedne"
+
+msgid "IDS_HS_HEADER_SORT_ITEMS_ALPHABETICALLY_ABB"
+msgstr "Abecedné zoradenie položiek"
+
+msgid "IDS_HS_POP_APP_ICONS_AND_FOLDERS_WILL_BE_SORTED_INTO_ALPHABETICAL_ORDER_ANY_CUSTOMISATIONS_YOU_HAVE_MADE_WILL_BE_DISCARDED"
+msgstr "Ikony aplikácií a priečinky sa usporiadajú v abecednom poradí. Všetky prispôsobenia, ktoré ste vykonali, sa zahodia."
+
 msgid "IDS_HS_OPT_ADD_DYNAMIC_BOX"
 msgstr "Pridať Dynamic Box"
 
@@ -451,3 +460,18 @@ msgstr "%s a všetky funkcie súvisiace s ňou sa vypnú. Ak ju chcete znova zap
 msgid "IDS_HS_TPOP_MAXIMUM_NUMBER_OF_APPLICATIONS_IN_FOLDER_HPD_REACHED"
 msgstr "Dosiahol sa maximálny počet aplikácií v priečinku (%d)."
 
+msgid "IDS_HS_OPT_CHANGE_APP_GRID_ABB"
+msgstr "Zmeniť mriežku aplikácií"
+
+msgid "IDS_HS_HEADER_CHANGE_APP_GRID_ABB"
+msgstr "Zmena mriežky aplikácií"
+
+msgid "IDS_HS_OPT_VIEW_ALL_PAGES_ABB"
+msgstr "Zobr. vš. str."
+
+msgid "IDS_DS_BUTTON2_STYLER"
+msgstr "Štýly"
+
+msgid "IDS_HS_TPOP_MAXIMUM_NUMBER_OF_FAVOURITE_APPS_HPD_REACHED"
+msgstr "Dosiahol sa maximálny počet obľúbených aplikácií (%d)."
+
index 898bc9d..27bfcb1 100755 (executable)
@@ -385,6 +385,15 @@ msgstr "Vse strani"
 msgid "IDS_JAVA_POP_BLANK"
 msgstr "Prazno"
 
+msgid "IDS_HS_OPT_SORT_ITEMS_ALPHABETICALLY_ABB"
+msgstr "Razvrstitev elementov po abecedi"
+
+msgid "IDS_HS_HEADER_SORT_ITEMS_ALPHABETICALLY_ABB"
+msgstr "Razvrstitev elem. po abecedi"
+
+msgid "IDS_HS_POP_APP_ICONS_AND_FOLDERS_WILL_BE_SORTED_INTO_ALPHABETICAL_ORDER_ANY_CUSTOMISATIONS_YOU_HAVE_MADE_WILL_BE_DISCARDED"
+msgstr "Ikone in mape aplikacije bodo razvrščene po abecednem vrstnem redu. Vse prilagoditve, ki ste jih napravili, bodo zavržene."
+
 msgid "IDS_HS_OPT_ADD_DYNAMIC_BOX"
 msgstr "Dodaj Dynamic Box"
 
@@ -451,3 +460,18 @@ msgstr "Aplikacija %s in vse z njo povezane funkcije bodo onemogočene. Če jo 
 msgid "IDS_HS_TPOP_MAXIMUM_NUMBER_OF_APPLICATIONS_IN_FOLDER_HPD_REACHED"
 msgstr "Doseženo je največje dovoljeno število aplikacij v mapi (%d)."
 
+msgid "IDS_HS_OPT_CHANGE_APP_GRID_ABB"
+msgstr "Spremeni mrežo aplikacij"
+
+msgid "IDS_HS_HEADER_CHANGE_APP_GRID_ABB"
+msgstr "Spremenite mrežo aplikacij"
+
+msgid "IDS_HS_OPT_VIEW_ALL_PAGES_ABB"
+msgstr "Ogled vseh str."
+
+msgid "IDS_DS_BUTTON2_STYLER"
+msgstr "Ustvar-\njalec"
+
+msgid "IDS_HS_TPOP_MAXIMUM_NUMBER_OF_FAVOURITE_APPS_HPD_REACHED"
+msgstr "Doseženo je največje število priljubljenih aplikacij (%d)."
+
index 2849cdb..312765d 100755 (executable)
@@ -385,6 +385,15 @@ msgstr "Sve strane"
 msgid "IDS_JAVA_POP_BLANK"
 msgstr "Prazno"
 
+msgid "IDS_HS_OPT_SORT_ITEMS_ALPHABETICALLY_ABB"
+msgstr "Sortiraj stavke abecedno"
+
+msgid "IDS_HS_HEADER_SORT_ITEMS_ALPHABETICALLY_ABB"
+msgstr "Sortiraj stavke abecedno"
+
+msgid "IDS_HS_POP_APP_ICONS_AND_FOLDERS_WILL_BE_SORTED_INTO_ALPHABETICAL_ORDER_ANY_CUSTOMISATIONS_YOU_HAVE_MADE_WILL_BE_DISCARDED"
+msgstr "Ikone aplikacija i folderi će biti sortirani prema abecednom redosledu. Sva uneta prilagođavanja će biti odbačena."
+
 msgid "IDS_HS_OPT_ADD_DYNAMIC_BOX"
 msgstr "Dodaj Dynamic Box"
 
@@ -451,3 +460,18 @@ msgstr "%s i sve druge funkcije s tim u vezi će biti onemogućene. Da bi ih pon
 msgid "IDS_HS_TPOP_MAXIMUM_NUMBER_OF_APPLICATIONS_IN_FOLDER_HPD_REACHED"
 msgstr "Dostignut je maksimalan broj aplikacija u folderu (%d)."
 
+msgid "IDS_HS_OPT_CHANGE_APP_GRID_ABB"
+msgstr "Promena mreže aplikacije"
+
+msgid "IDS_HS_HEADER_CHANGE_APP_GRID_ABB"
+msgstr "Promena mreže aplikacije"
+
+msgid "IDS_HS_OPT_VIEW_ALL_PAGES_ABB"
+msgstr "Prik. sve str."
+
+msgid "IDS_DS_BUTTON2_STYLER"
+msgstr "Uređivač"
+
+msgid "IDS_HS_TPOP_MAXIMUM_NUMBER_OF_FAVOURITE_APPS_HPD_REACHED"
+msgstr "Dostignut je maksimalan broj omiljenih aplikacija (%d)."
+
index b21c867..a02c397 100755 (executable)
@@ -385,6 +385,15 @@ msgstr "Alla sidor"
 msgid "IDS_JAVA_POP_BLANK"
 msgstr "Tom"
 
+msgid "IDS_HS_OPT_SORT_ITEMS_ALPHABETICALLY_ABB"
+msgstr "Sortera objekt i bokstavsordning"
+
+msgid "IDS_HS_HEADER_SORT_ITEMS_ALPHABETICALLY_ABB"
+msgstr "Sortera obj. i bokstavsordn."
+
+msgid "IDS_HS_POP_APP_ICONS_AND_FOLDERS_WILL_BE_SORTED_INTO_ALPHABETICAL_ORDER_ANY_CUSTOMISATIONS_YOU_HAVE_MADE_WILL_BE_DISCARDED"
+msgstr "Programgenvägar och mappar sorteras i bokstavsordning. Eventuella anpassningar som du har gjort kommer att raderas."
+
 msgid "IDS_HS_OPT_ADD_DYNAMIC_BOX"
 msgstr "Lägg till Dynamic Box"
 
@@ -451,3 +460,18 @@ msgstr "%s och alla relaterade funktioner kommer att inaktiveras. Aktivera det i
 msgid "IDS_HS_TPOP_MAXIMUM_NUMBER_OF_APPLICATIONS_IN_FOLDER_HPD_REACHED"
 msgstr "Max antal tillåtna program i mappen (%d) har uppnåtts."
 
+msgid "IDS_HS_OPT_CHANGE_APP_GRID_ABB"
+msgstr "Ändra programrutnät"
+
+msgid "IDS_HS_HEADER_CHANGE_APP_GRID_ABB"
+msgstr "Ändra programrutnät"
+
+msgid "IDS_HS_OPT_VIEW_ALL_PAGES_ABB"
+msgstr "Visa alla sidor"
+
+msgid "IDS_DS_BUTTON2_STYLER"
+msgstr "Designer"
+
+msgid "IDS_HS_TPOP_MAXIMUM_NUMBER_OF_FAVOURITE_APPS_HPD_REACHED"
+msgstr "Det högsta antalet favoritprogram (%d) har uppnåtts."
+
index c5c92d6..0bf3b18 100755 (executable)
@@ -71,7 +71,7 @@ msgid "IDS_AT_OPT_VIEW_AS"
 msgstr "Farklı görüntüle"
 
 msgid "IDS_AT_POP_TO_REARRANGE_PAGES_YOU_NEED_TO_CHANGE_THE_VIEW_TYPE_TO_A_CUSTOMISABLE_GRID"
-msgstr "Sayfaları yeniden düzenlemek için özelleştirilebilir kılavuzun görünüm tipini değiştirmeniz gerekir."
+msgstr "Sayfaları yeniden düzenlemek için özelleştirilebilir matrisin görünüm tipini değiştirmeniz gerekir."
 
 msgid "IDS_AT_POP_UNINSTALL_PS_Q"
 msgstr "%s kaldırılsın mı?"
@@ -385,6 +385,15 @@ msgstr "Tüm sayfalar"
 msgid "IDS_JAVA_POP_BLANK"
 msgstr "Boş"
 
+msgid "IDS_HS_OPT_SORT_ITEMS_ALPHABETICALLY_ABB"
+msgstr "Öğeleri alfabetik olarak sırala"
+
+msgid "IDS_HS_HEADER_SORT_ITEMS_ALPHABETICALLY_ABB"
+msgstr "Öğeleri alfabetk olrk sırala"
+
+msgid "IDS_HS_POP_APP_ICONS_AND_FOLDERS_WILL_BE_SORTED_INTO_ALPHABETICAL_ORDER_ANY_CUSTOMISATIONS_YOU_HAVE_MADE_WILL_BE_DISCARDED"
+msgstr "Uygulama simgeleri ve klasörleri alfabetik olarak sıralanacak. Yaptığınız tüm özelleştirmeler silinecek."
+
 msgid "IDS_HS_OPT_ADD_DYNAMIC_BOX"
 msgstr "Dynamic Box ekle"
 
@@ -451,3 +460,18 @@ msgstr "%s ve tüm ilgili özellikleri devre dışı bırakılacak. Tekrar etkin
 msgid "IDS_HS_TPOP_MAXIMUM_NUMBER_OF_APPLICATIONS_IN_FOLDER_HPD_REACHED"
 msgstr "Klasörde maksimum uygulama sayısına (%d) ulaşıldı."
 
+msgid "IDS_HS_OPT_CHANGE_APP_GRID_ABB"
+msgstr "Uygulama matrisini değiştir"
+
+msgid "IDS_HS_HEADER_CHANGE_APP_GRID_ABB"
+msgstr "Uygulama matrisini değiştir"
+
+msgid "IDS_HS_OPT_VIEW_ALL_PAGES_ABB"
+msgstr "Tüm syflr göst"
+
+msgid "IDS_DS_BUTTON2_STYLER"
+msgstr "Stilist"
+
+msgid "IDS_HS_TPOP_MAXIMUM_NUMBER_OF_FAVOURITE_APPS_HPD_REACHED"
+msgstr "Maksimum favori uygulama sayısına (%d) ulaşıldı."
+
index 29d63d8..0bc269a 100755 (executable)
@@ -385,6 +385,15 @@ msgstr "Всі сторінки"
 msgid "IDS_JAVA_POP_BLANK"
 msgstr "Пустий"
 
+msgid "IDS_HS_OPT_SORT_ITEMS_ALPHABETICALLY_ABB"
+msgstr "Сортув. елементи за алфавітом"
+
+msgid "IDS_HS_HEADER_SORT_ITEMS_ALPHABETICALLY_ABB"
+msgstr "Сортування елементів за алф."
+
+msgid "IDS_HS_POP_APP_ICONS_AND_FOLDERS_WILL_BE_SORTED_INTO_ALPHABETICAL_ORDER_ANY_CUSTOMISATIONS_YOU_HAVE_MADE_WILL_BE_DISCARDED"
+msgstr "Значки програм та папки будуть упорядковані в алфавітному порядку. Усі ваші налаштування буде скасовано."
+
 msgid "IDS_HS_OPT_ADD_DYNAMIC_BOX"
 msgstr "Додати Dynamic Box"
 
@@ -451,3 +460,18 @@ msgstr "%s і всі пов'язані з нею функції буде вим
 msgid "IDS_HS_TPOP_MAXIMUM_NUMBER_OF_APPLICATIONS_IN_FOLDER_HPD_REACHED"
 msgstr "Досягнуто максимальної кількості програм у папці: %d."
 
+msgid "IDS_HS_OPT_CHANGE_APP_GRID_ABB"
+msgstr "Змінити сітку програми"
+
+msgid "IDS_HS_HEADER_CHANGE_APP_GRID_ABB"
+msgstr "Змінити сітку програми"
+
+msgid "IDS_HS_OPT_VIEW_ALL_PAGES_ABB"
+msgstr "Перег.усі стор."
+
+msgid "IDS_DS_BUTTON2_STYLER"
+msgstr "Оформлення"
+
+msgid "IDS_HS_TPOP_MAXIMUM_NUMBER_OF_FAVOURITE_APPS_HPD_REACHED"
+msgstr "Досягнуто максимальної кількості улюблених програм (%d)."
+
index b7f3d12..6f565b5 100755 (executable)
@@ -269,7 +269,7 @@ msgid "IDS_TPLATFORM_BODY_NOT_SELECTED_T_TTS"
 msgstr "Tanlanmagan"
 
 msgid "IDS_TPLATFORM_BODY_RADIO_BUTTON_T_TTS"
-msgstr "Radio button"
+msgstr "Radio tugma"
 
 msgid "IDS_TPLATFORM_BODY_SELECTED_T_TTS"
 msgstr "Selected"
@@ -385,6 +385,15 @@ msgstr "Barcha sahifalar"
 msgid "IDS_JAVA_POP_BLANK"
 msgstr "Bo‘sh"
 
+msgid "IDS_HS_OPT_SORT_ITEMS_ALPHABETICALLY_ABB"
+msgstr "Alifbo tartibida saralash"
+
+msgid "IDS_HS_HEADER_SORT_ITEMS_ALPHABETICALLY_ABB"
+msgstr "Alifbo tartibida saralash"
+
+msgid "IDS_HS_POP_APP_ICONS_AND_FOLDERS_WILL_BE_SORTED_INTO_ALPHABETICAL_ORDER_ANY_CUSTOMISATIONS_YOU_HAVE_MADE_WILL_BE_DISCARDED"
+msgstr "Ilova ikonacha va jildlari alifbo tartibida saralanadi. Siz kiritgan barcha o‘zgarishlar tashlab yuboriladi."
+
 msgid "IDS_HS_OPT_ADD_DYNAMIC_BOX"
 msgstr "Dynamic Box qo‘shish"
 
@@ -451,3 +460,18 @@ msgstr "%s va unga tegishli barcha funksiyalar o‘chiriladi. Uni yoqish uchun P
 msgid "IDS_HS_TPOP_MAXIMUM_NUMBER_OF_APPLICATIONS_IN_FOLDER_HPD_REACHED"
 msgstr "Jilddagi ilovalar soni maksimal miqdorga (%d) yetdi."
 
+msgid "IDS_HS_OPT_CHANGE_APP_GRID_ABB"
+msgstr "Ilova to‘rini o‘zgartirish"
+
+msgid "IDS_HS_HEADER_CHANGE_APP_GRID_ABB"
+msgstr "Ilova to‘rini o‘zgartirish"
+
+msgid "IDS_HS_OPT_VIEW_ALL_PAGES_ABB"
+msgstr "Bari shf. ko‘r"
+
+msgid "IDS_DS_BUTTON2_STYLER"
+msgstr "Uslubchi"
+
+msgid "IDS_HS_TPOP_MAXIMUM_NUMBER_OF_FAVOURITE_APPS_HPD_REACHED"
+msgstr "Tanlangan ilovalar soni maksimal miqdorga (%d) yetdi."
+
index f9ffc42..6025bdb 100755 (executable)
@@ -74,7 +74,7 @@ msgid "IDS_AT_POP_TO_REARRANGE_PAGES_YOU_NEED_TO_CHANGE_THE_VIEW_TYPE_TO_A_CUSTO
 msgstr "若要重新排列页面,您需要将视图类型更改为可自定义网格。"
 
 msgid "IDS_AT_POP_UNINSTALL_PS_Q"
-msgstr "是否卸载 %s?"
+msgstr "是否卸载%s?"
 
 msgid "IDS_AT_TAB4_MINI_APPS"
 msgstr "迷你应用程序"
@@ -116,16 +116,16 @@ msgid "IDS_HS_BODY_FAVOURITE_APPS_TTS"
 msgstr "常用应用程序"
 
 msgid "IDS_HS_BODY_HOME_SCREEN_WILL_BE_FORMED_WITH_UP_TO_PD_ITEMS_SELECTED_IN_THE_NEXT_SCREEN"
-msgstr "主å±\8få°\86ç\94±å\9c¨ä¸\8bä¸\80å±\8få¹\95中é\80\89中ç\9a\84å¤\9aè¾¾ %d ä¸ªé¡¹ç\9b®æ\9e\84æ\88\90"
+msgstr "主å±\8få¹\95å°\86ç\94±å\9c¨ä¸\8bä¸\80å±\8få¹\95中é\80\89中ç\9a\84æ\9c\80å¤\9a %d ä¸ªé¡¹ç\9b®æ\9e\84æ\88\90ã\80\82"
 
 msgid "IDS_HS_BODY_IN_FAVOURITE_APPLICATIONS_TTS"
 msgstr "在收藏应用程序中"
 
 msgid "IDS_HS_BODY_MOVE_INTO_PS_FOLDER_TTS"
-msgstr "移至 %s 文件夹。"
+msgstr "移至%s文件夹。"
 
 msgid "IDS_HS_BODY_MOVING_PS_M_PROGRESS_TTS"
-msgstr "移动中的 %s"
+msgstr "移动中的%s"
 
 msgid "IDS_HS_BODY_NO_CONTENT"
 msgstr "无内容"
@@ -149,7 +149,7 @@ msgid "IDS_HS_BODY_UNABLE_TO_LOAD_DATA_TAP_TO_RETRY"
 msgstr "无法载入数据。轻敲以重试。"
 
 msgid "IDS_HS_BODY_WALLPAPERS_ABB"
-msgstr "å¢\99纸"
+msgstr "å£\81纸"
 
 msgid "IDS_HS_BUTTON_APPS"
 msgstr "应用程序"
@@ -164,7 +164,7 @@ msgid "IDS_HS_BUTTON_HELP"
 msgstr "帮助"
 
 msgid "IDS_HS_BUTTON_HOME_ABB"
-msgstr "主界面"
+msgstr "主屏幕"
 
 msgid "IDS_HS_BUTTON_MAGAZINE_ABB"
 msgstr "杂志"
@@ -194,16 +194,16 @@ msgid "IDS_HS_OPT_ADD_TEXT_BOX_ABB"
 msgstr "添加文本框"
 
 msgid "IDS_HS_OPT_CHANGE_WALLPAPER_ABB"
-msgstr "æ\9b´æ\94¹å¢\99纸"
+msgstr "æ\9b´æ\94¹å£\81纸"
 
 msgid "IDS_HS_OPT_CREATE_FOLDER_OPT_TTS"
-msgstr "建文件夹"
+msgstr "建文件夹"
 
 msgid "IDS_HS_OPT_DELETE_FOLDER_TTS"
 msgstr "删除文件夹"
 
 msgid "IDS_HS_OPT_DOWNLOADED_APPS"
-msgstr "已下载应用程序"
+msgstr "已下载应用程序"
 
 msgid "IDS_HS_OPT_EXTRACT_APPS_AND_DELETE_FOLDER_ABB"
 msgstr "提取应用程序并删除文件夹"
@@ -212,10 +212,10 @@ msgid "IDS_HS_POP_DISABLE_THIS_APPLICATION_Q"
 msgstr "是否禁用该应用程序?"
 
 msgid "IDS_HS_POP_THE_NEW_PAGE_WILL_CONSIST_OF_THE_S_PLANNER_TASKS_AND_S_MEMO_DYNAMIC_BOXES"
-msgstr "新页面将包含 S 日历、任务和 S 备忘录动态窗口"
+msgstr "新页面将包含 S 日历、任务和 S 备忘录动态窗口"
 
 msgid "IDS_HS_POP_THE_NEW_PAGE_WILL_CONSIST_OF_TWITTER_DYNAMIC_BOXES_MSG"
-msgstr "新页面将包含 Twitter 动态窗口。在下一个屏幕上,选择多达 %d 个您正在关注的人的时间轴以在新页面上显示。"
+msgstr "将由新页面构成 Twitter 动态窗口。请在下一个屏幕上选择要在新页面上显示的最多 %d 个您正在关注的人的时间轴。"
 
 msgid "IDS_HS_POP_THIS_FOLDER_WILL_BE_DELETED_BUT_THE_APPLICATIONS_WITHIN_IT_WILL_REMAIN_AVAILABLE_ON_YOUR_HOME_SCREEN_DELETE_THIS_FOLDER_Q"
 msgstr "该文件夹将被删除,但其内的应用程序将在您的主屏幕上保持可用。是否删除该文件夹?"
@@ -227,7 +227,7 @@ msgid "IDS_HS_TPOP_FONT_NOT_SUPPORTED_AT_THIS_SIZE"
 msgstr "不支持此大小的字体"
 
 msgid "IDS_HS_TPOP_UNABLE_TO_ADD_EXTRA_LINE_DUE_TO_SPACE_RESTRICTION_ABB"
-msgstr "由于空间限制,无法添加额外的行"
+msgstr "由于空间限制,无法添加其他行。"
 
 msgid "IDS_SCR_BODY_1_UNREAD_ITEM"
 msgstr "1 个未读项目"
@@ -254,7 +254,7 @@ msgid "IDS_ST_BODY_TEXT_IN_BODY_OF_POP_UP_T_TALKBACK"
 msgstr "提示窗口正文文本"
 
 msgid "IDS_ST_HEADER_HOME_SCREEN"
-msgstr "Home screen"
+msgstr "主屏幕"
 
 msgid "IDS_TTS_BODY_PAGE_MOVED_TO_P1SD_OF_P2SD"
 msgstr "页面已移动至 %2$d 之 %1$d。"
@@ -338,7 +338,7 @@ msgid "IDS_COM_BODY_INTERNET"
 msgstr "互联网"
 
 msgid "IDS_MEMO_HEADER_PD_SELECTED_ABB2"
-msgstr "%d 已选中"
+msgstr "已选择 %d"
 
 msgid "IDS_ST_SK_NEXT"
 msgstr "下一步"
@@ -365,7 +365,7 @@ msgid "IDS_HS_OPT_SHOW_DISABLED_APPLICATIONS_ABB"
 msgstr "显示已禁用的应用程序"
 
 msgid "IDS_HS_POP_PS_CANNOT_BE_UNINSTALLED_IT_WILL_BE_DISABLED_INSTEAD"
-msgstr "%s 无法卸载。将改为禁用。"
+msgstr "%s无法卸载。将改为禁用。"
 
 msgid "IDS_HS_POP_1_ITEM_WILL_BE_HIDDEN"
 msgstr "将隐藏 1 个项目。"
@@ -377,7 +377,7 @@ msgid "IDS_MSG_HEADER_UNABLE_TO_ADD"
 msgstr "无法添加"
 
 msgid "IDS_HS_OPT_HOME_BOXES"
-msgstr "主框"
+msgstr "主屏幕方框"
 
 msgid "IDS_HS_OPT_ALL_PAGES"
 msgstr "全部页面"
@@ -385,6 +385,15 @@ msgstr "全部页面"
 msgid "IDS_JAVA_POP_BLANK"
 msgstr "无内容"
 
+msgid "IDS_HS_OPT_SORT_ITEMS_ALPHABETICALLY_ABB"
+msgstr "按字母顺序排列"
+
+msgid "IDS_HS_HEADER_SORT_ITEMS_ALPHABETICALLY_ABB"
+msgstr "按字母顺序排列"
+
+msgid "IDS_HS_POP_APP_ICONS_AND_FOLDERS_WILL_BE_SORTED_INTO_ALPHABETICAL_ORDER_ANY_CUSTOMISATIONS_YOU_HAVE_MADE_WILL_BE_DISCARDED"
+msgstr "将按字母顺序排列应用程序图标和文件夹。将放弃您做的所有自定义设置。"
+
 msgid "IDS_HS_OPT_ADD_DYNAMIC_BOX"
 msgstr "添加 Dynamic Box"
 
@@ -446,8 +455,23 @@ msgid "IDS_HS_POP_APPLICATION_NOT_INSTALLED"
 msgstr "未安装应用程序。"
 
 msgid "IDS_HS_POP_PS_AND_ALL_THE_FEATURES_RELATED_TO_IT_WILL_BE_DISABLED_TO_ENABLE_IT_AGAIN_GO_TO_SETTINGS_APPLICATION_MANAGER"
-msgstr "将停用 %s 及所有相关功能。若要重新启用,请前往设定 > 应用程序管理器。"
+msgstr "将停用%s及所有相关功能。若要重新启用,请进入【设置】 > 【应用程序管理器】。"
 
 msgid "IDS_HS_TPOP_MAXIMUM_NUMBER_OF_APPLICATIONS_IN_FOLDER_HPD_REACHED"
 msgstr "已达到文件夹中的最大应用程序数 (%d)"
 
+msgid "IDS_HS_OPT_CHANGE_APP_GRID_ABB"
+msgstr "更改应用程序网格"
+
+msgid "IDS_HS_HEADER_CHANGE_APP_GRID_ABB"
+msgstr "更改应用程序网格"
+
+msgid "IDS_HS_OPT_VIEW_ALL_PAGES_ABB"
+msgstr "查看所有页面"
+
+msgid "IDS_DS_BUTTON2_STYLER"
+msgstr "风格设计"
+
+msgid "IDS_HS_TPOP_MAXIMUM_NUMBER_OF_FAVOURITE_APPS_HPD_REACHED"
+msgstr "已达到最大收藏应用程序数 (%d)"
+
index e426519..a754416 100755 (executable)
@@ -74,7 +74,7 @@ msgid "IDS_AT_POP_TO_REARRANGE_PAGES_YOU_NEED_TO_CHANGE_THE_VIEW_TYPE_TO_A_CUSTO
 msgstr "若要重新安排頁面,您需要將檢視類型變更為可自訂網格。"
 
 msgid "IDS_AT_POP_UNINSTALL_PS_Q"
-msgstr "解除安裝 %s 嗎?"
+msgstr "解除安裝%s嗎?"
 
 msgid "IDS_AT_TAB4_MINI_APPS"
 msgstr "迷你應用程式"
@@ -122,10 +122,10 @@ msgid "IDS_HS_BODY_IN_FAVOURITE_APPLICATIONS_TTS"
 msgstr "在我的最愛應用程式中"
 
 msgid "IDS_HS_BODY_MOVE_INTO_PS_FOLDER_TTS"
-msgstr "移至 %s 資料夾。"
+msgstr "移至%s資料夾。"
 
 msgid "IDS_HS_BODY_MOVING_PS_M_PROGRESS_TTS"
-msgstr "正在移動 %s"
+msgstr "正在移動%s"
 
 msgid "IDS_HS_BODY_NO_CONTENT"
 msgstr "無內容"
@@ -365,7 +365,7 @@ msgid "IDS_HS_OPT_SHOW_DISABLED_APPLICATIONS_ABB"
 msgstr "顯示已停用的應用程式"
 
 msgid "IDS_HS_POP_PS_CANNOT_BE_UNINSTALLED_IT_WILL_BE_DISABLED_INSTEAD"
-msgstr "%s 無法解除安裝。將改為停用。"
+msgstr "%s無法解除安裝。將改為停用。"
 
 msgid "IDS_HS_POP_1_ITEM_WILL_BE_HIDDEN"
 msgstr "1 個項目將被隱藏。"
@@ -385,6 +385,15 @@ msgstr "全部頁面"
 msgid "IDS_JAVA_POP_BLANK"
 msgstr "空白"
 
+msgid "IDS_HS_OPT_SORT_ITEMS_ALPHABETICALLY_ABB"
+msgstr "按字母排序項目"
+
+msgid "IDS_HS_HEADER_SORT_ITEMS_ALPHABETICALLY_ABB"
+msgstr "按字母排序項目"
+
+msgid "IDS_HS_POP_APP_ICONS_AND_FOLDERS_WILL_BE_SORTED_INTO_ALPHABETICAL_ORDER_ANY_CUSTOMISATIONS_YOU_HAVE_MADE_WILL_BE_DISCARDED"
+msgstr "應用程式圖示和資料夾將按字母表順序排列。您所做的任何自訂設定將被捨棄。"
+
 msgid "IDS_HS_OPT_ADD_DYNAMIC_BOX"
 msgstr "加入 Dynamic Box"
 
@@ -404,7 +413,7 @@ msgid "IDS_HS_OPT_BY_NAME_HA_Z_ABB"
 msgstr "按名稱 (A-Z)"
 
 msgid "IDS_HS_POP_PS_WILL_BE_UNINSTALLED"
-msgstr "將解除安裝 %s。"
+msgstr "將解除安裝%s。"
 
 msgid "IDS_HS_TPOP_UNABLE_TO_REARRANGE_ICONS_SORTED_BY_NAME_HA_Z"
 msgstr "無法重新排列按名稱 (A-Z) 排序的圖示。"
@@ -446,8 +455,23 @@ msgid "IDS_HS_POP_APPLICATION_NOT_INSTALLED"
 msgstr "未安裝應用程式。"
 
 msgid "IDS_HS_POP_PS_AND_ALL_THE_FEATURES_RELATED_TO_IT_WILL_BE_DISABLED_TO_ENABLE_IT_AGAIN_GO_TO_SETTINGS_APPLICATION_MANAGER"
-msgstr "將停用 %s 及所有相關功能。若要重新啟用,請前往設定 > 應用程式管理員。"
+msgstr "將停用%s及所有相關功能。若要重新啟用,請前往 [設定] > [應用程式管理員]。"
 
 msgid "IDS_HS_TPOP_MAXIMUM_NUMBER_OF_APPLICATIONS_IN_FOLDER_HPD_REACHED"
 msgstr "已達資料夾中的應用程式數量上限 (%d)。"
 
+msgid "IDS_HS_OPT_CHANGE_APP_GRID_ABB"
+msgstr "變更應用程式網格"
+
+msgid "IDS_HS_HEADER_CHANGE_APP_GRID_ABB"
+msgstr "變更應用程式網格"
+
+msgid "IDS_HS_OPT_VIEW_ALL_PAGES_ABB"
+msgstr "檢視所有頁面"
+
+msgid "IDS_DS_BUTTON2_STYLER"
+msgstr "樣式工具"
+
+msgid "IDS_HS_TPOP_MAXIMUM_NUMBER_OF_FAVOURITE_APPS_HPD_REACHED"
+msgstr "已達到我的最愛應用程式數量上限 (%d)。"
+
index 1aed13c..2cec925 100755 (executable)
@@ -23,7 +23,7 @@ msgid "IDS_MF_OPT_DELETEFOLDER"
 msgstr "刪除資料夾"
 
 msgid "IDS_MF_POP_ERR_FOLDER_NAME_EMPTY"
-msgstr "輸入資料夾名稱"
+msgstr "輸入資料夾名稱"
 
 msgid "IDS_PB_SK_CREATE_ABB"
 msgstr "建立"
@@ -74,7 +74,7 @@ msgid "IDS_AT_POP_TO_REARRANGE_PAGES_YOU_NEED_TO_CHANGE_THE_VIEW_TYPE_TO_A_CUSTO
 msgstr "若要重新安排頁面,需將檢視類型變更為可自訂網格。"
 
 msgid "IDS_AT_POP_UNINSTALL_PS_Q"
-msgstr "解除安裝 %s 嗎?"
+msgstr "解除安裝%s嗎?"
 
 msgid "IDS_AT_TAB4_MINI_APPS"
 msgstr "迷你應用程式"
@@ -122,10 +122,10 @@ msgid "IDS_HS_BODY_IN_FAVOURITE_APPLICATIONS_TTS"
 msgstr "在我最愛的應用程式中"
 
 msgid "IDS_HS_BODY_MOVE_INTO_PS_FOLDER_TTS"
-msgstr "移至 %s 資料夾。"
+msgstr "移至%s資料夾。"
 
 msgid "IDS_HS_BODY_MOVING_PS_M_PROGRESS_TTS"
-msgstr "正在移動 %s"
+msgstr "正在移動%s"
 
 msgid "IDS_HS_BODY_NO_CONTENT"
 msgstr "無內容"
@@ -365,7 +365,7 @@ msgid "IDS_HS_OPT_SHOW_DISABLED_APPLICATIONS_ABB"
 msgstr "顯示停用的應用程式"
 
 msgid "IDS_HS_POP_PS_CANNOT_BE_UNINSTALLED_IT_WILL_BE_DISABLED_INSTEAD"
-msgstr "%s 無法解除安裝。將改為停用 。"
+msgstr "%s無法解除安裝。將改為停用。"
 
 msgid "IDS_HS_POP_1_ITEM_WILL_BE_HIDDEN"
 msgstr "將隱藏 1 個項目。"
@@ -385,6 +385,15 @@ msgstr "所有頁面"
 msgid "IDS_JAVA_POP_BLANK"
 msgstr "空白"
 
+msgid "IDS_HS_OPT_SORT_ITEMS_ALPHABETICALLY_ABB"
+msgstr "依英文字母排序項目"
+
+msgid "IDS_HS_HEADER_SORT_ITEMS_ALPHABETICALLY_ABB"
+msgstr "依英文字母排序項目"
+
+msgid "IDS_HS_POP_APP_ICONS_AND_FOLDERS_WILL_BE_SORTED_INTO_ALPHABETICAL_ORDER_ANY_CUSTOMISATIONS_YOU_HAVE_MADE_WILL_BE_DISCARDED"
+msgstr "應用程式圖示與資料夾將依字母順序重新排列。任何已執行的自訂設定都將被捨棄。"
+
 msgid "IDS_HS_OPT_ADD_DYNAMIC_BOX"
 msgstr "新增 Dynamic Box"
 
@@ -404,7 +413,7 @@ msgid "IDS_HS_OPT_BY_NAME_HA_Z_ABB"
 msgstr "依名稱 (A-Z)"
 
 msgid "IDS_HS_POP_PS_WILL_BE_UNINSTALLED"
-msgstr "將會移除 %s。"
+msgstr "將會移除%s。"
 
 msgid "IDS_HS_TPOP_UNABLE_TO_REARRANGE_ICONS_SORTED_BY_NAME_HA_Z"
 msgstr "無法依名稱 (A-Z) 排序來重新排列圖示。"
@@ -446,8 +455,23 @@ msgid "IDS_HS_POP_APPLICATION_NOT_INSTALLED"
 msgstr "未安裝應用程式。"
 
 msgid "IDS_HS_POP_PS_AND_ALL_THE_FEATURES_RELATED_TO_IT_WILL_BE_DISABLED_TO_ENABLE_IT_AGAIN_GO_TO_SETTINGS_APPLICATION_MANAGER"
-msgstr "將停用 %s 及所有相關功能。若要重新啟用,請前往設定 > 應用程式管理員。"
+msgstr "將停用%s及所有相關功能。若要重新啟用,請前往 [設定] > [應用程式管理員]。"
 
 msgid "IDS_HS_TPOP_MAXIMUM_NUMBER_OF_APPLICATIONS_IN_FOLDER_HPD_REACHED"
 msgstr "已達資料夾中的應用程式數量上限 (%d)。"
 
+msgid "IDS_HS_OPT_CHANGE_APP_GRID_ABB"
+msgstr "變更應用程式網格"
+
+msgid "IDS_HS_HEADER_CHANGE_APP_GRID_ABB"
+msgstr "變更應用程式網格"
+
+msgid "IDS_HS_OPT_VIEW_ALL_PAGES_ABB"
+msgstr "檢視所有頁面"
+
+msgid "IDS_DS_BUTTON2_STYLER"
+msgstr "樣式工具"
+
+msgid "IDS_HS_TPOP_MAXIMUM_NUMBER_OF_FAVOURITE_APPS_HPD_REACHED"
+msgstr "已達我最愛的應用程式數量上限 (%d)。"
+
diff --git a/src/add_viewer/add_viewer.c b/src/add_viewer/add_viewer.c
deleted file mode 100644 (file)
index 3975b1b..0000000
+++ /dev/null
@@ -1,192 +0,0 @@
-/*
- * Copyright 2012  Samsung Electronics Co., Ltd
- *
- * Licensed under the Flora License, Version 1.1 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://floralicense.org/license/
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#include "util.h"
-
-#include "add_viewer/add_viewer.h"
-#include "add_viewer/list_view.h"
-#include "add_viewer/widget.h"
-
-static struct {
-       Evas_Object *win;
-       Evas_Object *conformant;
-       Evas_Object *layout;
-       Evas_Object *naviframe;
-       Evas_Object *genlist;
-
-       Elm_Theme *theme;
-       Elm_Object_Item *navi_item;
-
-} s_info = {
-       .win = NULL,
-       .conformant = NULL,
-       .layout = NULL,
-       .naviframe = NULL,
-       .genlist = NULL,
-
-       .theme = NULL,
-       .navi_item = NULL,
-};
-
-static void __add_viewer_window_del_cb(void *data, Evas_Object* obj, void* event_info);
-static Elm_Theme *__add_viewer_create_theme(void);
-static Evas_Object *__add_viewer_create_conformant(void);
-static Evas_Object *__add_viewer_create_layout();
-static Evas_Object *__add_viewer_create_naviframe();
-
-Elm_Theme *add_viewer_get_main_theme(void)
-{
-       return s_info.theme;
-}
-
-Evas_Object *add_viewer_get_layout(void)
-{
-       return s_info.layout;
-}
-
-void add_viewer_window_create(Evas_Coord w, Evas_Coord h)
-{
-       int ret = 0;
-
-       ret = widget_init();
-       if (ret != 0) {
-               LOGE("Can not init widget list");
-               return;
-       }
-
-       s_info.win = elm_win_add(NULL, "add_viewer", ELM_WIN_BASIC);
-       if (!s_info.win) {
-               LOGE("Failed to create a new window");
-               return;
-       }
-
-       elm_win_alpha_set(s_info.win, EINA_TRUE);
-       elm_win_autodel_set(s_info.win, EINA_TRUE);
-       evas_object_smart_callback_add(s_info.win, "delete,request", __add_viewer_window_del_cb, NULL);
-
-       s_info.theme = __add_viewer_create_theme();
-       s_info.conformant = __add_viewer_create_conformant();
-       s_info.layout = __add_viewer_create_layout();
-       s_info.naviframe = __add_viewer_create_naviframe();
-
-       s_info.navi_item = list_view_create_content(s_info.naviframe, s_info.genlist);
-
-       elm_object_signal_emit(s_info.layout, "display,normal", "container");
-
-       elm_win_indicator_mode_set(s_info.win, ELM_WIN_INDICATOR_SHOW);
-       elm_win_indicator_opacity_set(s_info.win, ELM_WIN_INDICATOR_OPAQUE);
-       elm_win_resize_object_add(s_info.win, s_info.conformant);
-       elm_win_conformant_set(s_info.win, EINA_TRUE);
-       evas_object_resize(s_info.win, w, h);
-
-       evas_object_show(s_info.naviframe);
-       evas_object_show(s_info.layout);
-       evas_object_show(s_info.conformant);
-
-
-       evas_object_show(s_info.win);
-}
-
-void add_viewer_window_delete(void)
-{
-       home_screen_set_view_type(HOMESCREEN_VIEW_HOME);
-       evas_object_del(s_info.win);
-       widget_fini();
-}
-
-static void __add_viewer_window_del_cb(void *data, Evas_Object* obj, void* event_info)
-{
-       evas_object_del(s_info.win);
-}
-
-static Elm_Theme *__add_viewer_create_theme(void)
-{
-       Elm_Theme *theme = elm_theme_new();
-       if (!theme) {
-               LOGE("Failed to create theme\n");
-               return NULL; }
-
-       elm_theme_ref_set(theme, NULL);
-       elm_theme_extension_add(theme, util_get_res_file_path(EDJE_DIR"/preview.edj"));
-
-       return theme;
-}
-
-static Evas_Object *__add_viewer_create_conformant(void)
-{
-       Evas_Object *conformant;
-       Evas_Object *bg;
-
-       conformant = elm_conformant_add(s_info.win);
-       if (!conformant) {
-               LOGE("Failed to create a conformant\n");
-               return NULL;
-       }
-
-       evas_object_size_hint_weight_set(conformant, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
-
-       bg = elm_bg_add(conformant);
-       if (bg) {
-               elm_object_style_set(bg, "indicator/headerbg");
-               elm_object_part_content_set(conformant, "elm.swallow.indicator_bg", bg);
-               evas_object_show(bg);
-       } else {
-               LOGE("Failed to create a BG object\n");
-       }
-
-       return conformant;
-}
-
-static Evas_Object *__add_viewer_create_layout()
-{
-       Evas_Object *layout;
-       char edj_path[PATH_MAX] = {0, };
-
-       if (!s_info.conformant) {
-               return NULL;
-       }
-
-       layout = elm_layout_add(s_info.conformant);
-       if (!layout) {
-               return NULL;
-       }
-
-       snprintf(edj_path, sizeof(edj_path), "%s", util_get_res_file_path(EDJE_DIR"/preview.edj"));
-       if (elm_layout_file_set(layout, edj_path, "conformant,frame") != EINA_TRUE) {
-               evas_object_del(layout);
-               return NULL;
-       }
-       
-       elm_object_part_content_set(s_info.conformant, "elm.swallow.content", layout);
-
-       return layout;
-}
-
-static Evas_Object *__add_viewer_create_naviframe()
-{
-       Evas_Object *naviframe;
-
-       naviframe = elm_naviframe_add(s_info.conformant);
-       if (!naviframe) {
-               return NULL;
-       }
-
-       elm_naviframe_content_preserve_on_pop_set(naviframe, EINA_TRUE);
-       elm_object_part_content_set(s_info.layout, "content", naviframe);
-
-       return naviframe;
-}
-
diff --git a/src/add_viewer/list_view.c b/src/add_viewer/list_view.c
deleted file mode 100644 (file)
index ff3aaaa..0000000
+++ /dev/null
@@ -1,535 +0,0 @@
-/*
- * Copyright 2012  Samsung Electronics Co., Ltd
- *
- * Licensed under the Flora License, Version 1.1 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://floralicense.org/license/
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#include <Elementary.h>
-#include <widget_service.h>
-#include <widget_viewer_evas.h>
-#include <widget_errno.h>
-#include <shortcut_manager.h>
-
-
-#include "util.h"
-#include "conf.h"
-
-#include "add_viewer/add_viewer.h"
-#include "add_viewer/list_view.h"
-#include "add_viewer/view.h"
-#include "add_viewer/widget.h"
-
-static Evas_Object *__list_view_create_list(Evas_Object *content);
-static void __list_view_genlist_theme_set(Evas_Object *genlist);
-static char *__gl_text_get_cb(void *data, Evas_Object *obj, const char *part);
-static Evas_Object *__gl_content_get_cb (void *data, Evas_Object *obj, const char *part);
-static Evas_Object *__list_view_widget_box_create(Evas_Object *obj, widget_t *widget);
-static Evas_Object *__list_view_preview_box_create(Evas_Object *main_box, widget_t *widget, preview_t *preview);
-static void __list_view_item_realized_cb(void *data, Evas_Object *obj, void *event_info);
-static void __list_view_preview_clicked_cb(void *data, Evas *e, Evas_Object *obj, void *event_info);
-
-Evas_Object *list_view_create_content(Evas_Object *naviframe, Evas_Object *genlist)
-{
-       Elm_Object_Item *item;
-       Evas_Object *content;
-
-       content = view_content_create(naviframe, NULL);
-       if (!content) {
-               return NULL;
-       }
-
-       genlist = __list_view_create_list(content);
-       elm_object_part_content_set(content, "content", genlist);
-
-       item = elm_naviframe_item_push(naviframe, _("IDS_HS_HEADER_ADD_WIDGET"), NULL, NULL, content, NULL);
-       view_content_show(content);
-       view_content_show_index(content);
-
-       if (!item) {
-               LOGD("Failed to push an item\n");
-               return NULL;
-       }
-
-       return content;
-}
-
-static Evas_Object *__list_view_create_list(Evas_Object *content)
-{
-       Elm_Genlist_Item_Class *itc_widget;
-       Evas_Object *genlist = NULL;
-       Elm_Object_Item *widget_gl_item = NULL;
-       Eina_List *widget_list = NULL, *l = NULL;
-       widget_t *widget = NULL;
-
-       genlist = elm_genlist_add(content);
-       if (!genlist) {
-               LOGE("Failed to create a genlist\n");
-               return NULL;
-       }
-
-       elm_scroller_bounce_set(genlist, EINA_FALSE, EINA_TRUE);
-       elm_scroller_policy_set(genlist, ELM_SCROLLER_POLICY_OFF, ELM_SCROLLER_POLICY_OFF);
-       elm_genlist_select_mode_set(genlist, ELM_OBJECT_SELECT_MODE_NONE);
-
-       __list_view_genlist_theme_set(genlist);
-
-       itc_widget = elm_genlist_item_class_new();
-       itc_widget->item_style = "widget,leaf";
-       itc_widget->func.text_get = __gl_text_get_cb;
-       itc_widget->func.content_get = __gl_content_get_cb;
-
-       widget_list = widget_get_widget_list();
-       if (!widget_list) {
-               LOGE("Can not get widget list");
-               return NULL;
-       }
-
-       LOGD("Widget list length: %d", eina_list_count(widget_list));
-       EINA_LIST_FOREACH(widget_list, l, widget) {
-               LOGD("Genlist append");
-               widget_gl_item = elm_genlist_item_append(genlist, itc_widget, widget, NULL, ELM_GENLIST_ITEM_NONE, NULL, NULL);
-               widget->genlist_item = widget_gl_item;
-       }
-
-       evas_object_smart_callback_add(genlist, "realized", __list_view_item_realized_cb, NULL);
-
-       elm_genlist_item_class_free(itc_widget);
-
-       return genlist;
-}
-
-static void __list_view_genlist_theme_set(Evas_Object *genlist)
-{
-       Elm_Theme *main_theme;
-
-       main_theme = add_viewer_get_main_theme();
-       if (main_theme)
-               elm_object_theme_set(genlist, main_theme);
-}
-
-static char *__gl_text_get_cb(void *data, Evas_Object *obj, const char *part)
-{
-       widget_t *widget = data;
-
-       if (!widget || !part)
-               return NULL;
-
-       if(!strcmp(part, "elm.text"))
-               return strdup(widget->label);
-
-       return strdup("widget name not found");
-}
-
-static Evas_Object *__gl_content_get_cb(void *data, Evas_Object *obj, const char *part)
-{
-       LOGD("Part: %s", part);
-
-       Evas_Object *main_box = NULL;
-       Eina_List *widget_list = NULL;
-       widget_t *widget = data;
-
-       if (!widget || !part)
-               return NULL;
-
-       if (!strcmp(part, "bg")) {
-               return NULL;
-       }
-
-       widget_list = widget_get_widget_list();
-       if (!widget_list) {
-               LOGE("Can not get widget list");
-               return NULL;
-       }
-
-       main_box = __list_view_widget_box_create(obj, widget);
-       if (!main_box) {
-               LOGE("Can not create preview box");
-               return NULL;
-       }
-
-       return main_box;
-}
-
-static Evas_Object *__list_view_widget_box_create(Evas_Object *obj, widget_t *widget)
-{
-       LOGD("Create box for %s", widget->widget_id);
-
-       Evas_Object *main_box = NULL;
-       Evas_Object *mid_box = NULL;
-               Evas_Object *small_box = NULL;
-       Evas_Object *preview_layout = NULL;
-       Eina_List *l;
-       Eina_List *children;
-       preview_t *preview;
-       int tmp = 0;
-       int h = 0;
-       int filled = 0;
-       int height = 0;
-
-       main_box = elm_box_add(obj);
-       if (!main_box) {
-               LOGE("Can not create preview box");
-               return NULL;
-       }
-
-       elm_box_horizontal_set(main_box, EINA_FALSE);
-       elm_box_homogeneous_set(main_box, EINA_FALSE);
-       elm_box_padding_set(main_box, 0, 30);
-       elm_box_align_set(main_box, 0.0, 0.0);
-
-       EINA_LIST_FOREACH(widget->preview_list, l, preview) {
-
-               preview_layout = __list_view_preview_box_create(main_box, widget, preview);
-               if(!preview_layout) {
-                       LOGE("Can not create preview layout");
-                       return NULL;
-               }
-
-               elm_object_part_text_set(preview_layout, "text", widget->label);
-
-               //elm_box_pack_end(main_box, preview_layout);
-
-               evas_object_size_hint_min_get(preview_layout, NULL, &h);
-               if (h <= 0) {
-                       LOGE("Preview layout height is unknown");
-                       continue;
-               }
-
-               evas_object_show(preview_layout);
-
-               switch (preview->type) {
-               case WIDGET_SIZE_TYPE_4x6:
-               case WIDGET_SIZE_TYPE_4x5:
-               case WIDGET_SIZE_TYPE_4x4:
-               case WIDGET_SIZE_TYPE_4x3:
-               case WIDGET_SIZE_TYPE_4x2:
-               case WIDGET_SIZE_TYPE_4x1:
-                       if (!mid_box) {
-                               mid_box = elm_box_add(main_box);
-                               if (!mid_box) {
-                                       LOGE("Failed to add mid box\n");
-                                       return NULL;
-                               }
-
-                               elm_box_align_set(mid_box, 0.0, 0.0);
-                               elm_box_horizontal_set(mid_box, EINA_TRUE);
-                               elm_box_homogeneous_set(mid_box, EINA_FALSE);
-                               elm_box_padding_set(mid_box, 12, 0);
-                               evas_object_size_hint_align_set(mid_box, 0.0, 0.0);
-                               filled = 0;
-                       }
-
-                       if (tmp < h) {
-                               tmp = h;
-                       }
-                       filled++;
-                       evas_object_size_hint_align_set(preview_layout, 0.0, 0.0);
-                       elm_box_pack_end(mid_box, preview_layout);
-
-                       if (filled == 2) {
-                               elm_box_pack_end(main_box, mid_box);
-                               evas_object_show(mid_box);
-                               mid_box = NULL;
-                               height += (tmp + 30);
-                               tmp = 0;
-                       }
-                       break;
-               case WIDGET_SIZE_TYPE_2x2:
-               case WIDGET_SIZE_TYPE_2x1:
-               case WIDGET_SIZE_TYPE_1x1:
-                       if (mid_box) {
-                               elm_box_pack_end(main_box, mid_box);
-                               evas_object_show(mid_box);
-                               height += (h + 30);
-                               filled = 0;
-                               tmp = 0;
-                       }
-
-                       if (!small_box) {
-                               small_box = elm_box_add(main_box);
-                               if (!small_box) {
-                                       LOGD("Failed to add small box\n");
-                                       evas_object_del(preview_layout);
-                                       evas_object_del(main_box);
-                                       return NULL;
-                               }
-
-                               elm_box_align_set(small_box, 0.0, 0.0);
-                               elm_box_horizontal_set(small_box, EINA_TRUE);
-                               elm_box_homogeneous_set(small_box, EINA_FALSE);
-                               elm_box_padding_set(small_box, 12, 0);
-                               evas_object_size_hint_align_set(small_box, 0.0, 0.0);
-                               filled = 0;
-                       }
-
-                       if (tmp < h) {
-                               tmp = h;
-                       }
-
-                       filled++;
-                       evas_object_size_hint_align_set(preview_layout, 0.0, 0.0);
-                       elm_box_pack_end(small_box, preview_layout);
-
-                       if (filled == 3) {
-                               evas_object_show(small_box);
-                               elm_box_pack_end(main_box, small_box);
-                               height += (tmp + 30);
-                               small_box = NULL;
-                               tmp = 0;
-                       }
-                       break;
-                       return NULL;
-               default:
-                       LOGE("Unsupported size\n");
-                       break;
-                       return NULL;
-               }
-
-       }
-
-       if (small_box) {
-               evas_object_show(small_box);
-               elm_box_pack_end(main_box, small_box);
-               height += (tmp + 30);
-       } else if (mid_box) {
-               elm_box_pack_end(main_box, mid_box);
-               evas_object_show(mid_box);
-               height += (tmp + 30);
-       }
-
-       children = elm_box_children_get(main_box);
-       if (eina_list_count(children) == 0) {
-               evas_object_del(main_box);
-               LOGE("Preview is not exists");
-               main_box = NULL;
-       } else {
-               height += 20;
-
-               evas_object_size_hint_min_set(main_box, 0, height);
-               evas_object_size_hint_max_set(main_box, 0, height);
-               evas_object_show(main_box);
-       }
-
-       eina_list_free(children);
-
-       return main_box;
-}
-
-static Evas_Object *__list_view_preview_box_create(Evas_Object *main_box, widget_t *widget, preview_t *preview)
-{
-       LOGD("Create preview: type->%d path->%s", preview->type, preview->path);
-
-       Evas_Object *preview_layout = NULL;
-       Evas_Object *preview_img = NULL;
-       char *size_str = NULL;
-       int w = 0, h = 0;
-       int ret = 0;
-
-       if (!preview || !preview->path || !preview->type) {
-               LOGE("Path to preview image is empty");
-               return NULL;
-       }
-
-       switch (preview->type) {
-       case WIDGET_SIZE_TYPE_1x1:
-               size_str = "preview,1x1";
-               break;
-       case WIDGET_SIZE_TYPE_2x1:
-               size_str = "preview,2x1";
-               break;
-       case WIDGET_SIZE_TYPE_2x2:
-               size_str = "preview,2x2";
-               break;
-       case WIDGET_SIZE_TYPE_4x1:
-               size_str = "preview,4x1";
-               break;
-       case WIDGET_SIZE_TYPE_4x2:
-               size_str = "preview,4x2";
-               break;
-       case WIDGET_SIZE_TYPE_4x3:
-               size_str = "preview,4x3";
-               break;
-       case WIDGET_SIZE_TYPE_4x4:
-               size_str = "preview,4x4";
-               break;
-       case WIDGET_SIZE_TYPE_4x5:
-               size_str = "preview,4x5";
-               break;
-       case WIDGET_SIZE_TYPE_4x6:
-               size_str = "preview,4x6";
-               break;
-       case WIDGET_SIZE_TYPE_EASY_1x1:
-               size_str = "easy,preview,1x1";
-               break;
-       case WIDGET_SIZE_TYPE_EASY_3x1:
-               size_str = "easy,preview,3x1";
-               break;
-       case WIDGET_SIZE_TYPE_EASY_3x3:
-               size_str = "easy,preview,3x3";
-               break;
-       default:
-               return NULL;
-       }
-
-       preview_layout = elm_layout_add(main_box);
-       if (!preview_layout) {
-               LOGE("Can not create preview layout");
-               return NULL;
-       }
-
-       LOGD("Widget size_str: %s", size_str);
-       ret = elm_layout_file_set(preview_layout, util_get_res_file_path(EDJE_DIR"/preview.edj"), size_str);
-       if (ret != EINA_TRUE) {
-               LOGE("Can not set preview layout");
-               evas_object_del(preview_layout);
-               return NULL;
-       }
-
-       preview_img = evas_object_image_filled_add(evas_object_evas_get(preview_layout));
-       if (!preview_img) {
-               LOGE("Can not create image object");
-               evas_object_del(preview_layout);
-               return NULL;
-       }
-
-       int *preview_type = calloc(1, sizeof(int));
-       if (!preview_type) {
-               LOGE("Can not allocate memory for additional data");
-               evas_object_del(preview_img);
-               evas_object_del(preview_layout);
-               return NULL;
-       }
-
-       *preview_type = preview->type;
-
-       evas_object_data_set(preview_layout, "preview_type", preview_type);
-       evas_object_event_callback_add(preview_layout, EVAS_CALLBACK_MOUSE_UP, __list_view_preview_clicked_cb, widget);
-
-       evas_object_image_file_set(preview_img, preview->path, NULL);
-       evas_object_image_size_get(preview_img, &w, &h);
-       evas_object_image_fill_set(preview_img, 0, 0, w, h);
-
-       edje_object_size_min_calc(elm_layout_edje_get(preview_layout), &w, &h);
-       evas_object_size_hint_min_set(preview_layout, w, h);
-
-       elm_object_part_content_set(preview_layout, "preview", preview_img);
-
-       return preview_layout;
-}
-
-static void __list_view_item_realized_cb(void *data, Evas_Object *obj, void *event_info)
-{
-       LOGD("item realized_cb");
-
-       char ch[2] = {0, };
-       int ret = 0;
-       Elm_Object_Item *item = event_info;
-       widget_t *widget = NULL;
-
-
-       widget = (widget_t *)elm_object_item_data_get(item);
-
-       LOGD("item data: %s", widget->widget_id);
-       ch[0] = widget->widget_id[0];
-
-       if (strlen(ch) == 0) {
-               LOGE("Can not get first char of widget name");
-               return;
-       }
-
-       ret = view_index_set_index(ch);
-       if (ret != 0)
-               LOGE("Can not set selected index item");
-}
-
-static void __list_view_preview_clicked_cb(void *data, Evas *e, Evas_Object *obj, void *event_info)
-{
-       LOGD("Preview clicked");
-
-       widget_t *widget = NULL;
-       int w = 0, h = 0;
-       int ret = -1;
-       int *size = NULL;
-       shortcut_widget_size_e size_type;
-
-       size = evas_object_data_del(obj, "preview_type");
-       if (*size == WIDGET_SIZE_TYPE_UNKNOWN) {
-               LOGE("Can not get widgets size type");
-               return;
-       }
-
-       widget = (widget_t *)data;
-       if (!widget) {
-               LOGE("Can not get widget");
-               return;
-       }
-
-
-       ret = widget_service_get_size(*size, &w, &h);
-       if (ret != 0) {
-               LOGE("Can not get widget size");
-               return;
-       }
-
-       switch (*size) {
-       case WIDGET_SIZE_TYPE_1x1:
-               size_type = WIDGET_SIZE_1x1;
-               break;
-       case WIDGET_SIZE_TYPE_2x1:
-               size_type = WIDGET_SIZE_2x1;
-               break;
-       case WIDGET_SIZE_TYPE_2x2:
-               size_type = WIDGET_SIZE_2x2;
-               break;
-       case WIDGET_SIZE_TYPE_4x1:
-               size_type = WIDGET_SIZE_4x1;
-               break;
-       case WIDGET_SIZE_TYPE_4x2:
-               size_type = WIDGET_SIZE_4x2;
-               break;
-       case WIDGET_SIZE_TYPE_4x3:
-               size_type = WIDGET_SIZE_4x3;
-               break;
-       case WIDGET_SIZE_TYPE_4x4:
-               size_type = WIDGET_SIZE_4x4;
-               break;
-       case WIDGET_SIZE_TYPE_4x5:
-               size_type = WIDGET_SIZE_4x5;
-               break;
-       case WIDGET_SIZE_TYPE_4x6:
-               size_type = WIDGET_SIZE_4x6;
-               break;
-       case WIDGET_SIZE_TYPE_EASY_1x1:
-               size_type = WIDGET_SIZE_EASY_1x1;
-               break;
-       case WIDGET_SIZE_TYPE_EASY_3x1:
-               size_type = WIDGET_SIZE_EASY_3x1;
-               break;
-       case WIDGET_SIZE_TYPE_EASY_3x3:
-               size_type = WIDGET_SIZE_EASY_3x3;
-               break;
-       default:
-               LOGE("Invalid size type\n");
-               free(size);
-               return;
-       }
-
-       ret = shortcut_add_to_home_widget(widget->widget_id, size_type, widget->widget_id, NULL, -1.0f, 1, NULL, NULL);
-       if (ret != WIDGET_ERROR_NONE)
-               LOGE("ERROR: %s", get_error_message(ret));
-
-       free(size);
-
-       add_viewer_window_delete();
-}
-
diff --git a/src/add_viewer/view.c b/src/add_viewer/view.c
deleted file mode 100644 (file)
index f5450b3..0000000
+++ /dev/null
@@ -1,159 +0,0 @@
-/*
- * Copyright 2012  Samsung Electronics Co., Ltd
- *
- * Licensed under the Flora License, Version 1.1 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://floralicense.org/license/
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#include "conf.h"
-#include "util.h"
-
-#include "add_viewer/add_viewer.h"
-#include "add_viewer/widget.h"
-#include "add_viewer/view.h"
-
-static Evas_Object *__index_create(Evas_Object *layout, void *data);
-static void __view_index_cb(void *data, Evas_Object *obj, void *event_info);
-static int __view_compare_widget_idx(const void *data1, const void *data2);
-
-static struct {
-       Evas_Object *index;
-} s_info = {
-       .index = NULL
-};
-
-Evas_Object *view_content_create(Evas_Object *frame, void *data)
-{
-       Evas_Object *layout;
-
-       layout = elm_layout_add(frame);
-       if (!layout)
-               return NULL;
-
-       if (elm_layout_file_set(layout, util_get_res_file_path(EDJE_DIR"/preview.edj"), "content,frame") != EINA_TRUE) {
-               LOGE("Can not set layout file");
-               evas_object_del(layout);
-               return NULL;
-       }
-
-       s_info.index = __index_create(layout, data);
-       if (!s_info.index) {
-               evas_object_del(layout);
-               return NULL;
-       }
-       elm_object_part_content_set(layout, "index", s_info.index);
-
-       return layout;
-}
-
-void view_content_show(Evas_Object *layout)
-{
-       if (/*model_is_easy_mode()*/0) {
-               elm_object_signal_emit(layout, "display,easy", "container");
-       } else {
-               elm_object_signal_emit(layout, "display,normal", "container");
-       }
-}
-
-void view_content_show_index(Evas_Object *layout)
-{
-       if (/*!model_is_easy_mode()*/1) {
-               elm_object_signal_emit(layout, "display,index", "container");
-       }
-}
-
-Evas_Object *view_get_index(void)
-{
-       return s_info.index;
-}
-
-int view_index_set_index(const char *idx)
-{
-       Elm_Index_Item *item = NULL;
-
-       LOGD("Find item with idx: %s", idx);
-
-       item = elm_index_item_find(s_info.index, idx);
-       if(!item)
-       {
-               LOGE("Can not find index item");
-               return 1;
-       }
-       elm_index_item_selected_set(item, EINA_TRUE);
-
-       return 0;
-}
-
-static Evas_Object *__index_create(Evas_Object *layout, void *data)
-{
-       Evas_Object *index;
-       const char *idx_str = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
-       char ch[2] = {0, };
-
-       index = elm_index_add(layout);
-       elm_index_autohide_disabled_set(index, EINA_TRUE);
-       elm_index_omit_enabled_set(index, EINA_TRUE);
-               elm_index_item_append(index, "#", NULL, NULL);
-
-       int i;
-       for (i = 0; i < strlen(idx_str); ++i)
-       {
-               ch[0] = idx_str[i];
-               ch[1] = '\0';
-               elm_index_item_append(index, ch, __view_index_cb, &ch[0]);
-       }
-
-       elm_index_level_go(index, 0);
-
-       return index;
-}
-
-static void __view_index_cb(void *data, Evas_Object *obj, void *event_info)
-{
-       char *idx_str = (char *)data;
-       Eina_List *widget_list = NULL;
-       widget_t *widget = NULL;
-
-       widget_list = widget_get_widget_list();
-       if (!widget_list) {
-               LOGE("Can not get widget list");
-               return;
-       }
-
-       widget = eina_list_search_unsorted(widget_list, __view_compare_widget_idx, idx_str);
-       if (!widget) {
-               LOGE("Can not find widget");
-               return;
-       }
-
-       elm_genlist_item_bring_in(widget->genlist_item, ELM_GENLIST_ITEM_SCROLLTO_TOP);
-
-}
-
-static int __view_compare_widget_idx(const void *data1, const void *data2)
-{
-       widget_t *w = (widget_t *)data1;
-       char *idx_str = (char *)data2;
-
-       char c1 = 0;
-               char c2 = 0;
-
-       c1 = tolower(idx_str[0]);
-       c2 = tolower(w->widget_id[0]);
-
-       LOGD("Compare: %c == %c in %s, %s", c1, c2, idx_str, w->widget_id);
-
-       if(c1 < c2) return -1;
-       else if(c1 > c2) return 1;
-       else return 0;
-
-}
diff --git a/src/add_viewer/widget.c b/src/add_viewer/widget.c
deleted file mode 100755 (executable)
index 69d8556..0000000
+++ /dev/null
@@ -1,178 +0,0 @@
-/*
- * Copyright 2012  Samsung Electronics Co., Ltd
- *
- * Licensed under the Flora License, Version 1.1 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://floralicense.org/license/
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#include <string.h>
-
-#include <widget_service.h>
-#include <widget_errno.h>
-#include <app_manager.h>
-
-#include "util.h"
-
-#include "add_viewer/widget.h"
-
-static Eina_List *widget_list;
-
-static int __widget_list_cb(const char *appid, const char *lbid, int is_prime, void *data);
-static int __widget_list_widget_append(const char *appid, const char *widget_id, void *data);
-static void __widget_list_widget_remove(widget_t *widget);
-static void __widget_list_delete(void);
-static int __widget_compare_widget_id_cb(const void *data1, const void *data2);
-
-int widget_init(void)
-{
-
-       int ret = 0;
-
-       ret = widget_service_get_widget_list(__widget_list_cb, NULL);
-       LOGD("ERROR: %s", get_error_message(ret));
-       if (ret < 0 || widget_list == NULL) {
-               LOGE("Can not create widget list, ret: %d", ret);
-               return 1;
-       }
-
-       return 0;
-}
-
-void widget_fini(void)
-{
-       __widget_list_delete();
-}
-
-Eina_List *widget_get_widget_list(void)
-{
-       return widget_list;
-}
-
-Eina_List *widget_get_widget_preview_list(widget_t *widget)
-{
-       return widget->preview_list;
-}
-
-static int __widget_list_cb(const char *app_id, const char *widget_id, int is_prime, void *data) {
-       LOGD("Widget list cb, app id = %s, widget id = %s", app_id, widget_id);
-       return __widget_list_widget_append(app_id, widget_id, data);
-}
-
-static int __widget_compare_widget_id_cb(const void *data1, const void *data2)
-{
-       int res = 0;
-       widget_t *w1 = (widget_t *)data1;
-       widget_t *w2 = (widget_t *)data2;
-
-       res = strcmp(w1->label, w2->label);
-
-       if (res < 0) return -1;
-       else if (res > 0) return 1;
-       else return 0;
-}
-
-static void __widget_list_delete(void)
-{
-       Eina_List *l;
-       widget_t *widget;
-
-       EINA_LIST_FOREACH(widget_list, l, widget)
-               __widget_list_widget_remove(widget);
-
-       eina_list_free(widget_list);
-       widget_list = NULL;
-}
-
-static int __widget_list_widget_append(const char *appid, const char *widget_id, void *data)
-{
-       LOGD("App id: %s", appid);
-       LOGD("Widget id: %s", widget_id);
-
-       widget_t *widget = NULL;
-       preview_t *widget_preview_type = NULL;
-
-       int *type = NULL;
-       int types_count = 0;
-       int ret = WIDGET_ERROR_NONE;
-
-/*
-       if (widget_service_get_nodisplay(widget_id)) {
-               LOGE("Widget should not be displayed");
-               return WIDGET_ERROR_NONE;
-       }
-*/
-       ret = widget_service_get_supported_size_types(widget_id, &types_count, &type);
-       if (ret != WIDGET_ERROR_NONE || types_count <= 0) {
-               LOGE("Can not get widgets supported size types");
-               return WIDGET_ERROR_FAULT; }
-
-       widget = calloc(1, sizeof(widget_t));
-       if (!widget) {
-               LOGE("Can not allocate memory for list item");
-               return WIDGET_ERROR_FAULT;
-       }
-
-       int i;
-       for (i = 0; i < types_count; ++i) {
-
-               widget_preview_type = calloc(1, sizeof(preview_t));
-               if (!widget_preview_type) {
-                       LOGE("Can not allocate memory for list item preview type");
-                       __widget_list_delete();
-                       return WIDGET_ERROR_FAULT;
-               }
-
-               widget_preview_type->path = widget_service_get_preview_image_path(widget_id, type[i]);
-               if(!widget_preview_type->path) {
-                       free(widget_preview_type);
-                       continue;
-               }
-
-               widget_preview_type->type = type[i];
-
-               widget->size_types |= type[i];
-               widget->preview_list = eina_list_append(widget->preview_list, widget_preview_type);
-       }
-
-       widget->size_types_count = types_count;
-       widget->app_id = strdup(appid);
-       widget->widget_id = strdup(widget_id);
-       widget->label = widget_service_get_name(widget->widget_id, NULL);
-       if (!widget->label || strlen(widget->label) == 0)
-               widget->label = strdup(widget_id);
-
-       widget_list = eina_list_sorted_insert(widget_list, __widget_compare_widget_id_cb, widget);
-       //widget_list = eina_list_append(widget_list, widget);
-
-       free(type);
-
-       return WIDGET_ERROR_NONE;
-}
-
-static void __widget_list_widget_remove(widget_t *widget)
-{
-       Eina_List *l;
-       preview_t *preview;
-
-       EINA_LIST_FOREACH(widget->preview_list, l, preview) {
-               free(preview->path);
-               free(preview);
-       }
-
-       eina_list_free(widget->preview_list);
-       free(widget->app_id);
-       free(widget->widget_id);
-       free(widget->label);
-       free(widget);
-}
-
-
diff --git a/src/add_widget_viewer/add_widget_data.c b/src/add_widget_viewer/add_widget_data.c
new file mode 100755 (executable)
index 0000000..eaff0bf
--- /dev/null
@@ -0,0 +1,162 @@
+/*
+ * Copyright 2012  Samsung Electronics Co., Ltd
+ *
+ * Licensed under the Flora License, Version 1.1 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://floralicense.org/license/
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <Elementary.h>
+#include <widget_service.h>
+#include <widget_errno.h>
+
+#include "add_widget_viewer/add_widget_data.h"
+#include "util.h"
+
+static struct {
+    Eina_List *data_list;
+} add_widget_data_s = {
+    .data_list = NULL
+};
+
+static void __add_widget_data_list_delete(void);
+static void __add_widget_data_free(add_widget_data_t *item);
+static int __add_widget_data_widget_list_cb(const char *app_id, const char *widget_id, int is_prime, void *data);
+static int __add_widget_data_widget_compare_cb(const void *data1, const void *data2);
+
+bool add_widget_data_init(void)
+{
+    int ret = 0;
+    ret = widget_service_get_widget_list(__add_widget_data_widget_list_cb, NULL);
+    if (ret < 0 || add_widget_data_s.data_list == NULL) {
+        LOGE("Can not create widget list, ret: %d", ret);
+        return false;
+    }
+
+    return true;
+}
+
+void add_widget_data_fini(void)
+{
+    __add_widget_data_list_delete();
+}
+
+Eina_List *add_widget_data_get_widget_list(void)
+{
+    return add_widget_data_s.data_list;
+}
+
+Eina_List *add_widget_data_get_widget_preview_list(add_widget_data_t *widget)
+{
+    return widget->preview_list;
+}
+
+static int __add_widget_data_widget_list_cb(const char *app_id, const char *widget_id, int is_prime, void *data)
+{
+    LOGD("App id: %s", app_id);
+    LOGD("Widget id: %s", widget_id);
+
+    add_widget_data_t *widget = NULL;
+    add_widget_data_preview_t *widget_preview_type = NULL;
+
+    int *type = NULL;
+    int types_count = 0;
+    int ret = WIDGET_ERROR_NONE;
+
+    ret = widget_service_get_supported_size_types(widget_id, &types_count, &type);
+    if (ret != WIDGET_ERROR_NONE || types_count <= 0) {
+        LOGE("Can not get widgets supported size types");
+        return WIDGET_ERROR_FAULT;
+    }
+
+    widget = calloc(1, sizeof(add_widget_data_t));
+    if (!widget) {
+        LOGE("Can not allocate memory for list item");
+        return WIDGET_ERROR_FAULT;
+    }
+
+    int i;
+    for (i = 0; i < types_count; ++i) {
+        widget_preview_type = calloc(1, sizeof(add_widget_data_preview_t));
+        if (!widget_preview_type) {
+            LOGE("Can not allocate memory for list item preview type");
+            __add_widget_data_list_delete();
+            return WIDGET_ERROR_FAULT;
+        }
+
+        widget_preview_type->path = widget_service_get_preview_image_path(widget_id, type[i]);
+        if (!widget_preview_type->path) {
+            free(widget_preview_type);
+            continue;
+        }
+
+        widget_preview_type->type = type[i];
+
+        widget->size_types |= type[i];
+        widget->preview_list = eina_list_append(widget->preview_list, widget_preview_type);
+    }
+
+    widget->size_types_count = types_count;
+    widget->app_id = strdup(app_id);
+    widget->widget_id = strdup(widget_id);
+    widget->label = widget_service_get_name(widget->widget_id, NULL);
+    if (!widget->label || strlen(widget->label) == 0)
+        widget->label = strdup(widget_id);
+
+    add_widget_data_s.data_list = eina_list_sorted_insert(add_widget_data_s.data_list,
+            __add_widget_data_widget_compare_cb, widget);
+
+    free(type);
+
+    return WIDGET_ERROR_NONE;
+}
+
+static int __add_widget_data_widget_compare_cb(const void *data1, const void *data2)
+{
+    int res = 0;
+    add_widget_data_t *w1 = (add_widget_data_t *)data1;
+    add_widget_data_t *w2 = (add_widget_data_t *)data2;
+
+    res = strcmp(w1->label, w2->label);
+
+    if (res < 0) return -1;
+    if (res > 0) return 1;
+    return 0;
+}
+
+static void __add_widget_data_list_delete(void)
+{
+    Eina_List *list;
+    add_widget_data_t *item;
+
+    EINA_LIST_FOREACH(add_widget_data_s.data_list, list, item)
+        __add_widget_data_free(item);
+
+    eina_list_free(add_widget_data_s.data_list);
+    add_widget_data_s.data_list = NULL;
+}
+
+static void __add_widget_data_free(add_widget_data_t *item)
+{
+    Eina_List *list;
+    add_widget_data_preview_t *preview;
+
+    EINA_LIST_FOREACH(item->preview_list, list, preview) {
+        free(preview->path);
+        free(preview);
+    }
+
+    eina_list_free(item->preview_list);
+    free(item->app_id);
+    free(item->widget_id);
+    free(item->label);
+    free(item);
+}
diff --git a/src/add_widget_viewer/add_widget_viewer.c b/src/add_widget_viewer/add_widget_viewer.c
new file mode 100755 (executable)
index 0000000..bb97188
--- /dev/null
@@ -0,0 +1,576 @@
+/*
+ * Copyright 2012  Samsung Electronics Co., Ltd
+ *
+ * Licensed under the Flora License, Version 1.1 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://floralicense.org/license/
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <app.h>
+#include <Elementary.h>
+#include <widget_service.h>
+
+#include "add_widget_viewer/add_widget_viewer.h"
+#include "add_widget_viewer/add_widget_data.h"
+#include "cluster_data.h"
+#include "cluster_view.h"
+#include "util.h"
+#include "conf.h"
+#include "edc_conf.h"
+
+static struct {
+    Evas_Object *win;
+    Evas_Object *conformant;
+    Evas_Object *layout;
+    Evas_Object *naviframe;
+    Evas_Object *genlist;
+    Elm_Theme *theme;
+    Elm_Object_Item *navi_item;
+    Evas_Object *index;
+} add_widget_viewer_s = {
+    .win = NULL,
+    .conformant = NULL,
+    .layout = NULL,
+    .naviframe = NULL,
+    .genlist = NULL,
+    .theme = NULL,
+    .navi_item = NULL,
+    .index = NULL
+};
+
+static void __add_widget_viewer_win_del_cb(void *data, Evas_Object* obj, void* event_info);
+static Elm_Theme *__add_widget_viewer_create_theme(void);
+static Evas_Object *__add_widget_viewer_create_conformant(void);
+static Evas_Object *__add_widget_viewer_create_layout();
+static Evas_Object *__add_widget_viewer_create_naviframe();
+
+static Evas_Object *__add_widget_viewer_create_content(Evas_Object *naviframe, Evas_Object *genlist);
+static Evas_Object *__add_widget_viewer_create_index(Evas_Object *layout);
+static void __add_widget_viewer_index_cb(void *data, Evas_Object *obj, void *event_info);
+static int __add_widget_viewer_compare_index_cb(const void *data1, const void *data2);
+static Evas_Object *__add_widget_viewer_create_list(Evas_Object *content);
+static char *__add_widget_viewer_list_text_get_cb(void *data, Evas_Object *obj, const char *part);
+static Evas_Object *__add_widget_viewer_list_content_get_cb(void *data, Evas_Object *obj, const char *part);
+static Evas_Object *__add_widget_viewer_list_widget_box_create(Evas_Object *obj, add_widget_data_t *widget);
+static void __add_widget_viewer_preview_clicked_cb(void *data, Evas_Object *obj, const char *emission, const char *source);
+static Evas_Object *__add_widget_viewer_list_widget_preview_box_create(Evas_Object *main_box, add_widget_data_t *widget, add_widget_data_preview_t *preview);
+static void __add_widget_viewer_item_realized_cb(void *data, Evas_Object *obj, void *event_info);
+
+void add_widget_viewer_win_create(void)
+{
+    if (!add_widget_data_init()) {
+        LOGE("Can not create widget list");
+        return ;
+    }
+
+    add_widget_viewer_s.win = elm_win_add(NULL, "add_viewer", ELM_WIN_BASIC);
+    if (!add_widget_viewer_s.win) {
+        LOGE("Failed to create a new window");
+        return;
+    }
+
+    elm_win_alpha_set(add_widget_viewer_s.win, EINA_TRUE);
+    elm_win_autodel_set(add_widget_viewer_s.win, EINA_TRUE);
+    evas_object_smart_callback_add(add_widget_viewer_s.win, "delete,request", __add_widget_viewer_win_del_cb, NULL);
+
+    add_widget_viewer_s.theme = __add_widget_viewer_create_theme();
+    add_widget_viewer_s.conformant = __add_widget_viewer_create_conformant();
+    add_widget_viewer_s.layout = __add_widget_viewer_create_layout();
+    add_widget_viewer_s.naviframe = __add_widget_viewer_create_naviframe();
+
+    add_widget_viewer_s.navi_item = __add_widget_viewer_create_content(add_widget_viewer_s.naviframe, add_widget_viewer_s.genlist);
+
+    elm_object_signal_emit(add_widget_viewer_s.layout, "display,normal", "container");
+
+    elm_win_indicator_mode_set(add_widget_viewer_s.win, ELM_WIN_INDICATOR_SHOW);
+    elm_win_indicator_opacity_set(add_widget_viewer_s.win, ELM_WIN_INDICATOR_OPAQUE);
+    elm_win_resize_object_add(add_widget_viewer_s.win, add_widget_viewer_s.conformant);
+    elm_win_conformant_set(add_widget_viewer_s.win, EINA_TRUE);
+    evas_object_resize(add_widget_viewer_s.win, WINDOW_W, WINDOW_H);
+
+    evas_object_show(add_widget_viewer_s.naviframe);
+    evas_object_show(add_widget_viewer_s.layout);
+    evas_object_show(add_widget_viewer_s.conformant);
+
+    evas_object_show(add_widget_viewer_s.win);
+}
+
+void add_widget_viewer_win_destroy(void)
+{
+    evas_object_del(add_widget_viewer_s.win);
+    add_widget_data_fini();
+}
+
+static void __add_widget_viewer_win_del_cb(void *data, Evas_Object* obj, void* event_info)
+{
+    evas_object_del(add_widget_viewer_s.win);
+}
+
+static Elm_Theme *__add_widget_viewer_create_theme(void)
+{
+    Elm_Theme *theme = elm_theme_new();
+    if (!theme) {
+        LOGE("Failed to create theme\n");
+        return NULL;
+    }
+
+    elm_theme_ref_set(theme, NULL);
+    elm_theme_extension_add(theme, util_get_res_file_path(EDJE_DIR"/add_widget_viewer.edj"));
+
+    return theme;
+}
+
+static Evas_Object *__add_widget_viewer_create_conformant(void)
+{
+    Evas_Object *conformant;
+    Evas_Object *bg;
+
+    conformant = elm_conformant_add(add_widget_viewer_s.win);
+    if (!conformant) {
+        LOGE("Failed to create a conformant\n");
+        return NULL;
+    }
+
+    evas_object_size_hint_weight_set(conformant, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+
+    bg = elm_bg_add(conformant);
+    if (bg) {
+        elm_object_style_set(bg, "indicator/headerbg");
+        elm_object_part_content_set(conformant, "elm.swallow.indicator_bg", bg);
+        evas_object_show(bg);
+    } else {
+        LOGE("Failed to create a BG object\n");
+    }
+
+    return conformant;
+}
+
+static Evas_Object *__add_widget_viewer_create_layout()
+{
+    Evas_Object *layout;
+    char edj_path[PATH_MAX_LEN] = {0, };
+
+    if (!add_widget_viewer_s.conformant) {
+        return NULL;
+    }
+
+    layout = elm_layout_add(add_widget_viewer_s.conformant);
+    if (!layout) {
+        return NULL;
+    }
+
+    snprintf(edj_path, sizeof(edj_path), "%s", util_get_res_file_path(EDJE_DIR"/add_widget_viewer.edj"));
+    if (elm_layout_file_set(layout, edj_path, ADD_WIDGET_VIEWER_CONFORMANT_FRAME) != EINA_TRUE) {
+        evas_object_del(layout);
+        return NULL;
+    }
+
+    elm_object_part_content_set(add_widget_viewer_s.conformant, "elm.swallow.content", layout);
+
+    return layout;
+}
+
+static Evas_Object *__add_widget_viewer_create_naviframe()
+{
+    Evas_Object *naviframe;
+
+    naviframe = elm_naviframe_add(add_widget_viewer_s.conformant);
+    if (!naviframe) {
+        return NULL;
+    }
+
+    elm_naviframe_content_preserve_on_pop_set(naviframe, EINA_TRUE);
+    elm_object_part_content_set(add_widget_viewer_s.layout, "content", naviframe);
+
+    return naviframe;
+}
+
+static Evas_Object *__add_widget_viewer_create_content(Evas_Object *naviframe, Evas_Object *genlist)
+{
+    Elm_Object_Item *item;
+    Evas_Object *content;
+
+    content = elm_layout_add(naviframe);
+    if (!content) {
+        return NULL;
+    }
+
+    if (elm_layout_file_set(content, util_get_res_file_path(EDJE_DIR"/add_widget_viewer.edj"), ADD_WIDGET_VIEWER_CONTENT_FRAME) != EINA_TRUE) {
+        LOGE("Can not set layout file");
+        evas_object_del(content);
+        return NULL;
+    }
+    add_widget_viewer_s.index = __add_widget_viewer_create_index(content);
+    if (!add_widget_viewer_s.index) {
+        evas_object_del(content);
+        return NULL;
+    }
+    elm_object_part_content_set(content, "index", add_widget_viewer_s.index);
+
+    genlist = __add_widget_viewer_create_list(content);
+    elm_object_part_content_set(content, "content", genlist);
+
+    item = elm_naviframe_item_push(naviframe, _("IDS_HS_HEADER_ADD_WIDGET"), NULL, NULL, content, NULL);
+    elm_object_signal_emit(content, "display,normal", "container");
+    elm_object_signal_emit(content, "display,index", "container");
+
+    if (!item) {
+        LOGD("Failed to push an item\n");
+        return NULL;
+    }
+
+    return content;
+}
+
+static Evas_Object *__add_widget_viewer_create_index(Evas_Object *layout)
+{
+    Evas_Object *index;
+    const char *idx_str = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
+    char ch[2] = {0, };
+
+    index = elm_index_add(layout);
+    elm_index_autohide_disabled_set(index, EINA_TRUE);
+    elm_index_omit_enabled_set(index, EINA_TRUE);
+    elm_index_item_append(index, "#", NULL, NULL);
+
+    int i;
+    for (i = 0; i < strlen(idx_str); ++i) {
+        ch[0] = idx_str[i];
+        ch[1] = '\0';
+        elm_index_item_append(index, ch, __add_widget_viewer_index_cb, &ch[0]);
+    }
+
+    elm_index_level_go(index, 0);
+
+    return index;
+}
+
+static void __add_widget_viewer_index_cb(void *data, Evas_Object *obj, void *event_info)
+{
+    char *idx_str = (char *)data;
+    Eina_List *widget_list = NULL;
+    add_widget_data_t *widget = NULL;
+
+    widget_list = add_widget_data_get_widget_list();
+    if (!widget_list) {
+        LOGE("Can not get widget list");
+        return;
+    }
+
+    widget = eina_list_search_unsorted(widget_list, __add_widget_viewer_compare_index_cb, idx_str);
+    if (!widget) {
+        LOGE("Can not find widget");
+        return;
+    }
+
+    elm_genlist_item_bring_in(widget->genlist_item, ELM_GENLIST_ITEM_SCROLLTO_TOP);
+
+}
+
+static int __add_widget_viewer_compare_index_cb(const void *data1, const void *data2)
+{
+    add_widget_data_t *w = (add_widget_data_t *)data1;
+    char *idx_str = (char *)data2;
+
+    char c1 = 0;
+        char c2 = 0;
+
+    c1 = tolower(idx_str[0]);
+    c2 = tolower(w->widget_id[0]);
+
+    LOGD("Compare: %c == %c in %s, %s", c1, c2, idx_str, w->widget_id);
+
+    if (c1 < c2) return -1;
+    if (c1 > c2) return 1;
+    return 0;
+}
+
+static Evas_Object *__add_widget_viewer_create_list(Evas_Object *content)
+{
+    Elm_Genlist_Item_Class *itc_widget;
+    Evas_Object *genlist = NULL;
+    Elm_Object_Item *widget_gl_item = NULL;
+    Eina_List *widget_list = NULL, *l = NULL;
+    add_widget_data_t *widget = NULL;
+
+    genlist = elm_genlist_add(content);
+    if (!genlist) {
+        LOGE("Failed to create a genlist\n");
+        return NULL;
+    }
+
+    elm_scroller_bounce_set(genlist, EINA_FALSE, EINA_TRUE);
+    elm_scroller_policy_set(genlist, ELM_SCROLLER_POLICY_OFF, ELM_SCROLLER_POLICY_OFF);
+    elm_genlist_select_mode_set(genlist, ELM_OBJECT_SELECT_MODE_NONE);
+
+    if (add_widget_viewer_s.theme)
+        elm_object_theme_set(genlist, add_widget_viewer_s.theme);
+
+    itc_widget = elm_genlist_item_class_new();
+    itc_widget->item_style = "widget,leaf";
+    itc_widget->func.text_get = __add_widget_viewer_list_text_get_cb;
+    itc_widget->func.content_get = __add_widget_viewer_list_content_get_cb;
+
+    widget_list = add_widget_data_get_widget_list();
+    if (!widget_list) {
+        LOGE("Can not get widget list");
+        return NULL;
+    }
+
+    LOGD("Widget list length: %d", eina_list_count(widget_list));
+    EINA_LIST_FOREACH(widget_list, l, widget) {
+        LOGD("Genlist append %s", widget->app_id);
+        widget_gl_item = elm_genlist_item_append(genlist, itc_widget, widget, NULL, ELM_GENLIST_ITEM_NONE, NULL, NULL);
+        widget->genlist_item = widget_gl_item;
+    }
+
+    evas_object_smart_callback_add(genlist, "realized", __add_widget_viewer_item_realized_cb, NULL);
+
+    elm_genlist_item_class_free(itc_widget);
+
+    return genlist;
+}
+
+static void __add_widget_viewer_item_realized_cb(void *data, Evas_Object *obj, void *event_info)
+{
+    LOGD("item realized_cb");
+
+    char ch[2] = {0, };
+    Elm_Object_Item *item = event_info;
+    Elm_Index_Item *index_item = NULL;
+    add_widget_data_t *widget = NULL;
+
+    widget = (add_widget_data_t *)elm_object_item_data_get(item);
+
+    LOGD("item data: %s", widget->widget_id);
+    ch[0] = widget->widget_id[0];
+
+    if (strlen(ch) == 0) {
+        LOGE("Can not get first char of widget name");
+        return;
+    }
+
+    index_item = elm_index_item_find(add_widget_viewer_s.index, ch);
+    if (!index_item) {
+        LOGE("Can not set selected index item");
+        return ;
+    }
+
+    elm_index_item_selected_set(index_item, EINA_TRUE);
+}
+
+static char *__add_widget_viewer_list_text_get_cb(void *data, Evas_Object *obj, const char *part)
+{
+    add_widget_data_t *widget = data;
+
+    if (!widget || !part)
+        return NULL;
+
+    if (!strcmp(part, "elm.text"))
+        return strdup(widget->label);
+
+    return strdup("widget name not found");
+}
+
+static Evas_Object *__add_widget_viewer_list_content_get_cb(void *data, Evas_Object *obj, const char *part)
+{
+    LOGD("Part: %s", part);
+
+    Evas_Object *main_box = NULL;
+    add_widget_data_t *widget = data;
+
+    if (!widget || !part)
+        return NULL;
+
+    if  (!strcmp(part, SIZE_SETTER)) {
+        Evas_Object *rect = NULL;
+        rect = evas_object_rectangle_add(evas_object_evas_get(obj));
+        if (!rect) {
+            LOGE("Can not create preview box");
+            return NULL;
+        }
+        evas_object_color_set(rect, 255, 255, 255, 0);
+        evas_object_size_hint_min_set(rect, ALLPAGE_PREVIEW_LIST_ITEM_W, ALLPAGE_PREVIEW_LIST_ITEM_H);
+        evas_object_size_hint_max_set(rect, ALLPAGE_PREVIEW_LIST_ITEM_W, ALLPAGE_PREVIEW_LIST_ITEM_H);
+        evas_object_show(rect);
+        return rect;
+    } else if (!strcmp(part, "elm.icon")) {
+        main_box = __add_widget_viewer_list_widget_box_create(obj, widget);
+        if (!main_box) {
+            LOGE("Can not create preview box");
+            return NULL;
+        }
+    }
+
+    return main_box;
+}
+
+static Evas_Object *__add_widget_viewer_list_widget_box_create(Evas_Object *obj, add_widget_data_t *widget)
+{
+    LOGD("Create box for %s", widget->widget_id);
+
+    Evas_Object *box = NULL;
+    Evas_Object *preview_layout = NULL;
+    Eina_List *l;
+    Eina_List *children;
+    add_widget_data_preview_t *preview;
+
+    box = elm_box_add(obj);
+    if (!box) {
+        LOGE("Can not create preview box");
+        return NULL;
+    }
+
+    elm_box_align_set(box, 0.0, 0.0);
+    elm_box_horizontal_set(box, EINA_TRUE);
+    elm_box_homogeneous_set(box, EINA_FALSE);
+    elm_box_padding_set(box, ALLPAGE_PREVIEW_PADDING_MID, 0);
+    evas_object_size_hint_align_set(box, EVAS_HINT_FILL, EVAS_HINT_FILL);
+    evas_object_size_hint_weight_set(box, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+
+    EINA_LIST_FOREACH(widget->preview_list, l, preview) {
+        preview_layout = __add_widget_viewer_list_widget_preview_box_create(box, widget, preview);
+        if (!preview_layout) {
+            LOGE("Can not create preview layout");
+            continue;
+        }
+        evas_object_show(preview_layout);
+
+        switch (preview->type) {
+        case WIDGET_SIZE_TYPE_4x4:
+        case WIDGET_SIZE_TYPE_4x2:
+            evas_object_size_hint_align_set(preview_layout, 0.0, 0.0);
+            elm_box_pack_end(box, preview_layout);
+            break;
+        default:
+            LOGE("Unsupported size\n");
+            break;
+            return NULL;
+        }
+    }
+
+    children = elm_box_children_get(box);
+    if (eina_list_count(children) == 0) {
+        evas_object_del(box);
+        LOGE("Preview is not exists");
+        box = NULL;
+    } else {
+        evas_object_show(box);
+    }
+
+    eina_list_free(children);
+
+    return box;
+}
+
+static Evas_Object *__add_widget_viewer_list_widget_preview_box_create(Evas_Object *main_box, add_widget_data_t *widget, add_widget_data_preview_t *preview)
+{
+    LOGD("Create preview: type->%d path->%s", preview->type, preview->path);
+
+    Evas_Object *preview_layout = NULL;
+    Evas_Object *preview_img = NULL;
+    int w = 0, h = 0;
+    int ret = 0;
+
+    if (!preview || !preview->path || !preview->type) {
+        LOGE("Path to preview image is empty");
+        return NULL;
+    }
+
+    preview_layout = elm_layout_add(main_box);
+    if (!preview_layout) {
+        LOGE("Can not create preview layout");
+        return NULL;
+    }
+
+    ret = elm_layout_file_set(preview_layout, util_get_res_file_path(EDJE_DIR"/add_widget_viewer.edj"), ADD_WIDGET_VIEWER_PREVIEW);
+    if (ret != EINA_TRUE) {
+        LOGE("Can not set preview layout");
+        evas_object_del(preview_layout);
+        return NULL;
+    }
+
+    switch (preview->type) {
+    case WIDGET_SIZE_TYPE_4x2:
+        w = ALLPAGE_PREVIEW_4X2_W;
+        h = ALLPAGE_PREVIEW_4X2_H;
+        break;
+    case WIDGET_SIZE_TYPE_4x4:
+        w = ALLPAGE_PREVIEW_4X4_W;
+        h = ALLPAGE_PREVIEW_4X4_H;
+        break;
+    default:
+        return NULL;
+    }
+
+    Evas_Object *rect = NULL;
+    rect = evas_object_rectangle_add(evas_object_evas_get(preview_layout));
+    if (!rect) {
+        LOGE("Can not create preview layout");
+        return NULL;
+    }
+    evas_object_color_set(rect, 255, 255, 255, 0);
+    evas_object_size_hint_min_set(rect, w, h);
+    evas_object_size_hint_max_set(rect, w, h);
+    elm_object_part_content_set(preview_layout, SIZE_SETTER, rect);
+
+    int *preview_type = calloc(1, sizeof(int));
+    if (!preview_type) {
+        LOGE("Can not allocate memory for additional data");
+        evas_object_del(preview_layout);
+        return NULL;
+    }
+    *preview_type = preview->type;
+
+    preview_img = evas_object_image_filled_add(evas_object_evas_get(preview_layout));
+    if (!preview_img) {
+        LOGE("Can not create image object");
+        evas_object_del(preview_layout);
+        return NULL;
+    }
+
+    evas_object_data_set(preview_layout, "preview_type", preview_type);
+
+    elm_object_signal_callback_add(preview_layout, SIGNAL_PREVIEW_CLICKED, SIGNAL_SOURCE, __add_widget_viewer_preview_clicked_cb, widget);
+
+    evas_object_image_file_set(preview_img, preview->path, NULL);
+    evas_object_image_size_get(preview_img, &w, &h);
+    evas_object_image_fill_set(preview_img, 0, 0, w, h);
+
+    elm_object_part_content_set(preview_layout, ADD_WIDGET_VIEWER_PREVIEW_ICON, preview_img);
+
+    return preview_layout;
+}
+static void __add_widget_viewer_preview_clicked_cb(void *data, Evas_Object *obj, const char *emission, const char *source)
+{
+    LOGD("Preview clicked");
+
+    add_widget_data_t *widget = NULL;
+    int *size = NULL;
+
+    size = evas_object_data_del(obj, "preview_type");
+    if (*size == WIDGET_SIZE_TYPE_UNKNOWN) {
+        LOGE("Can not get widgets size type");
+        return;
+    }
+
+    widget = (add_widget_data_t *)data;
+    if (!widget) {
+        LOGE("Can not get widget");
+        return;
+    }
+
+    cluster_data_insert_widget(widget->widget_id, widget->widget_id, *size);
+
+    free(size);
+
+    cluster_view_set_state(VIEW_STATE_NORMAL);
+}
diff --git a/src/all_apps.c b/src/all_apps.c
deleted file mode 100644 (file)
index e2ce108..0000000
+++ /dev/null
@@ -1,224 +0,0 @@
-/*
- * Copyright 2012  Samsung Electronics Co., Ltd
- *
- * Licensed under the Flora License, Version 1.1 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://floralicense.org/license/
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#include "homescreen-efl.h"
-#include "all_apps.h"
-#include "page_scroller.h"
-#include "app_grid.h"
-#include "dynamic_index.h"
-
-static struct {
-       Evas_Object *all_apps;
-       Evas_Object *parent;
-       Evas_Coord w;
-       Evas_Coord h;
-
-       dynamic_index_t *index;
-
-       bool anim_base_positions_actual;
-       int anim_base_pos_x;
-       int anim_base_pos_y;
-
-} s_info = {
-       .all_apps = NULL,
-       .parent = NULL,
-       .w = -1,
-       .h = -1,
-
-       .index = NULL,
-
-       /*these variables are used during animation transitions:*/
-       .anim_base_positions_actual = false,
-       .anim_base_pos_x = -1,
-       .anim_base_pos_y = -1
-};
-
-
-static bool __all_apps_fill(void);
-
-HAPI void all_apps_detach_from_grid(Elm_Object_Item *grid_item)
-{
-       LOGI("");
-       if (!grid_item) {
-               LOGE("[INVALID_ARG][grid_item='%p']" , grid_item);
-               return;
-       }
-
-       app_grid_unpack_item(grid_item);
-       elm_object_item_del(grid_item);
-}
-
-HAPI Elm_Object_Item *all_apps_attach_to_grid(Evas_Object *icon, int grid_num)
-{
-       Evas_Object *grid = NULL;
-
-       if (!icon) {
-               LOGE("icon == NULL");
-               return NULL;
-       }
-
-       grid = page_scroller_get_page(s_info.all_apps, grid_num);
-
-       if (home_screen_get_view_type() == HOMESCREEN_VIEW_ALL_APPS_CHOOSE)
-               elm_object_signal_emit(icon, SIGNAL_EDIT_MODE_OFF, SIGNAL_SOURCE);
-
-       return app_grid_append_item(grid, icon);
-}
-
-HAPI Evas_Object *all_apps_create(Evas_Object *parent, void *data)
-{
-       Evas_Object *p_edje = NULL;
-
-       /*Created before!*/
-       if (!parent) {
-               LOGE("[INVALID_ARG][parent='%p'][data='%p']" , parent, data);
-               return NULL;
-       }
-       s_info.parent = parent;
-
-       p_edje = elm_layout_edje_get(parent);
-       edje_object_part_geometry_get(p_edje, PART_CONTENT , NULL , NULL, &s_info.w, &s_info.h);
-
-       if (s_info.w < 0 || s_info.h < 0) {
-               LOGE("[FAILED][edje_object_part_geometry_get][w='%d'][h='%d']", s_info.w, s_info.h);
-               return NULL;
-       }
-
-       s_info.all_apps = page_scroller_create(s_info.w, s_info.h);
-       if (!s_info.all_apps) {
-               LOGE("[FAILED][page_scroller_create]");
-               return NULL;
-       }
-
-       if (!__all_apps_fill()) {
-               LOGE("[FAILED][__all_apps_fill]");
-               page_scroller_destroy(s_info.all_apps);
-               s_info.all_apps = NULL;
-               return NULL;
-       }
-
-       s_info.index = dynamic_index_new(s_info.all_apps);
-       if (!s_info.index) {
-               LOGE("[FAILED][dynamic_index_new]");
-               page_scroller_destroy(s_info.all_apps);
-               s_info.all_apps = NULL;
-               return NULL;
-       }
-
-       evas_object_size_hint_min_set(s_info.all_apps, home_screen_get_root_width(), home_screen_get_root_height());
-       evas_object_resize(s_info.all_apps, home_screen_get_root_width(), home_screen_get_root_height());
-       evas_object_move(s_info.all_apps, 0, home_screen_get_root_height());
-
-       return s_info.all_apps;
-}
-
-HAPI void all_apps_show(void)
-{
-        if (s_info.index) {
-               elm_object_part_content_set(s_info.parent, PART_INDEX, s_info.index->box);
-               evas_object_show(s_info.index->box);
-       }
-}
-
-HAPI void all_apps_hide(void)
-{
-       elm_object_part_content_unset(s_info.parent, PART_INDEX);
-       if (s_info.index)
-               evas_object_hide(s_info.index->box);
-}
-
-HAPI void all_apps_del(void)
-{
-       /*app_grids was added into all_apps so it should be removed
-       when this object will be deleted.*/
-       dynamic_index_del(s_info.index);
-       s_info.index = NULL;
-
-       evas_object_del(s_info.all_apps);
-       s_info.all_apps = NULL;
-}
-
-HAPI void all_apps_set_view_mode(homescreen_view_t view)
-{
-       data_model_set_view_mode(view);
-}
-
-HAPI void all_apps_set_scrolling_blocked_state(bool is_blocked)
-{
-       if (is_blocked) page_scroller_freeze(s_info.all_apps);
-       else page_scroller_unfreeze(s_info.all_apps);
-}
-
-HAPI bool all_apps_append_page(Tree_node_t *page_item)
-{
-       Evas_Object *app_grid = app_grid_create(s_info.all_apps, page_item, s_info.w, s_info.h, APP_GRID_TYPE_ALL_APPS);
-
-       if (!app_grid) {
-               LOGE("[FAILED][app_grid_create]");
-               return false;
-       }
-
-       if (!page_scroller_add_page(s_info.all_apps, app_grid)) {
-               LOGE("[FAILED][page_scroller_page_add]");
-               evas_object_del(app_grid);
-               return false;
-       }
-
-       return true;
-}
-
-HAPI void all_apps_remove_empty_pages(void)
-{
-       Evas_Object *empty_page_layout = NULL, *page_layout = NULL, *gengrid_inside_layout = NULL;
-       int i = 0;
-
-       do {
-               i = 0;
-               empty_page_layout = NULL;
-
-               while ((page_layout = page_scroller_get_page(s_info.all_apps, i++))) {
-                       gengrid_inside_layout = elm_object_part_content_get(page_layout, PART_APP_GRID_CONTENT);
-
-                       if (elm_gengrid_items_count(gengrid_inside_layout) == 0) {
-                               empty_page_layout = page_layout;
-                               break;
-                       }
-               }
-               page_scroller_remove_page(s_info.all_apps, empty_page_layout);
-       } while (empty_page_layout);
-}
-
-HAPI void all_apps_update_dynamic_index_count(void)
-{
-       elm_object_signal_emit(s_info.all_apps, "scroller,count,changed", "layout");
-}
-
-static bool __all_apps_fill(void)
-{
-       Tree_node_t *it = NULL;
-       Tree_node_t *data_model = (Tree_node_t *)data_model_get_all_apps();
-
-       if (!data_model) {
-               LOGE("[FAILED][data_model_tree_get");
-               return false;
-       }
-
-       TREE_NODE_FOREACH(data_model, it)
-               if (!all_apps_append_page(it))
-                       return false;
-
-       return true;
-}
\ No newline at end of file
diff --git a/src/app_grid.c b/src/app_grid.c
deleted file mode 100644 (file)
index 74bebbd..0000000
+++ /dev/null
@@ -1,1004 +0,0 @@
-/*
- * Copyright 2012  Samsung Electronics Co., Ltd
- *
- * Licensed under the Flora License, Version 1.1 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://floralicense.org/license/
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#include "app_grid.h"
-#include "homescreen-efl.h"
-#include "app_item.h"
-#include "app_icon.h"
-#include "page_scroller.h"
-#include "all_apps.h"
-#include "folder_panel.h"
-#include "util.h"
-#include "popup.h"
-#include "data_model.h"
-
-typedef enum {
-       NEXT_PAGE_CB = 0,
-       PREV_PAGE_CB,
-       NONE_PAGE_CB
-} page_change_action_t;
-
-typedef enum {
-       MODE_NORMAL = 0,
-       MODE_EDIT,
-       MODE_FOLDER,
-} possible_view_modes_t;
-
-typedef struct {
-       page_change_action_t action;
-       Evas_Object *parent;
-} change_page_data_t;
-
-static struct {
-       Tree_node_t *repositioned_node;
-       Tree_node_t *opened_folder_node;
-       Tree_node_t *destination_folder;
-       Evas_Object *repositioned_icon_layout;
-       Evas_Object *src_grid;
-       Evas_Object *repositioned_icon;
-       Elm_Object_Item *repositioned_item;
-       int src_idx;
-       bool is_dnd_on;
-       Evas_Coord dx;
-       Evas_Coord dy;
-       Elm_Gengrid_Item_Class *gic;
-       Evas_Coord w;
-       Evas_Coord h;
-       int f_x;
-       int f_y;
-       int f_w;
-       int f_h;
-       Ecore_Timer *change_page_timer;
-       Ecore_Timer *outside_folder_timer;
-       change_page_data_t cp_data;
-} s_info = {
-       .repositioned_node = NULL,
-       .opened_folder_node = NULL,
-       .destination_folder = NULL,
-       .repositioned_icon_layout = NULL,
-       .src_grid = NULL,
-       .repositioned_icon = NULL,
-       .repositioned_item = NULL,
-       .src_idx = 1,
-       .is_dnd_on = false,
-       .gic = NULL,
-       .dx = -1,
-       .dy = -1,
-       .w = -1,
-       .h = -1,
-       .f_x = -1,
-       .f_y = -1,
-       .f_w = -1,
-       .f_h = -1,
-       .change_page_timer = NULL,
-       .outside_folder_timer = NULL,
-       .cp_data = {
-               action: NONE_PAGE_CB,
-               parent: NULL
-       }
-};
-
-/*================================= PRIVATE FUNCTIONS ============================================*/
-static bool __app_grid_fill(Evas_Object *grid, Tree_node_t *data);
-static Evas_Object *__app_grid_create_ly(Evas_Object *parent);
-static bool __app_grid_resize(Evas_Object *app_grid, Evas_Coord new_w, Evas_Coord new_h);
-static Evas_Object *__app_grid_get_icon_container_ptr(Elm_Object_Item *it);
-static Eina_Bool __app_grid_change_page_cb(void *data);
-static void __app_grid_check_page_change(Evas_Object *scroller, int x, int y);
-static void __app_grid_clear_reposition_structure(void);
-static Eina_Bool __app_grid_close_folder_cb(void *data);
-static Evas_Object *__app_grid_create_item_container(Evas_Object *parent);
-
-/*================================= GENGRID CALLBACK FUNCTIONS ===================================*/
-static void __app_grid_item_longpressed_cb(void *data, Evas_Object *obj, void *ei);
-static Evas_Object *__app_grid_get_content(void *data, Evas_Object *obj, const char *part);
-static Eina_Bool __app_grid_get_state(void *data, Evas_Object *obj, const char *part);
-static void __app_grid_del_content(void *data, Evas_Object *obj);
-static char *__app_grid_get_text(void *data, Evas_Object *obj, const char *part);
-static void __app_grid_resize_cb(void *data, Evas *e, Evas_Object *obj, void *ei);
-
-/*================================= MOUSE HANDLERS ===============================================*/
-static Eina_Bool _app_grid_mouse_move_cb(void *data, int type, void *event);
-static Eina_Bool __app_grid_mouse_up_cb(void *data, int type, void *event);
-
-/*================================= DND FUNCTIONS ================================================*/
-static void __app_grid_return_to_origin_pos(void);
-static void __app_grid_icon_drop(void *data, Evas_Object *obj, Evas_Coord x, Evas_Coord y,
-               Elm_Xdnd_Action action);
-static void __app_grid_drag_done(void *data, Evas_Object *obj);
-static Evas_Event_Flags __app_grid_icon_move(void *data, void *event_info);
-static Evas_Event_Flags __app_grid_icon_move_end(void *data, void *event_info);
-
-/*================================= PUBLIC FUNCTIONS DEFS ========================================*/
-HAPI Evas_Object *app_grid_create(Evas_Object *parent, Tree_node_t *data, Evas_Coord gengrid_width,
-                       Evas_Coord gengrid_height, app_grid_type_t type)
-{
-       Evas_Object *gengrid = NULL;
-       Evas_Object *layout = NULL;
-       Evas_Object *rect = NULL;
-
-       if (!parent) {
-               LOGE("[INVALID_PARAM]['parent'='%p']", parent);
-               return NULL;
-       }
-
-       rect = evas_object_rectangle_add(evas_object_evas_get(parent));
-       if (!rect) {
-               LOGE("[FAILED][rect=NULL]");
-               return NULL;
-       }
-
-       layout = __app_grid_create_ly(parent);
-       if (!layout) {
-               LOGE("[FAILED][__app_grid_create_ly]");
-               evas_object_del(rect);
-               return NULL;
-       }
-
-       evas_object_color_set(rect, 0, 0, 0, 0);
-       evas_object_size_hint_min_set(rect, gengrid_width, gengrid_height);
-       evas_object_size_hint_max_set(rect, gengrid_width, gengrid_height);
-       elm_object_part_content_set(layout, PART_APP_GRID_SIZE_SETTER, rect);
-
-       gengrid = elm_gengrid_add(layout);
-       if (!gengrid) {
-               LOGE("[FAILED][elm_gengrid_add]");
-               evas_object_del(layout);
-               evas_object_del(rect);
-               return NULL;
-       }
-
-       evas_object_size_hint_weight_set(gengrid, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
-       evas_object_show(gengrid);
-
-       if (!s_info.gic) {
-               if (!(s_info.gic = elm_gengrid_item_class_new())) {
-                       LOGE("[FAILED][elm_gengrid_item_class_new]");
-                       evas_object_del(layout);
-                       evas_object_del(rect);
-                       return NULL;
-               }
-
-               s_info.gic->item_style  = "default";
-               s_info.gic->func.content_get = __app_grid_get_content;
-               s_info.gic->func.del = __app_grid_del_content;
-               s_info.gic->func.text_get = __app_grid_get_text;
-               s_info.gic->func.state_get = __app_grid_get_state;
-
-               ecore_event_handler_add(ECORE_EVENT_MOUSE_MOVE, _app_grid_mouse_move_cb, parent);
-               ecore_event_handler_add(ECORE_EVENT_MOUSE_BUTTON_UP, __app_grid_mouse_up_cb, NULL);
-       }
-
-       elm_object_scale_set(gengrid, 0.5);
-
-       elm_gengrid_select_mode_set(gengrid, ELM_OBJECT_SELECT_MODE_NONE);
-       elm_gengrid_reorder_mode_set(gengrid, EINA_FALSE);
-       elm_gengrid_align_set(gengrid, 0.0, 0.0);
-
-       if (!__app_grid_fill(gengrid, data)) {
-               LOGE("[FAILED][__app_grid_fill]");
-               evas_object_del(layout);
-               evas_object_del(rect);
-               return NULL;
-       }
-
-       if (type == APP_GRID_TYPE_ALL_APPS) {
-               s_info.w = gengrid_width;
-               s_info.h = gengrid_height;
-       } else if (type == APP_GRID_TYPE_FOLDER) {
-               elm_object_signal_emit(layout, SIGNAL_APP_GRID_BG_HIDE, SIGNAL_SOURCE);
-       }
-
-       elm_object_part_content_set(layout, PART_APP_GRID_CONTENT, gengrid);
-       evas_object_smart_callback_add(gengrid, "longpressed", __app_grid_item_longpressed_cb, NULL);
-
-       data->data->layout = layout;
-       evas_object_event_callback_add(gengrid, EVAS_CALLBACK_RESIZE, __app_grid_resize_cb, (void *)type);
-
-       /*It is used only internal.*/
-       evas_object_data_set(gengrid, KEY_APP_GRID_DATA, layout);
-
-       elm_scroller_movement_block_set(gengrid, ELM_SCROLLER_MOVEMENT_BLOCK_VERTICAL);
-       elm_scroller_movement_block_set(gengrid, ELM_SCROLLER_MOVEMENT_BLOCK_HORIZONTAL);
-       elm_gengrid_wheel_disabled_set(gengrid, EINA_TRUE);
-
-       return layout;
-}
-
-HAPI Elm_Object_Item *app_grid_append_item(Evas_Object *layout, Evas_Object *icon_to_append)
-{
-       Elm_Object_Item *result = NULL;
-       Evas_Object *container = NULL;
-
-       if (!layout || !icon_to_append) {
-               LOGE("[INVALID_PARAM][layout='%p'][icon_to_append='%p']", layout, icon_to_append);
-               return NULL;
-       }
-
-       Evas_Object *grid = elm_object_part_content_get(layout, PART_APP_GRID_CONTENT);
-       if (!grid) {
-               LOGE("[FAILED][elm_object_part_content_get]");
-               return NULL;
-       }
-
-       if (!(result = elm_gengrid_item_append(grid, s_info.gic,
-                       (container = app_grid_item_pack(grid, icon_to_append)), NULL, NULL))) {
-               LOGE("Failed to append item");
-               return NULL;
-       }
-
-       evas_object_show(icon_to_append);
-       return result;
-}
-
-HAPI Elm_Object_Item *app_grid_insert_item_relative(Evas_Object *layout, Evas_Object *item,
-                               Elm_Object_Item *rel_it)
-{
-       Evas_Object *app_grid = NULL, *container = NULL;
-       Elm_Object_Item *result = NULL;
-       int dst_idx = -1;
-
-       if (!layout || !item) {
-               LOGE("[INVALID_PARAM][layout='%p'][item='%p']", layout, item);
-               return NULL;
-       }
-
-       app_grid = elm_object_part_content_get(layout, PART_APP_GRID_CONTENT);
-       if (!app_grid) {
-               LOGE("[FAILED][elm_object_part_content_get]");
-               return NULL;
-       }
-
-       if (rel_it) {
-               dst_idx = elm_gengrid_item_index_get(rel_it);
-
-               if ((s_info.src_grid == app_grid && s_info.src_idx > dst_idx)
-                               || (s_info.src_grid != app_grid)) {
-                       if (!(result = elm_gengrid_item_insert_before(app_grid, s_info.gic,
-                               (container = app_grid_item_pack(app_grid, item)), rel_it, NULL, NULL))) {
-                               LOGE("[FAILED][elm_gengrid_item_insert_before]");
-                               evas_object_del(container);
-                               return NULL;
-                       }
-               } else if (s_info.src_grid == app_grid && s_info.src_idx < dst_idx) {
-                       if (!(result = elm_gengrid_item_insert_after(app_grid, s_info.gic,
-                               (container = app_grid_item_pack(app_grid, item)), rel_it, NULL, NULL))) {
-                               LOGE("[FAILED][elm_gengrid_item_insert_before]");
-                               return NULL;
-                       }
-               }
-       } else {
-               if (!(result = elm_gengrid_item_append(app_grid, s_info.gic,
-                               (container = app_grid_item_pack(app_grid, item)), NULL, NULL))) {
-                       LOGE("[FAILED][elm_gengrid_item_append]");
-                       return NULL;
-               }
-       }
-
-       evas_object_show(item);
-       return result;
-}
-
-HAPI Evas_Object *app_grid_item_pack(Evas_Object *p, Evas_Object *c)
-{
-       Evas_Object *container = NULL;
-
-       if (!p) { /*When c is null it is not a big problem...it creates then empty gengrid item */
-               LOGD("[ERR][INVALID_PARAM]['p'='%p']", p);
-               return NULL;
-       }
-
-       /*This items will be removed when gengrid items will be deleted.
-       It was checked in EVAS_CALLBACK_DEL function. */
-       container = __app_grid_create_item_container(home_screen_get_win());
-       if (!container) {
-               LOGE("[FAILED][container=NULL]");
-               return NULL;
-       }
-
-       if (c)
-               elm_object_part_content_set(container, PART_APP_GRID_ITEM, c);
-
-       return container;
-}
-
-HAPI void app_grid_unpack_item(Elm_Object_Item *item)
-{
-       Evas_Object *container = NULL;
-
-       if (!item) {
-               LOGE("[INVALID_PARAM][item=NULL]");
-               return;
-       }
-
-       container = elm_object_item_part_content_get(item, GRID_CONTENT);
-       if (!container) {
-               LOGE("[FAILED][elm_object_item_part_content_get]");
-               return;
-       }
-
-       elm_object_part_content_unset(container, PART_APP_GRID_ITEM);
-}
-
-HAPI Eina_Bool app_grid_get_item_content(Elm_Object_Item *item, Evas_Object **icon,
-                               Tree_node_t **data)
-{
-       Evas_Object *ic = NULL;
-       Evas_Object *container = NULL;
-
-       if (!item) {
-               LOGE("[INVALID_PARAM][item='%p']", item);
-               return EINA_FALSE;
-       }
-
-       container = elm_object_item_part_content_get(item, GRID_CONTENT);
-       if (!container) {
-               LOGE("[FAILED][elm_object_item_part_content_get]");
-               return EINA_FALSE;
-       }
-
-       ic = elm_object_part_content_get(container, PART_APP_GRID_ITEM);
-       if (!ic) {
-               LOGE("[FAILED][eina_list_data_get]");
-               return EINA_FALSE;
-       }
-
-       if (icon)
-               *icon = ic;
-
-       if (data) {
-               *data = evas_object_data_get(ic, KEY_ICON_DATA);
-               if (!(*data)) {
-                       LOGE("[FAILED][evas_object_data_get]");
-                       /*eina_list_free(box_content);*/
-                       return EINA_FALSE;
-               }
-       }
-       return EINA_TRUE;
-}
-
-static Evas_Event_Flags __app_grid_icon_move(void *data, void *event_info)
-{
-       Elm_Gesture_Momentum_Info *pos_info = event_info;
-
-       if(s_info.repositioned_icon == NULL)
-               return EVAS_EVENT_FLAG_NONE;
-
-       evas_object_move(s_info.repositioned_icon, pos_info->x2 - s_info.dx, pos_info->y2 - s_info.dy);
-
-       if (folder_panel_is_folder_visible()) {
-               LOGD("Folder is visible");
-               if ((pos_info->y2 <= s_info.f_y || pos_info->y2 >= s_info.f_y + s_info.f_h) &&
-                               !s_info.outside_folder_timer) {
-
-                       LOGD("Icon is outside folder");
-                       s_info.outside_folder_timer = ecore_timer_add(1.0, __app_grid_close_folder_cb, NULL);
-                       if (!s_info.outside_folder_timer) {
-                               LOGE("[FAILED][timer=NULL]");
-                               return EVAS_EVENT_FLAG_ON_HOLD;
-                       }
-               } else if (pos_info->y2 >= s_info.f_y && pos_info->y2 <= s_info.f_y + s_info.f_h) {
-                       LOGD("Icons position is on folder");
-                       ecore_timer_del(s_info.outside_folder_timer);
-                       s_info.outside_folder_timer = NULL;
-               }
-       }
-
-       return EVAS_EVENT_FLAG_NONE;
-}
-
-static Eina_Bool __app_grid_icon_move_cb_set(void *data)
-{
-       LOGD("Set icon move cb");
-       int ret = 0;
-
-       ret = home_screen_gesture_cb_set(ELM_GESTURE_MOMENTUM, ELM_GESTURE_STATE_MOVE,
-                       __app_grid_icon_move, NULL);
-       ret |= home_screen_gesture_cb_set(ELM_GESTURE_MOMENTUM, ELM_GESTURE_STATE_END,
-                       __app_grid_icon_move_end, NULL);
-       ret |= home_screen_gesture_cb_set(ELM_GESTURE_MOMENTUM, ELM_GESTURE_STATE_ABORT,
-                       __app_grid_icon_move_end, NULL);
-
-       if (ret) {
-               LOGE("Can not set icon move callbacks");
-               return EINA_TRUE;
-       }
-
-       return EINA_FALSE;
-}
-
-static Eina_Bool __app_grid_icon_move_cb_del(void *data)
-{
-       LOGD("Delete icon move cb");
-       int ret = 0;
-
-       ret = home_screen_gesture_cb_unset(ELM_GESTURE_MOMENTUM, ELM_GESTURE_STATE_MOVE,
-                       __app_grid_icon_move, NULL);
-       ret |= home_screen_gesture_cb_unset(ELM_GESTURE_MOMENTUM, ELM_GESTURE_STATE_END,
-                       __app_grid_icon_move_end, NULL);
-       ret |= home_screen_gesture_cb_unset(ELM_GESTURE_MOMENTUM, ELM_GESTURE_STATE_ABORT,
-                       __app_grid_icon_move_end, NULL);
-
-       if (ret)
-               LOGE("Can not unset callbacks");
-
-       return ECORE_CALLBACK_CANCEL;
-}
-
-static Evas_Event_Flags __app_grid_icon_move_end(void *data, void *event_info)
-{
-       Elm_Gesture_Momentum_Info *pos_info = event_info;
-
-       if(s_info.repositioned_icon != NULL) {
-
-               if (pos_info != NULL) {
-                       LOGD("Drag end at: x,y=<%d,%d>", pos_info->x2, pos_info->y2);
-
-                       __app_grid_icon_drop(NULL, s_info.src_grid, pos_info->x2,
-                                       pos_info->y2, ELM_XDND_ACTION_MOVE);
-               }
-
-               __app_grid_drag_done(NULL, NULL);
-       }
-
-       /* quickfix: idler adds delay so cb func might be deleted after it is finished
-        * removing cb inside its body causes memory errors
-       */
-       ecore_idler_add(__app_grid_icon_move_cb_del, NULL);
-
-       return EVAS_EVENT_FLAG_NONE;
-}
-
-/*=====================GENGRID CALLBACKS IMPLEMENTATION===========================================*/
-static void __app_grid_item_longpressed_cb(void *data, Evas_Object *obj, void *ei)
-{
-       Elm_Object_Item *it = (Elm_Object_Item *)ei;
-       Evas_Coord x, y, w, h, m_x, m_y;
-       Evas_Object *icon_layout = NULL;
-       Evas_Object *icon = NULL;
-       Tree_node_t *icon_node = NULL;
-       homescreen_view_t view_type = HOMESCREEN_VIEW_UNKNOWN;
-
-       view_type = home_screen_get_view_type();
-
-       if (view_type != HOMESCREEN_VIEW_ALL_APPS &&
-                       view_type != HOMESCREEN_VIEW_ALL_APPS_EDIT)
-               return;
-
-       if (!it || !app_grid_get_item_content(it, &icon_layout, NULL)) {
-               LOGE("[FAILED][app_grid_item_content_get]");
-               return;
-       }
-
-       if (!evas_object_data_get(icon_layout, KEY_IS_REPOSITIONABLE))
-               return;
-
-       if (!icon_layout) {
-               LOGE("[FAILED][icon_layout=NULL]");
-               return;
-       }
-
-       if (view_type == HOMESCREEN_VIEW_ALL_APPS)
-               home_screen_set_view_type(HOMESCREEN_VIEW_ALL_APPS_EDIT);
-
-       icon = elm_object_part_content_get(icon_layout, PART_ICON_CONTENT);
-       if (!icon) {
-               LOGE("[FAILED][icon=NULL]");
-               return;
-       }
-
-       icon_node = evas_object_data_get(icon_layout, KEY_ICON_DATA);
-       if (!icon_node) {
-               LOGE("[FAILED][icon_node=NULL]");
-               return;
-       }
-
-       /*check if the repositioned item is from a folder.
-       It is necessary for removing item from the folder.*/
-       if (icon_node->parent && icon_node->parent->parent && icon_node->parent->parent->data
-                               && icon_node->parent->parent->data->type == APP_ITEM_FOLDER) {
-               s_info.opened_folder_node = icon_node->parent->parent;
-               folder_panel_get_folder_geometry(&s_info.f_x, &s_info.f_y, &s_info.f_w, &s_info.f_h);
-       }
-
-       evas_object_geometry_get(icon, &x, &y, &w, &h);
-       evas_pointer_output_xy_get(evas_object_evas_get(obj), &m_x, &m_y);
-       s_info.dx = abs(m_x - x);
-       s_info.dy = abs(m_y - y);
-
-       /*check if user perform longpress action on icon or on item.
-       (item is a container for icon..is bigger because it must have place also for icon name)*/
-       if ((m_x >= x && m_x <= x+w) && (m_y >= y && m_y <= y + h)) {
-               s_info.repositioned_icon_layout = icon_layout;
-               s_info.repositioned_icon = icon;
-               s_info.repositioned_item = it;
-               s_info.repositioned_node = icon_node;
-               s_info.src_grid = obj;
-               s_info.src_idx = elm_gengrid_item_index_get(s_info.repositioned_item);
-               s_info.is_dnd_on = true;
-
-               app_grid_unpack_item(it);
-
-               if (__app_grid_icon_move_cb_set(NULL)) {
-                       LOGE("Gesture cb set failed");
-
-                       __app_grid_icon_move_cb_del(NULL);
-               }
-
-               evas_object_data_set(icon, KEY_REPOSITION_DATA, icon_layout);
-               /*This is necessary for hide only box content in grid*/
-               elm_object_part_content_unset(icon_layout, PART_ICON_CONTENT);
-               evas_object_hide(icon_layout);
-               all_apps_set_scrolling_blocked_state(true);
-               folder_panel_enable_entry(false);
-       }
-}
-
-static char *__app_grid_get_text(void *data, Evas_Object *obj, const char *part)
-{
-       return NULL;
-}
-
-static Evas_Object *__app_grid_get_content(void *data, Evas_Object *obj, const char *part)
-{
-       if (!data) {
-               LOGE("[INVALID_PARAM][data='%p']", data);
-               return NULL;
-       }
-
-       if (!strcmp(GRID_CONTENT, part))
-               return (Evas_Object *) data;
-
-       return NULL;
-}
-
-static Eina_Bool __app_grid_get_state(void *data, Evas_Object *obj, const char *part)
-{
-       return EINA_FALSE;
-}
-
-static void __app_grid_del_content(void *data, Evas_Object *obj)
-{
-       LOGD("DELETING :  ", evas_object_type_get(obj));
-
-}
-
-static void __app_grid_resize_cb(void *data, Evas *e, Evas_Object *obj, void *ei)
-{
-       int w = -1, h = -1, item_w = -1, item_h = -1;
-       evas_object_geometry_get(obj, NULL, NULL, &w, &h);
-
-       if ((app_grid_type_t)data == APP_GRID_TYPE_ALL_APPS) {
-               item_w = w/APP_COLS;
-               item_h = h/APP_ROWS;
-       } else if ((app_grid_type_t)data == APP_GRID_TYPE_FOLDER) {
-               item_w = (int)(w/FOLDER_COL_APPS - FOLDER_ITEM_MARGIN*home_screen_get_root_width());
-               item_h = h/FOLDER_ROW_APPS;
-       }
-
-       elm_gengrid_item_size_set(obj, item_w, item_h);
-}
-
-/*=========================== MOUSE HANDLERS =====================================================*/
-static Eina_Bool __app_grid_mouse_up_cb(void *data, int type, void *event)
-{
-       LOGD("");
-
-       if (s_info.is_dnd_on)
-               __app_grid_icon_move_end(NULL, NULL);
-
-       home_screen_set_indice_state(INDICE_OFF);
-       return ECORE_CALLBACK_RENEW;
-}
-
-static Eina_Bool _app_grid_mouse_move_cb(void *data, int type, void *event)
-{
-       if (s_info.is_dnd_on) {
-               Evas_Object *scroller = (Evas_Object *) data;
-               Ecore_Event_Mouse_Move *move = event;
-               __app_grid_check_page_change(scroller, move->x, move->y);
-       }
-
-       return ECORE_CALLBACK_RENEW;
-}
-
-/*========================= PRIVATE FUNCTIONS ====================================================*/
-static bool __app_grid_fill(Evas_Object *grid, Tree_node_t *data)
-{
-       Evas_Object *icon = NULL, *box = NULL;
-       app_item_t *item = NULL;
-       Tree_node_t *it = NULL;
-
-       if (!data || !grid) {
-               LOGE("[INVALID_PARAM][grid='%p'][data='%p']", grid, data);
-               return false;
-       }
-
-       TREE_NODE_FOREACH(data, it) {
-               item = it->data;
-               if (!item) {
-                       LOGE("[FAILED][item=%p", item);
-                       continue;
-               }
-
-               if (!item->exec || !item->icon || !item->label || !item->appid) {
-                       LOGE("[FAILED][exec='%p'][icon='%p'][label='%p'][appid='%p']",
-                               item->exec, item->label, item->icon, item->appid);
-                       continue;
-               }
-
-               LOGI("add item: [%s]", item->label);
-
-               if (item->type == APP_ITEM_ICON) {
-                       icon = app_icon_create(it, APP_ICON_TYPE_APP);
-               } else if (item->type == APP_ITEM_FOLDER) {
-                       folder_panel_create(it);
-                       app_icon_update_folder_icon(it);
-                       icon = item->layout;
-               }
-
-               if (!icon) {
-                       LOGE("[FAILED][app_icon_create]");
-                       return false;
-               }
-
-               if (!(item->grid_item = elm_gengrid_item_append(grid, s_info.gic,
-                               (box = app_grid_item_pack(grid, icon)), NULL, NULL))) {
-                       LOGE("Failed to append an item!");
-                       evas_object_del(box);
-                       if (!box) {/*app_grid_item_pack had failed so the icon is still allocated:*/
-                               app_icon_destroy(icon);
-                       }
-                       return false;
-               }
-
-               item->layout = icon;
-       }
-
-       return true;
-}
-
-static Evas_Object *__app_grid_create_ly(Evas_Object *parent)
-{
-       Evas_Object *ly = NULL;
-
-       if (!parent) {
-               LOGE("[INVALID_PARAM][parent='%p']", parent);
-               return NULL;
-       }
-
-       ly = elm_layout_add(parent);
-       if (!ly) {
-               LOGE("[FAILED][elm_layout_add]");
-               return NULL;
-       }
-
-       if (!elm_layout_file_set(ly, util_get_res_file_path(EDJE_DIR"/app_grid.edj"), GROUP_APP_GRID)) {
-               LOGE("[FAILED][elm_layout_file_set][%s]", util_get_res_file_path(EDJE_DIR"/app_grid.edj"));
-               evas_object_del(ly);
-               return NULL;
-       }
-
-       evas_object_size_hint_weight_set(ly, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
-       evas_object_size_hint_align_set(ly, EVAS_HINT_FILL, EVAS_HINT_FILL);
-       evas_object_show(ly);
-
-       return ly;
-}
-
-void app_grid_set_view_mode(Evas_Object *app_grid, homescreen_view_t view)
-{
-       if (!app_grid) {
-               LOGE("[INVALID_PARAM]");
-               return;
-       }
-
-       switch (view) {
-       case HOMESCREEN_VIEW_ALL_APPS:
-               elm_object_signal_emit(app_grid, SIGNAL_CHOOSE_MODE_OFF, SIGNAL_SOURCE);
-               elm_object_signal_emit(app_grid, SIGNAL_EDIT_MODE_OFF, SIGNAL_SOURCE);
-               __app_grid_resize(app_grid, s_info.w, s_info.h);
-               break;
-       case HOMESCREEN_VIEW_ALL_APPS_EDIT:
-               elm_object_signal_emit(app_grid, SIGNAL_CHOOSE_MODE_OFF, SIGNAL_SOURCE);
-               elm_object_signal_emit(app_grid, SIGNAL_EDIT_MODE_ON, SIGNAL_SOURCE);
-               __app_grid_resize(app_grid, EDIT_MODE_SCALE*s_info.w, EDIT_MODE_SCALE*s_info.h);
-               break;
-       case HOMESCREEN_VIEW_ALL_APPS_CHOOSE:
-               elm_object_signal_emit(app_grid, SIGNAL_EDIT_MODE_OFF, SIGNAL_SOURCE);
-               elm_object_signal_emit(app_grid, SIGNAL_CHOOSE_MODE_ON, SIGNAL_SOURCE);
-               __app_grid_resize(app_grid, CHOOSE_MODE_SCALE*s_info.w, CHOOSE_MODE_SCALE*s_info.h);
-               break;
-       default:
-               LOGE("[FAILED][type='%d']", view);
-               break;
-       }
-}
-
-static bool __app_grid_resize(Evas_Object *app_grid, Evas_Coord new_w, Evas_Coord new_h)
-{
-       Evas_Object *gengrid = NULL;
-
-       Evas_Coord new_item_w = new_w/APP_COLS;
-       Evas_Coord new_item_h = new_h/APP_ROWS;
-
-       if (!app_grid) {
-               LOGE("[INVALID_PARAM][app_grid='%p']", app_grid);
-               return false;
-       }
-
-       gengrid = elm_object_part_content_get(app_grid, PART_APP_GRID_CONTENT);
-       if (!gengrid) {
-               LOGE("[FAILED][elm_object_part_content_get]");
-               return false;
-       }
-
-       if (new_item_w < 0 || new_item_h < 0) {
-               LOGE("[INVALID_SIZE]");
-               return false;
-       }
-
-       /*elm_gengrid_item_size_set(gengrid, new_item_w, new_item_h);*/
-
-       return true;
-}
-
-static Eina_Bool __app_grid_change_page_cb(void *data)
-{
-       LOGI("__app_grid_change_page_cb");
-       change_page_data_t *ch_page_data = (change_page_data_t *) data;
-       Evas_Object *parent = NULL;
-
-       s_info.change_page_timer = NULL;
-
-       if (!ch_page_data) {
-               LOGE("[INVALID_PARAM][ch_page_data='%p']", ch_page_data);
-               return ECORE_CALLBACK_CANCEL;
-       } else if (!ch_page_data->parent) {
-               LOGE("[INVALID_PARAM][ch_page_data->parent='%p']", ch_page_data->parent);
-               return ECORE_CALLBACK_CANCEL;
-       }
-
-       parent = ch_page_data->parent;
-
-       if (ch_page_data->action == NEXT_PAGE_CB) {
-               LOGI("next_page_signal");
-               elm_object_signal_emit(parent, SIGNAL_NEXT_PAGE_CHANGE, SIGNAL_SOURCE);
-       }
-
-       if (ch_page_data->action == PREV_PAGE_CB) {
-               LOGI("prev_page_signal");
-               elm_object_signal_emit(parent, SIGNAL_PREV_PAGE_CHANGE, SIGNAL_SOURCE);
-       }
-
-       return ECORE_CALLBACK_CANCEL;
-}
-
-static void __app_grid_check_page_change(Evas_Object *scroller, int x, int y)
-{
-       if (!scroller) {
-               LOGE("[INVALID_PARAM][scroller='%p']", scroller);
-               return;
-       }
-
-       s_info.cp_data.parent = scroller;
-       home_screen_set_indice_state(INDICE_OFF);
-
-       if (x < CHANGE_PAGE_RIGHT_AREA * home_screen_get_root_width() &&
-               x > CHANGE_PAGE_LEFT_AREA * home_screen_get_root_width()  &&
-               s_info.change_page_timer) {
-               ecore_timer_del(s_info.change_page_timer);
-               s_info.change_page_timer = NULL;
-               return;
-       }
-
-       if (x >= CHANGE_PAGE_RIGHT_AREA * home_screen_get_root_width()) {
-               home_screen_set_indice_state(INDICE_NEXT_PAGE_ON);
-               s_info.cp_data.action = NEXT_PAGE_CB;
-       }
-
-       if (x <= CHANGE_PAGE_LEFT_AREA * home_screen_get_root_width()) {
-               home_screen_set_indice_state(INDICE_PREV_PAGE_ON);
-               s_info.cp_data.action = PREV_PAGE_CB;
-       }
-
-       if (!s_info.change_page_timer) {
-               s_info.change_page_timer = ecore_timer_add(CHANGE_PAGE_TIMER, __app_grid_change_page_cb,
-                               (void *) &s_info.cp_data);
-       }
-}
-
-static Evas_Object *__app_grid_get_icon_container_ptr(Elm_Object_Item *it)
-{
-       Evas_Object *container = NULL;
-
-       if (!it) {
-               LOGE("[INVALID_PARAM][it='%p']", it);
-               return NULL;
-       }
-
-       container = elm_object_item_part_content_get(it, GRID_CONTENT);
-       return container;
-}
-
-static void __app_grid_clear_reposition_structure(void)
-{
-       s_info.destination_folder = NULL;
-       s_info.repositioned_icon_layout = NULL;
-       s_info.repositioned_item = NULL;
-       s_info.repositioned_icon = NULL;
-       s_info.repositioned_node = NULL;
-       s_info.opened_folder_node = NULL;
-       s_info.src_grid = NULL;
-       s_info.src_idx = -1;
-       s_info.is_dnd_on = false;
-
-       s_info.f_x = -1;
-       s_info.f_y = -1;
-       s_info.f_w = -1;
-       s_info.f_h = -1;
-
-       if (s_info.outside_folder_timer) {
-               ecore_timer_del(s_info.outside_folder_timer);
-               s_info.outside_folder_timer = NULL;
-       }
-
-       if (s_info.change_page_timer) {
-               ecore_timer_del(s_info.change_page_timer);
-               s_info.change_page_timer = NULL;
-       }
-}
-
-static Eina_Bool __app_grid_close_folder_cb(void *data)
-{
-       data_model_detach_from_folder(s_info.opened_folder_node, s_info.repositioned_node);
-       folder_panel_close_folder();
-       return EINA_FALSE;
-}
-
-static Evas_Object *__app_grid_create_item_container(Evas_Object *parent)
-{
-       Evas_Object *container = NULL;
-
-       if (!parent) {
-               LOGE("[INVALID_PARAM]");
-               return NULL;
-       }
-
-       container = elm_layout_add(parent);
-
-       if (!elm_layout_file_set(container, util_get_res_file_path(EDJE_DIR"/app_grid.edj"), GROUP_APP_GRID_ITEM_CONTAINER)) {
-               LOGE("[FAILED][elm_layout_file_set][%s]", util_get_res_file_path(EDJE_DIR"/app_grid.edj"));
-               evas_object_del(container);
-               return NULL;
-       }
-
-       evas_object_size_hint_weight_set(container, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
-       evas_object_show(container);
-       return container;
-}
-
-/*=============================== DND FUNCTIONS ==================================================*/
-
-static void __app_grid_return_to_origin_pos(void)
-{
-       Evas_Object *container = NULL;
-
-       if (!s_info.repositioned_item || !s_info.repositioned_icon_layout) {
-               LOGE("[FAILED][repositioned_item='%p'][repositioned_icon='%p']",
-                               s_info.repositioned_item, s_info.repositioned_icon_layout);
-               return;
-       }
-
-       container = __app_grid_get_icon_container_ptr(s_info.repositioned_item);
-       if (!container) {
-               LOGE("[FAILED][__app_grid_get_icon_container_ptr]");
-               return;
-       }
-
-       elm_object_part_content_set(container, PART_APP_GRID_ITEM, s_info.repositioned_icon_layout);
-       elm_object_part_content_set(s_info.repositioned_icon_layout,
-                               PART_ICON_CONTENT, s_info.repositioned_icon);
-       evas_object_show(s_info.repositioned_icon_layout);
-}
-
-static void __app_grid_icon_drop(void *data, Evas_Object *obj, Evas_Coord x, Evas_Coord y,
-                               Elm_Xdnd_Action action)
-{
-       static Elm_Object_Item *it = NULL;
-       Evas_Object *icon = NULL;
-       Evas_Object *old_icon = NULL;
-       Elm_Object_Item *old_it = it;
-       Tree_node_t *destination_icon_data = NULL;
-
-       it = elm_gengrid_at_xy_item_get(obj, x, y, NULL, NULL);
-
-       app_grid_get_item_content(old_it, &old_icon, NULL);
-       app_grid_get_item_content(it, &icon, &destination_icon_data);
-
-       if (!s_info.repositioned_node || !s_info.repositioned_node->data) {
-               LOGE("[INVALID_DATA]");
-               return;
-       }
-
-       if (it != old_it) {
-               elm_object_signal_emit(old_icon, SIGNAL_UNHIGHLIGHT_FOLDER, SIGNAL_SOURCE);
-               /*function not be invoked when s_info.repositioned_node == NULL;*/
-               if (s_info.repositioned_node->data->type == APP_ITEM_FOLDER ||
-                       folder_panel_get_items_count(destination_icon_data) >= FOLDER_MAX_ITEMS) {
-                       elm_object_signal_emit(icon, SIGNAL_HIGHLIGHT_IMPOSSIBLE_FOLDER, SIGNAL_SOURCE);
-               } else {
-                       elm_object_signal_emit(icon, SIGNAL_HIGHLIGHT_FOLDER, SIGNAL_SOURCE);
-               }
-       }
-
-       if (destination_icon_data && destination_icon_data->data->type == APP_ITEM_FOLDER) {
-               s_info.destination_folder = destination_icon_data;
-       } else {
-               s_info.destination_folder = NULL;
-       }
-}
-
-static void __app_grid_drag_done(void *data, Evas_Object *obj)
-{
-       Tree_node_t *folder = s_info.destination_folder;
-       Tree_node_t *item = s_info.repositioned_node;
-       Tree_node_t *src_folder = s_info.opened_folder_node;
-
-       char trbuf[PATH_MAX] = {0, };
-
-       /*Check if folder has empty space*/
-       if (item && folder && folder_panel_get_items_count(folder) < FOLDER_MAX_ITEMS
-               && item->data->type != APP_ITEM_FOLDER) {
-               home_screen_mvc_drag_item_to_folder_cb(item, folder);
-               evas_object_hide(s_info.repositioned_icon);
-       } else if (item && folder && folder_panel_get_items_count(folder) >= FOLDER_MAX_ITEMS) {
-               popup_data_t *p_data = popup_create_data();
-               if (!p_data) {
-                       LOGE("[FAILED][failed to create popup data]");
-                       return;
-               }
-
-               snprintf(trbuf, sizeof(trbuf), _("IDS_HS_TPOP_MAXIMUM_NUMBER_OF_APPLICATIONS_IN_FOLDER_HPD_REACHED"),
-                       FOLDER_APPS_PAGE);
-
-               p_data->type = POPUP_INFO;
-               p_data->popup_title_text = NULL;
-               p_data->popup_content_text = strdup(trbuf);
-               p_data->popup_confirm_text = NULL;
-               p_data->popup_cancel_text = NULL;
-               p_data->orientation = ELM_POPUP_ORIENT_CENTER;
-               p_data->visible_time = 1.5;
-
-               popup_show(p_data, NULL, NULL, NULL);
-
-               __app_grid_return_to_origin_pos();
-       } else if (item && src_folder && !folder_panel_is_folder_visible()) {
-               home_screen_mvc_drag_item_from_folder_cb();
-               elm_object_part_content_set(s_info.repositioned_icon_layout, PART_ICON_CONTENT,
-                               s_info.repositioned_icon);
-               app_icon_set_view_mode(s_info.repositioned_icon_layout, home_screen_get_view_type(), false);
-       } else {
-               __app_grid_return_to_origin_pos();
-       }
-
-       if (folder && folder->data->layout)
-               elm_object_signal_emit(folder->data->layout, SIGNAL_UNHIGHLIGHT_FOLDER, SIGNAL_SOURCE);
-
-       __app_grid_clear_reposition_structure();
-       all_apps_set_scrolling_blocked_state(false);
-       folder_panel_enable_entry(true);
-}
diff --git a/src/app_icon.c b/src/app_icon.c
deleted file mode 100644 (file)
index 2c3bb41..0000000
+++ /dev/null
@@ -1,724 +0,0 @@
-/*
- * Copyright 2012  Samsung Electronics Co., Ltd
- *
- * Licensed under the Flora License, Version 1.1 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://floralicense.org/license/
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#include <Elementary.h>
-#include <stdbool.h>
-#include <package_manager.h>
-#include <package_info.h>
-#include <app_control.h>
-
-#include "homescreen-efl.h"
-#include "app_icon.h"
-#include "all_apps.h"
-#include "util.h"
-#include "folder_panel.h"
-#include "option_menu.h"
-#include "folder_panel.h"
-#include "popup.h"
-#include "app_grid.h"
-#include "data_model.h"
-
-#define MAX_BADGE_COUNT_STR_LEN 32
-#define MAX_BADGE_DISPLAY_COUNT 999
-#define ABOVE_MAX_BADGE_APPENDIX "+"
-
-static struct {
-       Evas_Object *icon_layout;
-       Evas_Object *icon_image;
-       char *runned_app_id;
-       bool click_ignore;
-
-} s_info = {
-       .icon_layout = NULL,
-       .icon_image = NULL,
-       .runned_app_id = NULL,
-       .click_ignore = false,
-};
-
-static void __app_icon_clicked_cb(void *data, Evas_Object *obj, const char *emission, const char *source);
-static void __app_icon_pressed_cb(void *data, Evas_Object *obj, const char *emission, const char *source);
-static void __app_icon_launch_request_cb(app_control_h request, app_control_h reply, app_control_result_e result, void *data);
-static bool __app_icon_check_removeable_state(Evas_Object *icon);
-static void __app_icon_check_cb(void *data, Evas_Object *obj, const char *emission, const char *source);
-static void __app_icon_uncheck_cb(void *data, Evas_Object *obj, const char *emission, const char *source);
-static Evas_Object *__app_icon_load(Evas_Object *parent, const char *icon_path);
-static void __app_icon_uninstall_button_clicked_cb(void *data, Evas_Object *obj, const char *emission, const char *source);
-static void __app_icon_highlight_folder_icon_cb(void *data, Evas_Object *obj, const char *emission, const char *source);
-static void __app_icon_unhighlight_folder_icon_cb(void *data, Evas_Object *obj, const char *emission, const char *source);
-static void __app_icon_higlight_impossible_folder_icon_cb(void *data, Evas_Object *obj, const char *emission, const char *source);
-
-/*=========================================PUBLIC FUNCTIONS IMPLEMENTATION===========================================*/
-HAPI Evas_Object *app_icon_create(Tree_node_t *tree_data, app_icon_type_t type)
-{
-       Evas_Object *icon_image = NULL, *icon_layout = NULL, *folder_icon_layout = NULL;
-       Evas_Object *parent = home_screen_get_win();
-       app_item_t *item = NULL;
-
-       if (!parent || !tree_data) {
-               LOGE("[INVALID_PARAM][parent='%p'][item='%p']", parent, tree_data);
-               return NULL;
-       }
-
-       item = tree_data->data;
-       if (!item) {
-               LOGE("[FAILED][item='%p']", item);
-               return NULL;
-       }
-
-       if (type == APP_ICON_TYPE_APP || type == APP_ICON_TYPE_FOLDER) {
-               icon_layout = util_create_edje_layout(parent, util_get_res_file_path(EDJE_DIR"/icon.edj"), GROUP_ICON_LY);
-               if (!icon_layout) {
-                       LOGE("Failed to create icon layout");
-                       return NULL;
-               }
-
-               elm_object_signal_callback_add(icon_layout, SIGNAL_CHECKBOX_CHECKED, SIGNAL_SOURCE,
-                               __app_icon_check_cb, tree_data);
-               elm_object_signal_callback_add(icon_layout, SIGNAL_CHECKBOX_UNCHECKED, SIGNAL_SOURCE,
-                               __app_icon_uncheck_cb, tree_data);
-               elm_object_signal_callback_add(icon_layout, SIGNAL_UNINSTALL_BUTTON_CLICKED, SIGNAL_SOURCE,
-                               __app_icon_uninstall_button_clicked_cb, tree_data);
-
-               elm_object_signal_callback_add(icon_layout, "mouse,down,1", SIGNAL_PRESS_SOURCE,
-                               __app_icon_pressed_cb, (void *)item->type);
-
-               home_screen_mvc_set_ly_scale(icon_layout);
-       }
-
-       if (type == APP_ICON_TYPE_APP) {
-               icon_image = __app_icon_load(icon_layout, item->icon);
-               if (!icon_image) {
-                       LOGE("Failed to create icon layout");
-                       evas_object_del(icon_layout);
-                       return NULL;
-               }
-
-               elm_object_part_content_set(icon_layout, PART_ICON_CONTENT, icon_image);
-               elm_object_signal_callback_add(icon_layout, SIGNAL_ICON_CLICKED, SIGNAL_SOURCE, __app_icon_clicked_cb, (void *)item->appid);
-
-               app_icon_set_label(icon_layout, item->label);
-
-               if (item->badge_count > 0)
-                       app_icon_show_badge(icon_layout, item->badge_count);
-
-               evas_object_show(icon_image);
-       } else if (type == APP_ICON_TYPE_FOLDER) {
-               folder_icon_layout = elm_layout_add(parent);
-               if (!folder_icon_layout) {
-                       LOGE("Failed to create icon layout");
-                       evas_object_del(icon_layout);
-                       return NULL;
-               }
-
-               if (!elm_layout_file_set(folder_icon_layout, util_get_res_file_path(EDJE_DIR"/folder.edj"), GROUP_FOLDER_ICON_LAYOUT)) {
-                       LOGE("Failed to load edje file for layout");
-                       evas_object_del(folder_icon_layout);
-                       evas_object_del(icon_layout);
-                       return NULL;
-               }
-
-               elm_object_part_content_set(icon_layout, PART_ICON_CONTENT, folder_icon_layout);
-               elm_object_signal_callback_add(icon_layout, SIGNAL_HIGHLIGHT_FOLDER, SIGNAL_SOURCE, __app_icon_highlight_folder_icon_cb, item);
-               elm_object_signal_callback_add(icon_layout, SIGNAL_HIGHLIGHT_IMPOSSIBLE_FOLDER, SIGNAL_SOURCE, __app_icon_higlight_impossible_folder_icon_cb, item);
-               elm_object_signal_callback_add(icon_layout, SIGNAL_UNHIGHLIGHT_FOLDER, SIGNAL_SOURCE, __app_icon_unhighlight_folder_icon_cb, item);
-               app_icon_set_label(icon_layout, item->label);
-               evas_object_show(folder_icon_layout);
-       } else {
-               /*create miniatures*/
-               if (item->icon) {
-                       icon_layout = __app_icon_load(parent, item->icon);
-                       if (!icon_layout) {
-                               LOGE("Failed to create icon layout");
-                               return NULL;
-                       }
-               }
-       }
-
-       evas_object_size_hint_align_set(icon_layout, EVAS_HINT_FILL, EVAS_HINT_FILL);
-       evas_object_size_hint_weight_set(icon_layout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
-       evas_object_show(icon_layout);
-
-       evas_object_data_set(icon_layout, KEY_ICON_DATA, tree_data);
-       evas_object_data_set(icon_layout, KEY_IS_REPOSITIONABLE, (void *)true);
-
-       return icon_layout;
-}
-
-HAPI void app_icon_update_folder_icon(Tree_node_t *folder_node)
-{
-       LOGI("");
-       Evas_Object *miniatures_list_item = NULL;
-       Evas_Object *folder_icon = NULL;
-       Evas_Object *item = NULL;
-       Eina_List *it = NULL;
-       Tree_node_t *it2;
-       folder_data_t *folder_data = NULL;
-       app_item_t *tree_item = NULL;
-
-       char part_buf[BUF_SIZE];
-       char signal_buf[BUF_SIZE];
-
-       int miniatures = 0;
-       int miniatures_iterator = 0;
-
-       if (!folder_node || !folder_node->data || !folder_node->data->layout || !folder_node->data->data) {
-               LOGE("[INVALID_PARAMS]");
-               return;
-       }
-
-       folder_icon = elm_object_part_content_get(folder_node->data->layout, PART_ICON_CONTENT);
-       if (!folder_icon) {
-               LOGE("Failed to get folder icon");
-               return;
-       }
-
-       folder_data = (folder_data_t *)folder_node->data->data;
-
-       if (!folder_data) {
-               LOGE("Failed to get folder_data");
-               return;
-       }
-
-       EINA_LIST_FOREACH(folder_data->miniatures, it, miniatures_list_item) {
-               snprintf(part_buf, sizeof(part_buf), "miniature_%d", miniatures_iterator++);
-               elm_object_part_content_unset(folder_icon, part_buf);
-               evas_object_del(miniatures_list_item);
-       }
-       folder_data->miniatures = eina_list_free(folder_data->miniatures);
-       folder_data->miniatures = NULL;
-
-       if (!folder_node->first || !(miniatures = folder_node->first->count)) {
-               elm_object_signal_emit(folder_icon, SIGNAL_EMPTY_BG_SHOW, SIGNAL_SOURCE);
-               return;
-       }
-
-       if (miniatures >= 3) {
-               miniatures = 4;
-       }
-
-       miniatures_iterator = 0;
-       TREE_NODE_FOREACH(folder_node->first, it2)
-       {
-               tree_item = it2->data;
-
-               if (tree_item) {
-                       if (miniatures_iterator >= FOLDER_ICON_MAX_MINIATURES)
-                               break;
-                       LOGI("label %s", tree_item->label);
-                       item  = app_icon_create(it2, APP_ICON_TYPE_MINIATURE);
-
-                       if (!item)
-                               return;
-
-                       folder_data->miniatures = eina_list_append(folder_data->miniatures, item);
-                       if (!folder_data->miniatures) {
-                               app_icon_destroy(item);
-                               return;
-                       }
-
-                       snprintf(part_buf, sizeof(part_buf), "miniature_%d", miniatures_iterator++);
-                       elm_object_part_content_set(folder_icon, part_buf, item);
-               }
-       }
-
-       snprintf(signal_buf, sizeof(signal_buf), "set,miniatures,%d", miniatures);
-       elm_object_signal_emit(folder_icon, signal_buf, SIGNAL_SOURCE);
-}
-
-HAPI void app_icon_highlight_folder_icon(Evas_Object *folder_icon_layout, folder_icon_frame_type_t frame_type)
-{
-       Evas_Object *icon = NULL;
-       Tree_node_t *node = NULL;
-
-       if (!folder_icon_layout) {
-               LOGE("Invalid parameter");
-               return;
-       }
-
-       icon = elm_object_part_content_get(folder_icon_layout, PART_ICON_CONTENT);
-       if (!icon) {
-               LOGE("Failed to get icon");
-               return;
-       }
-
-       node = evas_object_data_get(folder_icon_layout, KEY_ICON_DATA);
-       if (!node) {
-               LOGE("[FAILED][node=NULL]");
-               return;
-       }
-
-       LOGI("count %d ", node->count);
-
-       if (frame_type == FOLDER_ICON_FRAME_POSSIBLE) {
-               elm_object_signal_emit(icon, SIGNAL_FRAME_POSSIBLE_SHOW, SIGNAL_SOURCE);
-       } else if (frame_type == FOLDER_ICON_FRAME_IMPOSSIBLE) {
-               elm_object_signal_emit(icon, SIGNAL_FRAME_IMPOSSIBLE_SHOW, SIGNAL_SOURCE);
-       } else {
-               elm_object_signal_emit(icon, SIGNAL_FRAME_HIDE, SIGNAL_SOURCE);
-       }
-}
-
-HAPI void app_icon_set_click_ignore(bool ignore)
-{
-       s_info.click_ignore = ignore;
-       folder_panel_set_click_ignore_state(ignore);
-}
-
-HAPI bool app_icon_set_view_mode(Evas_Object *icon, homescreen_view_t view, bool in_folder)
-{
-       Tree_node_t *node = NULL;
-
-       switch (view) {
-       case HOMESCREEN_VIEW_ALL_APPS:
-               in_folder ? elm_object_signal_emit(icon, SIGNAL_EDIT_MODE_BLACK_OFF, SIGNAL_SOURCE) :
-                               elm_object_signal_emit(icon, SIGNAL_EDIT_MODE_OFF, SIGNAL_SOURCE);
-               elm_object_signal_emit(icon, SIGNAL_UNINSTALL_BUTTON_HIDE, SIGNAL_SOURCE);
-               elm_object_signal_emit(icon, SIGNAL_CHECKBOX_HIDE, SIGNAL_SOURCE);
-               app_icon_set_click_ignore(false);
-               break;
-       case HOMESCREEN_VIEW_ALL_APPS_EDIT:
-               in_folder ? elm_object_signal_emit(icon, SIGNAL_EDIT_MODE_BLACK_ON, SIGNAL_SOURCE) :
-                               elm_object_signal_emit(icon, SIGNAL_EDIT_MODE_ON, SIGNAL_SOURCE);
-               if (__app_icon_check_removeable_state(icon))
-                       elm_object_signal_emit(icon, SIGNAL_UNINSTALL_BUTTON_SHOW, SIGNAL_SOURCE);
-               app_icon_set_click_ignore(true);
-               break;
-       case HOMESCREEN_VIEW_ALL_APPS_CHOOSE:
-               in_folder ? elm_object_signal_emit(icon, SIGNAL_EDIT_MODE_BLACK_ON, SIGNAL_SOURCE) :
-                               elm_object_signal_emit(icon, SIGNAL_EDIT_MODE_ON, SIGNAL_SOURCE);
-               elm_object_signal_emit(icon, SIGNAL_UNINSTALL_BUTTON_HIDE, SIGNAL_SOURCE);
-
-               node = evas_object_data_get(icon, KEY_ICON_DATA);
-               if (node && node->data->type != APP_ITEM_FOLDER)
-                       elm_object_signal_emit(icon, SIGNAL_CHECKBOX_SHOW_UNCHECKED, SIGNAL_SOURCE);
-               else
-                       elm_object_signal_emit(icon, SIGNAL_CHECKBOX_HIDE, SIGNAL_SOURCE);
-
-               app_icon_set_click_ignore(true);
-               break;
-       case HOMESCREEN_VIEW_HOME:
-       case HOMESCREEN_VIEW_HOME_EDIT:
-       case HOMESCREEN_VIEW_HOME_ALL_PAGES:
-       default:
-               app_icon_set_click_ignore(true);
-               break;
-       }
-
-       return true;
-}
-
-HAPI void app_icon_set_label(Evas_Object *icon_layout, const char* label)
-{
-       if (!icon_layout || !label) {
-               LOGE("Invalid parameter");
-               return;
-       }
-
-       elm_object_part_text_set(icon_layout, PART_ICON_NAME, label);
-}
-
-HAPI void app_icon_set_label_black(Evas_Object *icon_layout)
-{
-       if (home_screen_get_view_type() == HOMESCREEN_VIEW_ALL_APPS_EDIT) {
-               elm_object_signal_emit(icon_layout, SIGNAL_EDIT_MODE_BLACK_ON, SIGNAL_SOURCE);
-       } else {
-               elm_object_signal_emit(icon_layout, SIGNAL_BLACK_TEXT, SIGNAL_SOURCE);
-       }
-}
-
-HAPI void app_icon_set_color(Evas_Object *icon_layout, int r, int g, int b, int a)
-{
-       if (!icon_layout) {
-               LOGE("Failed to get folder icon layout");
-               return;
-       }
-
-       evas_object_color_set(icon_layout, r, g, b, a);
-}
-
-HAPI void app_icon_destroy(Evas_Object *icon_layout)
-{
-       if (!icon_layout) {
-               LOGE("Invalid parameter : icon_layout is NULL");
-               return;
-       }
-
-       evas_object_del(icon_layout);
-}
-
-
-HAPI void app_icon_show_badge(Evas_Object *app_icon_layout, const unsigned int number)
-{
-       char number_str[MAX_BADGE_COUNT_STR_LEN];
-
-       if (!app_icon_layout) {
-               LOGE("Invalid state of the application - icon_layout is NULL");
-               return;
-       }
-
-       if (number == 0) {
-               app_icon_hide_badge(app_icon_layout);
-               return;
-       }
-
-       if (number > MAX_BADGE_DISPLAY_COUNT) {
-               eina_convert_itoa(MAX_BADGE_DISPLAY_COUNT, number_str);
-               strncat(number_str, ABOVE_MAX_BADGE_APPENDIX, MAX_BADGE_COUNT_STR_LEN);
-       } else {
-               eina_convert_itoa(number, number_str);
-       }
-
-       elm_layout_text_set(app_icon_layout, "icon_badge_text", number_str);
-
-       elm_object_signal_emit(app_icon_layout, SIGNAL_BADGE_SHOW, SIGNAL_SOURCE);
-}
-
-HAPI void app_icon_hide_badge(Evas_Object *app_icon_layout)
-{
-       if (!app_icon_layout) {
-               LOGE("Invalid state of the application - icon_layout is NULL");
-               return;
-       }
-
-       elm_object_signal_emit(app_icon_layout, SIGNAL_BADGE_HIDE, SIGNAL_SOURCE);
-}
-
-HAPI void app_icon_show_label(Evas_Object *app_icon_layout)
-{
-       Evas_Object *icon = NULL;
-
-       if (app_icon_layout) {
-               icon = elm_object_part_content_get(app_icon_layout, PART_ICON_CONTENT);
-               if (icon)
-                       elm_object_signal_emit(icon, SIGNAL_LABEL_SHOW, SIGNAL_SOURCE);
-       }
-}
-
-HAPI void app_icon_hide_label(Evas_Object *app_icon_layout)
-{
-       Evas_Object *icon = NULL;
-
-       if (app_icon_layout) {
-               icon = elm_object_part_content_get(app_icon_layout, PART_ICON_CONTENT);
-               if (icon)
-                       elm_object_signal_emit(icon, SIGNAL_LABEL_HIDE, SIGNAL_SOURCE);
-       }
-}
-
-HAPI void app_icon_remove(Evas_Object *icon_layout)
-{
-       if (!icon_layout) {
-               LOGE("[INVALID_PARAM]");
-               return;
-       }
-
-       evas_object_data_del(icon_layout, KEY_ICON_DATA);
-       evas_object_del(icon_layout);
-}
-
-
-/*=========================================PRIVATE FUNCTIONS IMPLEMENTATION======================================*/
-static void __app_icon_launch_request_cb(app_control_h request, app_control_h reply, app_control_result_e result, void *data)
-{
-       LOGD("[__app_icon_launch_request_cb]");
-       switch (result) {
-       case APP_CONTROL_RESULT_CANCELED:
-               LOGD("[APP_CONTROL_RESULT_CANCELED]");
-               s_info.runned_app_id = NULL;
-               break;
-       case APP_CONTROL_RESULT_FAILED:
-               LOGD("[APP_CONTROL_RESULT_FAILED]");
-               s_info.runned_app_id = NULL;
-               break;
-       case APP_CONTROL_RESULT_SUCCEEDED:
-               LOGD("[APP_CONTROL_RESULT_SUCCEEDED]");
-               break;
-       default:
-               LOGD("UNKNOWN ERROR");
-               s_info.runned_app_id = NULL;
-               break;
-       }
-}
-
-static void __app_icon_clicked_cb(void *data, Evas_Object *obj, const char *emission, const char *source)
-{
-       char *appid = (char *) data;
-       app_control_h app_control_handle = NULL;
-
-       if (!appid) {
-               LOGE("Failed to obtain pgk_id of clicked application");
-               return;
-       }
-
-       if (s_info.click_ignore == false) {
-               if (!s_info.runned_app_id) {
-                       folder_panel_close_folder();
-
-                       if (app_control_create(&app_control_handle) != APP_CONTROL_ERROR_NONE) {
-                               LOGE("[FAILED][app_control_create]");
-                               return;
-                       }
-
-                       if (app_control_set_app_id(app_control_handle, appid) != APP_CONTROL_ERROR_NONE) {
-                               LOGE("[FAILED][app_control_set_app_id]");
-                               app_control_destroy(app_control_handle);
-                               return;
-                       }
-
-                       if (app_control_send_launch_request(app_control_handle, __app_icon_launch_request_cb, NULL) != APP_CONTROL_ERROR_NONE) {
-                               LOGE("[FAILED][app_control_send_launch_request]");
-                               app_control_destroy(app_control_handle);
-                               return;
-                       }
-                       app_control_destroy(app_control_handle);
-               }
-       }
-
-}
-
-static void __app_icon_pressed_cb(void *data, Evas_Object *obj, const char *emission, const char *source)
-{
-       app_item_type_t type = (app_item_type_t)data;
-
-       if (type == APP_ITEM_FOLDER ||
-               home_screen_get_view_type() == HOMESCREEN_VIEW_ALL_APPS)
-                       elm_object_signal_emit(obj, SIGNAL_ICON_PRESS, SIGNAL_PRESS_SOURCE);
-}
-
-static bool __app_icon_check_removeable_state(Evas_Object *icon)
-{
-       Tree_node_t *item = NULL;
-       if (!icon) {
-               LOGE("[INVALID_PARAM][icon='%p']", icon);
-               return false;
-       }
-
-       item = evas_object_data_get(icon, KEY_ICON_DATA);
-       if (!item) {
-               LOGE("[FAILED][evas_object_data_get]");
-               return false;
-       }
-
-       if (!item->data) {
-               LOGE("[FAILED][item->data='%p']", item->data);
-               return false;
-       }
-
-       return item->data->removable;
-}
-
-static void __app_icon_check_cb(void *data, Evas_Object *obj, const char *emission, const char *source)
-{
-       folder_checked_t check_info = FOLDER_PANEL_CHECKED_NONE;
-       Tree_node_t *node = (Tree_node_t *)data;
-       app_item_t *item = node->data;
-       int count = -1;
-       char trbuf[PATH_MAX] = {0, };
-
-       if (item->type == APP_ITEM_ICON) {
-               item->is_checked = true;
-               if (node->parent->parent->data->type == APP_ITEM_FOLDER) {
-
-                       check_info = folder_panel_set_content_checked(node->parent->parent);
-
-                       switch (check_info) {
-                       case FOLDER_PANEL_CHECKED_NONE:
-                               elm_object_signal_emit(node->parent->parent->data->layout, SIGNAL_CHECKBOX_HIDE, SIGNAL_SOURCE);
-                               break;
-                       case FOLDER_PANEL_CHECKED_ANY:
-                               elm_object_signal_emit(node->parent->parent->data->layout, SIGNAL_CHECKBOX_SHOW_DIMMED, SIGNAL_SOURCE);
-                               break;
-                       case FOLDER_PANEL_CHECKED_ALL:
-                               elm_object_signal_emit(node->parent->parent->data->layout, SIGNAL_CHECKBOX_SHOW_CHECKED, SIGNAL_SOURCE);
-                               break;
-                       }
-               }
-       } else if (item->type == APP_ITEM_FOLDER) {
-               data_model_check_all_apps(node, true);
-       }
-       option_menu_update_on_item_selected();
-
-       count = data_model_get_app_check_state();
-       if (count > FOLDER_MAX_ITEMS) {
-               __app_icon_uncheck_cb(data, obj, SIGNAL_CHECKBOX_UNCHECKED, SIGNAL_SOURCE);
-               elm_object_signal_emit(node->data->layout, SIGNAL_CHECKBOX_SHOW_UNCHECKED, SIGNAL_SOURCE);
-
-               popup_data_t *p_data = popup_create_data();
-               if (!p_data) {
-                       LOGE("[FAILED][failed to create popup data]");
-                       return;
-               }
-
-               snprintf(trbuf, sizeof(trbuf), _("IDS_HS_TPOP_MAXIMUM_NUMBER_OF_APPLICATIONS_IN_FOLDER_HPD_REACHED"),
-                       FOLDER_APPS_PAGE);
-
-               p_data->type = POPUP_INFO;
-               p_data->popup_title_text = NULL;
-               p_data->popup_content_text = strdup(trbuf);
-               p_data->popup_confirm_text = NULL;
-               p_data->popup_cancel_text = NULL;
-               p_data->orientation = ELM_POPUP_ORIENT_CENTER;
-               p_data->visible_time = 2.0;
-
-               popup_show(p_data, NULL, NULL, NULL);
-       }
-}
-
-static void __app_icon_uncheck_cb(void *data, Evas_Object *obj, const char *emission, const char *source)
-{
-       folder_checked_t check_info = FOLDER_PANEL_CHECKED_NONE;
-
-       Tree_node_t *node = (Tree_node_t *)data;
-       app_item_t *item = node->data;
-       if (item->type == APP_ITEM_ICON) {
-               item->is_checked = false;
-
-               if (node->parent->parent->data->type == APP_ITEM_FOLDER) {
-
-                       check_info = folder_panel_set_content_checked(node->parent->parent);
-
-                       switch (check_info) {
-                       case FOLDER_PANEL_CHECKED_NONE:
-                               elm_object_signal_emit(node->parent->parent->data->layout, SIGNAL_CHECKBOX_HIDE, SIGNAL_SOURCE);
-                               break;
-                       case FOLDER_PANEL_CHECKED_ANY:
-                               elm_object_signal_emit(node->parent->parent->data->layout, SIGNAL_CHECKBOX_SHOW_DIMMED, SIGNAL_SOURCE);
-                               break;
-                       case FOLDER_PANEL_CHECKED_ALL:
-                               elm_object_signal_emit(node->parent->parent->data->layout, SIGNAL_CHECKBOX_SHOW_CHECKED, SIGNAL_SOURCE);
-                               break;
-                       }
-               }
-       } else if (item->type == APP_ITEM_FOLDER) {
-               data_model_check_all_apps(node, false);
-               elm_object_signal_emit(item->layout, SIGNAL_CHECKBOX_HIDE, SIGNAL_SOURCE);
-       }
-       option_menu_update_on_item_selected();
-}
-
-Evas_Object *__app_icon_load(Evas_Object *parent, const char *icon_path)
-{
-       Evas_Object *icon_image = NULL;
-
-       if (!parent || !icon_path) {
-               LOGE("Invalid parameter");
-               return NULL;
-       }
-
-       icon_image = elm_image_add(parent);
-       if (!icon_image) {
-               LOGE("Failed to create an icon.");
-               return NULL;
-       }
-
-       if ((strncmp("", icon_path, strlen(icon_path)) && elm_image_file_set(icon_image, icon_path, NULL)) || elm_image_file_set(icon_image, util_get_res_file_path(DEFAULT_APP_ICON), NULL))
-               return icon_image;
-
-       evas_object_del(icon_image);
-       return NULL;
-}
-
-static void __app_icon_uninstall_button_clicked_cb(void *data, Evas_Object *obj, const char *emission, const char *source)
-{
-       LOGI("__app_icon_uninstall_button_clicked_cb");
-       Tree_node_t *app_node = NULL;
-       char buf[BUF_SIZE] = {0, };
-
-       app_node = (Tree_node_t *) data;
-       if (!app_node) {
-               LOGE("[FAILED][evas_object_data_get]");
-               return;
-       }
-
-       if (!app_node->data || !app_node->data->label) {
-               LOGE("[INVALID][invalid node data]");
-               return;
-       }
-
-       popup_data_t *p_data = popup_create_data();
-       if (!p_data) {
-               LOGE("[FAILED][failed to create popup data]");
-               return;
-       }
-
-       if ((app_node->data->type == APP_ITEM_FOLDER) && (folder_panel_get_items_count(app_node) > 0)) {
-               p_data->type = POPUP_TWO_BUTTONS;
-               p_data->popup_title_text = strdup(_("IDS_HS_HEADER_REMOVE_FOLDER_ABB"));
-               p_data->popup_content_text = strdup(_("IDS_HS_BODY_FOLDER_WILL_BE_REMOVED_APPLICATIONS_IN_THIS_FOLDER_WILL_NOT_BE_UNINSTALLED"));
-               p_data->popup_confirm_text = strdup(_("IDS_ST_BUTTON_REMOVE_ABB2"));
-               p_data->popup_cancel_text = strdup(_("IDS_CAM_SK_CANCEL"));
-               p_data->orientation = ELM_POPUP_ORIENT_CENTER;
-               popup_show(p_data, app_icon_uninstall, NULL, (void *) obj);
-       } else if (app_node->data->type == APP_ITEM_ICON) {
-               snprintf(buf, sizeof(buf), _("IDS_HS_POP_PS_WILL_BE_UNINSTALLED"), app_node->data->label);
-               p_data->type = POPUP_TWO_BUTTONS;
-               p_data->popup_title_text = strdup(_("IDS_AT_BODY_UNINSTALL"));
-               p_data->popup_content_text = strdup(buf);
-               p_data->popup_confirm_text = strdup(_("IDS_AT_BODY_UNINSTALL"));
-               p_data->popup_cancel_text = strdup(_("IDS_CAM_SK_CANCEL"));
-               p_data->orientation = ELM_POPUP_ORIENT_CENTER;
-               popup_show(p_data, app_icon_uninstall, NULL, (void *) obj);
-       } else {
-               app_icon_uninstall((void *) obj);
-               popup_data_free(p_data);
-       }
-}
-
-void app_icon_uninstall(void *data)
-{
-       Tree_node_t *app_node = NULL;
-       Evas_Object *icon = NULL;
-
-       icon = (Evas_Object *) data;
-       if (!icon) {
-               LOGE("[INVALID_PARAM][data='%p']", data);
-               return;
-       }
-
-       LOGI("[%s]", evas_object_type_get(icon));
-
-       app_node = evas_object_data_get(icon, KEY_ICON_DATA);
-       if (!app_node || !app_node->data) {
-               LOGE("[FAILED][evas_object_data_get]");
-               return;
-       }
-
-       all_apps_detach_from_grid(app_node->data->grid_item);
-       app_node->data->grid_item = NULL;
-       app_icon_remove(icon);
-       app_node->data->layout = NULL;
-
-       home_screen_mvc_item_uninstall_cb(app_node);
-}
-
-static void __app_icon_highlight_folder_icon_cb(void *data, Evas_Object *obj, const char *emission, const char *source)
-{
-       Evas_Object *icon = elm_object_part_content_get(obj, PART_ICON_CONTENT);
-       elm_object_signal_emit(icon, SIGNAL_FRAME_POSSIBLE_SHOW, SIGNAL_SOURCE);
-}
-
-static void __app_icon_unhighlight_folder_icon_cb(void *data, Evas_Object *obj, const char *emission, const char *source)
-{
-       Evas_Object *icon = elm_object_part_content_get(obj, PART_ICON_CONTENT);
-       elm_object_signal_emit(icon, SIGNAL_FRAME_HIDE, SIGNAL_SOURCE);
-}
-
-static void __app_icon_higlight_impossible_folder_icon_cb(void *data, Evas_Object *obj, const char *emission, const char *source)
-{
-       Evas_Object *icon = elm_object_part_content_get(obj, PART_ICON_CONTENT);
-       elm_object_signal_emit(icon, SIGNAL_FRAME_IMPOSSIBLE_SHOW, SIGNAL_SOURCE);
-}
-/*===============================================================================================================*/
diff --git a/src/app_item.c b/src/app_item.c
deleted file mode 100644 (file)
index 4e43188..0000000
+++ /dev/null
@@ -1,122 +0,0 @@
-/*
- * Copyright 2012  Samsung Electronics Co., Ltd
- *
- * Licensed under the Flora License, Version 1.1 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://floralicense.org/license/
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#include "homescreen-efl.h"
-#include "app_item.h"
-#include "app_mgr.h"
-
-static struct
-{
-       int unique_id;
-} s_app_item_info = {
-       .unique_id = -1
-};
-
-HAPI app_item_t *app_item_create(const app_item_type_t type, const int unique_id,
-                               const char *label, const char *icon, const char *exec,
-                               const char *appid, void *data, bool is_removeable,
-                               int col, int row, int col_span, int row_span,
-                               const char *content_info)
-{
-       app_item_t *item = (app_item_t *)calloc(1, sizeof(app_item_t));
-
-       if (!item) {
-               dlog_print(DLOG_ERROR, LOG_TAG, "[ALLOC_FAILED]");
-               return NULL;
-       }
-
-       item->type = type;
-       if (unique_id < 0) {
-               item->unique_id = ++s_app_item_info.unique_id;
-       } else {
-               item->unique_id = unique_id;
-               s_app_item_info.unique_id = s_app_item_info.unique_id > unique_id ? s_app_item_info.unique_id : unique_id;
-       }
-
-       if (label)
-               item->label = strdup(label);
-       if (icon)
-               item->icon = strdup(icon);
-       if (exec)
-               item->exec = strdup(exec);
-       if (appid)
-               item->appid = strdup(appid);
-       if (content_info)
-               item->content_info = strdup(content_info);
-
-       item->badge_count = 0;
-       item->data = data;
-       item->removable = is_removeable;
-       item->is_checked = false;
-       item->layout = NULL;
-       item->grid_item = NULL;
-
-       item->col = col;
-       item->row = row;
-       item->col_span = col_span;
-       item->row_span = row_span;
-
-
-       return item;
-}
-
-HAPI void app_item_free(app_item_t *item)
-{
-       if (!item)
-               return;
-
-       free((void *)item->label);
-       free((void *)item->icon);
-       free((void *)item->exec);
-       free((void *)item->appid);
-       free((void *)item->content_info);
-
-       evas_object_data_del(item->layout, KEY_ICON_DATA);
-
-       free(item);
-}
-
-HAPI void app_item_geometry_update(app_item_t *app_item, int x, int y, int w, int h)
-{
-       if (!app_item) {
-               LOGE("app_item == NULL");
-               return;
-       }
-
-       app_item->col = x;
-       app_item->row = y;
-       app_item->col_span = w;
-       app_item->row_span = h;
-}
-
-HAPI void app_item_update_content_info(app_item_t *app_item, const char *content_info)
-{
-       if (!app_item) {
-               LOGE("app_item == NULL");
-               return;
-       }
-
-       if (app_item->content_info)
-               free(app_item->content_info);
-
-       if (content_info) {
-               app_item->content_info = strdup(content_info);
-       } else {
-               app_item->content_info = NULL;
-       }
-}
-
-
diff --git a/src/app_mgr.c b/src/app_mgr.c
deleted file mode 100644 (file)
index 4720064..0000000
+++ /dev/null
@@ -1,383 +0,0 @@
-/*
- * Copyright 2012  Samsung Electronics Co., Ltd
- *
- * Licensed under the Flora License, Version 1.1 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://floralicense.org/license/
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#include <app_manager.h>
-#include <package_manager.h>
-#include "homescreen-efl.h"
-#include "app_mgr.h"
-#include "util.h"
-#include "data_model.h"
-#include "app_icon.h"
-
-static struct
-{
-       package_manager_h pack_mgr;
-} s_app_mgr_info = {
-       .pack_mgr = NULL,
-};
-
-static bool __app_info_cb(app_info_h ai, void *ud);
-static void __app_mgr_event_cb(const char *type, const char *package,
-               package_manager_event_type_e event_type,
-               package_manager_event_state_e event_state,
-               int progress,
-               package_manager_error_e error,
-               void *user_data);
-
-static app_mgr_item_t *__app_mgr_load_item_info(app_info_h ai_h);
-
-HAPI void app_mgr_init(void)
-{
-       package_manager_error_e res_stat = PACKAGE_MANAGER_ERROR_NONE;
-       package_manager_error_e res_cb = PACKAGE_MANAGER_ERROR_NONE;
-
-       if (s_app_mgr_info.pack_mgr)
-               return;
-
-       if (PACKAGE_MANAGER_ERROR_NONE ==
-               package_manager_create(&s_app_mgr_info.pack_mgr)) {
-               LOGD("PACKAGE_EVENT_MGR - handle obtained");
-
-               res_stat = package_manager_set_event_status(
-                       s_app_mgr_info.pack_mgr,
-                       PACKAGE_MANAGER_STATUS_TYPE_INSTALL |
-                       PACKAGE_MANAGER_STATUS_TYPE_UNINSTALL);
-
-               res_cb = package_manager_set_event_cb(
-               s_app_mgr_info.pack_mgr, __app_mgr_event_cb, NULL);
-
-               if (res_stat != PACKAGE_MANAGER_ERROR_NONE ||
-                       res_cb != PACKAGE_MANAGER_ERROR_NONE)
-                       LOGE("App mgr initialization failed!");
-       } else {
-               s_app_mgr_info.pack_mgr = NULL;
-       }
-}
-
-HAPI void app_mgr_deinit(void)
-{
-       if (s_app_mgr_info.pack_mgr) {
-               LOGD("PACKAGE_EVENT_MGR - freeing handle");
-               package_manager_unset_event_cb(s_app_mgr_info.pack_mgr);
-               package_manager_destroy(s_app_mgr_info.pack_mgr);
-       }
-}
-
-HAPI Eina_List *app_mgr_get_apps(void)
-{
-       Eina_List *apps = NULL;
-       app_manager_foreach_app_info(__app_info_cb, &apps);
-       return apps;
-}
-
-HAPI void app_mgr_free_apps(Eina_List *apps)
-{
-       app_mgr_item_t *app_mgr_item;
-       EINA_LIST_FREE(apps, app_mgr_item)
-               free(app_mgr_item);
-}
-
-HAPI Eina_Bool app_mgr_uninstall_app(const char *appid)
-{
-       LOGI("");
-
-       package_manager_request_h request;
-       int id = 0;
-
-       if (package_manager_request_create(&request)
-               != PACKAGE_MANAGER_ERROR_NONE) {
-               LOGE("Could not create unistall request. App: %s", appid);
-               return EINA_FALSE;
-       }
-
-       int ret = package_manager_request_set_mode(request, PACKAGE_MANAGER_REQUEST_MODE_DEFAULT);
-       if (ret != PACKAGE_MANAGER_ERROR_NONE) {
-               LOGE("Could not set request mode. App: %s", appid);
-               return EINA_FALSE;
-       }
-
-       if (package_manager_request_uninstall(request, appid, &id) !=
-               PACKAGE_MANAGER_ERROR_NONE) {
-               LOGE("Could not uninstall application. App: %s", appid);
-               return EINA_FALSE;
-       }
-
-       if (package_manager_request_destroy(request) !=
-               PACKAGE_MANAGER_ERROR_NONE) {
-               LOGE("Could not destroy unistall request. App: %s", appid);
-               return EINA_FALSE;
-       }
-
-       return EINA_TRUE;
-}
-
-HAPI Eina_Bool app_mgr_app_get_badge_count(const char *app_id,
-       unsigned int *count)
-{
-       unsigned int to_be_displayed = 0;
-       int result = BADGE_ERROR_NONE;
-
-       if (!app_id) {
-               LOGE("app_item is NULL in badge count");
-               return EINA_FALSE;
-       }
-
-       *count = 0;
-       result = badge_get_display(app_id, &to_be_displayed);
-
-       if (result != BADGE_ERROR_NONE) {
-               if ((result == BADGE_ERROR_SERVICE_NOT_READY ||
-                       result == BADGE_ERROR_NOT_EXIST))
-                       return true;
-
-               LOGE("badge_get_display error %d", result);
-               return false;
-       }
-
-       if (!to_be_displayed)
-               return EINA_TRUE;
-
-       result = badge_get_count(app_id, count);
-
-       if (result != BADGE_ERROR_NONE) {
-               *count = 0;
-               if ((result == BADGE_ERROR_SERVICE_NOT_READY ||
-                       result == BADGE_ERROR_NOT_EXIST))
-                       return true;
-
-               LOGE("badge_get_count error %d", result);
-               return false;
-       }
-
-       return EINA_TRUE;
-}
-
-HAPI void app_mgr_register_badge_callback(badge_change_cb callback)
-{
-       int ret = BADGE_ERROR_NONE;
-       ret = badge_register_changed_cb(callback, NULL);
-
-       if (ret != BADGE_ERROR_NONE)
-               LOGE("Could not register badge callback");
-}
-
-HAPI void app_mgr_unregister_badge_callback(badge_change_cb callback)
-{
-       int ret = BADGE_ERROR_NONE;
-       ret = badge_unregister_changed_cb(callback);
-
-       if (ret != BADGE_ERROR_NONE)
-               LOGE("Could not unregister badge callback");
-}
-
-HAPI char *app_mgr_get_app_label(const char *app_id)
-{
-       app_info_h ai_handle;
-       char *label = NULL;
-
-       if (!app_id) {
-               LOGE("Invalid parameter");
-               return NULL;
-       }
-
-       if (app_info_create(app_id, &ai_handle) != APP_MANAGER_ERROR_NONE) {
-               LOGE("Failed to load application id");
-               return NULL;
-       }
-
-       if (app_info_get_label(ai_handle, &label) != APP_MANAGER_ERROR_NONE) {
-               LOGE("Failed to get label!");
-               app_info_destroy(ai_handle);
-               return NULL;
-       }
-
-       app_info_destroy(ai_handle);
-       return label;
-}
-
-static void __app_mgr_event_cb(const char *type, const char *package,
-       package_manager_event_type_e event_type,
-       package_manager_event_state_e event_state, int progress,
-       package_manager_error_e error, void *user_data)
-{
-       if (PACKAGE_MANAGER_ERROR_NONE != error) {
-               LOGE("PACKAGE_EVENT_MGR error in cb");
-               return;
-       }
-
-       if (PACKAGE_MANAGER_EVENT_STATE_FAILED == event_state)
-               progress = 0;
-
-       if (PACKAGE_MANAGER_EVENT_TYPE_INSTALL == event_type && progress == 100) {
-               LOGD("%s", package);
-               app_info_h ai_handle = NULL;
-               app_mgr_item_t *app_mgr_item = NULL;
-               Tree_node_t *item = NULL;
-
-               app_info_create(package, &ai_handle);
-               if (!ai_handle) {
-                       LOGE("Failed to get app info handle");
-                       return;
-               }
-
-               app_mgr_item = __app_mgr_load_item_info(ai_handle);
-               if (!app_mgr_item) {
-                       LOGE("Failed to load app mgr item info");
-                       app_info_destroy(ai_handle);
-                       return;
-               }
-
-               item = data_model_install_application(app_mgr_item);
-               if (!item) {
-                       LOGE("Failed to create app item");
-                       app_info_destroy(ai_handle);
-                       return;
-               }
-
-               item->data->layout = app_icon_create(item, APP_ICON_TYPE_APP);
-               app_info_destroy(ai_handle);
-               home_screen_mvc_update_view();
-
-       }
-
-       if (PACKAGE_MANAGER_EVENT_TYPE_UNINSTALL == event_type && progress == 100)
-       {
-               LOGI("%s", package);
-               Tree_node_t *it = data_model_search_package(package);
-               Tree_node_t *parent_folder = NULL;
-
-               if (it != NULL) {
-                       if (it->parent && it->parent->parent
-                                       && (it->parent->parent->data->type == APP_ITEM_FOLDER))
-                               parent_folder = it->parent->parent;
-
-                       app_icon_uninstall(it->data->layout);
-
-                       if (parent_folder != NULL)
-                               app_icon_update_folder_icon(parent_folder);
-               }
-       }
-}
-
-static bool __app_info_cb(app_info_h ai, void *ud)
-{
-       app_mgr_item_t *app_mgr_item = NULL;
-       bool nodisplay = false;
-       Eina_List **list = (Eina_List **)ud;
-
-       if (app_info_is_nodisplay(ai, &nodisplay)) {
-               LOGE("[FAILED][app_info_is_nodisplay]");
-               return false;
-       }
-
-       #ifndef HOME_SCREEN_EFL_TEST_RUN
-               if (nodisplay)
-                       return true;
-       #endif
-
-       app_mgr_item = __app_mgr_load_item_info(ai);
-
-       if (!app_mgr_item) {
-               LOGE("[Failed to initialie app_mgr_item]");
-               return false;
-       }
-
-
-       *list = eina_list_append(*list, app_mgr_item);
-       return true;
-}
-
-static app_mgr_item_t *__app_mgr_load_item_info(app_info_h ai_h)
-{
-       package_info_h p_handle = NULL;
-       package_manager_error_e ret = PACKAGE_MANAGER_ERROR_NONE;
-
-       if (!ai_h) {
-               LOGE("[INVALID_PARAMS]");
-               return NULL;
-       }
-
-       app_mgr_item_t *item = (app_mgr_item_t *) calloc(1, sizeof(*item));
-       if (!item) {
-               LOGE("Failed to create app_mgr_item");
-               return NULL;
-       }
-
-       if (app_info_get_label(ai_h, &item->label)) {
-               LOGE("[FAILED][app_info_get_label]");
-               free(item);
-               return NULL;
-       }
-
-       if (app_info_get_exec(ai_h, &item->exec)) {
-               LOGE("[FAILED][app_info_get_exec]");
-               free(item->label);
-               free(item);
-               return NULL;
-       }
-
-       if (app_info_get_icon(ai_h, &item->icon)) {
-               LOGE("[FAILED][app_info_get_icon]");
-               free(item->label);
-               free(item->exec);
-               free(item);
-               return NULL;
-       }
-
-       if (app_info_get_app_id(ai_h, &item->appid)) {
-               LOGE("[FAILED][app_info_get_app_id]");
-               free(item->label);
-               free(item->exec);
-               free(item->icon);
-               free(item);
-               return NULL;
-       }
-
-       if (app_info_get_package(ai_h, &item->package)) {
-               LOGE("[FAILED][app_info_get_package]");
-               free(item->label);
-               free(item->exec);
-               free(item->icon);
-               free(item->appid);
-               free(item);
-               return NULL;
-       }
-
-       ret = package_manager_get_package_info(item->package, &p_handle);
-       if (ret != PACKAGE_MANAGER_ERROR_NONE) {
-               LOGW("Failed to inialize package handle for item : %s",
-                       item->package);
-               item->removable = false;
-               return item;
-       }
-
-       ret = package_info_is_removable_package(p_handle, &item->removable);
-
-       if (ret != PACKAGE_MANAGER_ERROR_NONE) {
-               LOGE("Failed to get pacakge removeable flag");
-               free(item->label);
-               free(item->exec);
-               free(item->icon);
-               free(item->appid);
-               free(item->package);
-               free(item);
-               return NULL;
-       }
-
-       package_info_destroy(p_handle);
-
-       return item;
-}
diff --git a/src/apps_data.c b/src/apps_data.c
new file mode 100755 (executable)
index 0000000..dd916e4
--- /dev/null
@@ -0,0 +1,362 @@
+/*
+ * Copyright 2012  Samsung Electronics Co., Ltd
+ *
+ * Licensed under the Flora License, Version 1.1 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://floralicense.org/license/
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <shortcut_manager.h>
+
+#include "apps_data.h"
+#include "apps_package_manager.h"
+#include "apps_db.h"
+#include "apps_view.h"
+#include "util.h"
+#include "conf.h"
+
+static struct {
+    Eina_List *data_list;
+} apps_data_s = {
+    .data_list = NULL
+};
+
+void __apps_data_print(Eina_List *list);
+static int __apps_data_sort_cb(const void *a , const void *b);
+static void __apps_data_item_free(app_data_t *item);
+app_data_t *__apps_data_find_item(int db_id);
+static int __apps_data_shortcur_request_cb(const char *pkgname,
+        const char *name, int type, const char *content_info, const char *icon,
+        int pid, double period, int allow_duplicate, void *data);
+
+void apps_data_init(void)
+{
+    Eina_List *pkg_list = NULL, *db_list = NULL;
+    Eina_List *pkg_find_list, *db_find_list;
+    app_data_t *pkg_item = NULL, *db_item = NULL;
+    apps_package_manager_init();
+    apps_package_manger_get_list(&pkg_list);
+
+    if (!apps_db_create()) {
+        apps_db_get_app_list(&db_list);
+    }
+
+    EINA_LIST_FOREACH(pkg_list, pkg_find_list, pkg_item) {
+        EINA_LIST_FOREACH(db_list, db_find_list, db_item) {
+            if (!strcmp(pkg_item->pkg_str, db_item->pkg_str) && !strcmp(pkg_item->owner, db_item->owner)) {
+                pkg_item->db_id = db_item->db_id;
+                pkg_item->parent_db_id = db_item->parent_db_id;
+                db_item->temp = true;
+                break;
+            }
+        }
+        apps_data_s.data_list = eina_list_append(apps_data_s.data_list, pkg_item);
+    }
+
+    EINA_LIST_FOREACH(db_list, db_find_list, db_item) {
+        if (!db_item->temp) {
+            apps_db_delete_by_pkg_str(db_item->pkg_str);
+            __apps_data_item_free(db_item);
+        }
+    }
+    db_list = eina_list_free(db_list);
+
+    apps_db_get_list(&db_list);
+    EINA_LIST_FOREACH(db_list, db_find_list, db_item) {
+        if (db_item->is_folder || db_item->type >= APPS_DATA_TYPE_APP_SHORTCUT) {
+            apps_data_s.data_list = eina_list_append(apps_data_s.data_list, db_item);
+        }
+    }
+    eina_list_free(db_list);
+    eina_list_free(pkg_list);
+
+    apps_data_sort();
+
+    EINA_LIST_FOREACH(apps_data_s.data_list, pkg_find_list, pkg_item) {
+        if (pkg_item->db_id == INIT_VALUE)
+            apps_db_insert(pkg_item);
+        else
+            apps_db_update(pkg_item);
+    }
+    __apps_data_print(apps_data_s.data_list);
+
+    int ret = shortcut_set_request_cb(__apps_data_shortcur_request_cb, NULL);
+    if (ret != SHORTCUT_ERROR_NONE)
+        LOGE("Failed to add shortcut request cb: 0x%X\n", ret);
+}
+
+void apps_data_sort(void)
+{
+    int index = 0;
+    int parent_id = APPS_ROOT;
+    app_data_t *item = NULL;
+    Eina_List *find_list;
+
+    if (apps_data_s.data_list) {
+        apps_data_s.data_list = eina_list_sort(apps_data_s.data_list, eina_list_count(apps_data_s.data_list), __apps_data_sort_cb);
+    }
+    EINA_LIST_FOREACH(apps_data_s.data_list, find_list, item) {
+        if (item->parent_db_id == parent_id) {
+            item->position = index++;
+        } else {
+            parent_id = item->parent_db_id;
+            index = 0;
+            item->position = index++;
+        }
+    }
+}
+
+static int __apps_data_sort_cb(const void *a , const void *b)
+{
+    int i;
+    app_data_t *item1 = (app_data_t *)a;
+    app_data_t *item2 = (app_data_t *)b;
+    if (item1->parent_db_id < item2->parent_db_id)
+        return -1;
+    else if (item1->parent_db_id > item2->parent_db_id)
+        return 1;
+
+    if (item1->label_str == NULL && item2->label_str == NULL)
+        return 1;
+    else if (item1->label_str == NULL)
+        return -1;
+    else if (item2->label_str == NULL)
+        return 1;
+
+    for (i = 0; item1->label_str[i]; i++) {
+        if (tolower(item1->label_str[i]) != tolower(item2->label_str[i])) {
+            int ret = tolower(item1->label_str[i]) - tolower(item2->label_str[i]);
+            return ret;
+        }
+    }
+
+    return item2->label_str[i] ? -1 : (item2->db_id - item1->db_id);
+}
+
+Eina_List *apps_data_get_list(void)
+{
+    return apps_data_s.data_list;
+}
+
+void apps_data_get_folder_item_list(Eina_List **list, app_data_t *folder)
+{
+    app_data_t *item = NULL;
+    Eina_List *find_list;
+
+    EINA_LIST_FOREACH(apps_data_s.data_list, find_list, item) {
+        if (item->parent_db_id == folder->db_id) {
+            *list = eina_list_append(*list , item);
+        }
+    }
+}
+
+void apps_data_install(app_data_t *item)
+{
+    apps_data_s.data_list = eina_list_append(apps_data_s.data_list, item);
+    apps_db_insert(item);
+    apps_data_sort();
+    apps_view_icon_add(item);
+    apps_view_reroder();
+}
+
+void apps_data_uninstall(const char *package)
+{
+    Eina_List *find_list;
+    Eina_List *find_result = NULL;
+    app_data_t *item = NULL;
+
+    EINA_LIST_FOREACH(apps_data_s.data_list, find_list, item) {
+        if (item->pkg_str && (strcmp(item->pkg_str, package) == 0) &&
+                item->owner && (strcmp(item->owner, TEMP_OWNER) == 0)) {
+            find_result = eina_list_append(find_result, item);
+        }
+    }
+    apps_data_delete_list(find_result);
+}
+
+app_data_t *apps_data_add_folder(void)
+{
+    app_data_t *new_item = (app_data_t *)malloc(sizeof(app_data_t));
+    memset(new_item, 0, sizeof(app_data_t));
+
+    new_item->db_id = INIT_VALUE;
+    new_item->parent_db_id = APPS_ROOT;
+    new_item->owner = strdup(TEMP_OWNER);
+    new_item->position = INIT_VALUE;
+    new_item->label_str = strdup("");
+    new_item->type = APPS_DATA_TYPE_APP;
+
+    new_item->is_checked = false;
+    new_item->is_folder = true;
+    new_item->is_removable = true;
+    new_item->is_system = false;
+
+    apps_data_s.data_list = eina_list_append(apps_data_s.data_list, new_item);
+
+    apps_db_insert(new_item);
+    apps_view_icon_add(new_item);
+    apps_data_sort();
+    apps_view_reroder();
+
+    return new_item;
+}
+
+void apps_data_delete_folder(app_data_t *folder_item)
+{
+    app_data_t *item = NULL;
+    Eina_List *find_list;
+    EINA_LIST_FOREACH(apps_data_s.data_list, find_list, item) {
+        if (item->parent_db_id == folder_item->db_id) {
+            item->parent_db_id = APPS_ROOT;
+            apps_db_update(item);
+            apps_view_icon_add(item);
+        }
+    }
+    apps_data_s.data_list = eina_list_remove(apps_data_s.data_list, folder_item);
+    apps_db_delete(folder_item);
+    apps_data_sort();
+    apps_view_reroder();
+    __apps_data_item_free(folder_item);
+}
+
+void apps_data_update_folder(app_data_t *folder_item)
+{
+    apps_db_update(folder_item);
+    apps_data_sort();
+    apps_view_reroder();
+}
+
+static int __apps_data_shortcur_request_cb(const char *package_name,
+        const char *name, int type, const char *content_info, const char *icon,
+        int pid, double period, int allow_duplicate, void *data)
+{
+    LOGD("package_name: %s", package_name);
+    LOGD("name: %s", name);
+    LOGD("type: %d", type);
+    LOGD("content_info: %s", content_info);
+    LOGD("icon: %s", icon);
+    LOGD("pid: %d", pid);
+    LOGD("period: %.2lf", period);
+    LOGD("allow_duplicate: %d", allow_duplicate);
+
+    app_data_t *new_item = (app_data_t *)malloc(sizeof(app_data_t));
+    memset(new_item, 0, sizeof(app_data_t));
+
+    new_item->db_id = INIT_VALUE;
+    new_item->parent_db_id = APPS_ROOT;
+    new_item->owner = strdup(TEMP_OWNER);
+    new_item->position = INIT_VALUE;
+    new_item->label_str = strdup(name);
+    new_item->pkg_str = strdup(package_name);
+    if (type == LAUNCH_BY_URI) {
+        new_item->uri = strdup(content_info);
+        new_item->type = APPS_DATA_TYPE_URI_SHORTCUT;
+    } else {
+        new_item->type = APPS_DATA_TYPE_APP_SHORTCUT;
+    }
+    new_item->icon_path_str = strdup(icon);
+
+    new_item->is_checked = false;
+    new_item->is_folder = false;
+    new_item->is_removable = true;
+    new_item->is_system = false;
+
+    apps_data_s.data_list = eina_list_append(apps_data_s.data_list, new_item);
+
+    apps_db_insert(new_item);
+    apps_view_icon_add(new_item);
+    apps_data_sort();
+    apps_view_reroder();
+
+    return 0;
+}
+
+void apps_data_delete_item(app_data_t *item)
+{
+    apps_data_s.data_list = eina_list_remove(apps_data_s.data_list, item);
+    apps_db_delete(item);
+    apps_data_sort();
+    apps_view_reroder();
+    apps_view_folder_reroder();
+    if (item->parent_db_id != APPS_ROOT) {
+        app_data_t *parent = __apps_data_find_item(item->parent_db_id);
+        if (parent)
+            apps_view_update_folder_icon(parent);
+    }
+    __apps_data_item_free(item);
+}
+
+void apps_data_delete_list(Eina_List *list)
+{
+    app_data_t *item = NULL;
+    Eina_List *find_list;
+    EINA_LIST_FOREACH(list, find_list, item) {
+        apps_data_s.data_list = eina_list_remove(apps_data_s.data_list, item);
+        apps_db_delete(item);
+    }
+
+    apps_data_sort();
+    apps_view_reroder();
+    apps_view_folder_reroder();
+
+    EINA_LIST_FOREACH(list, find_list, item) {
+        if (item->parent_db_id != APPS_ROOT) {
+            app_data_t *parent = __apps_data_find_item(item->parent_db_id);
+            if (parent)
+                apps_view_update_folder_icon(parent);
+        }
+
+        __apps_data_item_free(item);
+    }
+}
+
+app_data_t *__apps_data_find_item(int db_id)
+{
+    app_data_t *item = NULL;
+    Eina_List *find_list;
+    EINA_LIST_FOREACH(apps_data_s.data_list, find_list, item) {
+        if (item->db_id == db_id)
+            return item;
+    }
+    return NULL;
+}
+
+static void __apps_data_item_free(app_data_t *item)
+{
+    if (item && item->app_layout)
+        evas_object_del(item->app_layout);
+    if (item && item->folder_layout)
+        evas_object_del(item->folder_layout);
+    if (item && item->label_str)
+        free(item->label_str);
+    if (item && item->icon_path_str)
+        free(item->icon_path_str);
+    if (item && item->pkg_str)
+        free(item->pkg_str);
+    if (item && item->owner)
+        free(item->owner);
+    if (item && item->uri)
+        free(item->uri);
+    if (item)
+        free(item);
+}
+
+void __apps_data_print(Eina_List *list)
+{
+    app_data_t *item = NULL;
+    Eina_List *find_list;
+    LOGD("========================================");
+    EINA_LIST_FOREACH(list, find_list, item) {
+        if (item != NULL)
+            LOGD("%d [pkg: %s][name:%s][iconPath: %s][icon:%p]", item->position, item->pkg_str, item->label_str, item->icon_path_str, item->app_layout);
+    }
+    LOGD("========================================");
+}
diff --git a/src/apps_db.c b/src/apps_db.c
new file mode 100755 (executable)
index 0000000..093120f
--- /dev/null
@@ -0,0 +1,332 @@
+/*
+ * Copyright 2012  Samsung Electronics Co., Ltd
+ *
+ * Licensed under the Flora License, Version 1.1 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://floralicense.org/license/
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <app.h>
+#include <sqlite3.h>
+
+#include "apps_db.h"
+#include "apps_data.h"
+#include "util.h"
+
+
+#define APPS_DB_NAME ".apps-data.db"
+#define QUERY_MAXLEN    4096
+
+static sqlite3 *apps_db = NULL;
+
+enum {
+    COL_APP_ID = 0,
+    COL_PARENT_ID,
+    COL_OWNER,
+    COL_IS_FOLDER,
+    COL_POSITION,
+    COL_PACKAGE_STR,
+    COL_LABEL,
+    COL_URI,
+    COL_TYPE,
+    COL_IS_SYSTEM,
+    COL_IS_REMOVABLE,
+    COL_ICON_PATH
+};
+
+#define CREATE_APPS_DB_TABLE "create table if not exists apps(\
+        appId INTEGER PRIMARY KEY AUTOINCREMENT,\
+        parentId    INTEGER,\
+        owner       TEXT,\
+        isFolder    INTEGER,\
+        position    INTEGER,\
+        pkgStr      TEXT,\
+        label       TEXT,\
+        uri         TEXT,\
+        type        INTEGER,\
+        isSystem    INTEGER,\
+        isRemovable INTEGER,\
+        iconPath    TEXT);"
+
+#define UPDATE_APPS_DB_TABLE "UPDATE apps set \
+        parentId=%d,\
+        owner='%s',\
+        isFolder=%d,\
+        position=%d,\
+        pkgStr='%s',\
+        label='%s',\
+        uri='%s',\
+        type=%d,\
+        isSystem=%d,\
+        isRemovable=%d,\
+        iconPath='%s' WHERE appId = %d"
+
+#define INSERT_APPS_DB_TABLE "INSERT into apps (\
+        parentId,\
+        owner,\
+        isFolder,\
+        position,\
+        pkgStr,\
+        label,\
+        uri,\
+        type,\
+        isSystem,\
+        isRemovable,\
+        iconPath) VALUES(%d,'%s',%d,%d,'%s','%s','%s',%d,%d,%d,'%s')"
+
+#define SELECT_ITEM "SELECT * FROM apps;"
+#define SELECT_APP_ITEM "SELECT * FROM apps WHERE type=0;"
+
+static bool __apps_db_open(void);
+
+bool apps_db_create(void)
+{
+    char *errMsg;
+    int ret;
+    const char *db_path = util_get_data_file_path(APPS_DB_NAME);
+    FILE *fp = fopen(db_path, "r");
+    if (fp) {
+        fclose(fp);
+        LOGE("Apps DB[%s] exist", db_path);
+        return false;
+    }
+
+    ret = sqlite3_open(db_path, &apps_db);
+    if (ret != SQLITE_OK) {
+        LOGE("sqlite error : [%d] : path [%s]", ret, db_path);
+        return false;
+    }
+
+    ret = sqlite3_exec(apps_db, "PRAGMA journal_mode = PERSIST",
+        NULL, NULL, &errMsg);
+    if (ret != SQLITE_OK) {
+        LOGE("SQL error(%d) : %s", ret, errMsg);
+        sqlite3_free(errMsg);
+        return false;
+    }
+
+    ret = sqlite3_exec(apps_db, CREATE_APPS_DB_TABLE, NULL, NULL, &errMsg);
+    if (ret != SQLITE_OK) {
+        LOGE("SQL error(%d) : %s", ret, errMsg);
+        sqlite3_free(errMsg);
+        return false;
+    }
+    LOGD("Create DB[%s] : [%s] OK ", db_path, CREATE_APPS_DB_TABLE);
+    return true;
+}
+
+bool apps_db_close()
+{
+    if (apps_db) {
+        sqlite3_exec(apps_db, "COMMIT TRANSACTION", NULL, NULL, NULL);
+        sqlite3_close(apps_db);
+        apps_db = NULL;
+    }
+    return true;
+}
+
+bool apps_db_get_list(Eina_List **apps)
+{
+    sqlite3_stmt *stmt;
+
+    if (!__apps_db_open())
+        return false;
+
+    int ret = sqlite3_prepare_v2(apps_db, SELECT_ITEM, strlen(SELECT_ITEM), &stmt, NULL);
+    if (ret != SQLITE_OK) {
+        LOGE("sqlite error : [%s,%s]", SELECT_ITEM, sqlite3_errmsg(apps_db));
+        return false;
+    }
+
+    const char *str = NULL;
+    while (sqlite3_step(stmt) == SQLITE_ROW) {
+        app_data_t *item = (app_data_t *)malloc(sizeof(app_data_t));
+        memset(item, 0, sizeof(app_data_t));
+
+        item->db_id = sqlite3_column_int(stmt, COL_APP_ID);
+        item->parent_db_id = sqlite3_column_int(stmt, COL_PARENT_ID);
+        str = (const char *) sqlite3_column_text(stmt, COL_OWNER);
+        item->owner = (!str || !strlen(str)) ? NULL : strdup(str);
+        item->is_folder = sqlite3_column_int(stmt, COL_IS_FOLDER);
+        item->position = sqlite3_column_int(stmt, COL_POSITION);
+        str = (const char *) sqlite3_column_text(stmt, COL_PACKAGE_STR);
+        item->pkg_str = (!str || !strlen(str)) ? NULL : strdup(str);
+        str = (const char *) sqlite3_column_text(stmt, COL_LABEL);
+        item->label_str = (!str || !strlen(str)) ? NULL : strdup(str);
+        str = (const char *) sqlite3_column_text(stmt, COL_URI);
+        item->uri = (!str || !strlen(str)) ? NULL : strdup(str);
+        item->type = sqlite3_column_int(stmt, COL_TYPE);
+        item->is_system = sqlite3_column_int(stmt, COL_IS_SYSTEM);
+        item->is_removable = sqlite3_column_int(stmt, COL_IS_REMOVABLE);
+        str = (const char *)sqlite3_column_text(stmt, COL_ICON_PATH);
+        item->icon_path_str = (!str || !strlen(str)) ? NULL : strdup(str);
+        *apps = eina_list_append(*apps, item);
+    }
+    sqlite3_finalize(stmt);
+    return true;
+}
+
+bool apps_db_get_app_list(Eina_List **apps)
+{
+    sqlite3_stmt *stmt;
+
+    if (!__apps_db_open())
+        return false;
+
+    int ret = sqlite3_prepare_v2(apps_db, SELECT_APP_ITEM, strlen(SELECT_APP_ITEM), &stmt, NULL);
+    if (ret != SQLITE_OK) {
+        LOGE("sqlite error : [%s,%s]", SELECT_APP_ITEM, sqlite3_errmsg(apps_db));
+        return false;
+    }
+
+    const char *str = NULL;
+    while (sqlite3_step(stmt) == SQLITE_ROW) {
+        app_data_t *item = (app_data_t *)malloc(sizeof(app_data_t));
+        memset(item, 0, sizeof(app_data_t));
+
+        item->db_id = sqlite3_column_int(stmt, COL_APP_ID);
+        item->parent_db_id = sqlite3_column_int(stmt, COL_PARENT_ID);
+        str = (const char *) sqlite3_column_text(stmt, COL_OWNER);
+        item->owner = (!str || !strlen(str)) ? NULL : strdup(str);
+        item->is_folder = sqlite3_column_int(stmt, COL_IS_FOLDER);
+        item->position = sqlite3_column_int(stmt, COL_POSITION);
+        str = (const char *) sqlite3_column_text(stmt, COL_PACKAGE_STR);
+        item->pkg_str = (!str || !strlen(str)) ? NULL : strdup(str);
+        str = (const char *) sqlite3_column_text(stmt, COL_LABEL);
+        item->label_str = (!str || !strlen(str)) ? NULL : strdup(str);
+        str = (const char *) sqlite3_column_text(stmt, COL_URI);
+        item->uri = (!str || !strlen(str)) ? NULL : strdup(str);
+        item->type = sqlite3_column_int(stmt, COL_TYPE);
+        item->is_system = sqlite3_column_int(stmt, COL_IS_SYSTEM);
+        item->is_removable = sqlite3_column_int(stmt, COL_IS_REMOVABLE);
+        str = (const char *)sqlite3_column_text(stmt, COL_ICON_PATH);
+        item->icon_path_str = (!str || !strlen(str)) ? NULL : strdup(str);
+        *apps = eina_list_append(*apps, item);
+    }
+    sqlite3_finalize(stmt);
+    return true;
+}
+
+bool apps_db_update(app_data_t *item)
+{
+    char query[QUERY_MAXLEN];
+    sqlite3_stmt *stmt;
+    if (!__apps_db_open())
+        return false;
+    snprintf(query, QUERY_MAXLEN, UPDATE_APPS_DB_TABLE,
+            item->parent_db_id,
+            item->owner,
+            item->is_folder,
+            item->position,
+            item->pkg_str,
+            item->label_str,
+            item->uri,
+            item->type,
+            item->is_system,
+            item->is_removable,
+            item->icon_path_str,
+            item->db_id);
+    int ret = sqlite3_prepare(apps_db, query, QUERY_MAXLEN , &stmt, NULL);
+    if (ret != SQLITE_OK) {
+        LOGE("sqlite error : [%s,%s]", query, sqlite3_errmsg(apps_db));
+        return false;
+    }
+    sqlite3_step(stmt);
+    sqlite3_finalize(stmt);
+    apps_db_close();
+    return true;
+}
+
+bool apps_db_insert(app_data_t *item)
+{
+    char query[QUERY_MAXLEN];
+    sqlite3_stmt *stmt;
+    if (!__apps_db_open())
+        return false;
+
+    snprintf(query, QUERY_MAXLEN, INSERT_APPS_DB_TABLE,
+            item->parent_db_id,
+            item->owner,
+            item->is_folder,
+            item->position,
+            item->pkg_str,
+            item->label_str,
+            item->uri,
+            item->type,
+            item->is_system,
+            item->is_removable,
+            item->icon_path_str);
+
+    int ret = sqlite3_prepare(apps_db, query, QUERY_MAXLEN , &stmt, NULL);
+    if (ret != SQLITE_OK) {
+        LOGE("sqlite error : [%s,%s]", query, sqlite3_errmsg(apps_db));
+        return false;
+    }
+    sqlite3_step(stmt);
+    sqlite3_finalize(stmt);
+    item->db_id = (int)sqlite3_last_insert_rowid(apps_db);
+
+    apps_db_close();
+    return true;
+}
+
+bool apps_db_delete(app_data_t *item)
+{
+    char query[QUERY_MAXLEN];
+    sqlite3_stmt *stmt;
+    if (!__apps_db_open())
+        return false;
+    snprintf(query, QUERY_MAXLEN, "DELETE FROM apps WHERE appId=%d", item->db_id);
+    int ret = sqlite3_prepare(apps_db, query, QUERY_MAXLEN , &stmt, NULL);
+    if (ret != SQLITE_OK) {
+        LOGE("sqlite error : [%s,%s]", query, sqlite3_errmsg(apps_db));
+        return false;
+    }
+
+    sqlite3_step(stmt);
+    sqlite3_finalize(stmt);
+
+    apps_db_close();
+    return true;
+}
+
+bool apps_db_delete_by_pkg_str(const char* pkg)
+{
+    char query[QUERY_MAXLEN];
+    sqlite3_stmt *stmt;
+    if (!__apps_db_open())
+        return false;
+    snprintf(query, QUERY_MAXLEN, "DELETE FROM apps WHERE pkgStr='%s'", pkg);
+    int ret = sqlite3_prepare(apps_db, query, QUERY_MAXLEN , &stmt, NULL);
+    if (ret != SQLITE_OK) {
+        LOGE("sqlite error : [%s,%s]", query, sqlite3_errmsg(apps_db));
+        return false;
+    }
+
+    sqlite3_step(stmt);
+    sqlite3_finalize(stmt);
+
+    apps_db_close();
+    return true;
+}
+
+bool __apps_db_open()
+{
+    if (!apps_db) {
+        int ret;
+        ret = sqlite3_open(util_get_data_file_path(APPS_DB_NAME), &apps_db);
+        if (ret != SQLITE_OK) {
+            LOGE("sqlite error : [%d] : path [%s]", ret, util_get_data_file_path(APPS_DB_NAME));
+            return false;
+        }
+    }
+    return true;
+}
diff --git a/src/apps_package_manager.c b/src/apps_package_manager.c
new file mode 100755 (executable)
index 0000000..60e3bed
--- /dev/null
@@ -0,0 +1,205 @@
+/*
+ * Copyright 2012  Samsung Electronics Co., Ltd
+ *
+ * Licensed under the Flora License, Version 1.1 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://floralicense.org/license/
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include "apps_package_manager.h"
+#include "apps_data.h"
+#include "util.h"
+#include "conf.h"
+
+static package_manager_h pkg_mgr = NULL;
+
+static void __apps_package_manager_event_cb(const char *type, const char *package,
+        package_manager_event_type_e event_type, package_manager_event_state_e event_state, int progress,
+        package_manager_error_e error, void *user_data);
+static bool __apps_data_pkg_get_apps_info(app_info_h app_handle, app_data_t **item);
+static bool __apps_package_manager_get_item(app_info_h app_handle, void *data);
+static void __apps_package_manager_install(const char *package);
+static void __apps_package_manager_uninstall(const char *package);
+
+void apps_package_manager_init()
+{
+    int ret;
+    if (pkg_mgr != NULL)
+        return;
+
+    ret = package_manager_create(&pkg_mgr);
+    if (ret != PACKAGE_MANAGER_ERROR_NONE) {
+        LOGE("package_manager_create : failed[%d]", ret);
+    }
+
+    ret = package_manager_set_event_status(pkg_mgr, PACKAGE_MANAGER_STATUS_TYPE_INSTALL|PACKAGE_MANAGER_STATUS_TYPE_UNINSTALL);
+    if (ret != PACKAGE_MANAGER_ERROR_NONE) {
+        LOGE("package_manager_set_event_status : failed[%d]", ret);
+    }
+
+    ret = package_manager_set_event_cb(pkg_mgr, __apps_package_manager_event_cb, NULL);
+    if (ret != PACKAGE_MANAGER_ERROR_NONE) {
+        LOGE("package_manager_set_event_cb : failed[%d]", ret);
+    }
+}
+
+static void __apps_package_manager_event_cb(const char *type, const char *package,
+        package_manager_event_type_e event_type, package_manager_event_state_e event_state, int progress,
+        package_manager_error_e error, void *user_data)
+{
+    if (event_state == PACKAGE_MANAGER_EVENT_STATE_STARTED) {
+        LOGI("pkg:%s type:%d state:PACKAGE_MANAGER_EVENT_STATE_STARTED", package, event_type);
+    } else if (event_state == PACKAGE_MANAGER_EVENT_STATE_PROCESSING) {
+        LOGI("pkg:%s type:%d PACKAGE_MANAGER_EVENT_STATE_PROCESSING", package, event_type);
+    } else if (event_state == PACKAGE_MANAGER_EVENT_STATE_COMPLETED) {
+        LOGI("pkg:%s type:%d PACKAGE_MANAGER_EVENT_STATE_COMPLETED", package, event_type);
+        if (event_type == PACKAGE_MANAGER_EVENT_TYPE_INSTALL) {
+            __apps_package_manager_install(package);
+        } else if (event_type == PACKAGE_MANAGER_EVENT_TYPE_UNINSTALL) {
+            __apps_package_manager_uninstall(package);
+        } else { //PACKAGE_MANAGER_EVENT_TYPE_UPDATE
+            LOGD("UPDATE - %s", package);
+        }
+    } else {
+        LOGE("pkg:%s type:%d state:PACKAGE_MANAGER_EVENT_STATE_COMPLETED: FAILED", package, event_type);
+    }
+}
+
+Eina_Bool apps_package_manger_get_list(Eina_List **list)
+{
+    int ret;
+    ret = app_manager_foreach_app_info(__apps_package_manager_get_item, list);
+    if (ret != PACKAGE_MANAGER_ERROR_NONE)
+        LOGE("package_manager_foreach_package_info failed[%d]", ret);
+    return true;
+}
+
+static bool __apps_package_manager_get_item(app_info_h app_handle, void *data)
+{
+    Eina_List **list = (Eina_List **)data;
+    app_data_t *item = NULL;
+    if (__apps_data_pkg_get_apps_info(app_handle, &item)) {
+        *list = eina_list_append(*list, item);
+    }
+    return true;
+}
+
+static bool __apps_data_pkg_get_apps_info(app_info_h app_handle, app_data_t **item)
+{
+    char *pkg = NULL;
+    bool nodisplay = false;
+    int ret;
+    package_info_h p_handle = NULL;
+
+    app_data_t *new_item = (app_data_t *)malloc(sizeof(app_data_t));
+    memset(new_item, 0, sizeof(app_data_t));
+    *item = new_item;
+
+    app_info_is_nodisplay(app_handle, &nodisplay);
+    if (nodisplay)
+        goto ERROR;
+
+    new_item->db_id = INIT_VALUE;
+    new_item->parent_db_id = APPS_ROOT;
+    new_item->owner = strdup(TEMP_OWNER);
+    new_item->is_folder = false;
+    new_item->position = INIT_VALUE;
+    new_item->uri = NULL;
+    new_item->type = APPS_DATA_TYPE_APP;
+
+    ret = app_info_get_app_id(app_handle, &new_item->pkg_str);
+    if (APP_MANAGER_ERROR_NONE != ret) {
+        LOGE("app_info_get_app_id return [%d] %s", ret, new_item->pkg_str);
+        goto ERROR;
+    }
+
+    ret = app_info_get_label(app_handle, &new_item->label_str);
+    if (APP_MANAGER_ERROR_NONE != ret) {
+        LOGE("app_info_get_label return [%d] %s", ret, new_item->label_str);
+        goto ERROR;
+    }
+
+    ret = app_info_get_icon(app_handle, &new_item->icon_path_str);
+    if (APP_MANAGER_ERROR_NONE != ret) {
+        LOGE("app_info_get_icon return [%d]", ret);
+        goto ERROR;
+    }
+
+    ret = app_info_get_package(app_handle, &pkg);
+    if (APP_MANAGER_ERROR_NONE != ret) {
+        LOGE("app_info_get_icon return [%d]", ret);
+        goto ERROR;
+    }
+
+    LOGD("%s", pkg);
+
+    ret = package_manager_get_package_info(pkg, &p_handle);
+    if (ret != PACKAGE_MANAGER_ERROR_NONE) {
+        LOGE("Failed to inialize package handle for item : %s",
+                pkg);
+        goto ERROR;
+    }
+
+    ret = package_info_is_removable_package(p_handle, &new_item->is_removable);
+    if (PACKAGE_MANAGER_ERROR_NONE != ret) {
+        LOGE("package_info_is_removable_package  return [%d]", ret);
+        goto ERROR;
+    }
+
+    ret = package_info_is_system_package(p_handle, &new_item->is_system);
+    if (PACKAGE_MANAGER_ERROR_NONE != ret) {
+        LOGE("package_info_is_system_package return [%d]", ret);
+        goto ERROR;
+    }
+
+    if (!new_item->icon_path_str || !ecore_file_can_read(new_item->icon_path_str)) {
+        if (new_item->icon_path_str) free(new_item->icon_path_str);
+
+        new_item->icon_path_str = malloc(MAX_FILE_PATH_LEN);
+        sprintf(new_item->icon_path_str, "%s", util_get_res_file_path(IMAGE_DIR"/default_app_icon.png"));
+    }
+    if (pkg)
+        free(pkg);
+    return true;
+
+ERROR:
+    if (pkg)
+        free(pkg);
+    if (new_item && new_item->label_str)
+        free(new_item->label_str);
+    if (new_item && new_item->icon_path_str)
+        free(new_item->icon_path_str);
+    if (new_item && new_item->pkg_str)
+        free(new_item->pkg_str);
+    if (new_item && new_item->owner)
+        free(new_item->owner);
+    if (new_item) free(new_item);
+    return false;
+
+}
+
+static void __apps_package_manager_install(const char *package)
+{
+    app_info_h app_info = NULL;
+    app_data_t *item = NULL;
+
+    app_manager_get_app_info(package, &app_info);
+    if (__apps_data_pkg_get_apps_info(app_info, &item)) {
+        apps_data_install(item);
+    }
+    app_info_destroy(app_info);
+
+}
+
+static void __apps_package_manager_uninstall(const char *package)
+{
+    apps_data_uninstall(package);
+}
diff --git a/src/apps_view.c b/src/apps_view.c
new file mode 100755 (executable)
index 0000000..90a4d07
--- /dev/null
@@ -0,0 +1,1129 @@
+/*
+ * Copyright 2012  Samsung Electronics Co., Ltd
+ *
+ * Licensed under the Flora License, Version 1.1 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://floralicense.org/license/
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <feedback.h>
+#include <package_manager.h>
+#include <badge.h>
+#include <efl_extension.h>
+
+#include "apps_view.h"
+#include "conf.h"
+#include "edc_conf.h"
+#include "util.h"
+#include "page_indicator.h"
+#include "homescreen-efl.h"
+#include "apps_data.h"
+#include "apps_db.h"
+#include "menu.h"
+
+#define FOLDER_STR_LEN 256
+#define MAX_BADGE_COUNT_STR_LEN 5
+#define MAX_BADGE_DISPLAY_COUNT 999
+
+static struct {
+    Evas_Object *scroller;
+    Evas_Object *bg;
+    Evas_Object *box;
+    Evas_Object *chooser_btn;
+    Evas_Object *folder_popup_ly;
+    Evas_Object *folder_title_entry;
+    int width;
+    int height;
+    page_indicator_t *indicator;
+    Eina_List *page_list;
+    int page_count;
+    int current_page;
+    view_state_t view_state;
+    view_state_t pre_view_state;
+    Eina_List *selected_items;
+    app_data_t *dest_folder;
+    app_data_t *opened_folder;
+    int selected_item_count;
+    Ecore_Animator *animator;
+} apps_view_s = {
+    .scroller = NULL,
+    .bg = NULL,
+    .box = NULL,
+    .chooser_btn = NULL,
+    .folder_popup_ly = NULL,
+    .folder_title_entry = NULL,
+    .width = 0,
+    .height = 0,
+    .indicator = NULL,
+    .page_list = NULL,
+    .page_count = 0,
+    .current_page = 0,
+    .view_state = VIEW_STATE_NORMAL,
+    .pre_view_state = VIEW_STATE_UNKNOWN,
+    .selected_items = NULL,
+    .selected_item_count = 0,
+    .dest_folder = NULL,
+    .opened_folder = NULL,
+    .animator = NULL
+};
+
+static int apps_menu_list[2] = {
+        MENU_APPS_EDIT,
+        MENU_APPS_CREATE_FOLDER
+};
+
+static Eina_Hash *apps_menu_table = NULL;
+
+static void __apps_view_create_base_gui(Evas_Object *win);
+static Evas_Object * __apps_view_add_page(void);
+static void __apps_view_remove_page(void);
+static void __apps_view_fill_apps(void);
+static void __apps_view_icon_clicked_cb(void *data, Evas_Object *obj, const char *emission, const char *source);
+static void __apps_view_icon_uninstall_btn_clicked_cb(void *data, Evas_Object *obj, const char *emission, const char *source);
+static void __apps_view_icon_check_changed_cb(void *data, Evas_Object *obj, const char *emission, const char *source);
+static void __apps_view_create_chooser(void);
+static void __apps_view_chooser_left_btn_clicked(void *data, Evas_Object *obj, const char *emission, const char *source);
+static void __apps_view_chooser_right_btn_clicked(void *data, Evas_Object *obj, const char *emission, const char *source);
+static void __apps_view_update_chooser_text(int item_count);
+static void __apps_view_create_menu(void);
+static void __apps_view_menu_edit_cb(void *data, Evas_Object *obj, void *event_info);
+static void __apps_view_menu_create_folder_cb(void *data, Evas_Object *obj, void *event_info);
+static void __apps_view_open_folder_popup(app_data_t *item);
+static void __apps_view_close_folder_popup(app_data_t *item);
+static void __apps_view_close_folder_popup_done(void);
+static Eina_Bool __apps_view_show_folder_anim(void *data, double pos);
+static Eina_Bool __apps_view_hide_folder_anim(void *data, double pos);
+static void __apps_view_hide_folder_cb(void *data, Evas_Object *obj, const char *emission, const char *source);
+static void __apps_view_badge_update_cb(unsigned int action, const char *app_id, unsigned int count, void *user_data);
+static void __apps_view_badge_update_icon(app_data_t *item);
+static void __apps_view_badge_update_count(app_data_t *item);
+static void __apps_view_plus_icon_clicked(void *data, Evas_Object *obj, const char *emission, const char *source);
+static void __apps_view_create_toast_popup(char *str);
+static void __apps_view_toast_popup_timeout_cb(void *data, Evas_Object *obj, void *event_info);
+static void __apps_view_toast_popup_block_clicked_cb(void *data, Evas_Object *obj, void *event_info);
+
+Evas_Object *apps_view_create(Evas_Object *win)
+{
+    int ret = BADGE_ERROR_NONE;
+    elm_win_screen_size_get(win, NULL, NULL, &apps_view_s.width, &apps_view_s.height);
+
+    apps_data_init();
+    __apps_view_create_base_gui(win);
+    __apps_view_fill_apps();
+    __apps_view_create_chooser();
+    __apps_view_create_menu();
+
+    ret = badge_register_changed_cb(__apps_view_badge_update_cb, NULL);
+
+    if (!apps_view_s.scroller) {
+        LOGE("[FAILED][apps_view_s.scroller==NULL]");
+        return NULL;
+    }
+    return apps_view_s.scroller;
+}
+
+void apps_view_app_terminate(void)
+{
+    eina_hash_free(apps_menu_table);
+}
+
+void apps_view_show(void)
+{
+    page_indicator_show(apps_view_s.indicator);
+}
+
+void apps_view_hide(void)
+{
+    page_indicator_hide(apps_view_s.indicator);
+}
+
+void apps_view_show_anim(double pos)
+{
+    Evas_Object *edje = NULL;
+    edje = elm_layout_edje_get(apps_view_s.bg);
+    if (!edje) {
+        LOGE("Failed to get edje from layout");
+        return;
+    }
+    Edje_Message_Float_Set *msg = malloc(sizeof(*msg) + 3 * sizeof(double));
+    msg->count = 3;
+    msg->val[0] = ((APPS_VIEW_ANIMATION_DELTA * (1-pos)) / apps_view_s.height);
+    msg->val[1] = 1+((APPS_VIEW_ANIMATION_DELTA * (1-pos)) / apps_view_s.height);
+    msg->val[2] = pos*APPS_VIEW_BG_OPACITY;
+
+    edje_object_message_send(edje, EDJE_MESSAGE_FLOAT_SET, 1, msg);
+    edje_object_signal_emit(edje, SIGNAL_APPS_VIEW_ANIM, SIGNAL_SOURCE);
+
+    evas_object_color_set(apps_view_s.box, 255, 255, 255, pos*255);
+    evas_object_move(apps_view_s.scroller, 0, APPS_VIEW_PADDING_TOP + (APPS_VIEW_ANIMATION_DELTA * (1-pos)));
+    if (pos >= (1.0 - (1e-10))) {
+        evas_object_color_set(apps_view_s.box, 255, 255, 255, 255);
+        evas_object_move(apps_view_s.scroller, 0, APPS_VIEW_PADDING_TOP);
+        edje_object_signal_emit(edje, SIGNAL_APPS_VIEW_SHOW, SIGNAL_SOURCE);
+    }
+}
+
+void apps_view_hide_anim(double pos)
+{
+    Evas_Object *edje = NULL;
+    edje = elm_layout_edje_get(apps_view_s.bg);
+    if (!edje) {
+        LOGE("Failed to get edje from layout");
+        return;
+    }
+    Edje_Message_Float_Set *msg = malloc(sizeof(*msg) + 3 * sizeof(double));
+    msg->count = 3;
+    msg->val[0] = ((APPS_VIEW_ANIMATION_DELTA * pos) / apps_view_s.height);
+    msg->val[1] = 1+((APPS_VIEW_ANIMATION_DELTA * pos) / apps_view_s.height);
+    msg->val[2] = (1-pos)*APPS_VIEW_BG_OPACITY;
+
+    edje_object_message_send(edje, EDJE_MESSAGE_FLOAT_SET, 1, msg);
+    edje_object_signal_emit(edje, SIGNAL_APPS_VIEW_ANIM, SIGNAL_SOURCE);
+
+    evas_object_color_set(apps_view_s.box, 255, 255, 255, (1-pos)*255);
+    evas_object_move(apps_view_s.scroller, 0, APPS_VIEW_PADDING_TOP + (APPS_VIEW_ANIMATION_DELTA * pos));
+    if (pos >= (1.0 - (1e-10))) {
+        evas_object_color_set(apps_view_s.box, 255, 255, 255, 0);
+        evas_object_move(apps_view_s.scroller, 0, apps_view_s.height);
+        edje_object_signal_emit(edje, SIGNAL_APPS_VIEW_HIDE, SIGNAL_SOURCE);
+    }
+}
+
+void apps_view_reroder(void)
+{
+    Eina_List *data_list = apps_data_get_list();
+    app_data_t *item = NULL;
+    Eina_List *find_list;
+    int item_count = 0;
+
+    apps_view_unset_all();
+
+    EINA_LIST_FOREACH(data_list, find_list, item) {
+        if (apps_view_icon_set(item))
+            item_count++;
+    }
+    //Delete empty page
+    while (((item_count-1) / (APPS_VIEW_COL*APPS_VIEW_ROW) +1) < eina_list_count(apps_view_s.page_list)) {
+        __apps_view_remove_page();
+    }
+}
+
+void apps_view_folder_reroder(void)
+{
+    Eina_List *data_list = apps_data_get_list();
+    app_data_t *item = NULL;
+    Eina_List *find_list;
+    int item_count = 0;
+    if (!apps_view_s.opened_folder)
+        return;
+
+    EINA_LIST_FOREACH(data_list, find_list, item) {
+        if (item->parent_db_id == apps_view_s.opened_folder->db_id) {
+            apps_view_icon_set(item);
+            item_count++;
+        }
+    }
+
+    if (item_count < APPS_FOLDER_MAX_ITEM) {
+        Edje_Message_Float_Set *msg = malloc(sizeof(*msg) + 2 * sizeof(double));
+        msg->count = 2;
+        msg->val[0] = item_count / APPS_FOLDER_COL;
+        msg->val[1] = item_count % APPS_FOLDER_COL;
+
+        if (apps_view_get_state() != VIEW_STATE_CHOOSER) {
+            Evas_Object *edje = NULL;
+            edje = elm_layout_edje_get(apps_view_s.folder_popup_ly);
+            edje_object_message_send(edje, EDJE_MESSAGE_FLOAT_SET, 1, msg);
+            edje_object_signal_emit(edje, SIGNAL_APPS_FOLDER_SET_PLUS_ICON, SIGNAL_SOURCE);
+            elm_object_signal_callback_add(apps_view_s.folder_popup_ly, SIGNAL_APPS_FOLDER_CLICKED_PLUS_ICON, SIGNAL_SOURCE,
+                __apps_view_plus_icon_clicked, (void *)apps_view_s.opened_folder);
+        } else {
+            elm_object_signal_emit(apps_view_s.folder_popup_ly, SIGNAL_APPS_FOLDER_HIDE_PLUS_ICON, SIGNAL_SOURCE);
+        }
+        free(msg);
+    } else {
+        elm_object_signal_emit(apps_view_s.folder_popup_ly, SIGNAL_APPS_FOLDER_HIDE_PLUS_ICON, SIGNAL_SOURCE);
+        elm_object_signal_callback_del(apps_view_s.folder_popup_ly, SIGNAL_APPS_FOLDER_CLICKED_PLUS_ICON, SIGNAL_SOURCE,
+                __apps_view_plus_icon_clicked);
+    }
+}
+
+Evas_Object* apps_view_create_icon(app_data_t *item)
+{
+    Evas_Object *icon_layout;
+    Evas_Object *rect = NULL;
+    Evas_Object *icon_image = NULL;
+
+    icon_layout = elm_layout_add(apps_view_s.box);
+    elm_layout_file_set(icon_layout, util_get_res_file_path(EDJE_DIR"/app_icon.edj"), GROUP_APP_ICON_LY);
+    evas_object_size_hint_weight_set(icon_layout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+
+    rect = evas_object_rectangle_add(evas_object_evas_get(icon_layout));
+    if (!rect) {
+        LOGE("[FAILED][rect=NULL]");
+        return NULL;
+    }
+    evas_object_color_set(rect, 0, 0, 0, 0);
+    evas_object_size_hint_min_set(rect, APPS_VIEW_W / APPS_VIEW_COL, APPS_VIEW_H / APPS_VIEW_ROW);
+    evas_object_size_hint_max_set(rect, APPS_VIEW_W / APPS_VIEW_COL, APPS_VIEW_H / APPS_VIEW_ROW);
+    elm_object_part_content_set(icon_layout, SIZE_SETTER, rect);
+
+    item->app_layout = icon_layout;
+
+    //icon image
+    if (item->is_folder) {
+        LOGD("Create Folder ICON");
+        Evas_Object *folder_layout;
+        Evas_Object *size_setter;
+
+        folder_layout = elm_layout_add(icon_layout);
+        elm_layout_file_set(folder_layout, util_get_res_file_path(EDJE_DIR"/apps_folder_icon.edj"), GROUP_FOLDER_ICON_LY);
+        evas_object_size_hint_weight_set(folder_layout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+
+        size_setter = evas_object_rectangle_add(evas_object_evas_get(folder_layout));
+        if (!rect) {
+            LOGE("[FAILED][rect=NULL]");
+            return NULL;
+        }
+        evas_object_color_set(size_setter, 0, 0, 0, 0);
+        evas_object_size_hint_min_set(size_setter, APPS_VIEW_ICON_IMAGE, APPS_VIEW_ICON_IMAGE);
+        evas_object_size_hint_max_set(size_setter, APPS_VIEW_ICON_IMAGE, APPS_VIEW_ICON_IMAGE);
+        elm_object_part_content_set(folder_layout, SIZE_SETTER, size_setter);
+        item->folder_layout = folder_layout;
+
+        apps_view_update_folder_icon(item);
+        elm_object_part_content_set(icon_layout, APPS_ICON_CONTENT, folder_layout);
+
+        if (apps_view_s.view_state == VIEW_STATE_EDIT) {
+            elm_object_signal_emit(item->app_layout, SIGNAL_EDIT_MODE_ON_ANI, SIGNAL_SOURCE);
+            elm_object_signal_emit(item->app_layout, SIGNAL_UNINSTALL_BUTTON_SHOW_ANI, SIGNAL_SOURCE);
+        } else if (apps_view_s.view_state == VIEW_STATE_CHOOSER) {
+            elm_object_signal_emit(item->app_layout, SIGNAL_EDIT_MODE_ON_ANI, SIGNAL_SOURCE);
+        }
+    } else {
+        if (ecore_file_can_read(item->icon_path_str)) {
+            LOGD("Create Image: %s", item->icon_path_str);
+            icon_image = elm_image_add(icon_layout);
+            elm_image_file_set(icon_image, item->icon_path_str, NULL);
+            evas_object_size_hint_min_set(icon_image, APPS_VIEW_ICON_IMAGE, APPS_VIEW_ICON_IMAGE);
+            evas_object_size_hint_max_set(icon_image, APPS_VIEW_ICON_IMAGE, APPS_VIEW_ICON_IMAGE);
+            elm_object_part_content_set(icon_layout, APPS_ICON_CONTENT, icon_image);
+        } else {
+            LOGE("Can not read : %s", item->icon_path_str);
+
+            const char *default_icon = util_get_res_file_path(IMAGE_DIR"/default_app_icon.png");
+            icon_image = elm_image_add(icon_layout);
+            elm_image_file_set(icon_image, default_icon, NULL);
+            evas_object_size_hint_min_set(icon_image, APPS_VIEW_ICON_IMAGE, APPS_VIEW_ICON_IMAGE);
+            evas_object_size_hint_max_set(icon_image, APPS_VIEW_ICON_IMAGE, APPS_VIEW_ICON_IMAGE);
+            elm_object_part_content_set(icon_layout, APPS_ICON_CONTENT, icon_image);
+        }
+
+        if (item->parent_db_id != APPS_ROOT)
+            elm_object_signal_emit(item->app_layout, SIGNAL_SET_BLACK_TEXT, SIGNAL_SOURCE);
+
+        if (apps_view_s.view_state == VIEW_STATE_EDIT) {
+            if (item->parent_db_id == APPS_ROOT)
+                elm_object_signal_emit(item->app_layout, SIGNAL_EDIT_MODE_ON, SIGNAL_SOURCE);
+
+            if (item->is_removable)
+                elm_object_signal_emit(item->app_layout, SIGNAL_UNINSTALL_BUTTON_SHOW, SIGNAL_SOURCE);
+        } else if (apps_view_s.view_state == VIEW_STATE_CHOOSER) {
+            if (item->parent_db_id == APPS_ROOT)
+                elm_object_signal_emit(item->app_layout, SIGNAL_EDIT_MODE_ON, SIGNAL_SOURCE);
+
+            elm_object_signal_emit(item->app_layout, SIGNAL_CHOOSER_MODE_ON, SIGNAL_SOURCE);
+        }
+        __apps_view_badge_update_icon(item);
+    }
+    elm_object_signal_callback_add(icon_layout, SIGNAL_ICON_CLICKED, SIGNAL_SOURCE, __apps_view_icon_clicked_cb, (void *)item);
+    elm_object_signal_callback_add(icon_layout, SIGNAL_UNINSTALL_BUTTON_CLICKED, SIGNAL_SOURCE, __apps_view_icon_uninstall_btn_clicked_cb, (void *)item);
+    elm_object_signal_callback_add(icon_layout, SIGNAL_CHANGED_CHECK_BOX, SIGNAL_SOURCE, __apps_view_icon_check_changed_cb,  (void *)item);
+
+    /*
+    elm_object_signal_callback_add(icon_layout, SIGNAL_DEFAULT_TOUCH_DOWN , APPS_ICON_CONTENT_TOUCH, _all_apps_icon_touch_down_cb, (void *)item);
+    elm_object_signal_callback_add(icon_layout, SIGNAL_ICON_CLICKED, SIGNAL_SOURCE, _all_apps_icon_clicked_cb, (void *)item);
+    elm_object_signal_callback_add(icon_layout, SIGNAL_UNINSTALL_BUTTON_CLICKED, SIGNAL_SOURCE, _all_apps_icon_uninstall_button_clicked_cb, (void *)item);
+    elm_object_signal_callback_add(icon_layout, SIGNAL_CHANGED_CHECK_BOX, SIGNAL_SOURCE, _all_apps_icon_checkbox_changed,  (void *)item);
+*/
+    //icon label
+    elm_object_part_text_set(icon_layout, APPS_ICON_NAME, item->label_str);
+
+    evas_object_show(icon_image);
+    evas_object_show(icon_layout);
+
+    LOGD("icon [%s] create", item->pkg_str);
+
+    return icon_layout;
+}
+
+void apps_view_unset_all(void)
+{
+    int i, j;
+    char icon_container[FOLDER_STR_LEN];
+    Eina_List *find_list = NULL;
+    Evas_Object * page;
+
+    EINA_LIST_FOREACH(apps_view_s.page_list, find_list, page) {
+        for (i = 0; i < APPS_VIEW_ROW; i++)
+            for (j = 0; j < APPS_VIEW_COL; j++) {
+                sprintf(icon_container, "icon_%d_%d", i, j);
+                elm_object_part_content_unset(page, icon_container);
+            }
+    }
+}
+
+bool apps_view_icon_set(app_data_t *item)
+{
+    Evas_Object *page = NULL;
+    int page_index;
+    int col, row;
+    char icon_container[FOLDER_STR_LEN];
+
+    if (item == NULL)
+        return false;
+
+    LOGD("%s %d %d", item->pkg_str, item->parent_db_id, item->position);
+    if (item->parent_db_id == APPS_ROOT) {
+        page_index = item->position / (APPS_VIEW_COL*APPS_VIEW_ROW);
+        col = (item->position / APPS_VIEW_COL)%APPS_VIEW_ROW;
+        row = item->position % APPS_VIEW_COL;
+
+        if (eina_list_count(apps_view_s.page_list) < page_index+1) {
+            page = __apps_view_add_page();
+        } else
+            page = eina_list_nth(apps_view_s.page_list, page_index);
+
+        sprintf(icon_container, "icon_%d_%d", col, row);
+        if (elm_object_part_content_get(page, icon_container) != NULL) {
+            LOGE("unset %p", elm_object_part_content_get(page, icon_container));
+            elm_object_part_content_unset(page, icon_container);
+        }
+        elm_object_part_content_set(page, icon_container, item->app_layout);
+        LOGD("[%s] -> [%s], [%p] page : %d", item->pkg_str, icon_container, item->app_layout, page_index);
+        return true;
+    } else if (apps_view_s.opened_folder && item->parent_db_id == apps_view_s.opened_folder->db_id) {
+        col = (item->position / APPS_FOLDER_COL)%APPS_FOLDER_ROW;
+        row = item->position % APPS_FOLDER_COL;
+
+        sprintf(icon_container, "icon_%d_%d", col, row);
+        if (elm_object_part_content_get(apps_view_s.folder_popup_ly, icon_container) != NULL) {
+            LOGE("unset %p", elm_object_part_content_get(apps_view_s.folder_popup_ly, icon_container));
+            elm_object_part_content_unset(apps_view_s.folder_popup_ly, icon_container);
+        }
+        elm_object_part_content_set(apps_view_s.folder_popup_ly, icon_container, item->app_layout);
+        LOGD("[%s] -> [%s], [%p]", item->pkg_str, icon_container, item->app_layout);
+    }
+
+    return false;
+}
+
+static void __apps_view_create_base_gui(Evas_Object *win)
+{
+    char edj_path[PATH_MAX] = {0, };
+    apps_view_s.bg = elm_layout_add(win);
+    if (!apps_view_s.bg) {
+        LOGE("[FAILED][apps_view_s.bg==NULL]");
+        return;
+    }
+    snprintf(edj_path, sizeof(edj_path), "%s", util_get_res_file_path(EDJE_DIR"/apps_view_bg.edj"));
+    elm_layout_file_set(apps_view_s.bg, edj_path, GROUP_APPS_BG_LY);
+    evas_object_size_hint_weight_set(apps_view_s.bg, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+    elm_win_resize_object_add(win, apps_view_s.bg);
+    evas_object_show(apps_view_s.bg);
+
+    Evas_Object *rect = evas_object_rectangle_add(homescreen_efl_get_win());
+    evas_object_color_set(rect, 0, 0, 0, 0);
+    evas_object_size_hint_min_set(rect, apps_view_s.width, apps_view_s.height);
+    evas_object_size_hint_max_set(rect, apps_view_s.width, apps_view_s.height);
+    evas_object_resize(rect, apps_view_s.width, apps_view_s.height);
+    elm_object_part_content_set(apps_view_s.bg, SIZE_SETTER, rect);
+    evas_object_show(rect);
+
+    apps_view_s.scroller = elm_scroller_add(win);
+    if (!apps_view_s.scroller) {
+        LOGE("[FAILED][apps_view_s.scroller==NULL]");
+        return;
+    }
+    elm_scroller_content_min_limit(apps_view_s.scroller, EINA_FALSE, EINA_FALSE);
+    elm_scroller_bounce_set(apps_view_s.scroller, EINA_FALSE, EINA_TRUE);
+    elm_scroller_policy_set(apps_view_s.scroller, ELM_SCROLLER_POLICY_OFF, ELM_SCROLLER_POLICY_OFF);
+    elm_scroller_page_scroll_limit_set(apps_view_s.scroller, 1, 1);
+    evas_object_size_hint_weight_set(apps_view_s.scroller, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+
+    elm_scroller_loop_set(apps_view_s.scroller, EINA_TRUE, EINA_FALSE);
+    elm_scroller_page_size_set(apps_view_s.scroller, APPS_VIEW_W, APPS_VIEW_H);
+    evas_object_resize(apps_view_s.scroller, APPS_VIEW_W , APPS_VIEW_H);
+
+    apps_view_s.box = elm_box_add(apps_view_s.scroller);
+    elm_box_horizontal_set(apps_view_s.box, EINA_TRUE);
+    elm_box_align_set(apps_view_s.box, 0.5, 0.5);
+    evas_object_show(apps_view_s.box);
+
+    elm_object_content_set(apps_view_s.scroller, apps_view_s.box);
+
+    apps_view_s.indicator = page_indictor_create(apps_view_s.scroller);
+    page_indicator_scroller_resize(apps_view_s.indicator, apps_view_s.width, apps_view_s.height);
+    page_indicator_hide(apps_view_s.indicator);
+
+    __apps_view_add_page();
+    page_indicator_set_current_page(apps_view_s.indicator, 0);
+}
+
+static Evas_Object *__apps_view_add_page(void)
+{
+    char edj_path[PATH_MAX] = {0, };
+    Evas_Object *page_ly = elm_layout_add(apps_view_s.box);
+
+    snprintf(edj_path, sizeof(edj_path), "%s", util_get_res_file_path(EDJE_DIR"/apps_view.edj"));
+    elm_layout_file_set(page_ly, edj_path, GROUP_APPS_LY);
+    evas_object_size_hint_weight_set(page_ly, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+    evas_object_resize(page_ly, APPS_VIEW_W, APPS_VIEW_H);
+
+    Evas_Object *rect = evas_object_rectangle_add(homescreen_efl_get_win());
+    evas_object_color_set(rect, 255, 255, 255, 0);
+    evas_object_size_hint_min_set(rect, APPS_VIEW_W, APPS_VIEW_H);
+    evas_object_size_hint_max_set(rect, APPS_VIEW_W, APPS_VIEW_H);
+    evas_object_resize(rect, APPS_VIEW_W, APPS_VIEW_H);
+    evas_object_show(rect);
+    elm_object_part_content_set(page_ly, SIZE_SETTER, rect);
+
+    elm_box_pack_end(apps_view_s.box, page_ly);
+    evas_object_show(page_ly);
+
+    apps_view_s.page_list = eina_list_append(apps_view_s.page_list, page_ly);
+    apps_view_s.page_count += 1;
+    page_indicator_set_page_count(apps_view_s.indicator, apps_view_s.page_count);
+    return page_ly;
+}
+
+static void __apps_view_remove_page(void)
+{
+    if (apps_view_s.page_count == 0) {
+        apps_view_s.page_count = 1;
+        return ;
+    }
+
+    Evas_Object *item = eina_list_nth(apps_view_s.page_list, apps_view_s.page_count-1);
+    apps_view_s.page_list = eina_list_remove(apps_view_s.page_list, item);
+    apps_view_s.page_count -= 1;
+    if (apps_view_s.current_page >= apps_view_s.page_count) {
+        apps_view_s.current_page = apps_view_s.page_count - 1;
+    }
+
+    elm_scroller_page_bring_in(apps_view_s.scroller, apps_view_s.current_page, 0);
+    elm_box_unpack(apps_view_s.box, item);
+    page_indicator_set_page_count(apps_view_s.indicator, apps_view_s.page_count);
+    evas_object_del(item);
+}
+
+static void __apps_view_fill_apps(void)
+{
+    Eina_List *list = apps_data_get_list();
+    app_data_t *item = NULL;
+    Eina_List *find_list;
+
+    EINA_LIST_FOREACH(list, find_list, item) {
+        if (item != NULL && item->parent_db_id == APPS_ROOT) {
+            item->app_layout = apps_view_create_icon(item);
+        }
+    }
+    apps_view_reroder();
+}
+
+static void __apps_view_folder_fill_apps(void)
+{
+    Eina_List *list = apps_data_get_list();
+    app_data_t *item = NULL;
+    Eina_List *find_list;
+
+    EINA_LIST_FOREACH(list, find_list, item) {
+        if (item != NULL && item->parent_db_id == apps_view_s.opened_folder->db_id) {
+            item->app_layout = apps_view_create_icon(item);
+        }
+    }
+    apps_view_folder_reroder();
+}
+
+static void __apps_view_icon_clicked_cb(void *data, Evas_Object *obj, const char *emission, const char *source)
+{
+    app_data_t *item  = (app_data_t *)data;
+    app_control_h app_control_handle = NULL;
+    feedback_play_type(FEEDBACK_TYPE_SOUND, FEEDBACK_PATTERN_TAP);
+
+    if (item->is_folder) {
+        LOGD("%d(%s) folder clicked", item->db_id, item->label_str);
+        __apps_view_open_folder_popup(item);
+    } else if (apps_view_s.view_state == VIEW_STATE_NORMAL) {
+        LOGD("%s(%s) applciation clicked", item->pkg_str, item->owner);
+        if (app_control_create(&app_control_handle) != APP_CONTROL_ERROR_NONE) {
+            LOGE("[FAILED][app_control_create]");
+            return;
+        }
+        /*if (app_control_set_operation(app_control_handle, APP_CONTROL_OPERATION_VIEW) != APP_CONTROL_ERROR_NONE) {
+            LOGE("[FAILED][app_control_set_operation]");
+            app_control_destroy(app_control_handle);
+            return;
+        }*/
+        if (item->type == APPS_DATA_TYPE_URI_SHORTCUT && item->uri && strlen(item->uri) &&
+            app_control_set_uri(app_control_handle, item->uri) != APP_CONTROL_ERROR_NONE) {
+            LOGE("[FAILED][app_control_set_uri]");
+            app_control_destroy(app_control_handle);
+            return;
+        }
+        if (app_control_set_app_id(app_control_handle, item->pkg_str) != APP_CONTROL_ERROR_NONE) {
+            LOGE("[FAILED][app_control_set_app_id]");
+            app_control_destroy(app_control_handle);
+            return;
+        }
+        if (app_control_send_launch_request(app_control_handle, NULL, NULL) != APP_CONTROL_ERROR_NONE) {
+            LOGE("[FAILED][app_control_send_launch_request]");
+            app_control_destroy(app_control_handle);
+            return;
+        }
+        app_control_destroy(app_control_handle);
+    }
+}
+
+static void __apps_view_icon_uninstall_btn_clicked_cb(void *data, Evas_Object *obj, const char *emission, const char *source)
+{
+    app_data_t *item  = (app_data_t *)data;
+    package_manager_request_h request;
+    int id = 0;
+    feedback_play_type(FEEDBACK_TYPE_SOUND, FEEDBACK_PATTERN_TAP);
+    if (!item) {
+        LOGE("item is NULL");
+    }
+
+    LOGD("Uninstall :: %s", item->pkg_str);
+    if (item->is_folder) {
+        apps_data_delete_folder(item);
+    } else if (item->type >= APPS_DATA_TYPE_APP_SHORTCUT) {
+        LOGD("Delete shortcut");
+        apps_data_delete_item(item);
+    } else {
+        if (package_manager_request_create(&request) != PACKAGE_MANAGER_ERROR_NONE) {
+            LOGE("Could not create unistall request. App: %s", item->pkg_str);
+            return;
+        }
+        int ret = package_manager_request_set_mode(request, PACKAGE_MANAGER_REQUEST_MODE_DEFAULT);
+        if (ret != PACKAGE_MANAGER_ERROR_NONE) {
+            LOGE("Could not set request mode. App: %s", item->pkg_str);
+            return;
+        }
+        if (package_manager_request_uninstall(request, item->pkg_str, &id) != PACKAGE_MANAGER_ERROR_NONE) {
+            LOGE("Could not uninstall application. App: %s", item->pkg_str);
+            return;
+        }
+        if (package_manager_request_destroy(request) != PACKAGE_MANAGER_ERROR_NONE) {
+            LOGE("Could not destroy unistall request. App: %s", item->pkg_str);
+            return;
+        }
+    }
+}
+static void __apps_view_icon_check_changed_cb(void *data, Evas_Object *obj, const char *emission, const char *source)
+{
+    app_data_t *item  = (app_data_t *)data;
+
+    if (apps_view_s.view_state != VIEW_STATE_CHOOSER)
+        return;
+
+    if (item->is_checked) {
+        LOGD("%s - uncheck", item->label_str);
+        elm_object_signal_emit(item->app_layout, SIGNAL_UNCHECK_CHECK_BOX, SIGNAL_SOURCE);
+        apps_view_s.selected_items = eina_list_remove(apps_view_s.selected_items, item);
+        item->is_checked = !item->is_checked;
+    } else {
+        int item_count = eina_list_count(apps_view_s.selected_items);
+        if (apps_view_s.selected_item_count + item_count >= APPS_FOLDER_MAX_ITEM) {
+            LOGD("checked item : %d > HOME_FOLDER_MAX_ITEM(9)", item_count);
+            char str[1024];
+            sprintf(str, _("IDS_HS_TPOP_MAXIMUM_NUMBER_OF_APPLICATIONS_IN_FOLDER_HPD_REACHED"), APPS_FOLDER_MAX_ITEM);
+            __apps_view_create_toast_popup(str);
+        } else {
+            LOGD("%s - check", item->label_str);
+            elm_object_signal_emit(item->app_layout, SIGNAL_CHECK_CHECK_BOX, SIGNAL_SOURCE);
+            apps_view_s.selected_items = eina_list_append(apps_view_s.selected_items, item);
+            item->is_checked = !item->is_checked;
+        }
+    }
+    __apps_view_update_chooser_text(eina_list_count(apps_view_s.selected_items));
+}
+
+void apps_view_hw_menu_key(void)
+{
+    if (apps_view_s.view_state == VIEW_STATE_NORMAL)
+        menu_change_state_on_hw_menu_key(apps_menu_table);
+}
+
+bool apps_view_hw_home_key(void)
+{
+    if (apps_view_s.opened_folder != NULL) {
+        __apps_view_close_folder_popup(apps_view_s.opened_folder);
+    }
+
+    apps_view_set_state(VIEW_STATE_NORMAL);
+
+    return false;
+}
+
+bool apps_view_hw_back_key(void)
+{
+    LOGD("%d", apps_view_s.pre_view_state);
+    if (apps_view_s.opened_folder != NULL) {
+        __apps_view_close_folder_popup(apps_view_s.opened_folder);
+        return true;
+    }
+
+    if (apps_view_s.view_state == VIEW_STATE_NORMAL)
+        return false;
+
+    if (apps_view_s.view_state == VIEW_STATE_CHOOSER) {
+        apps_view_set_state(apps_view_s.pre_view_state);
+    } else if (apps_view_s.view_state == VIEW_STATE_EDIT) {
+        apps_view_set_state(VIEW_STATE_NORMAL);
+    }
+
+    return true;
+}
+
+view_state_t apps_view_get_state(void)
+{
+    return apps_view_s.view_state;
+}
+
+void apps_view_set_state(view_state_t state)
+{
+    if (state == VIEW_STATE_EDIT) {
+        homescreen_efl_btn_hide(HOMESCREEN_VIEW_APPS);
+
+        Evas_Object *edje = NULL;
+        edje = elm_layout_edje_get(apps_view_s.bg);
+        if (!edje) {
+            LOGE("Failed to get edje from layout");
+            return;
+        }
+        edje_object_signal_emit(edje, SIGNAL_EDIT_MODE_ON_ANI, SIGNAL_SOURCE);
+
+        Eina_List *find_list = NULL;
+        Evas_Object *page_ly;
+        EINA_LIST_FOREACH(apps_view_s.page_list, find_list, page_ly) {
+            elm_object_signal_emit(page_ly, SIGNAL_EDIT_MODE_ON_ANI, SIGNAL_SOURCE);
+        }
+
+        Eina_List *data_list = apps_data_get_list();
+        app_data_t *item = NULL;
+        EINA_LIST_FOREACH(data_list, find_list, item) {
+            if (item->app_layout) {
+                elm_object_signal_emit(item->app_layout, SIGNAL_EDIT_MODE_ON_ANI, SIGNAL_SOURCE);
+                if (item->is_removable)
+                    elm_object_signal_emit(item->app_layout, SIGNAL_UNINSTALL_BUTTON_SHOW_ANI, SIGNAL_SOURCE);
+                elm_object_signal_emit(item->app_layout, SIGNAL_CHOOSER_MODE_OFF, SIGNAL_SOURCE);
+            }
+        }
+    } else if (state == VIEW_STATE_CHOOSER) {
+        homescreen_efl_btn_hide(HOMESCREEN_VIEW_APPS);
+        elm_win_indicator_mode_set(homescreen_efl_get_win(), ELM_WIN_INDICATOR_HIDE);
+
+        Evas_Object *edje = NULL;
+        edje = elm_layout_edje_get(apps_view_s.bg);
+        if (!edje) {
+            LOGE("Failed to get edje from layout");
+            return;
+        }
+        edje_object_signal_emit(edje, SIGNAL_EDIT_MODE_ON_ANI, SIGNAL_SOURCE);
+
+        Eina_List *find_list = NULL;
+        Evas_Object *page_ly;
+        EINA_LIST_FOREACH(apps_view_s.page_list, find_list, page_ly) {
+            elm_object_signal_emit(page_ly, SIGNAL_EDIT_MODE_ON_ANI, SIGNAL_SOURCE);
+        }
+
+        Eina_List *data_list = apps_data_get_list();
+        app_data_t *item = NULL;
+        EINA_LIST_FOREACH(data_list, find_list, item) {
+            if (item->app_layout) {
+                elm_object_signal_emit(item->app_layout, SIGNAL_EDIT_MODE_ON_ANI, SIGNAL_SOURCE);
+                if (!item->is_folder)
+                    elm_object_signal_emit(item->app_layout, SIGNAL_CHOOSER_MODE_ON, SIGNAL_SOURCE);
+            }
+        }
+        elm_object_signal_emit(apps_view_s.chooser_btn, SIGNAL_CHOOSER_BUTTON_SHOW, SIGNAL_SOURCE);
+    } else if (state == VIEW_STATE_NORMAL) {
+        homescreen_efl_btn_show(HOMESCREEN_VIEW_APPS);
+        elm_win_indicator_mode_set(homescreen_efl_get_win(), ELM_WIN_INDICATOR_SHOW);
+
+        Evas_Object *edje = NULL;
+        edje = elm_layout_edje_get(apps_view_s.bg);
+        if (!edje) {
+            LOGE("Failed to get edje from layout");
+            return;
+        }
+        edje_object_signal_emit(edje, SIGNAL_EDIT_MODE_OFF_ANI, SIGNAL_SOURCE);
+
+        Eina_List *find_list = NULL;
+        Evas_Object *page_ly;
+        EINA_LIST_FOREACH(apps_view_s.page_list, find_list, page_ly) {
+            elm_object_signal_emit(page_ly, SIGNAL_EDIT_MODE_OFF_ANI, SIGNAL_SOURCE);
+        }
+        Eina_List *data_list = apps_data_get_list();
+        app_data_t *item = NULL;
+        EINA_LIST_FOREACH(data_list, find_list, item) {
+            if (item->app_layout) {
+                elm_object_signal_emit(item->app_layout, SIGNAL_EDIT_MODE_OFF_ANI, SIGNAL_SOURCE);
+                elm_object_signal_emit(item->app_layout, SIGNAL_UNINSTALL_BUTTON_HIDE_ANI, SIGNAL_SOURCE);
+                elm_object_signal_emit(item->app_layout, SIGNAL_CHOOSER_MODE_OFF, SIGNAL_SOURCE);
+            }
+            item->is_checked = false;
+        }
+        if (apps_view_s.dest_folder)
+            elm_object_signal_emit(apps_view_s.dest_folder->app_layout, SIGNAL_ICON_ENABLE, SIGNAL_SOURCE);
+        apps_view_s.selected_items = eina_list_free(apps_view_s.selected_items);
+        apps_view_s.dest_folder = NULL;
+        apps_view_s.selected_item_count = 0;
+        elm_object_signal_emit(apps_view_s.chooser_btn, SIGNAL_CHOOSER_BUTTON_HIDE, SIGNAL_SOURCE);
+    }
+
+    apps_view_s.pre_view_state = apps_view_s.view_state;
+    apps_view_s.view_state = state;
+}
+
+void apps_view_update_folder_icon(app_data_t* item)
+{
+    Eina_List *folder_list = NULL;
+    Eina_List *find_list;
+    app_data_t *temp_item;
+    char folder_item_count_string[FOLDER_STR_LEN];
+    Evas_Object *icon_image = NULL;
+
+    int item_count = 0;
+    int i;
+    apps_data_get_folder_item_list(&folder_list, item);
+    item_count = eina_list_count(folder_list);
+    LOGD("item_count %d", item_count);
+
+    for (i = 0, find_list = folder_list, temp_item = eina_list_data_get(find_list);
+            i < 4 && find_list;
+            i++, find_list = eina_list_next(find_list), temp_item = eina_list_data_get(find_list)) {
+        LOGD("%s", temp_item->label_str);
+        sprintf(folder_item_count_string, "icon_%d", i);
+        LOGD("%s", folder_item_count_string);
+        icon_image = elm_image_add(item->folder_layout);
+        elm_image_file_set(icon_image, temp_item->icon_path_str, NULL);
+        evas_object_size_hint_weight_set(icon_image, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+        elm_object_part_content_set(item->folder_layout, folder_item_count_string, icon_image);
+        evas_object_show(icon_image);
+    }
+    sprintf(folder_item_count_string, "set_item_count_%d", item_count > 4 ? 4 : item_count);
+    LOGD("%s", folder_item_count_string);
+    elm_object_signal_emit(item->folder_layout, folder_item_count_string, SIGNAL_SOURCE);
+    evas_object_show(item->folder_layout);
+    eina_list_free(folder_list);
+}
+
+static void __apps_view_create_menu(void)
+{
+    apps_menu_table = eina_hash_int32_new(NULL);
+    eina_hash_add(apps_menu_table, &apps_menu_list[0], __apps_view_menu_edit_cb);
+    eina_hash_add(apps_menu_table, &apps_menu_list[1], __apps_view_menu_create_folder_cb);
+}
+
+static void __apps_view_menu_edit_cb(void *data, Evas_Object *obj, void *event_info)
+{
+    feedback_play_type(FEEDBACK_TYPE_SOUND, FEEDBACK_PATTERN_TAP);
+    menu_hide();
+
+    apps_view_set_state(VIEW_STATE_EDIT);
+}
+
+static void __apps_view_menu_create_folder_cb(void *data, Evas_Object *obj, void *event_info)
+{
+    feedback_play_type(FEEDBACK_TYPE_SOUND, FEEDBACK_PATTERN_TAP);
+    menu_hide();
+
+    apps_view_s.dest_folder = apps_data_add_folder();
+    //apps_view_set_state(VIEW_STATE_CHOOSER);
+    __apps_view_open_folder_popup(apps_view_s.dest_folder);
+}
+
+void apps_view_icon_add(app_data_t *item)
+{
+    if (item->parent_db_id == APPS_ROOT)
+        apps_view_create_icon(item);
+    else
+        LOGE("Parent is NOT APPS_ROOT");
+}
+
+static void __apps_view_open_folder_popup(app_data_t *item)
+{
+    char edj_path[PATH_MAX] = {0, };
+    snprintf(edj_path, sizeof(edj_path), "%s", util_get_res_file_path(EDJE_DIR"/apps_folder_popup.edj"));
+
+    apps_view_s.opened_folder = item;
+
+    apps_view_s.folder_popup_ly = elm_layout_add(homescreen_efl_get_win());
+    elm_layout_file_set(apps_view_s.folder_popup_ly , edj_path, GROUP_APPS_FOLDER_POPUP_LY);
+    evas_object_size_hint_weight_set(apps_view_s.folder_popup_ly, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+    evas_object_resize(apps_view_s.folder_popup_ly, apps_view_s.width, apps_view_s.height);
+
+    evas_object_show(apps_view_s.folder_popup_ly);
+
+    Evas_Object *entry = elm_entry_add(apps_view_s.folder_popup_ly);
+    apps_view_s.folder_title_entry = entry;
+    evas_object_size_hint_weight_set(entry, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+    elm_entry_single_line_set(entry, EINA_FALSE);
+    elm_entry_scrollable_set(entry, EINA_TRUE);
+    evas_object_show(entry);
+
+    elm_entry_input_panel_return_key_type_set(entry, ELM_INPUT_PANEL_RETURN_KEY_TYPE_DONE);
+    elm_entry_text_style_user_push(entry, "DEFAULT='font=Samsung Condensed:style=Regular align=center color=#4DE7FFFF font_size=40 wrap=none'");
+    elm_entry_entry_set(entry, apps_view_s.opened_folder->label_str);
+    elm_object_part_content_set(apps_view_s.folder_popup_ly, APPS_FOLDER_TITLE, entry);
+
+    __apps_view_folder_fill_apps();
+
+    evas_object_color_set(apps_view_s.folder_popup_ly, 255, 255, 255, 0);
+    apps_view_s.animator = ecore_animator_timeline_add(HOME_FOLDR_ANIMATION_TIME, __apps_view_show_folder_anim, NULL);
+    elm_object_signal_callback_add(apps_view_s.folder_popup_ly, SIGNAL_APPS_FOLDER_HIDE, SIGNAL_SOURCE,
+            __apps_view_hide_folder_cb, NULL);
+}
+
+static Eina_Bool __apps_view_show_folder_anim(void *data, double pos)
+{
+    evas_object_color_set(apps_view_s.folder_popup_ly, 255, 255, 255, pos*255);
+
+    if (pos >= (1.0 - (1e-10))) {
+        evas_object_color_set(apps_view_s.folder_popup_ly, 255, 255, 255, 255);
+        apps_view_s.animator = NULL;
+        return ECORE_CALLBACK_DONE;
+    }
+
+    return ECORE_CALLBACK_RENEW;
+}
+
+static Eina_Bool __apps_view_hide_folder_anim(void *data, double pos)
+{
+    evas_object_color_set(apps_view_s.folder_popup_ly, 255, 255, 255, (1-pos)*255);
+    if (pos >= (1.0 - (1e-10))) {
+        evas_object_color_set(apps_view_s.folder_popup_ly, 255, 255, 255, 0);
+        __apps_view_close_folder_popup_done();
+        apps_view_s.animator = NULL;
+        return ECORE_CALLBACK_DONE;
+    }
+
+    return ECORE_CALLBACK_RENEW;
+}
+
+static void __apps_view_close_folder_popup(app_data_t *item)
+{
+    apps_view_s.animator = ecore_animator_timeline_add(HOME_FOLDR_ANIMATION_TIME, __apps_view_hide_folder_anim, NULL);
+}
+
+static void __apps_view_close_folder_popup_done(void)
+{
+    const char *folder_text = elm_object_text_get(apps_view_s.folder_title_entry);
+    if (!apps_view_s.opened_folder->label_str || strcmp(apps_view_s.opened_folder->label_str, folder_text)) {
+        if (apps_view_s.opened_folder->label_str)
+            free(apps_view_s.opened_folder->label_str);
+        apps_view_s.opened_folder->label_str = strdup(folder_text);
+        elm_object_part_text_set(apps_view_s.opened_folder->app_layout, APPS_ICON_NAME, apps_view_s.opened_folder->label_str);
+        apps_data_update_folder(apps_view_s.opened_folder);
+    }
+
+    Eina_List *list = apps_data_get_list();
+    app_data_t *item = NULL;
+    Eina_List *find_list;
+    EINA_LIST_FOREACH(list, find_list, item) {
+        if (item != NULL && item->parent_db_id == apps_view_s.opened_folder->db_id && item->app_layout) {
+            evas_object_del(item->app_layout);
+        }
+    }
+    evas_object_del(apps_view_s.folder_popup_ly);
+    apps_view_s.folder_title_entry = NULL;
+    apps_view_s.folder_popup_ly = NULL;
+    apps_view_s.opened_folder = NULL;
+}
+static void __apps_view_hide_folder_cb(void *data, Evas_Object *obj, const char *emission, const char *source)
+{
+    if (apps_view_s.opened_folder)
+        __apps_view_close_folder_popup(apps_view_s.opened_folder);
+}
+
+static void __apps_view_create_chooser(void)
+{
+    char edj_path[PATH_MAX] = {0, };
+
+    snprintf(edj_path, sizeof(edj_path), "%s", util_get_res_file_path(EDJE_DIR"/apps_chooser_btn.edj"));
+
+    apps_view_s.chooser_btn = elm_layout_add(homescreen_efl_get_win());
+    elm_layout_file_set(apps_view_s.chooser_btn, edj_path, GROUP_APPS_CHOOSER_BTN_LY);
+    evas_object_size_hint_weight_set(apps_view_s.chooser_btn, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+    elm_win_resize_object_add(homescreen_efl_get_win(), apps_view_s.chooser_btn);
+
+    evas_object_show(apps_view_s.chooser_btn);
+
+    elm_object_signal_callback_add(apps_view_s.chooser_btn, SIGNAL_CHOOSER_LEFT_BTN_CLICKED, SIGNAL_SOURCE, __apps_view_chooser_left_btn_clicked, NULL);
+    elm_object_signal_callback_add(apps_view_s.chooser_btn, SIGNAL_CHOOSER_RIGHT_BTN_CLICKED, SIGNAL_SOURCE, __apps_view_chooser_right_btn_clicked, NULL);
+    __apps_view_update_chooser_text(apps_view_s.selected_item_count);
+}
+
+static void __apps_view_chooser_left_btn_clicked(void *data, Evas_Object *obj, const char *emission, const char *source)
+{
+    LOGD("Cancel button clicked");
+    apps_view_set_state(apps_view_s.pre_view_state);
+}
+
+static void __apps_view_chooser_right_btn_clicked(void *data, Evas_Object *obj, const char *emission, const char *source)
+{
+    LOGD("Done button clicked");
+    Eina_List *find_list;
+    app_data_t *item = NULL;
+    EINA_LIST_FOREACH(apps_view_s.selected_items, find_list, item) {
+        LOGD("%s-> move to folder {%d}", item->label_str, apps_view_s.dest_folder->db_id);
+        item->parent_db_id = apps_view_s.dest_folder->db_id;
+        apps_db_update(item);
+        if (item->app_layout) {
+            evas_object_del(item->app_layout);
+            item->app_layout = NULL;
+        }
+    }
+    apps_data_sort();
+    apps_view_reroder();
+
+    Eina_List *list = apps_data_get_list();
+    EINA_LIST_FOREACH(list, find_list, item) {
+        if (item->is_folder)
+            apps_view_update_folder_icon(item);
+    }
+    //apps_view_update_folder_icon(apps_view_s.dest_folder);
+    apps_view_set_state(VIEW_STATE_NORMAL);
+}
+
+static void __apps_view_update_chooser_text(int item_count)
+{
+    char text[FOLDER_STR_LEN];
+    if (apps_view_s.selected_item_count + item_count > 0) {
+        sprintf(text, _("IDS_MEMO_HEADER_PD_SELECTED_ABB2"), apps_view_s.selected_item_count + item_count);
+    } else
+        sprintf(text, "");
+    elm_object_part_text_set(apps_view_s.chooser_btn, APPS_CHOOSER_MIDDLE_LABEL, text);
+    elm_object_part_text_set(apps_view_s.chooser_btn, APPS_CHOOSER_LEFT_LABEL, _("IDS_COM_SK_CANCEL"));
+    elm_object_part_text_set(apps_view_s.chooser_btn, APPS_CHOOSER_RIGHT_LABEL, _("IDS_COM_SK_DONE"));
+}
+
+static void __apps_view_badge_update_cb(unsigned int action, const char *app_id, unsigned int count, void *user_data)
+{
+    LOGD("%s updated", app_id);
+    Eina_List *data_list = apps_data_get_list();
+    Eina_List *find_list = NULL;
+    app_data_t *item = NULL;
+    if (app_id == NULL) {
+        LOGD("app id is NULL");
+        EINA_LIST_FOREACH(data_list, find_list, item) {
+            __apps_view_badge_update_count(item);
+        }
+        return;
+    }
+    EINA_LIST_FOREACH(data_list, find_list, item) {
+        if (strcmp(app_id, item->pkg_str) == 0) {
+            __apps_view_badge_update_count(item);
+        }
+    }
+}
+
+static void __apps_view_badge_update_count(app_data_t *item)
+{
+    unsigned int to_be_displayed = 0;
+    int result = BADGE_ERROR_NONE;
+
+    if (!item->pkg_str) {
+        LOGE("app_item is NULL in badge count");
+        return;
+    }
+
+    result = badge_get_display(item->pkg_str, &to_be_displayed);
+    if (result != BADGE_ERROR_NONE) {
+        LOGE("badge_get_display error %d", result);
+        item->badge_count = 0;
+        return;
+    }
+    if (!to_be_displayed) {
+        item->badge_count = 0;
+        return;
+    }
+
+    result = badge_get_count(item->pkg_str, &item->badge_count);
+    if (result != BADGE_ERROR_NONE) {
+        LOGE("badge_get_count error %d", result);
+        item->badge_count = 0;
+        return;
+    }
+    __apps_view_badge_update_icon(item);
+}
+
+static void __apps_view_badge_update_icon(app_data_t *item)
+{
+    char number_str[FOLDER_STR_LEN];
+    if (item->badge_count == 0) {
+        elm_object_signal_emit(item->app_layout, SIGNAL_BADGE_HIDE, SIGNAL_SOURCE);
+        return;
+    }
+
+    if (item->badge_count > MAX_BADGE_DISPLAY_COUNT) {
+        sprintf(number_str, "%d+", MAX_BADGE_DISPLAY_COUNT);
+    } else {
+        sprintf(number_str, "%d", item->badge_count);
+    }
+    elm_layout_text_set(item->app_layout, APPS_ICON_BADGE_TEXT, number_str);
+    elm_object_signal_emit(item->app_layout, SIGNAL_BADGE_SHOW, SIGNAL_SOURCE);
+}
+
+static void __apps_view_plus_icon_clicked(void *data, Evas_Object *obj, const char *emission, const char *source)
+{
+    app_data_t *item  = (app_data_t *)data;
+    Eina_List *folder_list = NULL;
+    apps_view_set_state(VIEW_STATE_CHOOSER);
+    __apps_view_close_folder_popup_done();
+    apps_view_s.dest_folder = item;
+    elm_object_signal_emit(item->app_layout, SIGNAL_ICON_DISABLE, SIGNAL_SOURCE);
+
+    apps_data_get_folder_item_list(&folder_list, item);
+    apps_view_s.selected_item_count = eina_list_count(folder_list);
+    __apps_view_update_chooser_text(0);
+
+    eina_list_free(folder_list);
+}
+
+static void __apps_view_create_toast_popup(char *str)
+{
+    Evas_Object *popup;
+
+    popup = elm_popup_add(homescreen_efl_get_win());
+    elm_object_style_set(popup, "toast");
+    evas_object_size_hint_weight_set(popup, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+    elm_object_text_set(popup, str);
+    elm_popup_timeout_set(popup, 2.0);
+    eext_object_event_callback_add(popup, EEXT_CALLBACK_BACK, eext_popup_back_cb, NULL);
+    evas_object_smart_callback_add(popup, "block,clicked", __apps_view_toast_popup_block_clicked_cb, NULL);
+    evas_object_smart_callback_add(popup, "timeout", __apps_view_toast_popup_timeout_cb, NULL);
+
+    evas_object_show(popup);
+
+}
+
+static void __apps_view_toast_popup_timeout_cb(void *data, Evas_Object *obj, void *event_info)
+{
+    evas_object_del(obj);
+}
+static void __apps_view_toast_popup_block_clicked_cb(void *data, Evas_Object *obj, void *event_info)
+{
+    evas_object_del(obj);
+}
diff --git a/src/cluster_data.c b/src/cluster_data.c
new file mode 100755 (executable)
index 0000000..6b01aef
--- /dev/null
@@ -0,0 +1,155 @@
+/*
+ * Copyright 2012  Samsung Electronics Co., Ltd
+ *
+ * Licensed under the Flora License, Version 1.1 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://floralicense.org/license/
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+#include <app_preference.h>
+
+#include "cluster_data.h"
+#include "cluster_db.h"
+#include "cluster_view.h"
+#include "util.h"
+#include "conf.h"
+
+#define CLUSTER_DATA_PAGE_COUNT "cluster_page_count"
+
+static struct {
+    Eina_List *data_list;
+} cluster_data_s = {
+    .data_list = NULL
+};
+
+static void __cluster_data_item_free(widget_data_t *item);
+static void __cluster_data_insert_default_data(void);
+
+void cluster_data_init(void)
+{
+    if (cluster_db_create()) {
+        __cluster_data_insert_default_data();
+        cluster_data_set_page_count(2);
+    }
+    cluster_db_get_list(&cluster_data_s.data_list);
+}
+
+Eina_List *cluster_data_get_widget_list(void)
+{
+    return cluster_data_s.data_list;
+}
+
+int cluster_data_get_page_count()
+{
+    int result = -1;
+    if (preference_get_int(CLUSTER_DATA_PAGE_COUNT, &result) != PREFERENCE_ERROR_NONE) {
+        LOGE("preference_get_int : Error");
+        result = -1;
+    }
+    return result;
+}
+
+void cluster_data_set_page_count(int count)
+{
+    if (preference_set_int(CLUSTER_DATA_PAGE_COUNT, count) != PREFERENCE_ERROR_NONE) {
+        LOGE("preference_set_int(CLUSTER_DATA_PAGE_COUNT, %d): Error", count);
+    }
+}
+
+void cluster_data_insert_widget(const char* pkg_name, const char* content_info, int type)
+{
+    widget_data_t *new_item = (widget_data_t *)malloc(sizeof(widget_data_t));
+    memset(new_item, 0, sizeof(widget_data_t));
+
+    new_item->page_idx = INIT_VALUE;
+    new_item->pos_y = INIT_VALUE;
+    new_item->pos_x = INIT_VALUE;
+    new_item->pkg_name = strdup(pkg_name);
+    new_item->content_info = content_info == NULL ? NULL : strdup(content_info);
+    new_item->type = type;
+    new_item->period = 0.0;
+    new_item->allow_duplicate = 1;
+
+    if (!cluster_view_add_widget(new_item, true)) {
+        __cluster_data_item_free(new_item);
+        return ;
+    }
+    cluster_data_insert(new_item);
+}
+
+void cluster_data_insert(widget_data_t *item)
+{
+    LOGD("%s - inserted to paged[%d]", item->pkg_name, item->page_idx);
+    cluster_db_insert(item);
+    cluster_data_s.data_list = eina_list_append(cluster_data_s.data_list, item);
+}
+
+void cluster_data_delete(widget_data_t *item)
+{
+    LOGD("%s - delete", item->pkg_name);
+    cluster_db_delete(item);
+    cluster_data_s.data_list = eina_list_remove(cluster_data_s.data_list, item);
+    cluster_view_delete_widget(item);
+    __cluster_data_item_free(item);
+}
+
+void cluster_data_update(widget_data_t *item)
+{
+    cluster_db_update(item);
+}
+
+static void __cluster_data_insert_default_data(void)
+{
+    /* org.tizen.gallery.widget
+     * org.tizen.calendar.widget
+     * org.tizen.music-player.widget
+     * org.tizen.contacts-widget
+    */
+    widget_data_t *new_item = (widget_data_t *)malloc(sizeof(widget_data_t));
+    memset(new_item, 0, sizeof(widget_data_t));
+    new_item->page_idx = 0;
+    new_item->pos_y = 0;
+    new_item->pos_x = 0;
+    new_item->pkg_name = strdup("org.tizen.gallery.widget");
+    new_item->content_info = NULL;
+    new_item->type = WIDGET_SIZE_TYPE_4x4;
+    new_item->period = 0.0;
+    new_item->allow_duplicate = 1;
+
+    cluster_db_insert(new_item);
+/*
+    new_item = (widget_data_t *)malloc(sizeof(widget_data_t));
+    memset(new_item, 0, sizeof(widget_data_t));
+
+    new_item->page_idx = 1;
+    new_item->pos_y = 0;
+    new_item->pos_x = 0;
+    new_item->pkg_name = strdup("org.tizen.gallery.widget");
+    new_item->content_info = NULL;
+    new_item->type = WIDGET_SIZE_TYPE_4x4;
+    new_item->period = 0.0;
+    new_item->allow_duplicate = 1;
+
+    cluster_data_insert(new_item);
+    */
+}
+
+static void __cluster_data_item_free(widget_data_t *item)
+{
+    if (item && item->widget_layout)
+        evas_object_del(item->widget_layout);
+    if (item && item->pkg_name)
+        free(item->pkg_name);
+    if (item && item->content_info)
+        free(item->content_info);
+    if (item)
+        free(item);
+
+}
diff --git a/src/cluster_db.c b/src/cluster_db.c
new file mode 100755 (executable)
index 0000000..db22d5c
--- /dev/null
@@ -0,0 +1,243 @@
+/*
+ * Copyright 2012  Samsung Electronics Co., Ltd
+ *
+ * Licensed under the Flora License, Version 1.1 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://floralicense.org/license/
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <app.h>
+#include <sqlite3.h>
+
+#include "cluster_db.h"
+#include "cluster_data.h"
+#include "util.h"
+
+#define CLUSTER_DB_NAME ".cluster-data.db"
+#define QUERY_MAXLEN    4096
+
+static sqlite3 *cluster_db = NULL;
+
+enum {
+    COL_WIDGET_ID = 0,
+    COL_PAGE_INDEX,
+    COL_POS_Y,
+    COL_POS_X,
+    COL_PKG_NAME,
+    COL_CONTENT_INFO,
+    COL_TYPE,
+    COL_PERIOD,
+    COL_ALLOW_DUPLICATE
+};
+
+#define CREATE_CLUSTER_DB_TABLE "CREATE TABLE IF NOT EXISTS clusters (\
+        widgetId INTEGER PRIMARY KEY AUTOINCREMENT,\
+        pageIndex INTEGER default 0,\
+        y INTEGER default 0,\
+        x INTEGER default 0,\
+        pkgName TEXT,\
+        content TEXT,\
+        type INTEGER default 0,\
+        period REAL default 0.0,\
+        allow INTEGER default 1);"
+
+#define UPDATE_CLUSTER_DB_TABLE "UPDATE clusters set \
+        pageIndex=%d,\
+        y=%d,\
+        x=%d,\
+        pkgName='%s',\
+        content='%s',\
+        type=%d,\
+        period=%lf,\
+        allow=%d WHERE widgetId=%d"
+
+#define INSERT_CLUSTER_DB_TABLE "INSERT into clusters (\
+        pageIndex,\
+        y,\
+        x,\
+        pkgName,\
+        content,\
+        type,\
+        period,\
+        allow) VALUES(%d,%d, %d,'%s','%s',%d, '%lf',%d)"
+
+#define SELECT_ITEM "SELECT * FROM clusters;"
+
+static bool __cluster_db_open(void);
+
+bool cluster_db_create(void)
+{
+    char *errMsg;
+    int ret;
+    const char *db_path = util_get_data_file_path(CLUSTER_DB_NAME);
+    FILE *fp = fopen(db_path, "r");
+    if (fp) {
+        fclose(fp);
+        LOGE("cluster DB[%s] exist", db_path);
+        return false;
+    }
+
+    ret = sqlite3_open(db_path, &cluster_db);
+    if (ret != SQLITE_OK) {
+        LOGE("sqlite error : [%d] : path [%s]", ret, db_path);
+        return false;
+    }
+
+    ret = sqlite3_exec(cluster_db, "PRAGMA journal_mode = PERSIST", NULL, NULL, &errMsg);
+    if (ret != SQLITE_OK) {
+        LOGE("SQL error(%d) : %s", ret, errMsg);
+        sqlite3_free(errMsg);
+        return false;
+    }
+
+    ret = sqlite3_exec(cluster_db, CREATE_CLUSTER_DB_TABLE, NULL, NULL, &errMsg);
+    if (ret != SQLITE_OK) {
+        LOGE("SQL error(%d) : %s", ret, errMsg);
+        sqlite3_free(errMsg);
+        return false;
+    }
+    LOGD("Create DB[%s] : [%s] OK ", db_path, CREATE_CLUSTER_DB_TABLE);
+    return true;
+}
+
+bool cluster_db_close()
+{
+    if (cluster_db) {
+        sqlite3_exec(cluster_db, "COMMIT TRANSACTION", NULL, NULL, NULL);
+        sqlite3_close(cluster_db);
+        cluster_db = NULL;
+    }
+    return true;
+}
+
+bool cluster_db_get_list(Eina_List **cluster_list)
+{
+    sqlite3_stmt *stmt;
+    if (!__cluster_db_open())
+        return false;
+    int ret = sqlite3_prepare_v2(cluster_db, SELECT_ITEM, strlen(SELECT_ITEM), &stmt, NULL);
+    if (ret != SQLITE_OK) {
+        LOGE("sqlite error : [%s,%s]", SELECT_ITEM, sqlite3_errmsg(cluster_db));
+        return false;
+    }
+
+    const char *str;
+    while (sqlite3_step(stmt) == SQLITE_ROW) {
+        widget_data_t *item = (widget_data_t *)malloc(sizeof(widget_data_t));
+        memset(item, 0, sizeof(widget_data_t));
+
+        item->widget_id = sqlite3_column_int(stmt, COL_WIDGET_ID);
+        item->page_idx = sqlite3_column_int(stmt, COL_PAGE_INDEX);
+        item->pos_y = sqlite3_column_int(stmt, COL_POS_Y);
+        item->pos_x = sqlite3_column_int(stmt, COL_POS_X);
+        str = (const char *) sqlite3_column_text(stmt, COL_PKG_NAME);
+        item->pkg_name = (!str || !strlen(str)) ? NULL : strdup(str);
+        str = (const char *) sqlite3_column_text(stmt, COL_CONTENT_INFO);
+        item->content_info = (!str || !strlen(str)) ? NULL : strdup(str);
+        item->type = sqlite3_column_int(stmt, COL_TYPE);
+        item->period = sqlite3_column_double(stmt, COL_PERIOD);
+        item->allow_duplicate = sqlite3_column_int(stmt, COL_ALLOW_DUPLICATE);
+        *cluster_list = eina_list_append(*cluster_list, item);
+    }
+    sqlite3_finalize(stmt);
+    return true;
+}
+
+bool cluster_db_update(widget_data_t *item)
+{
+    char query[QUERY_MAXLEN];
+    sqlite3_stmt *stmt;
+    if (!__cluster_db_open())
+        return false;
+
+    snprintf(query, QUERY_MAXLEN, UPDATE_CLUSTER_DB_TABLE,
+            item->page_idx,
+            item->pos_y,
+            item->pos_x,
+            item->pkg_name,
+            item->content_info,
+            item->type,
+            item->period,
+            item->allow_duplicate,
+            item->widget_id);
+    int ret = sqlite3_prepare(cluster_db, query, QUERY_MAXLEN , &stmt, NULL);
+    if (ret != SQLITE_OK) {
+        LOGE("sqlite error : [%s,%s]", query, sqlite3_errmsg(cluster_db));
+        return false;
+    }
+    sqlite3_step(stmt);
+    sqlite3_finalize(stmt);
+    cluster_db_close();
+    return true;
+}
+
+bool cluster_db_insert(widget_data_t *item)
+{
+    char query[QUERY_MAXLEN];
+    sqlite3_stmt *stmt;
+    if (!__cluster_db_open())
+        return false;
+    snprintf(query, QUERY_MAXLEN, INSERT_CLUSTER_DB_TABLE,
+            item->page_idx,
+            item->pos_y,
+            item->pos_x,
+            item->pkg_name,
+            item->content_info,
+            item->type,
+            item->period,
+            item->allow_duplicate);
+    int ret = sqlite3_prepare(cluster_db, query, QUERY_MAXLEN , &stmt, NULL);
+    if (ret != SQLITE_OK) {
+        LOGE("sqlite error : [%s,%s]", query, sqlite3_errmsg(cluster_db));
+        return false;
+    }
+    sqlite3_step(stmt);
+    sqlite3_finalize(stmt);
+    item->widget_id = (int)sqlite3_last_insert_rowid(cluster_db);
+
+    cluster_db_close();
+    return true;
+}
+
+
+bool cluster_db_delete(widget_data_t *item)
+{
+    char query[QUERY_MAXLEN];
+    sqlite3_stmt *stmt;
+    if (!__cluster_db_open())
+        return false;
+
+    snprintf(query, QUERY_MAXLEN, "DELETE FROM clusters WHERE widgetId=%d", item->widget_id);
+    int ret = sqlite3_prepare(cluster_db, query, QUERY_MAXLEN , &stmt, NULL);
+    if (ret != SQLITE_OK) {
+        LOGE("sqlite error : [%s,%s]", query, sqlite3_errmsg(cluster_db));
+        return false;
+    }
+
+    sqlite3_step(stmt);
+    sqlite3_finalize(stmt);
+
+    cluster_db_close();
+    return true;
+}
+
+bool __cluster_db_open()
+{
+    if (!cluster_db) {
+        int ret;
+        ret = sqlite3_open(util_get_data_file_path(CLUSTER_DB_NAME), &cluster_db);
+        if (ret != SQLITE_OK) {
+            LOGE("sqlite error : [%d] : path [%s]", ret, util_get_data_file_path(CLUSTER_DB_NAME));
+            return false;
+        }
+    }
+    return true;
+}
diff --git a/src/cluster_page.c b/src/cluster_page.c
new file mode 100755 (executable)
index 0000000..f216dae
--- /dev/null
@@ -0,0 +1,274 @@
+/*
+ * Copyright 2012  Samsung Electronics Co., Ltd
+ *
+ * Licensed under the Flora License, Version 1.1 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://floralicense.org/license/
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include "cluster_page.h"
+#include "conf.h"
+#include "edc_conf.h"
+#include "util.h"
+
+void __cluster_page_set(cluster_page_t *page, widget_data_t *item);
+void __cluster_page_print_space(cluster_page_t *page);
+void __cluster_page_get_widget_size(widget_size_type_e type, int *w, int *h);
+
+cluster_page_t *cluster_page_new(Evas_Object* parent)
+{
+    cluster_page_t *page_t = (cluster_page_t *)malloc(sizeof(cluster_page_t));
+    memset(page_t, 0, sizeof(cluster_page_t));
+
+    page_t->page_layout = elm_layout_add(parent);
+    elm_layout_file_set(page_t->page_layout, util_get_res_file_path(EDJE_DIR"/cluster_page.edj"), GROUP_CLUSTER_PAGE_LY);
+    evas_object_size_hint_align_set(page_t->page_layout, 0, 0);
+    evas_object_size_hint_weight_set(page_t->page_layout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+    evas_object_resize(page_t->page_layout, CLUSTER_W, CLUSTER_H);
+    evas_object_show(page_t->page_layout);
+
+    Evas_Object *page_bg = evas_object_rectangle_add(evas_object_evas_get(page_t->page_layout));
+    evas_object_size_hint_min_set(page_bg, CLUSTER_W, CLUSTER_H);
+    evas_object_size_hint_align_set(page_bg, EVAS_HINT_FILL, EVAS_HINT_FILL);
+    evas_object_size_hint_weight_set(page_bg, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+    evas_object_color_set(page_bg, 0, 0, 0, 0);
+    evas_object_show(page_bg);
+    elm_object_part_content_set(page_t->page_layout, SIZE_SETTER, page_bg);
+
+    Evas_Object *grid = elm_grid_add(page_t->page_layout);
+    evas_object_size_hint_weight_set(grid, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+    evas_object_size_hint_align_set(grid, EVAS_HINT_FILL, EVAS_HINT_FILL);
+    elm_grid_size_set(grid, CLUSTER_COL, CLUSTER_ROW);
+    evas_object_show(grid);
+    elm_layout_content_set(page_t->page_layout, CLUSTER_BOX, grid);
+    page_t->grid = grid;
+    return page_t;
+}
+
+void cluster_page_delete(cluster_page_t *page)
+{
+    evas_object_del(page->page_layout);
+    eina_list_free(page->widget_list);
+    free(page);
+}
+
+bool cluster_page_set_widget(cluster_page_t *page, widget_data_t *item)
+{
+    if (item == NULL) {
+        LOGE("widget data is NULL");
+        return false;
+    }
+
+    int x, y;
+    if (cluster_page_check_empty_space(page, item->type, item->pos_x, item->pos_y, &x, &y)) {
+        item->page_idx = page->page_index;
+        item->pos_x = x;
+        item->pos_y = y;
+        __cluster_page_set(page, item);
+        return true;
+    }
+    return false;
+}
+
+bool cluster_page_unset(cluster_page_t *page, widget_data_t *item)
+{
+    int w, h;
+    int i, j;
+    __cluster_page_get_widget_size(item->type, &w, &h);
+
+    for (i = 0; i < h; i++) {
+        for (j = 0; j < w; j++) {
+            page->space[item->pos_y + i][item->pos_x + j] = 0;
+        }
+    }
+
+    elm_grid_unpack(page->grid, item->widget_layout);
+    page->widget_list = eina_list_remove(page->widget_list, item);
+    return true;
+}
+
+bool cluster_page_check_empty_space(cluster_page_t *page, widget_size_type_e type,
+        int pos_x, int pos_y, int *empty_x, int *empty_y)
+{
+    LOGD("%d %d", pos_x, pos_y);
+    int w, h;
+    int from_x, to_x, from_y, to_y;
+    int x, y, i, j;
+    __cluster_page_get_widget_size(type, &w, &h);
+
+    if (pos_x == INIT_VALUE || pos_y == INIT_VALUE) {
+        from_x = from_y = 0;
+        to_x = to_y = 3;
+    } else if (pos_x < 0 || pos_y < 0 || pos_x >= CLUSTER_COL || pos_y >= CLUSTER_ROW) {
+        return false;
+    } else {
+        from_x = to_x = pos_x;
+        from_y = to_y = pos_y;
+    }
+    LOGD("from %d %d", from_x, from_y);
+
+    for (y = from_y; y <= to_y; y++) {
+        for (x = from_x; x <= to_x; x++) {
+            bool find = true;
+            for (i = 0; i < h; i++) {
+                for (j = 0; j < w; j++) {
+                    if (y + i >= 4 || x + j >= 4 || page->space[y + i][x + j] == 1) {
+                        find = false;
+                        break;
+                    }
+                    if (!find)
+                        break;
+                }
+            }
+            if (find) {
+                if (empty_x)
+                    *empty_x = x;
+                if (empty_y)
+                    *empty_y = y;
+                LOGD("empty");
+                return true;
+            }
+        }
+    }
+
+    if (empty_x)
+        *empty_x = INIT_VALUE;
+    if (empty_y)
+        *empty_y = INIT_VALUE;
+    LOGD("NOT empty");
+    return false;
+}
+
+void __cluster_page_set(cluster_page_t *page, widget_data_t *item)
+{
+    int w, h;
+    int i, j;
+    __cluster_page_get_widget_size(item->type, &w, &h);
+
+    for (i = 0; i < h; i++) {
+        for (j = 0; j < w; j++) {
+            page->space[item->pos_y + i][item->pos_x + j] = 1;
+        }
+    }
+
+    elm_grid_pack(page->grid, item->widget_layout, item->pos_x, item->pos_y, w, h);
+    cluster_data_update(item);
+    page->widget_list = eina_list_append(page->widget_list, item);
+}
+
+Evas_Object *cluster_page_thumbnail(cluster_page_t *page_t)
+{
+    Evas_Object *image = NULL;
+    if (!page_t || !page_t->page_layout) {
+        LOGE("Invalid page");
+        return NULL;
+    }
+
+    image = evas_object_image_filled_add(evas_object_evas_get(page_t->page_layout));
+    if (!image) {
+        LOGE("Could not create image proxy object");
+        return NULL;
+    }
+
+    if (!evas_object_image_source_set(image, page_t->page_layout)) {
+        evas_object_del(image);
+        LOGE("Could not set proxy image source");
+        return NULL;
+    }
+
+    evas_object_image_fill_set(image, 0, 0, CLUSTER_ALL_PAGE_W, CLUSTER_ALL_PAGE_H);
+    evas_object_show(image);
+
+    return image;
+}
+void cluster_page_drag_cancel(cluster_page_t *page)
+{
+    if (page->highlight) {
+        evas_object_del(page->highlight);
+        page->highlight = NULL;
+    }
+}
+
+void cluster_page_drag_widget(cluster_page_t *page, widget_size_type_e type, int pos_x, int pos_y)
+{
+    if (!page->highlight) {
+        int w = 0, h = 0;
+        LOGD("Create Highlight");
+        page->highlight_pos_x = INIT_VALUE;
+        page->highlight_pos_y = INIT_VALUE;
+        page->highlight = evas_object_rectangle_add(evas_object_evas_get(page->page_layout));
+        edje_object_part_geometry_get(elm_layout_edje_get(page->page_layout), CLUSTER_BG, NULL, NULL, &w, &h);
+        evas_object_size_hint_min_set(page->highlight, w /CLUSTER_COL, h / CLUSTER_ROW);
+        evas_object_size_hint_align_set(page->highlight, EVAS_HINT_FILL, EVAS_HINT_FILL);
+        evas_object_size_hint_weight_set(page->highlight, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+        evas_object_color_set(page->highlight, 255 , 255, 255, 100);
+    }
+    if (cluster_page_check_empty_space(page, type, pos_x, pos_y, NULL, NULL)) {
+        if (pos_x != page->highlight_pos_x || pos_y != page->highlight_pos_y) {
+            int w, h;
+            page->highlight_pos_x = pos_x;
+            page->highlight_pos_y = pos_y;
+            elm_grid_unpack(page->grid, page->highlight);
+            __cluster_page_get_widget_size(type, &w, &h);
+            elm_grid_pack(page->grid, page->highlight, pos_x, pos_y, w, h);
+            evas_object_show(page->highlight);
+        }
+    } else {
+        page->highlight_pos_x = INIT_VALUE;
+        page->highlight_pos_y = INIT_VALUE;
+        elm_grid_unpack(page->grid, page->highlight);
+        evas_object_hide(page->highlight);
+    }
+}
+
+bool cluster_page_drop_widget(cluster_page_t *page, widget_data_t *widget)
+{
+    if (!page->highlight || page->highlight_pos_x == INIT_VALUE || page->highlight_pos_y == INIT_VALUE)
+        return false;
+
+    elm_grid_unpack(page->grid, page->highlight);
+    evas_object_del(page->highlight);
+    page->highlight = NULL;
+
+    widget->page_idx = page->page_index;
+    widget->pos_x = page->highlight_pos_x;
+    widget->pos_y = page->highlight_pos_y;
+    __cluster_page_set(page, widget);
+    return true;
+}
+
+void __cluster_page_print_space(cluster_page_t *page)
+{
+    LOGD("=========================================");
+    int i;
+    for (i = 0; i < 4; i++) {
+        LOGD("%d %d %d %d", page->space[i][0], page->space[i][1], page->space[i][2], page->space[i][3]);
+    }
+    LOGD("=========================================");
+}
+
+void __cluster_page_get_widget_size(widget_size_type_e type, int *w, int *h)
+{
+    switch (type) {
+    case WIDGET_SIZE_TYPE_4x2:
+        *w = 4;
+        *h = 2;
+        break;
+    case WIDGET_SIZE_TYPE_4x4:
+        *w = 4;
+        *h = 4;
+        break;
+    default:
+        *w = *h = 0;
+        LOGE("NOT support type : %d", type);
+        break;
+    }
+}
diff --git a/src/cluster_view.c b/src/cluster_view.c
new file mode 100755 (executable)
index 0000000..d8c70da
--- /dev/null
@@ -0,0 +1,1227 @@
+/*
+ * Copyright 2012  Samsung Electronics Co., Ltd
+ *
+ * Licensed under the Flora License, Version 1.1 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://floralicense.org/license/
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <feedback.h>
+#include <efl_extension.h>
+
+#include "homescreen-efl.h"
+#include "cluster_view.h"
+#include "conf.h"
+#include "edc_conf.h"
+#include "util.h"
+#include "page_indicator.h"
+#include "widget_viewer.h"
+#include "menu.h"
+#include "popup.h"
+#include "cluster_page.h"
+#include "cluster_data.h"
+#include "add_widget_viewer/add_widget_viewer.h"
+#include "mouse.h"
+
+static struct {
+    Evas_Object *win;
+    Evas_Object *scroller;
+    Evas_Object *box;
+    Evas_Object *allpage;
+    Evas_Object *allpage_add_page;
+    Evas_Object *allpage_grid;
+    page_indicator_t *indicator;
+    int page_count;
+    int current_page;
+    view_state_t view_state;
+    Eina_List *page_list;
+    cluster_page_t *picked_page;
+    widget_data_t *picked_widget;
+    Ecore_Timer *edit_mode_scroll_timer;
+    bool is_srolling;
+} cluster_view_s = {
+    .scroller = NULL,
+    .box = NULL,
+    .allpage = NULL,
+    .allpage_add_page = NULL,
+    .allpage_grid = NULL,
+    .indicator = NULL,
+    .page_count = 0,
+    .current_page = INIT_VALUE,
+    .view_state = VIEW_STATE_NORMAL,
+    .page_list = NULL,
+    .picked_page = NULL,
+    .picked_widget = NULL,
+    .edit_mode_scroll_timer = NULL,
+    .is_srolling = false,
+};
+
+static int cluster_menu_list[4] = {
+        MENU_CLUSTER_EDIT,
+        MENU_CLUSTER_ADD_WIDGET,
+        MENU_CLUSTER_CHANGE_WALLPAPER,
+        MENU_CLUSTER_ALL_PAGES
+};
+
+static mouse_info_t cluster_mouse_info = {
+        .pressed = false,
+        .long_pressed = false,
+        .down_x = 0,
+        .down_y = 0,
+        .move_x = 0,
+        .move_y = 0,
+        .up_x = 0,
+        .up_y = 0,
+        .long_press_timer = NULL,
+        .offset_x = 0,
+        .offset_y = 0,
+};
+
+static Eina_Hash *cluster_menu_table = NULL;
+
+Evas_Object *__cluster_view_create_base_gui(Evas_Object *win);
+static void __cluster_view_create_cluster(void);
+static void __cluster_view_create_menu(void);
+static void __cluster_view_menu_edit_cb(void *data, Evas_Object *obj, void *event_info);
+static void __cluster_view_menu_add_widget_cb(void *data, Evas_Object *obj, void *event_info);
+static void __cluster_view_menu_change_wallpaper_cb(void *data, Evas_Object *obj, void *event_info);
+static void __cluster_view_menu_all_pages_cb(void *data, Evas_Object *obj, void *event_info);
+static void __cluster_view_app_launch_request_cb(app_control_h request, app_control_h reply, app_control_result_e result, void *data);
+static void __cluster_view_scroll_to_home(void);
+static void __cluster_view_scroll_to_page(int page_idx, bool animation);
+static void __cluster_view_add_widget_content(widget_data_t *item);
+static void __cluster_view_create_all_page(void);
+static void __cluster_view_destroy_all_page(void);
+static cluster_page_t * __cluster_view_page_new(void);
+static void __cluster_view_page_delete(cluster_page_t *page);
+static void __cluster_view_allpage_delete_clicked(void *data, Evas_Object *obj, const char *emission, const char *source);
+static void __cluster_view_allpage_add_clicked(void *data, Evas_Object *obj, const char *emission, const char *source);
+static void __cluster_view_allpage_delete_page_cb(void *data, Evas_Object *obj, void *event_info);
+
+static void __clsuter_view_thumbnail_down_cb(void *data, Evas *e, Evas_Object *obj, void *event_info);
+static void __clsuter_view_thumbnail_up_cb(void *data, Evas *e, Evas_Object *obj, void *event_info);
+static void __clsuter_view_thumbnail_move_cb(void *data, Evas *e, Evas_Object *obj, void *event_info);
+static Eina_Bool __cluster_view_thumbnail_long_press_time_cb(void *data);
+static void __cluster_view_allpage_drag_page(void *data);
+static void __cluster_view_allpage_pick_up_page(void *data);
+static void __cluster_view_allpage_drop_page(void *data);
+
+static void __clsuter_view_edit_down_cb(void *data, Evas *e, Evas_Object *obj, void *event_info);
+static void __clsuter_view_edit_up_cb(void *data, Evas *e, Evas_Object *obj, void *event_info);
+static void __clsuter_view_edit_move_cb(void *data, Evas *e, Evas_Object *obj, void *event_info);
+static Eina_Bool __cluster_view_edit_long_press_time_cb(void *data);
+
+static void __cluster_view_edit_pick_up_widget(void *data);
+static void __cluster_view_edit_drag_widget(void *data);
+static void __cluster_view_edit_drop_widget(void *data);
+
+
+static Eina_Bool __cluster_view_scroll_timer_cb(void *data);
+
+static void __cluster_view_scroll_anim_stop_cb(void *data, Evas_Object *obj, void *event_info);
+static void __cluster_view_allpage_get_page_pos(int page_idx, int *w, int *h);
+static int __cluster_view_allpage_get_page_index(int x, int y);
+static void __cluster_view_allpage_reposition(void);
+static int __cluster_view_page_sort_cb(const void *a , const void *b);
+
+Evas_Object *cluster_view_create(Evas_Object *win)
+{
+    cluster_view_s.win = win;
+
+    widget_viewer_init(win);
+    cluster_data_init();
+
+    Evas_Object *base_layout = __cluster_view_create_base_gui(win);
+
+    if (base_layout == NULL) {
+        LOGE("[FAILED][base_layout == NULL]");
+        return NULL;
+    }
+
+    cluster_view_s.indicator = page_indictor_create(cluster_view_s.scroller);
+    page_indicator_scroller_resize(cluster_view_s.indicator, CLUSTER_VIEW_W , CLUSTER_VIEW_H);
+
+    __cluster_view_create_cluster();
+    __cluster_view_create_menu();
+
+    return base_layout;
+}
+
+void cluster_view_app_terminate(void)
+{
+    eina_hash_free(cluster_menu_table);
+    widget_viewer_fini();
+}
+
+void cluster_view_show(void)
+{
+    page_indicator_show(cluster_view_s.indicator);
+}
+
+void cluster_view_hide(void)
+{
+    page_indicator_hide(cluster_view_s.indicator);
+}
+
+void cluster_view_show_anim(double pos)
+{
+    evas_object_color_set(cluster_view_s.box, 255, 255, 255, pos*255);
+    if (pos >= (1.0 - (1e-10))) {
+        evas_object_color_set(cluster_view_s.box, 255, 255, 255, 255);
+    }
+}
+
+void cluster_view_hide_anim(double pos)
+{
+    evas_object_color_set(cluster_view_s.box, 255, 255, 255, (1-pos)*255);
+    if (pos >= (1.0 - (1e-10))) {
+        evas_object_color_set(cluster_view_s.box, 255, 255, 255, 0);
+    }
+}
+
+Evas_Object *__cluster_view_create_base_gui(Evas_Object *win)
+{
+    cluster_view_s.scroller = elm_scroller_add(win);
+    if (cluster_view_s.scroller == NULL) {
+        return NULL;
+    }
+    elm_scroller_content_min_limit(cluster_view_s.scroller, EINA_FALSE, EINA_FALSE);
+    elm_scroller_bounce_set(cluster_view_s.scroller, EINA_FALSE, EINA_TRUE);
+    elm_scroller_policy_set(cluster_view_s.scroller, ELM_SCROLLER_POLICY_OFF, ELM_SCROLLER_POLICY_OFF);
+    elm_scroller_page_scroll_limit_set(cluster_view_s.scroller, 1, 0);
+    evas_object_size_hint_weight_set(cluster_view_s.scroller, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+    evas_object_resize(cluster_view_s.scroller, CLUSTER_VIEW_W, CLUSTER_VIEW_H);
+
+    elm_scroller_loop_set(cluster_view_s.scroller, EINA_TRUE, EINA_FALSE);
+    elm_scroller_page_size_set(cluster_view_s.scroller, CLUSTER_W , CLUSTER_H);
+
+    evas_object_smart_callback_add(cluster_view_s.scroller, "scroll,anim,stop", __cluster_view_scroll_anim_stop_cb, NULL);
+
+    cluster_view_s.box = elm_box_add(cluster_view_s.scroller);
+    elm_box_horizontal_set(cluster_view_s.box, EINA_TRUE);
+    evas_object_size_hint_weight_set(cluster_view_s.box, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+    evas_object_size_hint_align_set(cluster_view_s.box, 0, 0);
+    evas_object_show(cluster_view_s.box);
+
+    elm_object_content_set(cluster_view_s.scroller, cluster_view_s.box);
+
+    return cluster_view_s.scroller;
+}
+
+static void __cluster_view_create_cluster(void)
+{
+    Eina_List *widget_list = cluster_data_get_widget_list();
+    int page_count = cluster_data_get_page_count();
+    cluster_view_s.current_page = CLUSTER_HOME_PAGE;
+
+    while (page_count--) {
+        __cluster_view_page_new();
+    }
+
+    Eina_List *find_list;
+    widget_data_t *item = NULL;
+    EINA_LIST_FOREACH(widget_list, find_list, item) {
+        __cluster_view_add_widget_content(item);
+        cluster_page_t *page = (cluster_page_t *)eina_list_nth(cluster_view_s.page_list, item->page_idx);
+        if (page == NULL) {
+            LOGE("page is NULL");
+        } else {
+            if (!cluster_page_set_widget(page, item)) {
+                LOGE("failed cluster_page_set_widget page %d", item->page_idx);
+            }
+        }
+    }
+
+    page_indicator_set_current_page(cluster_view_s.indicator, cluster_view_s.current_page);
+}
+
+static void __cluster_view_create_menu(void)
+{
+    cluster_menu_table = eina_hash_int32_new(NULL);
+    eina_hash_add(cluster_menu_table, &cluster_menu_list[0], __cluster_view_menu_edit_cb);
+    eina_hash_add(cluster_menu_table, &cluster_menu_list[1], __cluster_view_menu_add_widget_cb);
+    eina_hash_add(cluster_menu_table, &cluster_menu_list[2], __cluster_view_menu_change_wallpaper_cb);
+    eina_hash_add(cluster_menu_table, &cluster_menu_list[3], __cluster_view_menu_all_pages_cb);
+}
+
+static void __cluster_view_menu_edit_cb(void *data, Evas_Object *obj, void *event_info)
+{
+    feedback_play_type(FEEDBACK_TYPE_SOUND, FEEDBACK_PATTERN_TAP);
+    menu_hide();
+
+    cluster_view_set_state(VIEW_STATE_EDIT);
+}
+
+static void __cluster_view_menu_add_widget_cb(void *data, Evas_Object *obj, void *event_info)
+{
+    feedback_play_type(FEEDBACK_TYPE_SOUND, FEEDBACK_PATTERN_TAP);
+    menu_hide();
+
+    cluster_view_set_state(VIEW_STATE_ADD_VIEWER);
+}
+
+static void __cluster_view_menu_change_wallpaper_cb(void *data, Evas_Object *obj, void *event_info)
+{
+    feedback_play_type(FEEDBACK_TYPE_SOUND, FEEDBACK_PATTERN_TAP);
+
+    const char *appid = "org.tizen.wallpaper-ui-service";
+    app_control_h app_control_handle = NULL;
+
+    if (app_control_create(&app_control_handle) != APP_CONTROL_ERROR_NONE) {
+        LOGE("[FAILED][app_control_create]");
+        return;
+    }
+
+    app_control_add_extra_data(app_control_handle, "from", "Homescreen-efl");
+    app_control_add_extra_data(app_control_handle, "popup_type", "selection_popup");
+    app_control_add_extra_data(app_control_handle, "setas-type", "Homescreen");
+
+    if (app_control_set_app_id(app_control_handle, appid) != APP_CONTROL_ERROR_NONE) {
+        LOGE("[FAILED][app_control_set_app_id]");
+        app_control_destroy(app_control_handle);
+        return;
+    }
+
+    if (app_control_send_launch_request(app_control_handle, __cluster_view_app_launch_request_cb, NULL) != APP_CONTROL_ERROR_NONE) {
+        LOGE("[FAILED][app_control_send_launch_request]");
+        app_control_destroy(app_control_handle);
+        return;
+    }
+
+    app_control_destroy(app_control_handle);
+
+    menu_hide();
+}
+
+static void __cluster_view_menu_all_pages_cb(void *data, Evas_Object *obj, void *event_info)
+{
+    feedback_play_type(FEEDBACK_TYPE_SOUND, FEEDBACK_PATTERN_TAP);
+    menu_hide();
+
+    cluster_view_set_state(VIEW_STATE_ALL_PAGE);
+}
+
+void cluster_view_hw_menu_key(void)
+{
+    if (cluster_view_s.view_state == VIEW_STATE_NORMAL)
+        menu_change_state_on_hw_menu_key(cluster_menu_table);
+}
+
+bool cluster_view_hw_home_key(void)
+{
+    if (cluster_view_s.view_state == VIEW_STATE_NORMAL) {
+        __cluster_view_scroll_to_home();
+    } else if (cluster_view_s.view_state == VIEW_STATE_EDIT) {
+        cluster_view_set_state(VIEW_STATE_NORMAL);
+    } else if (cluster_view_s.view_state == VIEW_STATE_ADD_VIEWER) {
+        cluster_view_set_state(VIEW_STATE_NORMAL);
+    } else if (cluster_view_s.view_state == VIEW_STATE_ALL_PAGE) {
+        cluster_view_set_state(VIEW_STATE_NORMAL);
+    }
+
+    return true;
+}
+
+bool cluster_view_hw_back_key(void)
+{
+    if (cluster_view_s.view_state == VIEW_STATE_NORMAL) {
+        return true;
+    } else if (cluster_view_s.view_state == VIEW_STATE_EDIT) {
+        cluster_view_set_state(VIEW_STATE_NORMAL);
+    } else if (cluster_view_s.view_state == VIEW_STATE_ADD_VIEWER) {
+        cluster_view_set_state(VIEW_STATE_NORMAL);
+    } else if (cluster_view_s.view_state == VIEW_STATE_ALL_PAGE) {
+        cluster_view_set_state(VIEW_STATE_NORMAL);
+    }
+
+    return true;
+}
+
+view_state_t cluster_view_get_state(void)
+{
+    return cluster_view_s.view_state;
+}
+
+void cluster_view_set_state(view_state_t state)
+{
+    if (state == VIEW_STATE_EDIT) {
+        homescreen_efl_btn_hide(HOMESCREEN_VIEW_HOME);
+
+        Eina_List *data_list = cluster_data_get_widget_list();
+        Eina_List *find_list = NULL;
+
+        cluster_page_t *page_item = NULL;
+        EINA_LIST_FOREACH(cluster_view_s.page_list, find_list, page_item) {
+            if (page_item->page_layout) {
+                elm_object_signal_emit(page_item->page_layout, SIGNAL_EDIT_MODE_ON, SIGNAL_SOURCE);
+            }
+        }
+
+        widget_data_t *item = NULL;
+        EINA_LIST_FOREACH(data_list, find_list, item) {
+            if (item->widget_layout) {
+                elm_object_signal_emit(item->widget_layout, SIGNAL_DELETE_BUTTON_SHOW_ANI, SIGNAL_SOURCE);
+                elm_object_signal_emit(item->widget_layout, SIGNAL_CLUSTER_EDIT_STATE, SIGNAL_SOURCE);
+
+                evas_object_event_callback_add(item->widget_layout, EVAS_CALLBACK_MOUSE_DOWN, __clsuter_view_edit_down_cb, item);
+                evas_object_event_callback_add(item->widget_layout, EVAS_CALLBACK_MOUSE_MOVE, __clsuter_view_edit_move_cb, item);
+                evas_object_event_callback_add(item->widget_layout, EVAS_CALLBACK_MOUSE_UP, __clsuter_view_edit_up_cb, item);
+            }
+        }
+    } else if (state == VIEW_STATE_NORMAL) {
+        if (cluster_view_s.view_state == VIEW_STATE_EDIT) {
+            homescreen_efl_btn_show(HOMESCREEN_VIEW_HOME);
+
+            Eina_List *data_list = cluster_data_get_widget_list();
+            Eina_List *find_list = NULL;
+
+            cluster_page_t *page_item = NULL;
+            EINA_LIST_FOREACH(cluster_view_s.page_list, find_list, page_item) {
+                if (page_item->page_layout) {
+                    elm_object_signal_emit(page_item->page_layout, SIGNAL_EDIT_MODE_OFF, SIGNAL_SOURCE);
+                }
+            }
+
+            widget_data_t *item = NULL;
+            EINA_LIST_FOREACH(data_list, find_list, item) {
+                if (item->widget_layout) {
+                    elm_object_signal_emit(item->widget_layout, SIGNAL_DELETE_BUTTON_HIDE_ANI, SIGNAL_SOURCE);
+                    elm_object_signal_emit(item->widget_layout, SIGNAL_CLUSTER_NORMAL_STATE, SIGNAL_SOURCE);
+
+                    evas_object_event_callback_del(item->widget_layout, EVAS_CALLBACK_MOUSE_DOWN, __clsuter_view_edit_down_cb);
+                    evas_object_event_callback_del(item->widget_layout, EVAS_CALLBACK_MOUSE_MOVE, __clsuter_view_edit_move_cb);
+                    evas_object_event_callback_del(item->widget_layout, EVAS_CALLBACK_MOUSE_UP, __clsuter_view_edit_up_cb);
+                }
+            }
+        } else if (cluster_view_s.view_state == VIEW_STATE_ADD_VIEWER) {
+            add_widget_viewer_win_destroy();
+        } else if (cluster_view_s.view_state == VIEW_STATE_ALL_PAGE) {
+            elm_win_indicator_mode_set(homescreen_efl_get_win(), ELM_WIN_INDICATOR_SHOW);
+            homescreen_efl_btn_show(HOMESCREEN_VIEW_HOME);
+            page_indicator_show(cluster_view_s.indicator);
+            evas_object_show(cluster_view_s.scroller);
+            __cluster_view_destroy_all_page();
+
+            Eina_List *find_list = NULL;
+
+            cluster_page_t *page_item = NULL;
+            EINA_LIST_FOREACH(cluster_view_s.page_list, find_list, page_item) {
+                if (page_item->page_layout) {
+                    elm_box_pack_end(cluster_view_s.box, page_item->page_layout);
+                }
+            }
+
+            if (cluster_view_s.current_page >= cluster_view_s.page_count) {
+                cluster_view_s.current_page = CLUSTER_HOME_PAGE;
+            }
+            __cluster_view_scroll_to_page(cluster_view_s.current_page, false);
+        }
+    } else if (state == VIEW_STATE_ADD_VIEWER) {
+        add_widget_viewer_win_create();
+    } else if (state == VIEW_STATE_ALL_PAGE) {
+        elm_win_indicator_mode_set(homescreen_efl_get_win(), ELM_WIN_INDICATOR_HIDE);
+        homescreen_efl_btn_hide(HOMESCREEN_VIEW_HOME);
+        page_indicator_hide(cluster_view_s.indicator);
+
+        __cluster_view_create_all_page();
+    }
+
+    cluster_view_s.view_state = state;
+}
+
+bool cluster_view_add_widget(widget_data_t *item, bool scroll)
+{
+    if (!item->widget_layout)
+        __cluster_view_add_widget_content(item);
+
+    int page_idx = INIT_VALUE;
+    bool set_on = false;
+
+    if (item->page_idx >= 0) {
+        page_idx = item->page_idx;
+    } else {
+        page_idx = cluster_view_s.current_page;
+    }
+
+    cluster_page_t *page = (cluster_page_t *)eina_list_nth(cluster_view_s.page_list, page_idx);
+    set_on = cluster_page_set_widget(page, item);
+
+    if (!set_on && !cluster_page_set_widget(page, item)) {
+        Eina_List *find_list = NULL;
+        cluster_page_t *page_item = NULL;
+        bool set_on = false;
+        EINA_LIST_FOREACH(cluster_view_s.page_list, find_list, page_item) {
+            if (page_item == NULL) {
+                LOGE("page is NULL");
+            } else {
+                if (cluster_page_set_widget(page_item, item)) {
+                    page_idx = page_item->page_index;
+                    set_on = true;
+                    break;
+                }
+            }
+        }
+
+        if (!set_on) {
+            if (cluster_view_s.page_count >= CLUSTER_MAX_PAGE) {
+                LOGE("cluster page is max.");
+
+                Evas_Smart_Cb func[3] = { NULL, NULL, NULL };
+                void *data[3] = { NULL, NULL, NULL };
+                popup_show(POPUP_CLUSTER_PAGE_FULL, 1, func, data);
+                return false;
+            } else {
+                cluster_page_t *page_t = __cluster_view_page_new();
+                if (!page_t || !cluster_page_set_widget(page_t, item)) {
+                    LOGE("Cannot add widget");
+                    return false;
+                }
+                page_idx = page_t->page_index;
+            }
+        }
+    }
+
+    if (scroll) {
+        cluster_view_s.current_page = page_idx;
+        __cluster_view_scroll_to_page(cluster_view_s.current_page, true);
+    }
+
+    return true;
+}
+
+void cluster_view_delete_widget(widget_data_t *item)
+{
+    cluster_page_t *page = (cluster_page_t *)eina_list_nth(cluster_view_s.page_list, item->page_idx);
+    if (page)
+        cluster_page_unset(page, item);
+    else
+        LOGE("Page is NULL");
+    evas_object_del(item->widget_layout);
+    item->widget_layout = NULL;
+}
+
+static void __cluster_view_scroll_to_home(void)
+{
+    __cluster_view_scroll_to_page(CLUSTER_HOME_PAGE, true);
+}
+
+static void __cluster_view_scroll_to_page(int page_idx, bool animation)
+{
+    if (animation) {
+        cluster_view_s.is_srolling = true;
+        elm_scroller_page_bring_in(cluster_view_s.scroller, page_idx, 0);
+    } else {
+        page_indicator_set_current_page(cluster_view_s.indicator, page_idx);
+        elm_scroller_page_show(cluster_view_s.scroller, page_idx, 0);
+    }
+}
+
+static void __cluster_view_app_launch_request_cb(app_control_h request, app_control_h reply, app_control_result_e result, void *data)
+{
+    switch (result) {
+    case APP_CONTROL_RESULT_CANCELED:
+        LOGE("[APP_CONTROL_RESULT_CANCELED]");
+        break;
+    case APP_CONTROL_RESULT_FAILED:
+        LOGE("[APP_CONTROL_RESULT_FAILED]");
+        break;
+    case APP_CONTROL_RESULT_SUCCEEDED:
+        LOGD("[APP_CONTROL_RESULT_SUCCEEDED]");
+        break;
+    default:
+        LOGE("UNKNOWN ERROR");
+        break;
+    }
+}
+
+static void __cluster_view_add_widget_content(widget_data_t *item)
+{
+    int w, h;
+    LOGD("Create Widget: pkg[%s], type[%d]", item->pkg_name, item->type);
+    item->widget_layout = widget_viewer_add_widget(cluster_view_s.win, item, &w, &h);
+    LOGD("widget size : %d %d", w, h);
+}
+
+static void __cluster_view_create_all_page(void)
+{
+    cluster_view_s.allpage = elm_layout_add(homescreen_efl_get_win());
+    elm_layout_file_set(cluster_view_s.allpage, util_get_res_file_path(EDJE_DIR"/cluster_allpage.edj"), GROUP_CLUSTER_ALLPAGE_LY);
+
+    evas_object_size_hint_align_set(cluster_view_s.allpage, EVAS_HINT_FILL, EVAS_HINT_FILL);
+    evas_object_size_hint_weight_set(cluster_view_s.allpage, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+    evas_object_move(cluster_view_s.allpage, 0, 0);
+    evas_object_show(cluster_view_s.allpage);
+
+    Evas_Object *page_bg = evas_object_rectangle_add(evas_object_evas_get(cluster_view_s.allpage));
+    evas_object_size_hint_min_set(page_bg, WINDOW_W, WINDOW_H);
+    evas_object_size_hint_align_set(page_bg, EVAS_HINT_FILL, EVAS_HINT_FILL);
+    evas_object_size_hint_weight_set(page_bg, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+    evas_object_color_set(page_bg, 0, 0, 0, 50);
+    evas_object_show(page_bg);
+    elm_object_part_content_set(cluster_view_s.allpage, SIZE_SETTER, page_bg);
+
+    Evas_Object *grid = elm_grid_add(cluster_view_s.allpage);
+    evas_object_size_hint_weight_set(grid, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+    evas_object_size_hint_align_set(grid, EVAS_HINT_FILL, EVAS_HINT_FILL);
+    elm_grid_size_set(grid, WINDOW_W, WINDOW_H);
+    evas_object_show(grid);
+    elm_layout_content_set(cluster_view_s.allpage, CLUSTER_ALLPAGE_GRID, grid);
+    cluster_view_s.allpage_grid = grid;
+
+    Eina_List *find_list = NULL;
+    cluster_page_t *page_item = NULL;
+    elm_box_unpack_all(cluster_view_s.box);
+    EINA_LIST_FOREACH(cluster_view_s.page_list, find_list, page_item) {
+        //HIDE page
+        evas_object_move(page_item->page_layout, -720, 0);
+        //make thumbnail ly
+        if (page_item->page_layout) {
+            page_item->thumbnail_ly = elm_layout_add(page_item->page_layout);
+            elm_layout_file_set(page_item->thumbnail_ly, util_get_res_file_path(EDJE_DIR"/cluster_allpage_thumbnail.edj"), GROUP_CLUSTER_ALLPAGE_THUMBNAIL_LY);
+
+            evas_object_size_hint_align_set(page_item->thumbnail_ly, EVAS_HINT_FILL, EVAS_HINT_FILL);
+            evas_object_size_hint_weight_set(page_item->thumbnail_ly, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+            evas_object_show(page_item->thumbnail_ly);
+
+            Evas_Object *thumbnail = cluster_page_thumbnail(page_item);
+            elm_object_part_content_set(page_item->thumbnail_ly, CLUSTER_ALLPAGE_THUMBNAIL_IMAGE, thumbnail);
+            elm_object_signal_callback_add(page_item->thumbnail_ly,
+                    SIGNAL_ALLPAGE_DELETE_BUTTON_CLICKED, SIGNAL_SOURCE,
+                    __cluster_view_allpage_delete_clicked, page_item);
+
+            evas_object_event_callback_add(thumbnail, EVAS_CALLBACK_MOUSE_DOWN, __clsuter_view_thumbnail_down_cb, page_item);
+            evas_object_event_callback_add(thumbnail, EVAS_CALLBACK_MOUSE_MOVE, __clsuter_view_thumbnail_move_cb, page_item);
+            evas_object_event_callback_add(thumbnail, EVAS_CALLBACK_MOUSE_UP, __clsuter_view_thumbnail_up_cb, page_item);
+        }
+    }
+
+    __cluster_view_allpage_reposition();
+
+    if (cluster_view_s.page_count < CLUSTER_MAX_PAGE) {
+        int x = 0, y = 0;
+        cluster_view_s.allpage_add_page = elm_layout_add(cluster_view_s.allpage_grid);
+        elm_layout_file_set(cluster_view_s.allpage_add_page, util_get_res_file_path(EDJE_DIR"/cluster_allpage_thumbnail.edj"), GROUP_CLUSTER_ALLPAGE_THUMBNAIL_LY);
+
+        evas_object_size_hint_align_set(cluster_view_s.allpage_add_page, EVAS_HINT_FILL, EVAS_HINT_FILL);
+        evas_object_size_hint_weight_set(cluster_view_s.allpage_add_page, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+        evas_object_show(cluster_view_s.allpage_add_page);
+
+        elm_object_signal_emit(cluster_view_s.allpage_add_page, SIGNAL_ALLPAGE_ADD_BUTTON_SHOW, SIGNAL_SOURCE);
+        elm_object_signal_callback_add(cluster_view_s.allpage_add_page,
+                SIGNAL_ALLPAGE_ADD_BUTTON_CLICKED, SIGNAL_SOURCE,
+                __cluster_view_allpage_add_clicked, NULL);
+
+        __cluster_view_allpage_get_page_pos(cluster_view_s.page_count, &x, &y);
+        elm_grid_pack(cluster_view_s.allpage_grid, cluster_view_s.allpage_add_page, x, y, CLUSTER_ALL_PAGE_W, CLUSTER_ALL_PAGE_H);
+    }
+}
+
+static void __cluster_view_allpage_reposition(void)
+{
+    Eina_List *find_list = NULL;
+    cluster_page_t *page_item = NULL;
+    EINA_LIST_FOREACH(cluster_view_s.page_list, find_list, page_item) {
+        int x = 0, y = 0;
+        __cluster_view_allpage_get_page_pos(page_item->page_index, &x, &y);
+        elm_grid_pack(cluster_view_s.allpage_grid, page_item->thumbnail_ly, x, y, CLUSTER_ALL_PAGE_W, CLUSTER_ALL_PAGE_H);
+        if (cluster_view_s.page_count > 1)
+            elm_object_signal_emit(page_item->thumbnail_ly, SIGNAL_ALLPAGE_DELETE_BUTTON_SHOW, SIGNAL_SOURCE);
+        else {
+            elm_object_signal_emit(page_item->thumbnail_ly, SIGNAL_ALLPAGE_DELETE_BUTTON_HIDE, SIGNAL_SOURCE);
+        }
+    }
+}
+
+static void __cluster_view_allpage_get_page_pos(int page_idx, int *w, int *h)
+{
+    int row, col;
+    int start_y = 0;
+    if (cluster_view_s.page_count < 2) {
+        start_y = (WINDOW_H - CLUSTER_ALL_PAGE_H) / 2;
+    } else if (cluster_view_s.page_count < 4) {
+        start_y = (WINDOW_H - (CLUSTER_ALL_PAGE_H * 2 + CLUSTER_ALL_PAGE_GAP_H)) / 2;
+    } else {
+        start_y = (WINDOW_H - (CLUSTER_ALL_PAGE_H * 3 + CLUSTER_ALL_PAGE_GAP_H * 2)) / 2;
+    }
+    row = page_idx / 2;
+    col = page_idx % 2;
+
+    *w = CLUSTER_ALL_PAGE_PADDING_SIDE + (col * (CLUSTER_ALL_PAGE_W + CLUSTER_ALL_PAGE_GAP_W));
+    *h = start_y + (row * (CLUSTER_ALL_PAGE_H + CLUSTER_ALL_PAGE_GAP_H));
+}
+
+static int __cluster_view_allpage_get_page_index(int x, int y)
+{
+    double row, col;
+    int int_row, int_col;
+    int start_y = 0;
+    int index = 0;
+    if (cluster_view_s.page_count < 2) {
+        start_y = (WINDOW_H - CLUSTER_ALL_PAGE_H) / 2;
+    } else if (cluster_view_s.page_count < 4) {
+        start_y = (WINDOW_H - (CLUSTER_ALL_PAGE_H * 2 + CLUSTER_ALL_PAGE_GAP_H)) / 2;
+    } else {
+        start_y = (WINDOW_H - (CLUSTER_ALL_PAGE_H * 3 + CLUSTER_ALL_PAGE_GAP_H * 2)) / 2;
+    }
+    col = (double)(x - CLUSTER_ALL_PAGE_PADDING_SIDE) / (CLUSTER_ALL_PAGE_W + CLUSTER_ALL_PAGE_GAP_W);
+    int_col = (int)(col + 0.5);
+    row = (double)(y - start_y)/(CLUSTER_ALL_PAGE_H + CLUSTER_ALL_PAGE_GAP_H);
+    int_row = (int)(row + 0.5);
+
+    if (((int_col - ALLPAGE_MOVE_GAP) < col && (int_col + ALLPAGE_MOVE_GAP) > col) &&
+            ((int_row - ALLPAGE_MOVE_GAP) < row && (int_row + ALLPAGE_MOVE_GAP) > row)) {
+        index = int_row * 2 + int_col;
+        return index;
+    }
+    return INIT_VALUE;
+}
+
+static void __cluster_view_destroy_all_page(void)
+{
+    Eina_List *find_list = NULL;
+    cluster_page_t *page_item = NULL;
+    EINA_LIST_FOREACH(cluster_view_s.page_list, find_list, page_item) {
+        if (page_item) {
+            Evas_Object *image = elm_object_part_content_get(page_item->thumbnail_ly, CLUSTER_ALLPAGE_THUMBNAIL_IMAGE);
+            evas_object_event_callback_del(image, EVAS_CALLBACK_MOUSE_DOWN, __clsuter_view_thumbnail_down_cb);
+            evas_object_event_callback_del(image, EVAS_CALLBACK_MOUSE_MOVE, __clsuter_view_thumbnail_move_cb);
+            evas_object_event_callback_del(image, EVAS_CALLBACK_MOUSE_UP, __clsuter_view_thumbnail_up_cb);
+
+            evas_object_del(page_item->thumbnail_ly);
+            page_item->thumbnail_ly = NULL;
+        }
+    }
+    if (cluster_view_s.allpage_add_page)
+        evas_object_del(cluster_view_s.allpage_add_page);
+    if (cluster_view_s.allpage)
+        evas_object_del(cluster_view_s.allpage);
+
+    cluster_view_s.allpage_add_page = NULL;
+    cluster_view_s.allpage = NULL;
+}
+
+static cluster_page_t *__cluster_view_page_new(void)
+{
+    if (cluster_view_s.page_count >= CLUSTER_MAX_PAGE) {
+        LOGE("cluster page is max.");
+        return NULL;
+    }
+
+    cluster_page_t *page_t = cluster_page_new(cluster_view_s.box);
+    cluster_view_s.page_list = eina_list_append(cluster_view_s.page_list, page_t);
+    elm_box_pack_end(cluster_view_s.box, page_t->page_layout);
+    cluster_view_s.page_count = eina_list_count(cluster_view_s.page_list);
+    page_t->page_index = cluster_view_s.page_count - 1;
+    cluster_data_set_page_count(cluster_view_s.page_count);
+
+    page_indicator_set_page_count(cluster_view_s.indicator, cluster_view_s.page_count);
+
+    return page_t;
+}
+
+static void __cluster_view_page_delete(cluster_page_t *page)
+{
+    elm_grid_unpack(cluster_view_s.allpage_grid, page->thumbnail_ly);
+
+    cluster_view_s.page_list = eina_list_remove(cluster_view_s.page_list, page);
+    elm_box_unpack(cluster_view_s.box, page->page_layout);
+
+    Eina_List *find_list = NULL;
+    widget_data_t *widget = NULL;
+    EINA_LIST_FOREACH(page->widget_list, find_list, widget) {
+        cluster_data_delete(widget);
+    }
+    cluster_page_delete(page);
+
+    cluster_view_s.page_count--;
+
+    cluster_data_set_page_count(cluster_view_s.page_count);
+    page_indicator_set_page_count(cluster_view_s.indicator, cluster_view_s.page_count);
+}
+
+static void __cluster_view_allpage_delete_clicked(void *data, Evas_Object *obj, const char *emission, const char *source)
+{
+    cluster_page_t *page_item = (cluster_page_t *)data;
+    if (eina_list_count(page_item->widget_list) > 0) {
+        Evas_Smart_Cb func[3] = { __cluster_view_allpage_delete_page_cb, NULL, NULL };
+        void *data[3] = { page_item, NULL, NULL };
+        popup_show(POPUP_CLUSTER_DELETE_PAGE, 2, func, data);
+    } else {
+        __cluster_view_allpage_delete_page_cb(page_item, NULL, NULL);
+    }
+}
+
+static void __cluster_view_allpage_add_clicked(void *data, Evas_Object *obj, const char *emission, const char *source)
+{
+    cluster_page_t *page_t = __cluster_view_page_new();
+    if (!page_t) {
+        LOGE("cluster page is max.");
+        return ;
+    }
+
+    elm_grid_unpack(cluster_view_s.allpage_grid, cluster_view_s.allpage_add_page);
+
+    page_t->thumbnail_ly = elm_layout_add(page_t->page_layout);
+    elm_layout_file_set(page_t->thumbnail_ly, util_get_res_file_path(EDJE_DIR"/cluster_allpage_thumbnail.edj"), GROUP_CLUSTER_ALLPAGE_THUMBNAIL_LY);
+
+    evas_object_size_hint_align_set(page_t->thumbnail_ly, EVAS_HINT_FILL, EVAS_HINT_FILL);
+    evas_object_size_hint_weight_set(page_t->thumbnail_ly, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+    evas_object_show(page_t->thumbnail_ly);
+
+    Evas_Object *thumbnail = cluster_page_thumbnail(page_t);
+    elm_object_part_content_set(page_t->thumbnail_ly, CLUSTER_ALLPAGE_THUMBNAIL_IMAGE, thumbnail);
+    elm_object_signal_emit(page_t->thumbnail_ly, SIGNAL_ALLPAGE_DELETE_BUTTON_SHOW, SIGNAL_SOURCE);
+    elm_object_signal_callback_add(page_t->thumbnail_ly,
+            SIGNAL_ALLPAGE_DELETE_BUTTON_CLICKED, SIGNAL_SOURCE,
+            __cluster_view_allpage_delete_clicked, page_t);
+
+    evas_object_event_callback_add(thumbnail, EVAS_CALLBACK_MOUSE_DOWN, __clsuter_view_thumbnail_down_cb, page_t);
+    evas_object_event_callback_add(thumbnail, EVAS_CALLBACK_MOUSE_MOVE, __clsuter_view_thumbnail_move_cb, page_t);
+    evas_object_event_callback_add(thumbnail, EVAS_CALLBACK_MOUSE_UP, __clsuter_view_thumbnail_up_cb, page_t);
+
+    __cluster_view_allpage_reposition();
+
+    if (cluster_view_s.page_count < CLUSTER_MAX_PAGE) {
+        int x = 0, y = 0;
+        __cluster_view_allpage_get_page_pos(cluster_view_s.page_count, &x, &y);
+        elm_grid_pack(cluster_view_s.allpage_grid, cluster_view_s.allpage_add_page, x, y, CLUSTER_ALL_PAGE_W, CLUSTER_ALL_PAGE_H);
+    } else {
+        evas_object_del(cluster_view_s.allpage_add_page);
+        cluster_view_s.allpage_add_page = NULL;
+    }
+}
+
+static void __cluster_view_allpage_delete_page_cb(void *data, Evas_Object *obj, void *event_info)
+{
+    cluster_page_t *page = (cluster_page_t *)data;
+
+    Eina_List *find_list = NULL;
+    cluster_page_t *page_item = NULL;
+    EINA_LIST_FOREACH(cluster_view_s.page_list, find_list, page_item) {
+        if (page_item->page_index > page->page_index) {
+            page_item->page_index -= 1;
+        }
+    }
+
+    __cluster_view_page_delete(page);
+    __cluster_view_allpage_reposition();
+
+    if (cluster_view_s.page_count < CLUSTER_MAX_PAGE) {
+        if (cluster_view_s.allpage_add_page == NULL) {
+            cluster_view_s.allpage_add_page = elm_layout_add(cluster_view_s.allpage);
+            elm_layout_file_set(cluster_view_s.allpage_add_page, util_get_res_file_path(EDJE_DIR"/cluster_allpage_thumbnail.edj"), GROUP_CLUSTER_ALLPAGE_THUMBNAIL_LY);
+
+            evas_object_size_hint_align_set(cluster_view_s.allpage_add_page, EVAS_HINT_FILL, EVAS_HINT_FILL);
+            evas_object_size_hint_weight_set(cluster_view_s.allpage_add_page, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+            evas_object_show(cluster_view_s.allpage_add_page);
+
+            elm_object_signal_emit(cluster_view_s.allpage_add_page, SIGNAL_ALLPAGE_ADD_BUTTON_SHOW, SIGNAL_SOURCE);
+            elm_object_signal_callback_add(cluster_view_s.allpage_add_page,
+                    SIGNAL_ALLPAGE_ADD_BUTTON_CLICKED, SIGNAL_SOURCE,
+                    __cluster_view_allpage_add_clicked, NULL);
+        }
+        int x = 0, y = 0;
+        __cluster_view_allpage_get_page_pos(cluster_view_s.page_count, &x, &y);
+        elm_grid_pack(cluster_view_s.allpage_grid, cluster_view_s.allpage_add_page, x, y, CLUSTER_ALL_PAGE_W, CLUSTER_ALL_PAGE_H);
+    }
+    popup_hide();
+}
+
+static void  __clsuter_view_thumbnail_down_cb(void *data, Evas *e, Evas_Object *obj, void *event_info)
+{
+    Evas_Event_Mouse_Down* ev = event_info;
+    LOGD("DOWN: (%d,%d)", ev->output.x, ev->output.y);
+
+    cluster_mouse_info.pressed = true;
+    cluster_mouse_info.down_x = cluster_mouse_info.move_x = ev->output.x;
+    cluster_mouse_info.down_y = cluster_mouse_info.move_y = ev->output.y;
+
+    if (cluster_mouse_info.long_press_timer) {
+        ecore_timer_del(cluster_mouse_info.long_press_timer);
+        cluster_mouse_info.long_press_timer = NULL;
+    }
+
+    cluster_mouse_info.long_press_timer = ecore_timer_add(LONG_PRESS_TIME,
+            __cluster_view_thumbnail_long_press_time_cb, data);
+}
+
+static void  __clsuter_view_thumbnail_up_cb(void *data, Evas *e, Evas_Object *obj, void *event_info)
+{
+    cluster_page_t *page_t = (cluster_page_t *)data;
+    Evas_Event_Mouse_Up* ev = event_info;
+    LOGD("UP: (%d,%d)", ev->output.x, ev->output.y);
+
+    if (!cluster_mouse_info.pressed)
+        return ;
+
+    cluster_mouse_info.pressed = false;
+
+    if (cluster_mouse_info.long_press_timer) {
+        ecore_timer_del(cluster_mouse_info.long_press_timer);
+        cluster_mouse_info.long_press_timer = NULL;
+    }
+
+    cluster_mouse_info.up_x = ev->output.x;
+    cluster_mouse_info.up_y = ev->output.y;
+
+    if (!cluster_mouse_info.long_pressed) {
+        int distance = (cluster_mouse_info.down_x - cluster_mouse_info.up_x) * (cluster_mouse_info.down_x - cluster_mouse_info.up_x);
+        distance += (cluster_mouse_info.down_y - cluster_mouse_info.up_y) * (cluster_mouse_info.down_y - cluster_mouse_info.up_y);
+
+        if (distance <= MOUSE_MOVE_MIN_DISTANCE) {
+            cluster_view_s.current_page = page_t->page_index;
+            cluster_view_set_state(VIEW_STATE_NORMAL);
+        }
+
+        return ;
+    }
+
+    cluster_mouse_info.long_pressed = false;
+
+    if (cluster_view_s.picked_page) {
+        __cluster_view_allpage_drop_page(data);
+    }
+}
+
+static int __cluster_view_page_sort_cb(const void *a , const void *b)
+{
+    cluster_page_t *item1 = (cluster_page_t *)a;
+    cluster_page_t *item2 = (cluster_page_t *)b;
+
+    return item1->page_index - item2->page_index;
+}
+
+static void  __clsuter_view_thumbnail_move_cb(void *data, Evas *e, Evas_Object *obj, void *event_info)
+{
+    Evas_Event_Mouse_Move* ev = event_info;
+
+    if (!cluster_mouse_info.pressed)
+        return ;
+
+    cluster_mouse_info.move_x = ev->cur.output.x;
+    cluster_mouse_info.move_y = ev->cur.output.y;
+
+    if (!cluster_mouse_info.long_pressed) {
+        int distance = (cluster_mouse_info.move_x - cluster_mouse_info.down_x) * (cluster_mouse_info.move_x - cluster_mouse_info.down_x);
+        distance += (cluster_mouse_info.move_y - cluster_mouse_info.down_y) * (cluster_mouse_info.move_y - cluster_mouse_info.down_y);
+
+        if (distance > MOUSE_MOVE_MIN_DISTANCE) {
+            if (cluster_mouse_info.long_press_timer) {
+                ecore_timer_del(cluster_mouse_info.long_press_timer);
+                cluster_mouse_info.long_press_timer = NULL;
+            }
+
+            return ;
+        }
+    }
+
+    if (cluster_view_s.picked_page) {
+        __cluster_view_allpage_drag_page(data);
+    }
+}
+
+static Eina_Bool __cluster_view_thumbnail_long_press_time_cb(void *data)
+{
+    if (!cluster_mouse_info.pressed)
+        return ECORE_CALLBACK_CANCEL;
+
+    cluster_mouse_info.long_pressed = true;
+
+    if (cluster_mouse_info.long_press_timer) {
+        ecore_timer_del(cluster_mouse_info.long_press_timer);
+        cluster_mouse_info.long_press_timer = NULL;
+    }
+
+    __cluster_view_allpage_pick_up_page(data);
+
+    return ECORE_CALLBACK_CANCEL;
+}
+
+static void __cluster_view_allpage_drag_page(void *data)
+{
+    if (cluster_view_s.picked_page) {
+        int move_x = cluster_mouse_info.move_x - cluster_mouse_info.offset_x;
+        int move_y = cluster_mouse_info.move_y - cluster_mouse_info.offset_y;
+        int new_index = INIT_VALUE;
+        evas_object_move(cluster_view_s.picked_page->thumbnail_ly, move_x, move_y);
+        new_index = __cluster_view_allpage_get_page_index(move_x, move_y);
+
+        int move = 0;
+        int start, end;
+        if (new_index != cluster_view_s.picked_page->page_index && new_index != INIT_VALUE) {
+            if (cluster_view_s.picked_page->page_index < new_index) {
+                move = -1;
+                start = cluster_view_s.picked_page->page_index;
+                end = new_index;
+            } else if (cluster_view_s.picked_page->page_index > new_index) {
+                move = +1;
+                end = cluster_view_s.picked_page->page_index;
+                start = new_index;
+            }
+
+            Eina_List *find_list = NULL;
+            cluster_page_t *page_item = NULL;
+            EINA_LIST_FOREACH(cluster_view_s.page_list, find_list, page_item) {
+                if (page_item == cluster_view_s.picked_page) {
+                    page_item->page_index = new_index;
+                } else if (page_item->page_index >= start && page_item->page_index <= end) {
+                    page_item->page_index += move;
+                }
+                elm_grid_unpack(cluster_view_s.allpage_grid, page_item->thumbnail_ly);
+            }
+
+            int x, y;
+            EINA_LIST_FOREACH(cluster_view_s.page_list, find_list, page_item) {
+                if (page_item != cluster_view_s.picked_page) {
+                    __cluster_view_allpage_get_page_pos(page_item->page_index, &x, &y);
+                    elm_grid_pack(cluster_view_s.allpage_grid, page_item->thumbnail_ly, x, y, CLUSTER_ALL_PAGE_W, CLUSTER_ALL_PAGE_H);
+                }
+            }
+        }
+    }
+}
+
+static void __cluster_view_allpage_pick_up_page(void *data)
+{
+    cluster_view_s.picked_page = (cluster_page_t *)data;
+    elm_grid_unpack(cluster_view_s.allpage_grid, cluster_view_s.picked_page->thumbnail_ly);
+
+    elm_object_signal_emit(cluster_view_s.picked_page->thumbnail_ly, SIGNAL_ALLPAGE_DELETE_BUTTON_HIDE, SIGNAL_SOURCE);
+    elm_object_signal_emit(cluster_view_s.picked_page->thumbnail_ly, SIGNAL_ALLPAGE_DRAG_BG_SHOW, SIGNAL_SOURCE);
+
+    int x, y;
+    __cluster_view_allpage_get_page_pos(cluster_view_s.picked_page->page_index, &x, &y);
+    cluster_mouse_info.offset_x = cluster_mouse_info.down_x - x;
+    cluster_mouse_info.offset_y = cluster_mouse_info.down_y - y;
+}
+
+static void __cluster_view_allpage_drop_page(void *data)
+{
+    if (cluster_view_s.picked_page) {
+        elm_object_signal_emit(cluster_view_s.picked_page->thumbnail_ly, SIGNAL_ALLPAGE_DELETE_BUTTON_SHOW, SIGNAL_SOURCE);
+        elm_object_signal_emit(cluster_view_s.picked_page->thumbnail_ly, SIGNAL_ALLPAGE_DRAG_BG_HIDE, SIGNAL_SOURCE);
+
+        int x, y;
+        __cluster_view_allpage_get_page_pos(cluster_view_s.picked_page->page_index, &x, &y);
+        elm_grid_pack(cluster_view_s.allpage_grid, cluster_view_s.picked_page->thumbnail_ly, x, y, CLUSTER_ALL_PAGE_W, CLUSTER_ALL_PAGE_H);
+        cluster_view_s.picked_page = NULL;
+    }
+    cluster_view_s.page_list = eina_list_sort(cluster_view_s.page_list,
+            eina_list_count(cluster_view_s.page_list), __cluster_view_page_sort_cb);
+}
+
+static void __clsuter_view_edit_down_cb(void *data, Evas *e, Evas_Object *obj, void *event_info)
+{
+    Evas_Event_Mouse_Down* ev = event_info;
+    LOGD("DOWN: (%d,%d)", ev->output.x, ev->output.y);
+
+    cluster_mouse_info.pressed = true;
+    cluster_mouse_info.down_x = cluster_mouse_info.move_x = ev->output.x;
+    cluster_mouse_info.down_y = cluster_mouse_info.move_y = ev->output.y;
+
+    if (cluster_mouse_info.long_press_timer) {
+        ecore_timer_del(cluster_mouse_info.long_press_timer);
+        cluster_mouse_info.long_press_timer = NULL;
+    }
+
+    cluster_mouse_info.long_press_timer = ecore_timer_add(LONG_PRESS_TIME,
+            __cluster_view_edit_long_press_time_cb, data);
+}
+
+static void __clsuter_view_edit_up_cb(void *data, Evas *e, Evas_Object *obj, void *event_info)
+{
+    Evas_Event_Mouse_Up* ev = event_info;
+    LOGD("UP: (%d,%d)", ev->output.x, ev->output.y);
+
+    if (!cluster_mouse_info.pressed)
+        return ;
+
+    cluster_mouse_info.pressed = false;
+
+    if (cluster_mouse_info.long_press_timer) {
+        ecore_timer_del(cluster_mouse_info.long_press_timer);
+        cluster_mouse_info.long_press_timer = NULL;
+    }
+
+    cluster_mouse_info.up_x = ev->output.x;
+    cluster_mouse_info.up_y = ev->output.y;
+
+    if (!cluster_mouse_info.long_pressed)
+        return ;
+
+    cluster_mouse_info.long_pressed = false;
+
+    elm_scroller_movement_block_set(cluster_view_s.scroller, ELM_SCROLLER_MOVEMENT_NO_BLOCK);
+
+    if (cluster_view_s.picked_widget) {
+        __cluster_view_edit_drop_widget(data);
+
+        cluster_view_s.picked_widget = NULL;
+    }
+}
+
+static void __clsuter_view_edit_move_cb(void *data, Evas *e, Evas_Object *obj, void *event_info)
+{
+    Evas_Event_Mouse_Move* ev = event_info;
+    //LOGD("MOVE: (%d,%d)", ev->cur.output.x, ev->cur.output.y);
+
+    if (!cluster_mouse_info.pressed)
+        return ;
+
+    cluster_mouse_info.move_x = ev->cur.output.x;
+    cluster_mouse_info.move_y = ev->cur.output.y;
+
+    if (!cluster_mouse_info.long_pressed) {
+        int distance = (cluster_mouse_info.move_x - cluster_mouse_info.down_x) * (cluster_mouse_info.move_x - cluster_mouse_info.down_x);
+        distance += (cluster_mouse_info.move_y - cluster_mouse_info.down_y) * (cluster_mouse_info.move_y - cluster_mouse_info.down_y);
+
+        if (distance > MOUSE_MOVE_MIN_DISTANCE) {
+            if (cluster_mouse_info.long_press_timer) {
+                ecore_timer_del(cluster_mouse_info.long_press_timer);
+                cluster_mouse_info.long_press_timer = NULL;
+            }
+
+            return ;
+        }
+    }
+
+    if (cluster_view_s.picked_widget) {
+        __cluster_view_edit_drag_widget(data);
+    }
+}
+
+static Eina_Bool __cluster_view_edit_long_press_time_cb(void *data)
+{
+    if (!cluster_mouse_info.pressed)
+        return ECORE_CALLBACK_CANCEL;
+
+    cluster_mouse_info.long_pressed = true;
+
+    elm_scroller_movement_block_set(cluster_view_s.scroller, ELM_SCROLLER_MOVEMENT_BLOCK_HORIZONTAL);
+
+    __cluster_view_edit_pick_up_widget(data);
+
+    return ECORE_CALLBACK_CANCEL;
+}
+
+static void __cluster_view_edit_pick_up_widget(void *data)
+{
+    int cx = -1, cy = -1;
+    int gx = -1, gy = -1;
+    Evas *e = NULL;
+    cluster_view_s.picked_widget = (widget_data_t *)data;
+
+    Evas_Object *widget_layout = cluster_view_s.picked_widget->widget_layout;
+    elm_object_signal_emit(widget_layout, SIGNAL_DELETE_BUTTON_HIDE_ANI, SIGNAL_SOURCE);
+    elm_object_signal_emit(widget_layout, SIGNAL_CLUSTER_PICKUP_STATE, SIGNAL_SOURCE);
+
+    e = evas_object_evas_get(widget_layout);
+
+    evas_pointer_canvas_xy_get(e, &cx, &cy);
+    evas_object_geometry_get(widget_layout, &gx, &gy, NULL, NULL);
+
+    cluster_mouse_info.offset_x = cx - gx;
+    cluster_mouse_info.offset_y = cy - gy;
+
+    cluster_page_t *page = (cluster_page_t *)eina_list_nth(cluster_view_s.page_list, cluster_view_s.picked_widget->page_idx);
+    elm_grid_unpack(page->grid, widget_layout);
+
+    evas_object_move(widget_layout, cluster_mouse_info.move_x - cluster_mouse_info.offset_x,
+            cluster_mouse_info.move_y - cluster_mouse_info.offset_y);
+
+    cluster_page_unset(page, cluster_view_s.picked_widget);
+}
+
+static void __cluster_view_edit_drag_widget(void *data)
+{
+    int page_x, page_y;
+    int bg_x, bg_y, bg_w, bg_h;
+    int widget_x, widget_y;
+    cluster_view_s.picked_widget = (widget_data_t *)data;
+
+    if (!cluster_view_s.picked_widget)
+        return ;
+
+    Evas_Object *widget_layout = cluster_view_s.picked_widget->widget_layout;
+    evas_object_move(widget_layout, cluster_mouse_info.move_x - cluster_mouse_info.offset_x,
+            cluster_mouse_info.move_y - cluster_mouse_info.offset_y);
+
+    cluster_page_t *page = (cluster_page_t *)eina_list_nth(cluster_view_s.page_list, cluster_view_s.current_page);
+    evas_object_geometry_get(page->page_layout, &page_x, &page_y, NULL, NULL);
+    edje_object_part_geometry_get(elm_layout_edje_get(page->page_layout), CLUSTER_BG, &bg_x, &bg_y, &bg_w, &bg_h);
+    evas_object_geometry_get(widget_layout, &widget_x, &widget_y, NULL, NULL);
+
+    if (cluster_mouse_info.move_x > CLUSTER_EDIT_RIGHT_SCROLL_REGION) {
+        LOGD("Move to next page");
+        if (!cluster_view_s.edit_mode_scroll_timer)
+            cluster_view_s.edit_mode_scroll_timer = ecore_timer_add(HOME_EDIT_SCROLL_MOVE_TIME, __cluster_view_scroll_timer_cb, NULL);
+
+    } else if (cluster_mouse_info.move_x < CLUSTER_EDIT_LEFT_SCROLL_REGION) {
+        LOGD("Move to prev page");
+        if (!cluster_view_s.edit_mode_scroll_timer)
+            cluster_view_s.edit_mode_scroll_timer = ecore_timer_add(HOME_EDIT_SCROLL_MOVE_TIME, __cluster_view_scroll_timer_cb, NULL);
+    } else {
+        widget_x -= (page_x + bg_x);
+        widget_y -= (page_y + bg_y);
+        if (cluster_view_s.edit_mode_scroll_timer) {
+            ecore_timer_del(cluster_view_s.edit_mode_scroll_timer);
+            cluster_view_s.edit_mode_scroll_timer = NULL;
+        }
+
+        if (!cluster_view_s.is_srolling) {
+            cluster_page_drag_widget(page, cluster_view_s.picked_widget->type, widget_x / (bg_w / CLUSTER_COL), widget_y / (bg_h / CLUSTER_ROW));
+        }
+    }
+}
+
+static void __cluster_view_edit_drop_widget(void *data)
+{
+    Evas_Object *widget_layout = cluster_view_s.picked_widget->widget_layout;
+    elm_object_signal_emit(widget_layout, SIGNAL_DELETE_BUTTON_SHOW_ANI, SIGNAL_SOURCE);
+    elm_object_signal_emit(widget_layout, SIGNAL_CLUSTER_EDIT_STATE, SIGNAL_SOURCE);
+
+    if (cluster_view_s.edit_mode_scroll_timer) {
+        ecore_timer_del(cluster_view_s.edit_mode_scroll_timer);
+        cluster_view_s.edit_mode_scroll_timer = NULL;
+    }
+
+    cluster_page_t *page = (cluster_page_t *)eina_list_nth(cluster_view_s.page_list, cluster_view_s.current_page);
+
+    if (!cluster_page_drop_widget(page, cluster_view_s.picked_widget)) {
+        cluster_view_add_widget(cluster_view_s.picked_widget, false);
+    }
+}
+
+static void __cluster_view_scroll_anim_stop_cb(void *data, Evas_Object *obj, void *event_info)
+{
+    cluster_view_s.is_srolling = false;
+    elm_scroller_current_page_get(obj, &cluster_view_s.current_page, NULL);
+    cluster_view_s.current_page = cluster_view_s.current_page % cluster_view_s.page_count;
+    LOGD("current page %d", cluster_view_s.current_page);
+}
+
+static Eina_Bool __cluster_view_scroll_timer_cb(void *data)
+{
+    cluster_page_t *current_page = (cluster_page_t *)eina_list_nth(cluster_view_s.page_list, cluster_view_s.current_page);
+
+    int next_page_idx = 0;
+    if (cluster_mouse_info.move_x > CLUSTER_EDIT_RIGHT_SCROLL_REGION) {
+        next_page_idx = current_page->page_index + 1;
+    } else if (cluster_mouse_info.move_x < CLUSTER_EDIT_LEFT_SCROLL_REGION) {
+        next_page_idx = current_page->page_index - 1;
+    } else {
+        return ECORE_CALLBACK_CANCEL;
+    }
+    cluster_page_drag_cancel(current_page);
+    __cluster_view_scroll_to_page(next_page_idx, true);
+    return ECORE_CALLBACK_RENEW;
+}
+
old mode 100644 (file)
new mode 100755 (executable)
similarity index 51%
rename from src/layout.c
rename to src/conf.c
index e3c9f6c..f399498
  * limitations under the License.
  */
 
-#include <Elementary.h>
-
-#include "homescreen-efl.h"
-#include "layout.h"
 #include "conf.h"
 #include "util.h"
 
+static int window_w = 720;
+static int window_h = 1280;
+static double resolution_scale_h = 1.0;
+static double resolution_scale_w = 1.0;
 
-HAPI void layout_main_caption_set_menu_texts(const char *label_text,
-       const char *left_text, const char *right_text)
+int __conf_get_window_h(void)
 {
-       Evas_Object *layout = home_screen_get_layout();
+    return window_h;
+}
 
-       if (!layout)
-               return;
+int __conf_get_window_w(void)
+{
+    return window_w;
+}
 
-       if (label_text)
-               elm_layout_text_set(layout, PART_CAPTION_MENU_CENTER_LABEL_NAME, label_text);
+double __conf_get_resolution_scale_h()
+{
+    return resolution_scale_h;
+}
 
-       if (left_text)
-               elm_layout_text_set(layout, PART_CAPTION_MENU_LEFT_LABEL, left_text);
+double __conf_get_resolution_scale_w()
+{
+    return resolution_scale_w;
+}
 
-       if (right_text)
-               elm_layout_text_set(layout, PART_CAPTION_MENU_RIGHT_LABEL, right_text);
+void conf_set_resolution_scale(int win_width, int win_height)
+{
+    window_h = win_height;
+    window_w = win_width;
+    resolution_scale_w = (double)win_width / 720;
+    resolution_scale_h = (double)win_height / 1280;
 }
diff --git a/src/data_model.c b/src/data_model.c
deleted file mode 100644 (file)
index 190149c..0000000
+++ /dev/null
@@ -1,965 +0,0 @@
-/*
- * Copyright 2012  Samsung Electronics Co., Ltd
- *
- * Licensed under the Flora License, Version 1.1 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://floralicense.org/license/
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#include <alloca.h>
-#include "homescreen-efl.h"
-#include "data_model.h"
-#include "db/db.h"
-#include "app_icon.h"
-#include "app_item.h"
-#include "app_grid.h"
-#include "folder_panel.h"
-#include "all_apps.h"
-#include "livebox/livebox_widget.h"
-#include "popup.h"
-
-static struct {
-       Tree_node_t *data;
-       Tree_node_t *all_apps;
-       Tree_node_t *home;
-} s_info = {
-       .data = NULL,
-       .all_apps = NULL,
-       .home = NULL,
-};
-
-typedef struct {
-       Tree_node_t *data;
-       char *search;
-} search_package_t;
-
-static bool __data_model_get_empty_page(Tree_node_t *nothing, Tree_node_t *page, void *data);
-static void __data_model_load_item(Tree_node_t *parent, Tree_node_t **item, db_item_t* db_item, Eina_List* apps_db);
-static void __data_model_free_subtree(Tree_node_t *root_node);
-static bool __data_model_append_item(Tree_node_t *parent, Tree_node_t *node, int container_limit);
-static void __data_model_convert_db_list_to_tree(Tree_node_t *parent, int id, Eina_List *list);
-static bool __data_model_update_tree_cb(Tree_node_t *parent, Tree_node_t *node, void *data);
-static bool __data_model_check_cb(Tree_node_t *parent, Tree_node_t *node, void *data);
-static bool __data_model_check_count_cb(Tree_node_t *parent, Tree_node_t *node, void *data);
-static bool __data_model_set_set_cb(Tree_node_t *parent, Tree_node_t *node, void *data);
-static void __data_model_remove_empty(Tree_node_t *node);
-static int __data_model_set_lexical_compare_function(const void *data1, const void *data2);
-static Eina_Inarray *__data_model_sort_children(const Tree_node_t *const root,
-                                               unsigned int size_hint,
-                                               Eina_Compare_Cb sort_compare_function);
-static void __add_default_widget(widget_info_t *widget);
-
-static Eina_Bool __data_model_reattach_children(const void *container, void *node, void *fdata);
-static bool __data_model_search_package_cb(Tree_node_t *parent, Tree_node_t *node, void *data);
-
-
-HAPI Tree_node_t *data_model_get_data(void)
-{
-       return s_info.data;
-}
-
-HAPI Tree_node_t *data_model_get_all_apps(void)
-{
-       return s_info.all_apps;
-}
-
-HAPI Tree_node_t *data_model_get_home(void)
-{
-       return s_info.home;
-}
-
-
-HAPI void data_model_load_app_mgr(void)
-{
-       Eina_List *livebox_list = NULL;
-       Eina_List *apps = NULL;
-       Eina_List *it = NULL;
-       app_mgr_item_t *app_mgr_item = NULL;
-       Tree_node_t *page = NULL;
-       Tree_node_t *item = NULL;
-       widget_info_t *widget = NULL;
-
-       LOGD("LOADING DATA MODEL FROM APP MGR");
-       db_create_tables();
-
-       if (!tree_node_new(&s_info.data)) {
-               LOGE("app_mgr_load -> tree_node_new failure1");
-               return;
-       }
-
-       s_info.data->data = app_item_create(APP_ITEM_ROOT, -1, "ROOT", NULL, NULL, "ROOT", NULL, false, 0, 0, 0, 0, NULL);
-
-       if (!tree_node_new(&s_info.all_apps)) {
-               LOGE("app_mgr_load -> tree_node_new failure2");
-               return;
-       }
-       s_info.all_apps->data = app_item_create(APP_ITEM_ALL_APPS_ROOT, -1, "ALL APPS", NULL, NULL, "ALL APPS", NULL, false, 0, 0, 0, 0, NULL);
-       tree_node_append(s_info.data, s_info.all_apps);
-
-       if (!tree_node_new(&s_info.home)) {
-               LOGE("app_mgr_load -> tree_node_new failure2");
-               return;
-       }
-       s_info.home->data = app_item_create(APP_ITEM_HOME, -1, "HOME", NULL, NULL, "HOME", NULL, false, 0, 0, 0, 0, NULL);
-       tree_node_append(s_info.data, s_info.home);
-
-
-       apps = app_mgr_get_apps();
-
-       EINA_LIST_FOREACH(apps, it, app_mgr_item) {
-               if (!tree_node_new(&item)) {
-                       LOGE("app_mgr_load -> tree_node_new failure2");
-                       continue;
-               }
-               item->data = app_item_create(
-                               APP_ITEM_ICON,
-                               -1,
-                               app_mgr_item->label,
-                               app_mgr_item->icon,
-                               app_mgr_item->exec,
-                               app_mgr_item->appid,
-                               NULL,
-                               app_mgr_item->removable,
-                               0,
-                               0,
-                               0,
-                               0,
-                               NULL);
-
-               if (!item->data) {
-                       LOGE("app_mgr_load -> app_item-create failure");
-                       tree_node_free(item, NULL, NULL, NULL);
-                       continue;
-               }
-
-               if (!__data_model_append_item(s_info.all_apps, item, APPS_PAGE))
-                       tree_node_free(item, NULL, NULL, NULL);
-       }
-
-       livebox_list = livebox_widget_get_list();
-       if (!livebox_list) {
-               LOGW(" livebox_list == NULL");
-
-               page = data_model_add_widget_page();
-               if (!page) {
-                       LOGE("page == NULL");
-                       return;
-               }
-
-               return;
-       }
-
-       widget = eina_list_nth(livebox_list, 0);
-       if (!widget) {
-               LOGE("widget == NULL");
-               return;
-       }
-
-       __add_default_widget(widget);
-
-
-       widget = eina_list_nth(livebox_list, 1);
-       if (!widget) {
-               LOGE("widget == NULL");
-               return;
-       }
-
-       __add_default_widget(widget);
-
-       app_mgr_free_apps(apps);
-
-       /*by default model is being sorted:*/
-       data_model_sort(__data_model_set_lexical_compare_function);
-}
-
-HAPI Eina_Bool data_model_load_db(void)
-{
-       Eina_List *apps_db = NULL;
-       Eina_List *apps_mgr = NULL;
-       Eina_List *it = NULL;
-       db_item_t *db_item = NULL;
-
-       LOGD("LOADING DATA MODEL FROM DB");
-
-       db_get_apps(&apps_db);
-
-       if (apps_db == NULL || eina_list_count(apps_db) == 0)
-               return EINA_FALSE;
-
-       EINA_LIST_FOREACH(apps_db, it, db_item) {
-               switch (db_item->type) {
-               case APP_ITEM_ROOT:
-                       if (!s_info.data) {
-                               __data_model_load_item(NULL, &s_info.data, db_item, apps_db);
-                       } else {
-                               LOGE("DB corrupted s_info.data != NULL");
-                       }
-               break;
-               case APP_ITEM_ALL_APPS_ROOT:
-                       if (!s_info.all_apps) {
-                               __data_model_load_item(s_info.data, &s_info.all_apps, db_item, apps_db);
-                       } else {
-                               LOGE("DB corrupted s_info.all_apps != NULL");
-                       }
-               break;
-               case APP_ITEM_HOME:
-                       if (!s_info.home) {
-                               __data_model_load_item(s_info.data, &s_info.home, db_item, apps_db);
-                       } else {
-                               LOGE("DB corrupted s_info.home != NULL");
-                       }
-               break;
-               default:
-                       LOGW("Unknown type");
-               }
-       }
-       db_free_apps(apps_db);
-
-       apps_mgr = app_mgr_get_apps();
-       tree_in_depth_browse(s_info.all_apps, __data_model_update_tree_cb, apps_mgr);
-       app_mgr_free_apps(apps_mgr);
-
-       if (!s_info.home) {
-               LOGE("s_info.home == NULL");
-
-               if (!tree_node_new(&s_info.home)) {
-                       LOGE("app_mgr_load -> tree_node_new failure2");
-                       return EINA_FALSE;
-               }
-               s_info.home->data = app_item_create(APP_ITEM_HOME, -1, "HOME", NULL, NULL, "HOME", NULL, false, 0, 0, 0, 0, NULL);
-               tree_node_append(s_info.data, s_info.home);
-       }
-
-       if (s_info.home->count == 0) {
-               LOGE("s_info.home == s_info.home->count");
-               data_model_add_widget_page();
-       }
-
-       home_screen_print_tree();
-
-       /*by default model is being sorted:*/
-       data_model_sort(__data_model_set_lexical_compare_function);
-       return EINA_TRUE;
-}
-
-HAPI void data_model_free(void)
-{
-       __data_model_free_subtree(s_info.data);
-}
-
-HAPI Tree_node_t *data_model_create_folder(app_item_t *new_folder_data)
-{
-       Tree_node_t *folder = NULL, *new_page = NULL;
-
-       if (new_folder_data) {
-               tree_node_new(&folder);
-               if (folder) {
-                       folder->data = new_folder_data;
-                       __data_model_append_item(s_info.all_apps, folder, APPS_PAGE);
-                       /*also give it one initial page:*/
-                       tree_node_new(&new_page);
-                       if (new_page) {
-                               new_page->data = app_item_create(APP_ITEM_PAGE, -1, NULL, NULL, NULL, "PAGE", NULL, false, 0, 0, 0, 0, NULL);
-                               if (new_page->data) {
-                                       tree_node_append(folder, new_page);
-                               } else {
-                                       tree_node_free(new_page, NULL, NULL, NULL);
-                               }
-                       }
-               }
-       }
-
-       return folder;
-}
-
-HAPI void data_model_append_node_to_folder(Tree_node_t *folder, Tree_node_t *node)
-{
-       if (!node || !folder)
-               return;
-       tree_node_detatch(node);
-       __data_model_append_item(folder, node, FOLDER_APPS_PAGE);
-}
-
-HAPI void data_model_free_empty_pages(Tree_node_t *folder_or_some_other_root)
-{
-       Tree_node_t *empty_page = NULL;
-
-       if (!folder_or_some_other_root)
-               folder_or_some_other_root = data_model_get_all_apps();
-
-       do {
-               empty_page = NULL;
-               data_model_iterate_pages(folder_or_some_other_root, __data_model_get_empty_page, NULL, &empty_page);
-               __data_model_free_subtree(empty_page);
-       } while (empty_page);
-}
-
-HAPI void data_model_delete_folder(Tree_node_t *node)
-{
-       Tree_node_t *page = NULL, *it = NULL, *it_tmp_next = NULL;
-
-       /*attach child elements to the last page:*/
-       TREE_NODE_FOREACH(node, page)
-       for (it = page->first; it; it = it_tmp_next) {
-               it_tmp_next = it->next;
-               tree_node_detatch(it);
-               tree_node_append(s_info.all_apps->last, it);
-       }
-
-       /*out from the tree:*/
-       tree_node_detatch(node);
-       /*folder with empty pages subtree can be deleted:*/
-       __data_model_free_subtree(node);
-}
-
-HAPI Tree_node_t *data_model_install_application(app_mgr_item_t *app_mgr_item)
-{
-       Tree_node_t *item = NULL;
-
-       tree_node_new(&item);
-       item->data = app_item_create(
-                       APP_ITEM_ICON,
-                       -1,
-                       app_mgr_item->label,
-                       app_mgr_item->icon,
-                       app_mgr_item->exec,
-                       app_mgr_item->appid,
-                       NULL,
-                       app_mgr_item->removable,
-                       0,
-                       0,
-                       0,
-                       0,
-                       NULL);
-
-       if (!item->data) {
-               tree_node_free(item, NULL, NULL, NULL);
-               return NULL;
-       }
-
-       __data_model_append_item(s_info.all_apps, item, APPS_PAGE);
-
-       return item;
-}
-
-HAPI void data_model_uninstall_application(Tree_node_t *node)
-{
-       tree_node_detatch(node);
-
-       /*this will free memory since application node is always empty:*/
-       __data_model_remove_empty(node);
-}
-
-HAPI void data_model_check_all_apps(Tree_node_t *node, bool checked)
-{
-       LOGI("");
-       tree_in_depth_browse(node, __data_model_check_cb, &checked);
-}
-
-HAPI int data_model_get_app_check_state(void)
-{
-       LOGI("");
-       int count = 0;
-       tree_in_depth_browse(s_info.all_apps, __data_model_check_count_cb, &count);
-       return count;
-}
-
-HAPI void data_model_reposition_item(Tree_node_t *node, Tree_node_t *destinations_parent, Tree_node_t *destination,
-                                                                               reposition_side_t side, int page_limit)
-{
-       if (!node || !destinations_parent) {
-               LOGE("item_reposition INVALID usage: %d %d %d", node, destinations_parent, destination);
-               return;
-       }
-
-       if (node == destination)
-               return;
-
-       tree_node_detatch(node);
-
-       if (destination)
-               /*append relatively to sibling:*/
-               side == REPOSITION_SIDE_TO_RIGHT ? tree_node_append_relative(node, destination) : tree_node_prepend_relative(node, destination);
-       else
-               /*append to page:*/
-               side == REPOSITION_SIDE_TO_RIGHT ? tree_node_append(destinations_parent, node) : tree_node_prepend(destinations_parent, node);
-
-       /*now, it may be that we have more items than we can on this page...*/
-       while (destinations_parent->count > page_limit) {
-               tree_node_detatch(node = destinations_parent->last);
-
-               /*next page (create, or prepend):*/
-               if (!destinations_parent->next) { /*there seems to be no pages left, create one:*/
-                       __data_model_append_item(destinations_parent->parent, node, page_limit);
-                       break;
-               } else {/*there is a next page, so lets prepend*/
-                       destinations_parent = destinations_parent->next;
-                       tree_node_prepend(destinations_parent, node);
-               }
-       }
-}
-
-HAPI void data_model_iterate(Tree_node_t *node, tree_browse_cb_t func_cb, void *data)
-{
-       if (!node)
-               tree_in_depth_browse(s_info.all_apps, func_cb, data);
-       else
-               tree_in_depth_browse(node, func_cb, data);
-}
-
-HAPI void data_model_iterate_pages(Tree_node_t *node, tree_browse_cb_t page_func, tree_browse_cb_t item_func, void *data)
-{
-       Tree_node_t *page = NULL, *item = NULL;
-
-       if (!node)
-               node = s_info.all_apps;
-
-       /*for each page:*/
-       for (page = node->first; page; page = page->next) {
-               if (!page->data || page->data->type != APP_ITEM_PAGE) {
-                       LOGE("Model unstable [or node != root], skipping: %d %d", page->data, page->data ? page->data->type : -1);
-                       continue;
-               }
-               if (page_func)
-                       page_func(NULL, page, data);
-               /*for each item in page:*/
-               if (item_func) {
-                       for (item = page->first; item; item = item->next) {
-                               item_func(page, item, data);
-                               LOGI("[%s]", item->data->label);
-                       }
-               }
-       }
-}
-
-HAPI void data_model_update_item(Tree_node_t *node)
-{
-       if (!node) {
-               LOGE("node == NULL");
-               return;
-       }
-
-       tree_node_update(node);
-}
-
-HAPI void data_model_set_view_mode(homescreen_view_t view)
-{
-       tree_in_depth_browse(s_info.all_apps, __data_model_set_set_cb, &view);
-}
-
-HAPI void data_model_detach_from_folder(Tree_node_t *folder_node, Tree_node_t *node)
-{
-       if (!folder_node || !node) {
-               LOGE("[INVALID_PARAMS]");
-               return;
-       }
-
-       data_model_reposition_item(node, s_info.all_apps->last, NULL,
-                               REPOSITION_SIDE_TO_RIGHT, APPS_PAGE);
-       data_model_sort(__data_model_set_lexical_compare_function);
-}
-
-
-/* -----=========================== widget ===================================*/
-
-HAPI Tree_node_t *data_model_add_widget_page()
-{
-       Tree_node_t *item = NULL;
-
-       if (!tree_node_new(&item)) {
-               LOGE(" app_mgr_load -> tree_node_new failure2");
-               return NULL;
-       }
-
-       item->data = app_item_create(APP_ITEM_PAGE, -1, "WIDGET_PAGE", NULL, NULL, "WIDGET_PAGE", NULL, false, 0, 0, 0, 0, NULL);
-       if (!item->data) {
-               tree_node_free(item, NULL, NULL, NULL);
-               return NULL;
-       }
-
-       tree_node_append(s_info.home, item);
-
-       return item;
-}
-
-HAPI Tree_node_t *data_model_add_widget(Tree_node_t *page, const char *widget_id, int col, int row, int col_span, int row_span, const char *content_info)
-{
-       Tree_node_t *item = NULL;
-
-       if (!tree_node_new(&item)) {
-               LOGE(" app_mgr_load -> tree_node_new failure2");
-               return NULL;
-       }
-
-       item->data = app_item_create(APP_ITEM_WIDGET, -1,
-                       NULL,
-                       NULL,
-                       NULL,
-                       widget_id,
-                       NULL,
-                       false,
-                       col,
-                       row,
-                       col_span,
-                       row_span,
-                       content_info);
-
-       if (!item->data) {
-               tree_node_free(item, NULL, NULL, NULL);
-               return NULL;
-       }
-
-       tree_node_append(page, item);
-
-       return item;
-}
-
-HAPI void data_model_reposition_widget(Tree_node_t *page_node, Tree_node_t *obj_node)
-{
-       tree_node_detatch(obj_node);
-       tree_node_append(page_node, obj_node);
-}
-
-HAPI void data_model_insert_after(Tree_node_t *prev_node, Tree_node_t *item_node)
-{
-       tree_node_detatch(item_node);
-
-       if (prev_node) {
-               tree_node_append_relative(item_node, prev_node);
-       } else {
-               tree_node_prepend(s_info.home, item_node);
-       }
-}
-
-HAPI void data_model_del_item(Tree_node_t *node)
-{
-       tree_node_detatch(node);
-       __data_model_free_subtree(node);
-}
-
-HAPI void data_model_resize_widget(Tree_node_t *item_node, int col, int row, int col_span, int row_span)
-{
-       if (!item_node) {
-               LOGE("item_node == NULL");
-               return;
-       }
-
-       if (!item_node->data) {
-               LOGE("item_node->data == NULL");
-               return;
-       }
-
-       app_item_geometry_update(item_node->data, col, row, col_span, row_span);
-       tree_node_update(item_node);
-}
-
-HAPI void data_model_update_content_info(Tree_node_t *item_node, const char *content_info)
-{
-       if (!item_node) {
-               LOGE("item_node == NULL");
-               return;
-       }
-
-       if (!item_node->data) {
-               LOGE("item_node->data == NULL");
-               return;
-       }
-
-       app_item_update_content_info(item_node->data, content_info);
-       tree_node_update(item_node);
-}
-
-/*===================================== widget ===============================*/
-
-HAPI void data_model_sort(Eina_Compare_Cb sort_compare_function)
-{
-       Eina_Inarray *sorted_children = NULL;
-       Tree_node_t *page = NULL, *it = NULL;
-
-       if (!sort_compare_function)
-               sort_compare_function = __data_model_set_lexical_compare_function;
-
-       if (!s_info.all_apps)
-               return;
-
-       /*First we have to sort top level applications and folders:*/
-       sorted_children = __data_model_sort_children(s_info.all_apps, s_info.all_apps->count*APPS_PAGE, sort_compare_function);
-       eina_inarray_foreach(sorted_children, __data_model_reattach_children, s_info.all_apps);
-       eina_inarray_free(sorted_children);
-
-       /*Second we have to sort all items in all folders:
-       find folders:*/
-       for (page = s_info.all_apps->first; page; page = page->next) {
-               for (it = page->first; it; it = it->next) {
-                       if (it->data && it->data->type == APP_ITEM_FOLDER) {
-                               sorted_children = __data_model_sort_children(it, it->count*FOLDER_APPS_PAGE, sort_compare_function);
-                               eina_inarray_foreach(sorted_children, __data_model_reattach_children, it);
-                               eina_inarray_free(sorted_children);
-                       }
-               }
-       }
-}
-
-Tree_node_t *data_model_search_package(const char* pkg_str)
-{
-       search_package_t search;
-       search.data = NULL;
-       search.search = (char *)pkg_str;
-
-       tree_in_depth_browse(s_info.all_apps, __data_model_search_package_cb, &search);
-
-       return search.data;
-}
-
-static bool __data_model_search_package_cb(Tree_node_t *parent, Tree_node_t *node, void *data)
-{
-       search_package_t *search_data = (search_package_t *)data;
-
-       if (node->data->appid && strcmp(search_data->search, node->data->appid) == 0)
-               search_data->data = node;
-
-       return true;
-}
-
-static bool __data_model_get_empty_page(Tree_node_t *nothing, Tree_node_t *page, void *data)
-{
-       Tree_node_t **empty_page = (Tree_node_t **)data;
-
-       if (page->count == 0) {
-               *empty_page = page;
-               return false;
-       }
-
-       return true;
-}
-
-static void __data_model_load_item(Tree_node_t *parent, Tree_node_t **item, db_item_t* db_item, Eina_List* apps_db)
-{
-       if (!tree_node_new(item)) {
-               LOGE("*item == NULL");
-               return;
-       }
-
-       (*item)->data = app_item_create(db_item->type,
-                       db_item->id,
-                       NULL,
-                       NULL, NULL,
-                       db_item->appid,
-                       NULL,
-                       false,
-                       db_item->x,
-                       db_item->y,
-                       db_item->w,
-                       db_item->h,
-                       db_item->content_info);
-
-       if (parent) {
-               if (!tree_node_append(parent, *item)) {
-                       LOGE("failed to append home to data");
-                       __data_model_free_subtree(*item);
-                       return;
-               }
-
-               __data_model_convert_db_list_to_tree(*item, db_item->first_id, apps_db);
-       }
-}
-
-
-static bool __data_model_append_item(Tree_node_t *parent, Tree_node_t *node, int container_limit)
-{
-       Tree_node_t *page = NULL;
-
-       if (!parent || !node)
-               return false;
-
-       page = parent->last;
-       if (!page || page->count >= container_limit) {
-               if (!tree_node_new(&page))
-                       return false;
-               page->data = app_item_create(APP_ITEM_PAGE, -1, "PAGE", NULL, NULL, "PAGE", NULL, false, 0, 0, 0, 0, NULL);
-               if (!page->data) {
-                       tree_node_free(page, NULL, NULL, NULL);
-                       return NULL;
-               }
-
-               if (!tree_node_append(parent, page)) {
-                       data_model_del_item(page);
-                       return false;
-               }
-       }
-
-       return tree_node_append(page, node);
-}
-
-static void __data_model_convert_db_list_to_tree(Tree_node_t *parent, int id, Eina_List *list)
-{
-       Eina_List *it = NULL;
-       db_item_t *db_item = NULL;
-       Tree_node_t *node = NULL;
-
-       if (id == -1)
-               return;
-
-       EINA_LIST_FOREACH(list, it, db_item) {
-               if (db_item->id == id)
-                       break;
-       }
-
-       if (!db_item)
-               return;
-
-       tree_node_new(&node);
-       node->data = app_item_create(db_item->type,
-                       db_item->id,
-                       "",
-                       "",
-                       "",
-                       db_item->appid,
-                       NULL,
-                       db_item->type == APP_ITEM_FOLDER,
-                       db_item->x,
-                       db_item->y,
-                       db_item->w,
-                       db_item->h,
-                       db_item->content_info);
-
-       if (!node->data) {
-               tree_node_free(node, NULL, NULL, NULL);
-               return;
-       }
-
-       tree_node_append(parent, node);
-
-       __data_model_convert_db_list_to_tree(parent, db_item->next_id, list);
-       __data_model_convert_db_list_to_tree(node, db_item->first_id, list);
-}
-
-static bool __data_model_update_tree_cb(Tree_node_t *parent, Tree_node_t *node, void *data)
-{
-       if (node->data->type == APP_ITEM_ICON) {
-               Eina_List *it;
-               app_mgr_item_t *app_mgr;
-               EINA_LIST_FOREACH((Eina_List *)data, it, app_mgr) {
-                       if (!strncmp(app_mgr->appid, node->data->appid, strlen(node->data->appid)))
-                               break;
-               }
-
-               if (app_mgr) {
-                       node->data->label = strdup(app_mgr->label);
-                       node->data->icon = strdup(app_mgr->icon);
-                       node->data->exec = strdup(app_mgr->exec);
-
-                       node->data->removable = app_mgr->removable;
-               }
-       } else if (node->data->type == APP_ITEM_FOLDER) {
-               node->data->label = strdup(node->data->appid);
-       }
-       return true;
-}
-
-static bool __data_model_check_cb(Tree_node_t *parent, Tree_node_t *node, void *data)
-{
-       if (node->data->type == APP_ITEM_ICON)
-               node->data->is_checked = *(bool *)data;
-
-       return true;
-}
-
-static bool __data_model_check_count_cb(Tree_node_t *parent, Tree_node_t *node, void *data)
-{
-       if (node && node->data && node->data->is_checked) {
-               LOGI("%s", node->data->label);
-               ++*(int *)data;
-       }
-       return true;
-}
-
-static bool __data_model_set_set_cb(Tree_node_t *parent, Tree_node_t *node, void *data)
-{
-       if (node->data->type == APP_ITEM_ICON || node->data->type == APP_ITEM_FOLDER) {
-               if (node->parent->parent && node->parent->parent->data->type == APP_ITEM_FOLDER) {
-                       app_icon_set_view_mode(node->data->layout, *(homescreen_view_t *)data, true);
-               } else {
-                       app_icon_set_view_mode(node->data->layout, *(homescreen_view_t *)data, false);
-               }
-       } else if (node->data->type == APP_ITEM_PAGE && node->parent->data->type == APP_ITEM_ALL_APPS_ROOT) {
-               app_grid_set_view_mode(node->data->layout, *(homescreen_view_t *)data);
-       }
-       return true;
-}
-
-/*
-static void _data_model_full_page_reorder(Tree_node_t *node)
-{
-       if (node->parent->count > APPS_PAGE)
-       {
-               Tree_node_t *parent = node->parent;
-               Tree_node_t *last = parent->last;
-               tree_node_detatch(last);
-
-               last->data->grid_item = app_grid_insert_item_relative(parent->next->data->layout, last->data->layout, parent->next->first->data->grid_item);
-
-               //TODO check if next exist
-               tree_node_prepend(parent->next, last);
-               _data_model_full_page_reorder(last);
-       }
-}
-*/
-
-static void __data_model_remove_empty(Tree_node_t *node)
-{
-       if (!node || !node->data)
-               return;
-
-       if ((node->data->type == APP_ITEM_PAGE || node->data->type == APP_ITEM_FOLDER) && node->count == 0) {
-               app_item_free(node->data);
-               /*since it's empty, we pass NULLs:*/
-               tree_node_free(node, NULL, NULL, NULL);
-       }
-}
-
-static Eina_Bool __data_model_reattach_children(const void *container, void *node, void *fdata)
-{
-       unsigned int page_size_limit = FOLDER_APPS_PAGE;
-       bool place_found = false;
-       Tree_node_t *parent = (Tree_node_t *)fdata, *child = *((Tree_node_t **)node),  *page = NULL;
-
-       if (parent->data->type == APP_ITEM_ALL_APPS_ROOT)
-               page_size_limit = APPS_PAGE;
-
-       /*now find first free page:*/
-       for (page = parent->first; page; page = page->next) {
-               if (page->count < page_size_limit) {
-                       tree_node_append(page, child);
-                       place_found = true;
-                       LOGI("reattach_children %s found place in %s", child->data->label, parent->data->label);
-                       break;
-               }
-       }
-
-       /*sanity check:*/
-       if (!place_found) {
-               LOGE("reattach_children %s could not find place", child->data->label);
-               __data_model_append_item(parent, child, page_size_limit);
-       }
-       return EINA_TRUE;
-}
-
-static Eina_Inarray *__data_model_sort_children(const Tree_node_t *const root, unsigned int size_hint, Eina_Compare_Cb sort_compare_function)
-{
-       Eina_Inarray *array = NULL;
-       Tree_node_t *page = NULL, *it = NULL, *it_tmp = NULL;
-
-       if (!root || !root->data ||
-               !(root->data->type == APP_ITEM_FOLDER ||
-                       root->data->type == APP_ITEM_ALL_APPS_ROOT)
-       )
-               return NULL;
-       /*now we know this is root or folder for sure, so it contains pages:*/
-
-       array = eina_inarray_new(sizeof(Tree_node_t *), size_hint);
-
-       if (!array) {
-               LOGE("sort_children: allocation error");
-               return NULL;
-       }
-
-       /*for each "page":*/
-       for (page = root->first; page; page = page->next) {
-               /*sanity check:*/
-               if (!page->data || page->data->type != APP_ITEM_PAGE) {
-                       LOGE("sort_children problem: data: %d type: %d", page->data, page->data ? page->data->type : -1);
-                       return array;
-               }
-
-               /*for each node in "page":*/
-               for (it = page->first; it; it = it_tmp) {
-                       it_tmp = it->next;
-                       tree_node_detatch(it);
-
-                       if (eina_inarray_insert_sorted(array, &it, sort_compare_function) < 0) {
-                               LOGE("sort_children: item insertion error");
-                               return array;
-                       }
-               }
-       }
-
-       return array;
-}
-
-static void __data_model_free_subtree(Tree_node_t *root_node)
-{
-       Tree_node_t *first_child = NULL, *last_child = NULL, *child_tmp = NULL;
-       int children_count = 0;
-
-       if (!root_node) {
-               LOGE("root_node == NULL");
-               return;
-       }
-
-       tree_node_free(root_node, &first_child, &last_child, &children_count);
-
-       if ((!first_child || !last_child) && children_count > 0) {
-               LOGE("Node has %d children but pointers are first: %d, last: %d", children_count, first_child, last_child);
-               return;
-       }
-
-       while (children_count-- > 0) {
-               child_tmp = first_child->next;
-               __data_model_free_subtree(first_child);
-               first_child = child_tmp;
-       }
-}
-
-static int __data_model_set_lexical_compare_function(const void *data1, const void *data2)
-{
-       char *l_upper = NULL, *r_upper = NULL;
-       Tree_node_t *l = *((Tree_node_t **)data1), *r = *((Tree_node_t **)data2);
-       int res = 0;
-
-       if (!l || !l->data || !l->data->label)
-               return 1;
-
-       if (!r || !r->data || !r->data->label)
-               return -1;
-
-       l_upper = (char *)alloca(NAME_MAX*sizeof(char));
-       r_upper = (char *)alloca(NAME_MAX*sizeof(char));
-
-       strncpy(l_upper, l->data->label, NAME_MAX - sizeof('\0'));
-       strncpy(r_upper, r->data->label, NAME_MAX - sizeof('\0'));
-
-       eina_str_toupper(&l_upper);
-       eina_str_toupper(&r_upper);
-
-       return !(res = strcoll(l_upper, r_upper)) ? 1 : res;
-}
-
-static void __add_default_widget(widget_info_t *widget)
-{
-       Tree_node_t *item = NULL;
-
-       Tree_node_t *page = data_model_add_widget_page();
-       if (!page) {
-               LOGE("item == NULL");
-               return;
-       }
-
-       item = data_model_add_widget(page, widget->widget_id, 0, 0, widget->width,
-                       widget->height, NULL);
-       if (!item) {
-               LOGE("item == NULL");
-               return;
-       }
-
-       LOGD("Widget: %s with size (%d, %d) added", widget->widget_id,
-                       widget->width, widget->height);
-}
diff --git a/src/db/db.c b/src/db/db.c
deleted file mode 100644 (file)
index 0503aca..0000000
+++ /dev/null
@@ -1,330 +0,0 @@
-/*
- * Copyright 2012  Samsung Electronics Co., Ltd
- *
- * Licensed under the Flora License, Version 1.1 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://floralicense.org/license/
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#include <sqlite3.h>
-
-#include "homescreen-efl.h"
-#include "conf.h"
-#include "util.h"
-#include "db/db.h"
-
-static struct {
-       sqlite3 *db;
-       Ecore_Timer *close_timer;
-} db_info = {
-       .db = NULL,
-       .close_timer = NULL,
-};
-
-#define CREATE_TABLE_ITEM "CREATE TABLE IF NOT EXISTS item(\
-id INTEGER PRIMARY KEY NOT NULL,\
-type INTEGER,\
-pkg_id TEXT,\
-first INTEGER,\
-next INTEGER,\
-x INTEGER,\
-y INTEGER,\
-w INTEGER,\
-h INTEGER,\
-content_info TEXT);"
-
-#define SELECT_ITEM "SELECT * FROM item;"
-#define INSERT_ITEM "INSERT OR REPLACE INTO item VALUES(?,?,?,?,?,?,?,?,?,?);"
-#define CLEAR_TABLE "DELETE FROM item;"
-#define DELETE_ITEM "DELETE FROM item WHERE id = ?;"
-
-#define DATABASE_CLOSE_TIME 5
-
-bool _db_is_success(int return_code);
-bool _db_open(void);
-void _db_close(void);
-bool _db_prepare(const char *query, sqlite3_stmt **stmt);
-bool _db_step(sqlite3_stmt *stmt);
-bool _db_finalize(sqlite3_stmt *stmt);
-
-bool db_create_tables(void)
-{
-       if (!_db_open())
-               return false;
-
-       sqlite3_exec(db_info.db, CLEAR_TABLE, NULL, NULL, NULL);
-
-       if (sqlite3_exec(db_info.db, CREATE_TABLE_ITEM, NULL, NULL, NULL))
-               return false;
-
-       db_item_t root = {0, APP_ITEM_ROOT, "", -1, -1, 0, 0, 0, 0};
-       if (!db_update_apps(root, true))
-               return false;
-
-       _db_close();
-
-       return true;
-}
-
-bool db_get_apps(Eina_List **apps)
-{
-       const char *content_info = NULL;
-       sqlite3_stmt *stmt;
-       if (!_db_open())
-               return false;
-
-       if (!_db_prepare(SELECT_ITEM, &stmt))
-               return false;
-
-       while (sqlite3_step(stmt) == SQLITE_ROW) {
-               db_item_t *item = (db_item_t *) malloc(sizeof(db_item_t));
-               item->id = sqlite3_column_int(stmt, 0);
-               item->type = sqlite3_column_int(stmt, 1);
-               item->appid = strdup((const char *) sqlite3_column_text(
-                       stmt, 2));
-               item->first_id = sqlite3_column_int(stmt, 3);
-               item->next_id = sqlite3_column_int(stmt, 4);
-
-               item->x = sqlite3_column_int(stmt, 5);
-               item->y = sqlite3_column_int(stmt, 6);
-               item->w = sqlite3_column_int(stmt, 7);
-               item->h = sqlite3_column_int(stmt, 8);
-
-
-               content_info = (const char *)sqlite3_column_text(stmt, 9);
-
-               if (content_info) {
-                       item->content_info = strdup(content_info);
-               } else {
-                       item->content_info = NULL;
-               }
-
-               *apps = eina_list_append(*apps, item);
-               dlog_print(DLOG_DEBUG, LOG_TAG, "App: %s [%s]", item->appid, item->content_info );
-       }
-
-       if (!_db_finalize(stmt))
-               return false;
-
-       _db_close();
-
-       return true;
-}
-
-void db_free_apps(Eina_List *apps)
-{
-       db_item_t *db_item;
-       EINA_LIST_FREE(apps, db_item) {
-               free(db_item->appid);
-               free(db_item);
-       }
-}
-
-bool db_update_apps(db_item_t item, bool insert)
-{
-       sqlite3_stmt *stmt;
-
-       if (!_db_open())
-               return false;
-
-       if (insert) {
-               if (!_db_prepare(INSERT_ITEM, &stmt)) {
-                       LOGD("_db_prepare() failed");
-                       return false;
-               }
-
-               sqlite3_bind_int(stmt, 1, item.id);
-               sqlite3_bind_int(stmt, 2, item.type);
-               sqlite3_bind_text(stmt, 3, item.appid, -1, SQLITE_STATIC);
-               sqlite3_bind_int(stmt, 4, item.first_id);
-               sqlite3_bind_int(stmt, 5, item.next_id);
-               sqlite3_bind_int(stmt, 6, item.x);
-               sqlite3_bind_int(stmt, 7, item.y);
-               sqlite3_bind_int(stmt, 8, item.w);
-               sqlite3_bind_int(stmt, 9, item.h);
-               sqlite3_bind_text(stmt, 10, item.content_info, -1, SQLITE_STATIC);
-       } else {
-               if (!_db_prepare(DELETE_ITEM, &stmt)) {
-                       LOGD("_db_prepare() failed");
-                       return false;
-               }
-
-               sqlite3_bind_int(stmt, 1, item.id);
-       }
-
-
-       if (!_db_step(stmt))
-               return false;
-
-       if (!_db_finalize(stmt))
-               return false;
-
-       _db_close();
-
-       return true;
-}
-
-bool _db_is_success(int return_code)
-{
-       switch (return_code) {
-       case SQLITE_OK:
-               LOGD("RETURN CODE: SQLITE_OK");
-               break;
-       case SQLITE_ERROR:
-               LOGD("RETURN CODE: SQLITE_ERROR");
-               break;
-       case SQLITE_INTERNAL:
-               LOGD("RETURN CODE: SQLITE_INTERNAL");
-               break;
-       case SQLITE_PERM:
-               LOGD("RETURN CODE: SQLITE_PERM");
-               break;
-       case SQLITE_ABORT:
-               LOGD("RETURN CODE: SQLITE_ABORT");
-               break;
-       case SQLITE_BUSY:
-               LOGD("RETURN CODE: SQLITE_BUSY");
-               break;
-       case SQLITE_LOCKED:
-               LOGD("RETURN CODE: SQLITE_LOCKED");
-               break;
-       case SQLITE_NOMEM:
-               LOGD("RETURN CODE: SQLITE_NOMEM");
-               break;
-       case SQLITE_READONLY:
-               LOGD("RETURN CODE: SQLITE_READONLY");
-               break;
-       case SQLITE_INTERRUPT:
-               LOGD("RETURN CODE: SQLITE_INTERRUPT");
-               break;
-       case SQLITE_IOERR:
-               LOGD("RETURN CODE: SQLITE_IOERR");
-               break;
-       case SQLITE_CORRUPT:
-               LOGD("RETURN CODE: SQLITE_CORRUPT");
-               break;
-       case SQLITE_NOTFOUND:
-               LOGD("RETURN CODE: SQLITE_NOTFOUND");
-               break;
-       case SQLITE_FULL:
-               LOGD("RETURN CODE: SQLITE_FULL");
-               break;
-       case SQLITE_CANTOPEN:
-               LOGD("RETURN CODE: SQLITE_CANTOPEN");
-               break;
-       case SQLITE_PROTOCOL:
-               LOGD("RETURN CODE: SQLITE_PROTOCOL");
-               break;
-       case SQLITE_EMPTY:
-               LOGD("RETURN CODE: SQLITE_EMPTY");
-               break;
-       case SQLITE_SCHEMA:
-               LOGD("RETURN CODE: SQLITE_SCHEMA");
-               break;
-       case SQLITE_TOOBIG:
-               LOGD("RETURN CODE: SQLITE_TOOBIG");
-               break;
-       case SQLITE_CONSTRAINT:
-               LOGD("RETURN CODE: SQLITE_CONSTRAINT");
-               break;
-       case SQLITE_MISMATCH:
-               LOGD("RETURN CODE: SQLITE_MISMATCH");
-               break;
-       case SQLITE_MISUSE:
-               LOGD("RETURN CODE: SQLITE_MISUSE");
-               break;
-       case SQLITE_NOLFS:
-               LOGD("RETURN CODE: SQLITE_NOLFS");
-               break;
-       case SQLITE_AUTH:
-               LOGD("RETURN CODE: SQLITE_AUTH");
-               break;
-       case SQLITE_FORMAT:
-               LOGD("RETURN CODE: SQLITE_FORMAT");
-               break;
-       case SQLITE_RANGE:
-               LOGD("RETURN CODE: SQLITE_RANGE");
-               break;
-       case SQLITE_NOTADB:
-               LOGD("RETURN CODE: SQLITE_NOTADB");
-               break;
-       case SQLITE_ROW:
-               LOGD("RETURN CODE: SQLITE_ROW");
-               break;
-       case SQLITE_DONE:
-               LOGD("RETURN CODE: SQLITE_DONE");
-               break;
-       default:
-               break;
-       }
-
-       return return_code == SQLITE_OK || return_code == SQLITE_DONE;
-}
-
-bool _db_open(void)
-{
-       if (db_info.db)
-               return true;
-
-       if (!_db_is_success(sqlite3_open(util_get_data_file_path(DATABASE_FILE), &db_info.db)))
-               return false;
-
-       if (sqlite3_exec(db_info.db, "BEGIN IMMEDIATE TRANSACTION", NULL,
-               NULL, NULL))
-               return false;
-
-       return true;
-}
-
-Eina_Bool _db_close_cb(void *data)
-{
-       LOGD("DB CLOSE");
-
-       if (db_info.db) {
-               if (sqlite3_exec(db_info.db, "COMMIT TRANSACTION",
-                       NULL, NULL, NULL))
-                       return ECORE_CALLBACK_DONE;
-
-               if (_db_is_success(sqlite3_close(db_info.db)))
-                       db_info.db = NULL;
-       }
-       db_info.close_timer = NULL;
-       return ECORE_CALLBACK_DONE;
-}
-
-void _db_close(void)
-{
-       if (!db_info.db)
-               return;
-
-       if (db_info.close_timer) {
-               ecore_timer_reset(db_info.close_timer);
-       } else {
-               db_info.close_timer = ecore_timer_add(DATABASE_CLOSE_TIME,
-                                       _db_close_cb, NULL);
-       }
-}
-
-bool _db_prepare(const char *query, sqlite3_stmt **stmt)
-{
-       return _db_is_success(sqlite3_prepare_v2(db_info.db, query,
-               strlen(query), stmt, NULL));
-}
-
-bool _db_step(sqlite3_stmt *stmt)
-{
-       return _db_is_success(sqlite3_step(stmt));
-}
-
-bool _db_finalize(sqlite3_stmt *stmt)
-{
-       return _db_is_success(sqlite3_finalize(stmt));
-}
diff --git a/src/dynamic_index.c b/src/dynamic_index.c
deleted file mode 100644 (file)
index c364040..0000000
+++ /dev/null
@@ -1,369 +0,0 @@
-/*
- * Copyright 2012  Samsung Electronics Co., Ltd
- *
- * Licensed under the Flora License, Version 1.1 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://floralicense.org/license/
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#include "dynamic_index.h"
-
-#include <stdbool.h>
-#include <Elementary.h>
-
-#include "homescreen-efl.h"
-#include "util.h"
-#include "livebox/livebox_panel.h"
-#include "layout.h"
-
-static Evas_Object *__dynamic_index_create_indice(Evas_Object *box);
-static Eina_Bool __dynamic_index_fill_box(dynamic_index_t *dynamic_index);
-
-static void __dynamic_index_page_count_changed_cb(void *data, Evas_Object *obj, const char *emission, const char *source);
-static void __dynamic_index_page_area_changed_cb(void *data, Evas_Object *obj, void *event_info);
-
-static void __dynamic_index_current_page_changed_start_cb(void *data, Evas_Object *obj, void *event_info);
-static void __dynamic_index_current_page_changed_stop_cb(void *data, Evas_Object *obj, void *event_info);
-static void __dynamic_index_set_properties(Evas_Object *index, double percent);
-static Evas_Object *__dynamic_index_box_create(void);
-static void __dynamic_index_rotate(Evas_Object *element, double angle, double alpha);
-
-HAPI dynamic_index_t *dynamic_index_new(Evas_Object *page_scroller)
-{
-       dynamic_index_t *dynamic_index = NULL;
-       Evas_Object *box = NULL;
-
-       if (!page_scroller) {
-               LOGD("Invalid parameter : page_scroller is NULL");
-               return NULL;
-       }
-
-       dynamic_index = (dynamic_index_t *) malloc (sizeof(dynamic_index_t));
-       if (!dynamic_index)
-               return NULL;
-
-       box = __dynamic_index_box_create();
-
-       dynamic_index->scroller = page_scroller;
-       dynamic_index->box = box;
-       dynamic_index->page_count = page_scroller_get_page_count(page_scroller);
-       dynamic_index->page_current = page_scroller_get_current_page(page_scroller);
-
-       elm_scroller_page_size_get(page_scroller, &dynamic_index->page_width, NULL);
-       elm_scroller_region_get(page_scroller, &dynamic_index->x_current, NULL, NULL, NULL);
-
-       if (!__dynamic_index_fill_box(dynamic_index)) {
-               LOGD("Box fill failed");
-               evas_object_del(box);
-               free(dynamic_index);
-               return NULL;
-       }
-
-       elm_object_signal_callback_add(page_scroller, "scroller,count,changed", "*", __dynamic_index_page_count_changed_cb, dynamic_index);
-       evas_object_smart_callback_add(page_scroller, "scroll", __dynamic_index_page_area_changed_cb, dynamic_index);
-       evas_object_smart_callback_add(page_scroller, "scroll,drag,start", __dynamic_index_current_page_changed_start_cb, dynamic_index);
-       evas_object_smart_callback_add(page_scroller, "scroll,anim,stop", __dynamic_index_current_page_changed_stop_cb, dynamic_index);
-       evas_object_data_set(page_scroller, KEY_INDEX, dynamic_index);
-
-       return dynamic_index;
-}
-
-HAPI void dynamic_index_clear(dynamic_index_t *dynamic_index)
-{
-       int i = 0;
-
-       if (!dynamic_index) {
-               LOGE("Invalid parameter");
-               return;
-       }
-
-       for (i = 0; i < dynamic_index->page_count; i++) {
-               if (dynamic_index->indices[i]) {
-                       evas_object_del(dynamic_index->indices[i]);
-                       dynamic_index->indices[i] = NULL;
-               }
-       }
-
-       elm_box_clear(dynamic_index->box);
-}
-
-HAPI void dynamic_index_del(dynamic_index_t *dynamic_index)
-{
-       if (!dynamic_index) {
-               LOGE("[INVALID_PARAM][dynamic_index='%p']", dynamic_index);
-               return;
-       }
-
-       elm_object_signal_callback_del(dynamic_index->scroller, "scroller,count,changed", "*", __dynamic_index_page_count_changed_cb);
-
-       evas_object_smart_callback_del(dynamic_index->scroller, "scroll", __dynamic_index_page_area_changed_cb);
-       evas_object_smart_callback_del(dynamic_index->scroller, "scroll,drag,start", __dynamic_index_current_page_changed_start_cb);
-       evas_object_smart_callback_del(dynamic_index->scroller, "scroll,anim,stop", __dynamic_index_current_page_changed_stop_cb);
-
-       dynamic_index_clear(dynamic_index);
-       free(dynamic_index);
-}
-
-HAPI void dynamic_index_reload(dynamic_index_t *dynamic_index, int idx, int page_count)
-{
-       if (!dynamic_index) {
-               LOGE("[INVALID_PARAMS]");
-               return;
-       }
-
-       dynamic_index_clear(dynamic_index);
-       dynamic_index->page_current = idx;
-       dynamic_index->page_count = page_count;
-
-       __dynamic_index_fill_box(dynamic_index);
-}
-
-static Evas_Object *__dynamic_index_create_indice(Evas_Object *box)
-{
-       Evas_Object *layout = NULL;
-       Evas_Object *size_setter_rect = NULL;
-
-       int idx_width = (INDEX_ELEMENT_CONTAINER_WIDTH / ROOT_WIN_W) * home_screen_get_root_width();
-       int idx_height = (INDEX_ELEMENT_CONTAINER_HEIGHT / ROOT_WIN_H) * home_screen_get_root_height();
-
-       if (!box) {
-               LOGD("Invalid argument : box is NULL");
-               return NULL;
-       }
-
-       layout = elm_layout_add(box);
-       if (!layout) {
-               LOGD("Layout creation failed");
-               return NULL;
-       }
-
-       if (!elm_layout_file_set(layout, util_get_res_file_path(INDEX_EDJE), GROUP_INDEX_ELEMENT)) {
-               evas_object_del(layout);
-               return NULL;
-       }
-
-       size_setter_rect = evas_object_rectangle_add(evas_object_evas_get(home_screen_get_win()));
-       if (!size_setter_rect) {
-               LOGE("Failed to create size setter rectangle");
-               return NULL;
-       }
-
-       elm_object_part_content_set(layout, INDICE_SIZE_SETTER, size_setter_rect);
-
-       evas_object_color_set(size_setter_rect, 0, 0, 0, 0);
-       evas_object_size_hint_min_set(size_setter_rect, idx_width, idx_height);
-       evas_object_size_hint_max_set(size_setter_rect, idx_width, idx_height);
-       evas_object_resize(size_setter_rect, idx_width, idx_height);
-
-       evas_object_show(layout);
-       elm_box_pack_end(box, layout);
-       return layout;
-}
-
-static void __dynamic_index_set_properties(Evas_Object *index, double percent)
-{
-       double size = (percent*INDEX_CURRENT_SIZE+(1.0-percent)*INDEX_NORMAL_SIZE)*home_screen_get_root_width();
-       evas_object_size_hint_min_set(index, size, size);
-       evas_object_size_hint_max_set(index, size, size);
-       evas_object_color_set(index, 255, 255, 255, percent*INDEX_CURRENT_ALPHA+(1.0-percent)*INDEX_NORMAL_ALPHA);
-}
-
-static Eina_Bool __dynamic_index_fill_box(dynamic_index_t *dynamic_index)
-{
-       int i = 0, c_page = -1;
-
-       Evas_Object *layout = NULL;
-
-       if (!dynamic_index)
-               return EINA_FALSE;
-
-       if (!dynamic_index->box || dynamic_index->page_count < 1) {
-               LOGD("Invalid parameters : box is NULL or elements_count is < 1");
-               return EINA_FALSE;
-       }
-
-       c_page = dynamic_index->page_current;
-       if(c_page < 0 || c_page > dynamic_index->page_count)
-       {
-               LOGE("Failed to get current_page ");
-               return EINA_FALSE;
-       }
-
-       for (i = 0 ; i < dynamic_index->page_count; i++) {
-               layout = __dynamic_index_create_indice(dynamic_index->box);
-               if (!layout) {
-                       LOGE("Failed to append index element into the box");
-                       dynamic_index_clear(dynamic_index);
-                       return EINA_FALSE;
-               }
-
-               dynamic_index->indices[i] = layout;
-       }
-
-       elm_layout_signal_emit(dynamic_index->indices[c_page], SIGNAL_SET_CURRENT, SIGNAL_SOURCE);
-       __dynamic_index_set_properties(dynamic_index->indices[dynamic_index->page_current], 1.0);
-       return EINA_TRUE;
-}
-
-static void __dynamic_index_page_count_changed_cb(void *data, Evas_Object *obj, const char *emission, const char *source)
-{
-       LOGD("The page count has changed");
-       dynamic_index_t *dynamic_index = (dynamic_index_t *)data;
-       dynamic_index_clear(dynamic_index);
-       dynamic_index->page_count = page_scroller_get_page_count(dynamic_index->scroller);
-
-       LOGD("page count : %d ", dynamic_index->page_count);
-
-       if (!dynamic_index->page_count)
-               return;
-
-       dynamic_index->page_current = page_scroller_get_current_page(dynamic_index->scroller);
-
-       if (!__dynamic_index_fill_box(dynamic_index)) {
-               elm_object_signal_callback_del(dynamic_index->scroller, "scroller,count,changed", "*", __dynamic_index_page_count_changed_cb);
-               evas_object_smart_callback_del(dynamic_index->scroller, "scroll", __dynamic_index_page_area_changed_cb);
-               evas_object_smart_callback_del(dynamic_index->scroller, "scroll,drag,start", __dynamic_index_current_page_changed_start_cb);
-               evas_object_smart_callback_del(dynamic_index->scroller, "scroll,anim,stop", __dynamic_index_current_page_changed_stop_cb);
-       }
-}
-
-HAPI double _dist(int current, int page_x, int page_width)
-{
-       return 1.0-((double)fabs((float)page_x-current))/page_width;
-}
-
-static void __dynamic_index_page_area_changed_cb(void *data, Evas_Object *obj, void *event_info)
-{
-       int x = 0;
-       double angle = 0.0;
-       double color = 0.0;
-       int next_page = -1;
-
-       dynamic_index_t *dynamic_index = (dynamic_index_t*) data;
-       if(!dynamic_index)
-       {
-               LOGE("Invalid dynamic_index");
-               return;
-       }
-       elm_scroller_region_get(obj, &x, NULL, NULL, NULL);
-
-       angle = (double)(x - dynamic_index->x_current)/dynamic_index->page_width * 90.0;
-
-       if(fabs((float)(x - dynamic_index->x_current)) <= dynamic_index->page_width)
-       {
-               next_page = x > dynamic_index->x_current ? (dynamic_index->page_current+1) % dynamic_index->page_count : dynamic_index->page_current-1;
-               color = fabs(angle) * 2;
-       }
-       else
-       {
-               if(x > dynamic_index->x_current)
-               {
-                       next_page = dynamic_index->page_count-1;
-                       color = (double)(dynamic_index->page_width*dynamic_index->page_count - x)/dynamic_index->page_width * 180.0;
-               }
-               else
-               {
-                       next_page = 0;
-                       color = 180.0;
-               }
-       }
-
-       if (next_page == dynamic_index->page_count - 1 && dynamic_index->page_current == 0 && dynamic_index->page_count % 2 == 1)
-               angle = angle - 270.0;
-
-       __dynamic_index_rotate(dynamic_index->indices[dynamic_index->page_current], 90.0 + angle, 255.0 - color);
-       __dynamic_index_rotate(dynamic_index->indices[next_page], angle, 75.0 + color);
-}
-
-static Evas_Object *__dynamic_index_box_create(void)
-{
-       Evas_Object *box = NULL;
-
-       box = elm_box_add(home_screen_get_win());
-       if (!box) {
-               LOGD("Box creation failed");
-               return NULL;
-       }
-
-       elm_box_homogeneous_set(box, EINA_TRUE);
-       elm_box_horizontal_set(box, EINA_TRUE);
-
-       evas_object_size_hint_weight_set(box, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
-       elm_box_align_set(box, 0.5, 0.5);
-       evas_object_show(box);
-
-       return box;
-}
-
-static void __dynamic_index_current_page_changed_start_cb(void *data, Evas_Object *obj, void *event_info)
-{
-       dynamic_index_t *dynamic_index = (dynamic_index_t*) data;
-       if(!dynamic_index)
-       {
-               LOGE("Invalid data");
-               return;
-       }
-
-       elm_scroller_current_page_get(obj, &dynamic_index->page_current, NULL);
-       elm_scroller_region_get(obj, &dynamic_index->x_current, NULL, NULL, NULL);
-}
-
-static void __dynamic_index_current_page_changed_stop_cb(void *data, Evas_Object *obj, void *event_info)
-{
-       dynamic_index_t *dynamic_index = (dynamic_index_t*)data;
-       int i;
-
-       if(!dynamic_index)
-       {
-               LOGE("Invalid data");
-               return;
-       }
-
-       elm_scroller_current_page_get(obj, &dynamic_index->page_current, NULL);
-       for(i = 0; i<dynamic_index->page_current; i++)
-       {
-               elm_object_signal_emit(dynamic_index->indices[i], SIGNAL_SET_DEFAULT, SIGNAL_SOURCE);
-       }
-       elm_object_signal_emit(dynamic_index->indices[dynamic_index->page_current], SIGNAL_SET_CURRENT, SIGNAL_SOURCE);
-       for(i = dynamic_index->page_current+1; i<dynamic_index->page_count; i++)
-       {
-               elm_object_signal_emit(dynamic_index->indices[i], SIGNAL_SET_DEFAULT, SIGNAL_SOURCE);
-       }
-}
-
-static void __dynamic_index_rotate(Evas_Object *element, double angle, double alpha)
-{
-       Evas_Object *edje = NULL;
-
-       if(!element)
-       {
-               LOGE("Invalid argument : element is NULL");
-               return;
-       }
-
-       edje = elm_layout_edje_get(element);
-       if(!edje)
-       {
-               LOGE("Failed to get edje from layout");
-               return;
-       }
-
-       Edje_Message_Float_Set *msg = malloc(sizeof(*msg) + sizeof(double));
-       msg->count = 2;
-       msg->val[0] = angle;
-       msg->val[1] = alpha;
-
-       edje_object_message_send(edje, EDJE_MESSAGE_FLOAT_SET, 1, msg);
-       edje_object_signal_emit(edje, "rot_changed", "ly");
-
-       free(msg);
-}
-
diff --git a/src/folder_panel.c b/src/folder_panel.c
deleted file mode 100644 (file)
index 40bd9af..0000000
+++ /dev/null
@@ -1,942 +0,0 @@
-/*
- * Copyright 2012  Samsung Electronics Co., Ltd
- *
- * Licensed under the Flora License, Version 1.1 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://floralicense.org/license/
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#include <Elementary.h>
-
-#include "folder_panel.h"
-#include "homescreen-efl.h"
-#include "util.h"
-#include "page_scroller.h"
-#include "app_icon.h"
-#include "app_grid.h"
-#include "layout.h"
-#include "option_menu.h"
-#include "tree.h"
-#include "data_model.h"
-#include "all_apps.h"
-
-static struct
-{
-       Evas_Object *opened_folder_window;
-       Evas_Object *opened_folder_popup;
-       Elm_Theme *folder_entry_theme;
-       app_item_t *folder_item;
-       app_item_t *folder_item_add;
-       Tree_node_t *destination_folder;
-       bool click_ignore;
-       bool is_opened;
-       bool entry_activated;
-       bool opened_folder_name_is_empty;
-       bool opened_folder_entrychange_cb_ignore;
-} s_info = {
-       .opened_folder_window = NULL,
-       .opened_folder_popup = NULL,
-       .folder_entry_theme = NULL,
-       .folder_item = NULL,
-       .folder_item_add = NULL,
-       .destination_folder = NULL,
-       .click_ignore = false,
-       .is_opened = false,
-       .entry_activated = false,
-       .opened_folder_name_is_empty = true,
-       .opened_folder_entrychange_cb_ignore = true
-};
-
-typedef struct {
-       bool all_checked;
-       bool any_checked;
-} check_info_s;
-
-static void __folder_panel_create_folder_window_layout_cb(void *data, Evas_Object *obj, const char *emission, const char *source);
-static void __folder_window_destroy_signal_cb(void *data, Evas_Object *obj, const char *emission, const char *source);
-static bool __folder_panel_detach_grid_items(Tree_node_t *parent, Tree_node_t *item, void *data);
-static void __folder_panel_name_set_cb(void *data, Evas_Object *obj, void *event_info);
-static bool __folder_panel_get_items_count(Tree_node_t *parent, Tree_node_t *item, void *count);
-/*frees folder UI data related to opened window:*/
-static void __folder_panel_free_popup_data(folder_data_t *folder_data);
-
-static Evas_Object* __folder_panel_create_icon(Tree_node_t *new_folder);
-static Evas_Object *__folder_panel_create_scroller(Evas_Object *folder_window_layout);
-static bool __folder_panel_create_layout(Evas_Object *parent, app_item_t *folder, bool keypad_show);
-static bool __folder_panel_fill(Evas_Object *folder_window_layout, Evas_Object *folder_page_scroller,app_item_t *folder);
-static bool __folder_panel_set_current_view_state(Tree_node_t *parent, Tree_node_t *item, void *data);
-static bool __folder_panel_show_checkbox(Tree_node_t *parent, Tree_node_t *leaf, void *data);
-static bool __folder_panel_get_checked_icons(Tree_node_t *parent, Tree_node_t *leaf, void *data);
-static Evas_Object *__folder_panel_create_add_icon(app_item_t *folder);
-static Evas_Object *__folder_panel_create_popup(Evas_Object *parent, app_item_t *item);
-
-static Evas_Object *__folder_panel_create_entry(Evas_Object *parent, const char *default_text);
-static void __folder_panel_entry_activated_cb(void *data, Evas_Object *obj, void *ei);
-static void __folder_panel_entry_deactivated_cb(void *data, Evas_Object *obj, void *ei);
-static void __folder_panel_entry_changed_cb(void *data, Evas_Object *obj, void *ei);
-static void __folder_panel_entry_clicked_cb(void *data, Evas_Object *obj, void *ei);
-static void __folder_panel_entry_done_cb(void *data, Evas_Object *obj, void *ei);
-static void __folder_panel_entry_clear_button_clicked_cb(void *data, Evas_Object *obj, const char *emission, const char *source);
-
-static void __folder_panel_item_add_to_folder_cb(void *data, Evas_Object *obj, const char *emission, const char *source);
-static void __folder_panel_print_labels(Tree_node_t *folder_tree);
-static void __folder_panel_close_cb(void *data, Evas_Object *obj, const char *emission, const char *source);
-
-/*========================================== PUBLIC FUNCTIONS IMPLEMENTATION =============================================*/
-HAPI void folder_panel_init_module(void)
-{
-       if (!s_info.folder_entry_theme) {
-               s_info.folder_entry_theme = elm_theme_new();
-               if (!s_info.folder_entry_theme) {
-                       LOGE("Failed to create theme");
-                       return;
-               }
-
-               elm_theme_ref_set(s_info.folder_entry_theme, NULL);
-               elm_theme_extension_add(s_info.folder_entry_theme, util_get_res_file_path(EDJE_DIR"/folder_entry.edj"));
-       }
-}
-
-HAPI void folder_panel_deinit_module(void)
-{
-       elm_theme_free(s_info.folder_entry_theme);
-       s_info.folder_entry_theme = NULL;
-}
-
-HAPI app_item_t *folder_panel_create(Tree_node_t *data)
-{
-       LOGI("");
-       Evas_Object *folder_icon_layout = NULL;
-       folder_data_t *f_data = NULL;
-
-       f_data = (folder_data_t *) calloc(1, sizeof(folder_data_t));
-       if (!f_data) {
-               LOGE("Failed to create either data: %d", f_data);
-               return NULL;
-       }
-
-       folder_icon_layout = __folder_panel_create_icon(data);
-       if (!folder_icon_layout) {
-               LOGE("Failed to create folder");
-               free(f_data);
-               f_data = NULL;
-       }
-
-       data->data->layout = folder_icon_layout;
-       data->data->data = f_data;
-
-       __folder_panel_print_labels(data);
-
-       return data->data;
-}
-
-HAPI void folder_panel_set_click_ignore_state(bool ignore)
-{
-       s_info.click_ignore = ignore;
-}
-
-HAPI void folder_panel_enable_entry(bool state)
-{
-       if (s_info.opened_folder_popup) {
-               if (state) {
-                       elm_object_signal_emit(s_info.opened_folder_popup, SIGNAL_ENTRY_BLOCK_OFF, SIGNAL_SOURCE);
-               } else {
-                       elm_object_signal_emit(s_info.opened_folder_popup, SIGNAL_ENTRY_BLOCK_ON, SIGNAL_SOURCE);
-               }
-       }
-}
-
-HAPI Elm_Object_Item * folder_panel_attach_to_grid(Evas_Object *icon, folder_data_t *folder_data)
-{
-       Evas_Object *grid_layout = NULL;
-       Evas_Object *grid = NULL;
-
-       if (!icon || !folder_data) {
-               LOGE("icon: %d folder_data: %d", icon, folder_data);
-               return NULL;
-       }
-
-       if (!folder_data->folder_scroller)
-               return NULL;
-
-       grid_layout = page_scroller_get_page(folder_data->folder_scroller, 0);
-       grid = elm_object_part_content_get(grid_layout, PART_APP_GRID_CONTENT);
-
-       /*the last item is "+:"*/
-       return app_grid_insert_item_relative(grid_layout, icon, elm_gengrid_last_item_get(grid));
-}
-
-HAPI bool folder_panel_open_folder(app_item_t *folder, bool keypad_show)
-{
-       LOGI("");
-       s_info.is_opened = true;
-       s_info.opened_folder_entrychange_cb_ignore = true;
-
-       return __folder_panel_create_layout(home_screen_get_win(), folder, keypad_show);
-}
-
-HAPI void folder_panel_close_folder(void)
-{
-       s_info.is_opened = false;
-       elm_object_signal_emit(s_info.opened_folder_popup, SIGNAL_FOLDER_PANEL_CLOSE, SIGNAL_SOURCE);
-       elm_object_signal_emit(s_info.opened_folder_popup, SIGNAL_FOLDER_UNNAMED_TEXT_HIDE, SIGNAL_SOURCE);
-       elm_object_signal_callback_add(s_info.opened_folder_popup, SIGNAL_FOLDER_ANIM_DONE, SIGNAL_SOURCE,
-               __folder_panel_close_cb, NULL);
-
-}
-
-HAPI void folder_panel_cancel_add_icon(void)
-{
-       if (s_info.folder_item_add)
-               app_icon_set_color(s_info.folder_item_add->layout, 255, 255, 255, 255);
-       s_info.folder_item_add = NULL;
-       s_info.destination_folder = NULL;
-}
-
-HAPI bool folder_panel_is_folder_visible(void)
-{
-       return s_info.is_opened;
-}
-
-HAPI folder_checked_t folder_panel_set_content_checked(Tree_node_t *node)
-{
-       LOGD("");
-       check_info_s check_info = {
-               .all_checked = true,
-               .any_checked = false
-       };
-
-       tree_in_depth_browse(node, __folder_panel_get_checked_icons, &check_info);
-
-       if (check_info.all_checked) {
-               LOGD("All items checked");
-               return FOLDER_PANEL_CHECKED_ALL;
-       }
-       else if (check_info.any_checked) {
-               LOGD("Any item checked");
-               return FOLDER_PANEL_CHECKED_ANY;
-       }
-       else {
-               LOGD("None items checked");
-               return FOLDER_PANEL_CHECKED_NONE;
-       }
-}
-
-HAPI Tree_node_t *folder_panel_get_opened_folder_node(void)
-{
-       return s_info.destination_folder;
-}
-
-HAPI const app_item_t *folder_panel_get_opened_folder_item(void)
-{
-       return s_info.folder_item;
-}
-
-HAPI int folder_panel_get_items_count(Tree_node_t *folder)
-{
-       int i = 0;
-       data_model_iterate_pages(folder, NULL, __folder_panel_get_items_count, &i);
-
-       return i;
-}
-
-HAPI void folder_panel_remove_empty_folder(Tree_node_t *folder)
-{
-       if (!folder) {
-               LOGE("[INVALID_PARAM][folder=NULL]");
-               return;
-       }
-
-       app_icon_remove(folder->data->layout);
-       folder->data->layout = NULL;
-}
-
-HAPI void folder_panel_get_folder_geometry(int *x, int *y, int *w, int *h)
-{
-       if (!s_info.opened_folder_popup) {
-               if (x)
-                       *x = -1;
-
-               if (y)
-                       *y = -1;
-
-               if (w)
-                       *w = -1;
-
-               if (h)
-                       *h = -1;
-       }
-
-       evas_object_geometry_get(s_info.opened_folder_popup, x, y, w, h);
-}
-
-HAPI void folder_panel_hide_input_panel(void)
-{
-       Evas_Object *entry = NULL;
-
-       if (!s_info.opened_folder_popup)
-               return;
-
-       entry = elm_object_part_content_get(s_info.opened_folder_popup, PART_FOLDER_NAME);
-       if (!entry) {
-               LOGE("[FAILED][entry=NULL]");
-               return;
-       }
-
-       elm_entry_input_panel_hide(entry);
-}
-/*====================================== PRIVATE FUNCTIONS IMPLEMENTATION =================================================*/
-static bool __folder_panel_get_items_count(Tree_node_t *parent, Tree_node_t *item, void *count)
-{
-       (*(int *)count)++;
-
-       return true;
-}
-
-static void __folder_panel_create_folder_window_layout_cb(void *data, Evas_Object *obj,
-       const char *emission, const char *source)
-{
-       bool keypad_show = false;
-
-       if (s_info.click_ignore && s_info.destination_folder) { /*don't open a folder when adding items to it*/
-               LOGI("Click ignore");
-               return;
-       }
-
-       s_info.folder_item = (app_item_t*) data;
-       if (!s_info.folder_item) {
-               LOGE("Failed to get folder item");
-               return;
-       }
-
-       if (!emission && !source)
-               keypad_show = true;
-
-       if (!folder_panel_open_folder(s_info.folder_item, keypad_show)) {
-               LOGE("Failed to open folder");
-               return;
-       }
-
-       app_icon_highlight_folder_icon(s_info.folder_item->layout, FOLDER_ICON_FRAME_POSSIBLE);
-}
-
-static void __folder_window_destroy_signal_cb(void *data, Evas_Object *obj, const char *emission, const char *source)
-{
-       folder_panel_close_folder();
-}
-
-static void __folder_panel_name_set_cb(void *data, Evas_Object *obj, void *event_info)
-{
-       LOGI("");
-       app_item_t *folder = NULL;
-       Tree_node_t *node = NULL;
-       const char *entry_text;
-       char prev_label[NAME_MAX];
-
-       folder = (app_item_t*) data;
-       if (!data) {
-               LOGE("invalid cb parameter : data is NULL");
-               return;
-       }
-
-       strncpy(prev_label, folder->label, NAME_MAX - sizeof('\0'));
-
-       if (elm_entry_is_empty(obj) || s_info.opened_folder_name_is_empty) {
-               free((void *)folder->label);
-               folder->label = strdup("");
-               elm_object_signal_emit(s_info.opened_folder_popup, SIGNAL_FOLDER_UNNAMED_TEXT_SHOW,
-                               SIGNAL_SOURCE);
-       } else {
-               entry_text = elm_object_text_get(obj);
-               if (!entry_text) {
-                       LOGE("Failed to get the text from the entry");
-                       return;
-               }
-
-               free((void *)folder->label);
-               folder->label = strdup(entry_text);
-               if (!folder->label) {
-                       LOGE("Failed to copy the text");
-                       return;
-               }
-
-               folder->appid = strdup(entry_text);
-               if (!folder->appid) {
-                       LOGE("Failed to copy the text");
-                       return;
-               }
-       }
-
-       if (folder->label &&
-               strncasecmp(prev_label, folder->label, NAME_MAX) != 0) {
-               app_icon_set_label(folder->layout, folder->label);
-
-               node = (Tree_node_t*)evas_object_data_get(folder->layout, KEY_ICON_DATA);
-               if (!node) {
-                       LOGE("node == NULL");
-                       return;
-               }
-               data_model_update_item(node);
-               home_screen_mvc_update_view();
-       }
-
-       home_screen_print_tree();
-}
-
-static Evas_Object* __folder_panel_create_icon(Tree_node_t *new_folder)
-{
-       Evas_Object *folder_icon_layout = app_icon_create(new_folder, APP_ICON_TYPE_FOLDER);
-       if (!folder_icon_layout) {
-               LOGE("Failed to create folder");
-               return NULL;
-       }
-
-       elm_object_signal_callback_add(folder_icon_layout, SIGNAL_ICON_CLICKED, SIGNAL_SOURCE, __folder_panel_create_folder_window_layout_cb, new_folder->data);
-
-       return folder_icon_layout;
-}
-
-static bool __folder_panel_create_layout(Evas_Object *parent, app_item_t *folder, bool keypad_show)
-{
-       Evas_Object *entry = NULL;
-       Evas_Object *add_icon = NULL;
-
-       folder_data_t *f_data = NULL;
-       Tree_node_t *f_node = NULL;
-
-       int count = -1;
-
-       if (!parent || !folder) {
-               LOGE("Invalid parameter");
-               return false;
-       }
-
-       f_data = (folder_data_t *) folder->data;
-       if (!f_data) {
-               LOGE("Failed to get folder data");
-               return false;
-       }
-
-       s_info.opened_folder_window = elm_layout_add(parent);
-       if (!s_info.opened_folder_window) {
-               LOGE("Failed to create folder icon layout");
-               return false;
-       }
-
-       if (!elm_layout_file_set(s_info.opened_folder_window, util_get_res_file_path(EDJE_DIR"/folder.edj"), GROUP_FOLDER_WINDOW)) {
-               LOGE("Failed to load edje file for layout");
-               evas_object_del(s_info.opened_folder_window);
-               s_info.opened_folder_window = NULL;
-               return false;
-       }
-
-       s_info.opened_folder_popup = __folder_panel_create_popup(parent, folder);
-       if (!s_info.opened_folder_popup) {
-               LOGE("Failed to create folder_popup ");
-               evas_object_del(s_info.opened_folder_window);
-               s_info.opened_folder_window = NULL;
-               return false;
-       }
-       evas_object_show(s_info.opened_folder_popup);
-
-       entry = __folder_panel_create_entry(s_info.opened_folder_popup, folder->label);
-       if (!entry) {
-               LOGE("Failed to create entry");
-               evas_object_del(s_info.opened_folder_window);
-               evas_object_del(s_info.opened_folder_popup);
-               s_info.opened_folder_window = NULL;
-               s_info.opened_folder_popup = NULL;
-               return false;
-       }
-
-       f_data->folder_scroller = __folder_panel_create_scroller(home_screen_get_win());
-       if (!f_data->folder_scroller) {
-               LOGE("Failed to create folder layout");
-               evas_object_del(s_info.opened_folder_window);
-               evas_object_del(s_info.opened_folder_popup);
-               s_info.opened_folder_window = NULL;
-               s_info.opened_folder_popup = NULL;
-               return false;
-       }
-       elm_object_part_content_set(s_info.opened_folder_popup, PART_FOLDER_CONTENT, f_data->folder_scroller);
-       if (!__folder_panel_fill(s_info.opened_folder_popup, f_data->folder_scroller, folder)) {
-               LOGE("Failed to fill folder grid");
-               evas_object_del(s_info.opened_folder_window);
-               evas_object_del(s_info.opened_folder_popup);
-               __folder_panel_free_popup_data(folder->data);
-               s_info.opened_folder_window = NULL;
-               s_info.opened_folder_popup = NULL;
-               return false;
-       }
-
-       f_node = evas_object_data_get(folder->layout, KEY_ICON_DATA);
-       if (!f_node) {
-               LOGE("[FAILED][f_node=NULL]");
-               evas_object_del(s_info.opened_folder_window);
-               evas_object_del(s_info.opened_folder_popup);
-               __folder_panel_free_popup_data(folder->data);
-               s_info.opened_folder_window = NULL;
-               s_info.opened_folder_popup = NULL;
-               return false;
-       }
-
-       count = folder_panel_get_items_count(f_node);
-       if (count < FOLDER_MAX_ITEMS) {
-               add_icon = __folder_panel_create_add_icon(folder);
-
-               if (!app_grid_append_item(page_scroller_get_page(f_data->folder_scroller, page_scroller_get_page_count(f_data->folder_scroller)-1), add_icon)) {
-                       LOGE("Creating folder window without \"+\"");
-                       evas_object_del(add_icon);
-               }
-       }
-
-       evas_object_resize(s_info.opened_folder_window, FOLDER_WINDOW_W, FOLDER_WINDOW_H);
-       evas_object_move(s_info.opened_folder_window, 0, 0);
-       evas_object_show(s_info.opened_folder_window);
-
-       elm_object_signal_callback_add(s_info.opened_folder_window, SIGNAL_BG_CLICKED, SIGNAL_SOURCE, __folder_window_destroy_signal_cb, folder);
-       evas_object_smart_callback_add(entry, "focused", __folder_panel_entry_activated_cb, folder);
-       evas_object_smart_callback_add(entry, "unfocused", __folder_panel_entry_deactivated_cb, folder);
-       elm_object_signal_emit(s_info.opened_folder_popup, SIGNAL_FOLDER_PANEL_OPEN, SIGNAL_SOURCE);
-
-       return true;
-}
-
-static Evas_Object* __folder_panel_create_scroller(Evas_Object *folder_window_layout)
-{
-       Evas_Object *folder_page_scroller = NULL;
-       LOGI("");
-
-       if (!folder_window_layout) {
-               LOGE("Invalid parameter");
-               return NULL;
-       }
-
-       folder_page_scroller = page_scroller_create(FOLDER_GRID_W_REL*home_screen_get_root_width(), FOLDER_GRID_H_REL*home_screen_get_root_height());
-       if (!folder_page_scroller) {
-               LOGE("Failed to create folder page scroller layout");
-               return NULL;
-       }
-
-       elm_scroller_movement_block_set(folder_page_scroller, ELM_SCROLLER_MOVEMENT_BLOCK_VERTICAL);
-       elm_scroller_movement_block_set(folder_page_scroller, ELM_SCROLLER_MOVEMENT_BLOCK_HORIZONTAL);
-       elm_scroller_loop_set(folder_page_scroller, EINA_FALSE, EINA_FALSE);
-
-       return folder_page_scroller;
-}
-
-static bool __folder_panel_detach_grid_items(Tree_node_t *parent, Tree_node_t *item, void *data)
-{
-       if (item->data && item->data->grid_item) {
-               app_grid_unpack_item(item->data->grid_item);
-               elm_object_item_del(item->data->grid_item);
-               evas_object_hide(item->data->layout);
-               item->data->grid_item = NULL;
-
-               return true;
-       }
-
-       return false;
-}
-
-static bool __folder_panel_set_current_view_state(Tree_node_t *parent, Tree_node_t *item, void *data)
-{
-       app_icon_set_view_mode(item->data->layout, home_screen_get_view_type(), true);
-       return true;
-}
-
-static bool __folder_panel_show_checkbox(Tree_node_t *parent, Tree_node_t *leaf, void *data)
-{
-       if (leaf->data->type == APP_ITEM_ICON) {
-               if (leaf->data->is_checked)
-                       elm_object_signal_emit(leaf->data->layout, SIGNAL_CHECKBOX_SHOW_CHECKED, SIGNAL_SOURCE);
-               else
-                       elm_object_signal_emit(leaf->data->layout, SIGNAL_CHECKBOX_SHOW_UNCHECKED, SIGNAL_SOURCE);
-       }
-       return true;
-}
-
-static bool __folder_panel_get_checked_icons(Tree_node_t *parent, Tree_node_t *leaf, void *data)
-{
-       check_info_s *check_info = data;
-
-       if (leaf->data->type == APP_ITEM_ICON) {
-               check_info->all_checked = check_info->all_checked && leaf->data->is_checked;
-               check_info->any_checked = check_info->any_checked || leaf->data->is_checked;
-       }
-
-       return true;
-}
-
-static bool __folder_panel_fill(Evas_Object *folder_window_layout, Evas_Object *folder_page_scroller, app_item_t *folder)
-{
-       folder_data_t *folder_data = NULL;
-       Tree_node_t *it;
-       Tree_node_t *folder_app_tree = NULL;
-       Evas_Object *folder_app_grid = NULL;
-       LOGI("");
-
-       if (!folder_page_scroller || !folder) {
-               LOGE("Invalid parameter");
-               return false;
-       }
-
-       folder_data = (folder_data_t*)folder->data;
-       if (!folder_data) {
-               LOGE("Failed to get folder data");
-               return false;
-       }
-
-       folder_app_tree = evas_object_data_get(folder->layout, KEY_ICON_DATA);
-       if (!folder_app_tree) {
-               LOGE("Failed to get folder app tree");
-               return false;
-       }
-
-       TREE_NODE_FOREACH(folder_app_tree, it) {
-               folder_app_grid = app_grid_create(folder_page_scroller, it,
-                               FOLDER_GRID_W_REL*home_screen_get_root_width(), FOLDER_GRID_H_REL*home_screen_get_root_height(), APP_GRID_TYPE_FOLDER);
-               if (!folder_app_grid) {
-                       LOGE("[FAILED][app_grid_create]");
-                       return false;
-               }
-
-               if (!page_scroller_add_page(folder_page_scroller, folder_app_grid)) {
-                       LOGE("[FAILED][page_scroller_page_add]");
-                       evas_object_del(folder_app_grid);
-                       return false;
-               }
-
-               data_model_iterate(it, __folder_panel_set_current_view_state, NULL);
-       }
-
-       if (home_screen_get_view_type() == HOMESCREEN_VIEW_ALL_APPS_CHOOSE)
-               data_model_iterate(folder_app_tree, __folder_panel_show_checkbox, NULL);
-
-       __folder_panel_print_labels(folder_app_tree);
-
-       return true;
-}
-
-static Evas_Object* __folder_panel_create_add_icon(app_item_t *folder)
-{
-       Evas_Object *icon_layout = NULL;
-       Evas_Object *add_icon = NULL;
-       LOGI("");
-
-       icon_layout = util_create_edje_layout(home_screen_get_win(), util_get_res_file_path(EDJE_DIR"/icon.edj"), GROUP_ICON_LY);
-       if (!icon_layout) {
-               LOGE("Failed to create icon layout");
-               return NULL;
-       }
-
-       add_icon = elm_layout_add(home_screen_get_win());
-       if (!add_icon) {
-               LOGE("Failed to create folder icon layout");
-               evas_object_del(icon_layout);
-               return NULL;
-       }
-
-       if (!elm_layout_file_set(add_icon, util_get_res_file_path(EDJE_DIR"/folder.edj"), GROUP_FOLDER_ADD_ICON)) {
-               LOGE("Failed to load edje file for layout");
-               evas_object_del(add_icon);
-               evas_object_del(icon_layout);
-               return NULL;
-       }
-
-       elm_object_part_content_set(icon_layout, PART_ICON_CONTENT, add_icon);
-       evas_object_size_hint_align_set(icon_layout, EVAS_HINT_FILL, EVAS_HINT_FILL);
-       evas_object_size_hint_weight_set(icon_layout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
-       evas_object_show(icon_layout);
-       evas_object_show(add_icon);
-
-       elm_object_signal_callback_add(add_icon, "mouse,clicked,1", "add_icon", __folder_panel_item_add_to_folder_cb, s_info.folder_item);
-       evas_object_data_set(icon_layout, KEY_IS_REPOSITIONABLE, (void*)false);
-
-       return icon_layout;
-}
-
-static Evas_Object *__folder_panel_create_popup(Evas_Object *parent, app_item_t *folder)
-{
-       Evas_Object *folder_popup = NULL;
-       Tree_node_t *folder_app_tree = NULL;
-
-       if (!parent || !folder) {
-               LOGE("Invalid parameters: [%p] [%p]", parent, folder);
-               return NULL;
-       }
-
-       folder_app_tree = evas_object_data_get(folder->layout, KEY_ICON_DATA);
-       if (!folder_app_tree) {
-               LOGE("Failed to get folder app tree");
-               return NULL;
-       }
-
-       folder_popup = elm_layout_add(parent);
-       if (!folder_popup) {
-               LOGE("Failed to create folder_popup ");
-               return NULL;
-       }
-
-       if (!elm_layout_file_set(folder_popup, util_get_res_file_path(EDJE_DIR"/folder.edj"), GROUP_FOLDER_POPUP)) {
-               LOGE("Failed to set folder popup");
-               evas_object_del(folder_popup);
-               return NULL;
-       }
-
-       elm_object_part_text_set(folder_popup, PART_FOLDER_UNNAMED_TEXT, gettext("IDS_COM_HEADER_UNNAMED_FOLDER"));
-
-       evas_object_resize(folder_popup, FOLDER_POPUP_W_REL*home_screen_get_root_width(), FOLDER_3_ROW_H_REL*home_screen_get_root_height());
-
-       evas_object_move(folder_popup, FOLDER_POPUP_X_REL*home_screen_get_root_width(),
-               FOLDER_POPUP_Y_REL*home_screen_get_root_height());
-
-       return folder_popup;
-}
-
-static Evas_Object *__folder_panel_create_entry(Evas_Object *parent, const char *default_text)
-{
-       Evas_Object *entry = NULL;
-
-       if (!parent) {
-               LOGE("Invalid parameter : parent is NULL");
-               return NULL;
-       }
-
-       entry = elm_entry_add(parent);
-       if (!entry) {
-               LOGE("Failed to create entry widget");
-               return NULL;
-       }
-
-       evas_object_size_hint_weight_set(entry, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
-       elm_entry_single_line_set(entry, EINA_TRUE);
-       elm_entry_scrollable_set(entry, EINA_TRUE);
-       evas_object_show(entry);
-
-       if (s_info.folder_entry_theme) {
-               elm_object_theme_set(entry, s_info.folder_entry_theme);
-               elm_object_style_set(entry, "default");
-       }
-
-       elm_entry_input_panel_layout_set(entry, ELM_INPUT_PANEL_LAYOUT_NORMAL);
-       elm_entry_input_panel_return_key_type_set(entry, ELM_INPUT_PANEL_RETURN_KEY_TYPE_DONE);
-
-       evas_object_smart_callback_add(entry, "changed", __folder_panel_entry_changed_cb, parent);
-       evas_object_smart_callback_add(entry, "clicked", __folder_panel_entry_clicked_cb, parent);
-       evas_object_smart_callback_add(entry, "activated", __folder_panel_entry_done_cb, parent);
-
-       elm_object_signal_callback_add(parent, SIGNAL_CLEAR_BTN_CLICKED, SIGNAL_SOURCE,
-                               __folder_panel_entry_clear_button_clicked_cb, entry);
-
-       if (strlen(default_text) > 0) {
-               elm_entry_entry_set(entry, default_text);
-               s_info.opened_folder_name_is_empty = false;
-       } else {
-               elm_object_signal_emit(s_info.opened_folder_popup, SIGNAL_FOLDER_UNNAMED_TEXT_SHOW,
-                                               SIGNAL_SOURCE);
-               elm_object_text_set(entry, "");
-               s_info.opened_folder_name_is_empty = true;
-       }
-
-       elm_object_part_content_set(s_info.opened_folder_popup, PART_FOLDER_NAME, entry);
-
-       return entry;
-}
-
-static void __folder_panel_entry_activated_cb(void *data, Evas_Object *obj, void *ei)
-{
-       app_item_t *folder = (app_item_t*) data;
-       LOGI("Entry");
-
-       if (!folder) {
-               LOGE("Failed to get folder");
-               return;
-       }
-
-       if (!strcmp(folder->label, ""))
-               s_info.opened_folder_name_is_empty = true;
-
-       elm_object_signal_emit(s_info.opened_folder_popup, SIGNAL_FOLDER_UNNAMED_TEXT_HIDE,
-                       SIGNAL_SOURCE);
-
-       s_info.entry_activated = true;
-       s_info.opened_folder_entrychange_cb_ignore = false;
-}
-
-static void __folder_panel_entry_deactivated_cb(void *data, Evas_Object *obj, void *ei)
-{
-       const char *label = NULL;
-       label = elm_entry_entry_get(obj);
-
-       if (!label || !strcmp(label, "")) {
-               s_info.opened_folder_name_is_empty = true;
-               elm_object_signal_emit(s_info.opened_folder_popup, SIGNAL_FOLDER_UNNAMED_TEXT_SHOW,
-                       SIGNAL_SOURCE);
-       }
-
-       elm_object_signal_emit(s_info.opened_folder_popup, SIGNAL_CLEAR_BTN_HIDE, SIGNAL_SOURCE);
-}
-
-static void __folder_panel_entry_changed_cb(void *data, Evas_Object *obj, void *ei)
-{
-       Evas_Object *folder = (Evas_Object *)data;
-       const char *entry_text = elm_object_text_get(obj);
-
-       if (s_info.opened_folder_entrychange_cb_ignore)
-               return;
-
-       if (!entry_text || strlen(entry_text) == 0) {
-               s_info.opened_folder_name_is_empty = true;
-               elm_object_signal_emit(folder, SIGNAL_CLEAR_BTN_HIDE, SIGNAL_SOURCE);
-       } else {
-               s_info.opened_folder_name_is_empty = false;
-               elm_object_signal_emit(folder, SIGNAL_CLEAR_BTN_SHOW, SIGNAL_SOURCE);
-       }
-}
-
-static void __folder_panel_entry_clicked_cb(void *data, Evas_Object *obj, void *ei)
-{
-       Evas_Object *folder_popup = (Evas_Object*) data;
-       LOGI("");
-
-       if (!folder_popup) {
-               LOGE("Invalid data");
-               return;
-       }
-
-       if (s_info.entry_activated) {
-               elm_entry_cursor_end_set(obj);
-               s_info.entry_activated = false;
-       }
-
-       if (!s_info.opened_folder_name_is_empty)
-               elm_object_signal_emit(folder_popup, SIGNAL_CLEAR_BTN_SHOW, SIGNAL_SOURCE);
-       else
-               elm_object_signal_emit(folder_popup, SIGNAL_CLEAR_BTN_HIDE, SIGNAL_SOURCE);
-       elm_entry_input_panel_show(obj);
-}
-
-static void __folder_panel_entry_done_cb(void *data, Evas_Object *obj, void *ei)
-{
-       LOGI("");
-       Evas_Object *entry = obj;
-       Evas_Object *folder_popup = data;
-
-       if (!folder_popup || !entry) {
-               LOGE("Invalid data");
-               return;
-       }
-
-       elm_entry_input_panel_hide(entry);
-}
-
-static void __folder_panel_entry_clear_button_clicked_cb(void *data, Evas_Object *obj, const char *emission, const char *source)
-{
-       LOGI("");
-       Evas_Object *entry = NULL;
-
-       entry = (Evas_Object*) data;
-       if (!entry) {
-               LOGE("Invalid data pointer");
-               return;
-       }
-
-       elm_object_text_set(entry, "");
-       s_info.opened_folder_name_is_empty = true;
-       elm_object_signal_emit(obj, SIGNAL_CLEAR_BTN_HIDE, SIGNAL_SOURCE);
-}
-
-static void __folder_panel_item_add_to_folder_cb(void *data, Evas_Object *obj, const char *emission, const char *source)
-{
-       app_item_t *folder_item = NULL;
-       Tree_node_t *node = NULL;
-
-       home_screen_set_view_type(HOMESCREEN_VIEW_ALL_APPS_CHOOSE);
-       option_menu_update_on_item_selected();
-       folder_panel_close_folder();
-
-       folder_item = (app_item_t*) data;
-       if (!folder_item) {
-               LOGE("Failed to get folder item");
-               return;
-       }
-
-       node = evas_object_data_get(folder_item->layout, KEY_ICON_DATA);
-       if (!node) {
-               LOGE("[FAILED][node=NULL]");
-               return;
-       }
-       s_info.destination_folder = node;
-
-       elm_object_signal_emit(folder_item->layout, SIGNAL_CHECKBOX_CHECKED, SIGNAL_SOURCE);
-       elm_object_signal_emit(folder_item->layout, SIGNAL_CHECKBOX_SHOW_CHECKED, SIGNAL_SOURCE);
-       elm_object_signal_emit(folder_item->layout, SIGNAL_CHECKBOX_BLOCK, SIGNAL_SOURCE);
-
-       app_icon_set_color(folder_item->layout, 150, 150, 150, 150);
-       s_info.folder_item_add = folder_item;
-}
-
-static void __folder_panel_print_labels(Tree_node_t *folder_tree)
-{
-       app_item_t *t = NULL;
-       Tree_node_t *page = NULL;
-       Tree_node_t *it = NULL;
-       int i=0;
-       TREE_NODE_FOREACH(folder_tree, page) {
-               TREE_NODE_FOREACH(page, it) {
-                       t = it->data;
-                       LOGI("item %d: %s", i++, t->label);
-               }
-       }
-}
-
-static void __folder_panel_free_popup_data(folder_data_t *folder_data)
-{
-       if (!folder_data)
-               return;
-
-       evas_object_del(folder_data->folder_scroller);
-       folder_data->folder_scroller = NULL;
-}
-
-static void __folder_panel_close_cb(void *data, Evas_Object *obj, const char *emission, const char *source)
-{
-       Tree_node_t *folder_app_tree = NULL;
-       Evas_Object *entry = NULL;
-
-       entry = elm_object_part_content_get(s_info.opened_folder_popup, PART_FOLDER_NAME);
-       elm_object_signal_callback_del(s_info.opened_folder_popup, SIGNAL_FOLDER_ANIM_DONE, SIGNAL_SOURCE, __folder_panel_close_cb);
-       __folder_panel_name_set_cb(s_info.folder_item, entry, NULL);
-
-       if (s_info.folder_item) {
-               folder_app_tree = evas_object_data_get(s_info.folder_item->layout, KEY_ICON_DATA);
-               if (folder_app_tree) {
-                       __folder_panel_print_labels(folder_app_tree);
-                       data_model_iterate_pages(folder_app_tree, NULL, __folder_panel_detach_grid_items, NULL);
-               }
-
-               app_icon_highlight_folder_icon(s_info.folder_item->layout, FOLDER_ICON_FRAME_NONE);
-               //app_icon_set_color(s_info.folder_item->layout, 255, 255, 255, 255);
-
-               __folder_panel_free_popup_data(s_info.folder_item->data);
-               s_info.folder_item = NULL;
-       }
-
-       if (s_info.opened_folder_popup) {
-               evas_object_del(s_info.opened_folder_popup);
-               s_info.opened_folder_popup = NULL;
-       }
-       if (s_info.opened_folder_window) {
-               evas_object_del(s_info.opened_folder_window);
-               s_info.opened_folder_window = NULL;
-       }
-}
old mode 100644 (file)
new mode 100755 (executable)
index 984c1d4..00661b1
  * limitations under the License.
  */
 
-#include <tizen.h>
-#include <Elementary.h>
-#include <app.h>
-#include <app_preference.h>
 #include <system_settings.h>
-#include <alloca.h>
+#include <dlog.h>
+#include <feedback.h>
+
+#include "conf.h"
+#include "edc_conf.h"
+#include "util.h"
 #include "homescreen-efl.h"
-#include "add_viewer/add_viewer.h"
-#include "key.h"
-#include "option_menu.h"
-#include "add_viewer/add_viewer.h"
-#include "livebox/livebox_panel.h"
-#include "livebox/livebox_utils.h"
-#include "mouse.h"
-#include "app_mgr.h"
-#include "app_icon.h"
-#include "all_apps.h"
-#include "data_model.h"
-#include "layout.h"
-#include "folder_panel.h"
-#include "livebox_all_pages.h"
-#include "mouse.h"
-#include "popup.h"
+#include "apps_view.h"
+#include "cluster_view.h"
+#include "hw_key.h"
+#include "view.h"
 
 static struct {
-       Evas_Object *win;
-       Evas_Object *bg;
-       Evas_Object *gradient_bg;
-       Evas_Object *conformant;
-       Evas_Object *gesture_rect;
-       Evas_Object *layout;
-       Evas_Object *all_apps;
-       Evas_Object *home;
-       Elm_Gesture_Layer *gesture_layer;
-       int root_width;
-       int root_height;
-       homescreen_view_t view_type;
-       bool is_bg_blurred;
-       Ecore_Animator* animator;
-} s_info = {
-       .win = NULL,
-       .bg = NULL,
-       .gradient_bg = NULL,
-       .conformant = NULL,
-       .gesture_rect = NULL,
-       .layout = NULL,
-       .all_apps = NULL,
-       .home = NULL,
-       .gesture_layer = NULL,
-       .root_width = 0,
-       .root_height = 0,
-       .view_type = HOMESCREEN_VIEW_HOME,
-       .is_bg_blurred = false,
-       .animator = NULL
+    Evas_Object *win;
+    Evas_Object *bg;
+    Evas_Object *conformant;
+    Evas_Object *main_layout;
+    Evas_Object *apps_layout;
+    Evas_Object *cluster_layout;
+    Evas_Object *btn_layout;
+    int root_width;
+    int root_height;
+    homescreen_view_t view_type;
+    Ecore_Animator *animator;
+} main_info = {
+    .win = NULL,
+    .bg = NULL,
+    .conformant = NULL,
+    .main_layout = NULL,
+    .apps_layout = NULL,
+    .cluster_layout = NULL,
+    .btn_layout = NULL,
+    .root_width = 0,
+    .root_height = 0,
+    .view_type = HOMESCREEN_VIEW_HOME,
+    .animator = NULL
 };
 
-static bool mvc_badge_refresh_enable = true;
-
-/*======================================UI HELPER FUNCTIONS========================*/
-static void __homescreen_efl_create_base_gui(void);
-static void __homescreen_efl_win_delete_request_cb(void *data, Evas_Object *obj, void *event_info);
 static void __homescreen_efl_get_window_size(Evas_Object *win);
-static void __homescreen_efl_home_btn_clicked(void *data, Evas_Object *obj, const char *emission, const char *source);
-static void __homescreen_efl_menu_btn_clicked(void *data, Evas_Object *obj, const char *emission, const char *source);
-static void __homescreen_efl_attach_badge_callback(void);
-static void __homescreen_efl_detach_badge_callback(void);
-static bool __homescreen_efl_update_icon_label(Tree_node_t *parent, Tree_node_t *node, void *data);
-static void __homescreen_efl_make_gradient_bg(void);
-static void __homescreen_efl_show_gradient_bg(void);
-static void __homescreen_efl_show_normal_bg(void);
-
-/*======================================APP CONTROL CALLBACKS=======================*/
-static bool __homescreen_efl_app_create_cb(void *data);
-static void __homescreen_efl_app_control_cb(app_control_h app_control, void *data);
-static void __homescreen_efl_app_pause_cb(void *data);
-static void __homescreen_efl_app_resume_cb(void *data);
-static void __homescreen_efl_app_terminate_cb(void *data);
-
-
-/*============================UI CALLBACKS==========================================*/
-static void __homescreen_efl_lang_changed_cb(app_event_info_h event_info, void *user_data);
-static void __homescreen_efl_orient_changed_cb(app_event_info_h event_info, void *user_data);
-static void __homescreen_efl_region_changed_cb(app_event_info_h event_info, void *user_data);
-static void __homescreen_efl_low_battery_cb(app_event_info_h event_info, void *user_data);
-static void __homescreen_efl_low_memory_cb(app_event_info_h event_info, void *user_data);
-
-/*====================  MVC Controller functions implementation: ===================*/
-static bool __update_all_badges_count(Tree_node_t *parent, Tree_node_t *node, void *data);
-static void __badge_change_cb(unsigned int action, const char *app_id, unsigned int count, void *user_data);
-static bool __homescreen_efl_update_icon_badge(Tree_node_t *parent, Tree_node_t *node, void *data);
-static void __homescreen_efl_badge_count_update_cb(void *app_item);
-static void __homescreen_efl_activate_chooser_caption(void);
-static void __homescreen_efl_deactivate_chooser_caption(void);
-static void __homescreen_efl_chooser_caption_done_button_cb(void *data, Evas_Object *obj, const char *emission, const char *source);
-static void __homescreen_efl_chooser_caption_cancel_button_cb(void *data, Evas_Object *obj, const char *emission, const char *source);
-static bool __homescreen_efl_free_grid_item(Tree_node_t *page, Tree_node_t *item, void *data);
-static bool __homescreen_efl_increment_page(Tree_node_t *parent, Tree_node_t *item, void *data);
-static bool __homescreen_efl_attach_all_apps_grid_item(Tree_node_t *page, Tree_node_t *item, void *data);
-static void __homescreen_efl_apply_data_model_to_view(void);
-static void __homescreen_efl_show_all_apps(void);
-static void __homescreen_efl_show_home_view(void);
-static void __homescreen_efl_home_bg_changed_cb(system_settings_key_e key, void *data);
-static void __homescreen_efl_apply_home_bg_effect(bool is_on);
-static Eina_Bool __homescreen_efl_show_all_apps_anim(void *data, double pos);
-static Eina_Bool __homescreen_efl_show_home_anim(void *data, double pos);
-/*====================PUBLIC FUNCTIONS IMPLEMENTATION===============================*/
-
-/*used to iterate over data model:*/
-static bool folder_count_pending = false;
-static unsigned int folder_badge_counter = 0;
-
-DAPI int main(int argc, char *argv[])
-{
-       dlog_print(DLOG_DEBUG, LOG_TAG, "Starting homescreen-efl");
-
-       int ret = 0;
-       ui_app_lifecycle_callback_s event_callback = {0,};
-       app_event_handler_h handlers[5] = {NULL, };
-
-       event_callback.create = __homescreen_efl_app_create_cb;
-       event_callback.terminate = __homescreen_efl_app_terminate_cb;
-       event_callback.pause = __homescreen_efl_app_pause_cb;
-       event_callback.resume = __homescreen_efl_app_resume_cb;
-       event_callback.app_control = __homescreen_efl_app_control_cb;
-
-       ui_app_add_event_handler(&handlers[APP_EVENT_LOW_BATTERY], APP_EVENT_LOW_BATTERY, __homescreen_efl_low_battery_cb, NULL);
-       ui_app_add_event_handler(&handlers[APP_EVENT_LOW_MEMORY], APP_EVENT_LOW_MEMORY, __homescreen_efl_low_memory_cb, NULL);
-       ui_app_add_event_handler(&handlers[APP_EVENT_DEVICE_ORIENTATION_CHANGED], APP_EVENT_DEVICE_ORIENTATION_CHANGED, __homescreen_efl_orient_changed_cb, NULL);
-       ui_app_add_event_handler(&handlers[APP_EVENT_LANGUAGE_CHANGED], APP_EVENT_LANGUAGE_CHANGED, __homescreen_efl_lang_changed_cb, NULL);
-       ui_app_add_event_handler(&handlers[APP_EVENT_REGION_FORMAT_CHANGED], APP_EVENT_REGION_FORMAT_CHANGED, __homescreen_efl_region_changed_cb, NULL);
-       ui_app_remove_event_handler(handlers[APP_EVENT_LOW_MEMORY]);
-
-       ret = ui_app_main(argc, argv, &event_callback, NULL);
-       if (ret != APP_ERROR_NONE)
-               dlog_print(DLOG_ERROR, LOG_TAG, "ui_app_main() is failed. err = %d", ret);
-
-       s_info.view_type = HOMESCREEN_VIEW_HOME;
-
-       return ret;
-}
-
-HAPI int home_screen_get_root_width(void)
-{
-       return s_info.root_width;
-}
-
-HAPI int home_screen_get_root_height(void)
-{
-       return s_info.root_height;
-}
-
-HAPI Evas_Object *home_screen_get_win(void)
-{
-       return s_info.win;
-}
-
-HAPI Evas_Object *home_screen_get_layout(void)
-{
-       return s_info.layout;
-}
-
-HAPI homescreen_view_t home_screen_get_view_type(void)
-{
-       return s_info.view_type;
-}
-
-HAPI void home_screen_set_view_type(homescreen_view_t view)
-{
-       switch (view) {
-       case HOMESCREEN_VIEW_HOME:
-               __homescreen_efl_apply_home_bg_effect(false);
-               __homescreen_efl_show_normal_bg();
-               if (s_info.view_type == HOMESCREEN_VIEW_ALL_APPS) {
-                       all_apps_set_view_mode(view);
-                       __homescreen_efl_show_home_view();
-               }
-               else if(s_info.view_type == HOMESCREEN_VIEW_HOME_EDIT)
-                       elm_object_signal_emit(s_info.layout, SIGNAL_BOTTOM_BUTTONS_HOME_STATE_SET, SIGNAL_SOURCE);
-               break;
-       case HOMESCREEN_VIEW_HOME_EDIT:
-               LOGI("HOMESCREEN_VIEW_HOME_EDIT");
-               livebox_panel_set_edit_mode_layout(true);
-               livebox_panel_change_edit_mode_state(false);
-               elm_object_signal_emit(s_info.layout, SIGNAL_BOTTOM_BUTTONS_HOME_EDIT_STATE_SET, SIGNAL_SOURCE);
-               break;
-       case HOMESCREEN_VIEW_HOME_ADD_VIEWER:
-               LOGI("HOMESCREEN_VIEW_ADD_VIEWER");
-               add_viewer_window_create(s_info.root_width, s_info.root_height);
-               break;
-       case HOMESCREEN_VIEW_HOME_ALL_PAGES:
-               LOGI("HOMESCREEN_VIEW_HOME_ALL_PAGES");
-               livebox_all_pages_show();
-               break;
-       case HOMESCREEN_VIEW_ALL_APPS:
-               __homescreen_efl_apply_home_bg_effect(true);
-               __homescreen_efl_show_gradient_bg();
-               if (s_info.view_type == HOMESCREEN_VIEW_HOME)
-                       __homescreen_efl_show_all_apps();
-
-               if (s_info.view_type == HOMESCREEN_VIEW_ALL_APPS_CHOOSE)
-                       __homescreen_efl_deactivate_chooser_caption();
-               all_apps_set_view_mode(view);
-               elm_object_signal_emit(s_info.layout, SIGNAL_BOTTOM_BUTTONS_ALL_APPS_STATE_SET, SIGNAL_SOURCE);
-               __badge_change_cb(0, NULL, 0, NULL);
-               break;
-       case HOMESCREEN_VIEW_ALL_APPS_EDIT:
-               LOGI("HOMESCREEN_VIEW_ALL_APPS_EDIT");
-               if (s_info.view_type == HOMESCREEN_VIEW_ALL_APPS_CHOOSE)
-                       __homescreen_efl_deactivate_chooser_caption();
-               all_apps_set_view_mode(view);
-               elm_object_signal_emit(s_info.layout, SIGNAL_BOTTOM_BUTTONS_ALL_APPS_EDIT_STATE_SET, SIGNAL_SOURCE);
-               break;
-       case HOMESCREEN_VIEW_ALL_APPS_CHOOSE:
-               LOGI("HOMESCREEN_VIEW_ALL_APPS_CHOOSE");
-               __homescreen_efl_activate_chooser_caption();
-               all_apps_set_view_mode(view);
-               break;
-       case HOMESCREEN_VIEW_UNKNOWN:
-               LOGI("HOMESCREEN_VIEW_UNKNOWN");
-               break;
-       default:
-               LOGE("UKNOWN VIEW TYPE");
-               break;
-       }
-
-       s_info.view_type = view;
-}
-
-HAPI void home_screen_set_indice_state(indice_type_t indice)
-{
-       switch (indice) {
-       case INDICE_NEXT_PAGE_ON:
-               elm_object_signal_emit(s_info.layout, SIGNAL_NEXT_PAGE_INDICE_SHOW, SIGNAL_SOURCE);
-               break;
-       case INDICE_PREV_PAGE_ON:
-               elm_object_signal_emit(s_info.layout, SIGNAL_PREV_PAGE_INDICE_SHOW, SIGNAL_SOURCE);
-               break;
-       case INDICE_OFF:
-               elm_object_signal_emit(s_info.layout, SIGNAL_INDICE_HIDE, SIGNAL_SOURCE);
-               break;
-       default:
-               break;
-       }
-}
-
-HAPI void home_screen_mvc_set_ly_scale(Evas_Object *layout)
-{
-       Evas_Object *edje = NULL;
-       int width = -1;
-       int height = -1;
-
-       if (!layout) {
-               LOGE("[FAILED][invalid parameter]");
-               return;
-       }
-
-       edje = elm_layout_edje_get(layout);
-
-       width = s_info.root_width;
-       height = s_info.root_height;
-
-       if (width == HD_WIDTH && height == HD_HEIGHT) {
-               LOGD("HD_RES");
-               edje_object_scale_set(edje, HD_SCALE_FACTOR);
-       } else if(width == QHD_WIDTH && height == QHD_HEIGHT) {
-               LOGD("QHD_RES");
-               edje_object_scale_set(edje, QHD_SCALE_FACTOR);
-       } else if(width == WVGA_WIDTH && height == WVGA_HEIGHT) {
-               LOGD("WVGA_RES");
-               edje_object_scale_set(edje, WVGA_SCALE_FACTOR);
-       } else if(width == UHD_WIDTH && height == UHD_HEIGHT) {
-               edje_object_scale_set(edje, UHD_SCALE_FACTOR);
-       }
-}
-
-HAPI void home_screen_close_all_apps_choose_view(void)
-{
-       folder_panel_cancel_add_icon();
-       folder_panel_set_click_ignore_state(false);
-       data_model_check_all_apps(data_model_get_all_apps(), false);
-       home_screen_set_view_type(HOMESCREEN_VIEW_ALL_APPS);
-}
-
-HAPI int home_screen_gesture_cb_set(Elm_Gesture_Type idx, Elm_Gesture_State cb_type, Elm_Gesture_Event_Cb cb, void *data)
-{
-       Elm_Gesture_Layer *gesture_layer = s_info.gesture_layer;
-
-       if (!gesture_layer) {
-               LOGE("Can not set callback");
-               return -1;
-       }
-
-       elm_gesture_layer_cb_set(gesture_layer, idx, cb_type, cb, NULL);
-
-       return 0;
-}
-
-HAPI int home_screen_gesture_cb_unset(Elm_Gesture_Type idx, Elm_Gesture_State cb_type, Elm_Gesture_Event_Cb cb, void *data)
-{
-       Elm_Gesture_Layer *gesture_layer = s_info.gesture_layer;
-
-       if (!gesture_layer) {
-               LOGE("Can not unset callback");
-               return -1;
-       }
-
-       elm_gesture_layer_cb_del(gesture_layer, idx, cb_type, cb, NULL);
-
-       return 0;
-}
-
-/*====================END OF PUBLIC FUNCTIONS IMPLEMENTATION=========================*/
-
-static void __homescreen_efl_win_delete_request_cb(void *data, Evas_Object *obj, void *event_info)
-{
-       ui_app_exit();
-}
-
-static Evas_Object *_create_conformant(void)
-{
-       Evas_Object *conformant = NULL;
-
-       if (!s_info.win) {
-               LOGE("Window is not created");
-               return NULL;
-       }
-
-       conformant = elm_conformant_add(s_info.win);
-       if (!conformant) {
-               LOGE("Failed to create conformant");
-               return NULL;
-       }
-       elm_win_conformant_set(s_info.win, EINA_TRUE);
-
-       evas_object_size_hint_weight_set(conformant, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
-       elm_win_resize_object_add(s_info.win, conformant);
-
-       elm_win_indicator_mode_set(s_info.win, ELM_WIN_INDICATOR_SHOW);
-       elm_win_indicator_opacity_set(s_info.win, ELM_WIN_INDICATOR_TRANSLUCENT);
-       elm_object_signal_emit(conformant, "elm,state,indicator,overlap", "elm");
-
-       evas_object_show(conformant);
-
-       return conformant;
-}
-
-static Evas_Object *_create_gesture_rect(Evas *e, int w, int h)
-{
-       LOGD("");
-       Evas_Object *gesture_rect = NULL;
-
-       if (!s_info.win) {
-               LOGE("Window is not created");
-               return NULL;
-       }
-
-       gesture_rect = evas_object_rectangle_add(e);
-       if(!gesture_rect) { LOGE("Failed to create gesture rectangle");
-               return NULL;
-       }
-
-       evas_object_layer_set(gesture_rect, EVAS_LAYER_MAX);
-       evas_object_color_set(gesture_rect, 0, 0, 0, 0);
-       evas_object_geometry_set(gesture_rect, 0, 0, w, h);
-       evas_object_repeat_events_set(gesture_rect, EINA_TRUE);
-
-       evas_object_show(gesture_rect);
-
-       return gesture_rect;
-}
-
-static Elm_Gesture_Layer *_create_gesture_layer(void)
-{
-       Elm_Gesture_Layer *gesture_layer = NULL;
-       Eina_Bool ret = EINA_FALSE;
-
-       if(!s_info.gesture_rect) {
-               LOGE("Gesture rectangle is not created");
-               return NULL;
-       }
-
-       gesture_layer = elm_gesture_layer_add(s_info.win);
-       if(!gesture_layer) {
-               LOGE("Failed to create gesture layer");
-               return NULL;
-       }
-
-       ret = elm_gesture_layer_attach(gesture_layer, s_info.gesture_rect);
-       if(ret == EINA_FALSE) {
-               LOGE("Failed to attach gesture layer to gesture rectangle");
-               free(gesture_layer);
-               return NULL;
-       }
+static void __homescreen_efl_set_wallpaper(void);
+static void __homescreen_efl_set_conformant(void);
+static void __homescreen_efl_create_home_btn(void);
 
+static void __homescreen_efl_home_bg_changed_cb(system_settings_key_e key, void *data);
+static void __homescreen_efl_menu_btn_clicked(void *data, Evas_Object *obj, const char *emission, const char *source);
+static void __homescreen_efl_home_btn_clicked(void *data, Evas_Object *obj, const char *emission, const char *source);
 
-       return gesture_layer;
-}
+static void __homescreen_efl_change_view(void);
+static Eina_Bool __homescreen_efl_show_apps_anim(void *data, double pos);
+static Eina_Bool __homescreen_efl_show_cluster_anim(void *data, double pos);
 
-static void __homescreen_efl_create_base_gui(void)
+static void __homescreen_efl_lang_changed_cb(app_event_info_h event_info, void *user_data)
 {
-       char edj_path[PATH_MAX] = {0, };
-       const char *bg_path = util_get_res_file_path(IMAGE_DIR"/default_bg.png");
-       char trbuf[PATH_MAX] = {0, };
-       char *buf = NULL;
-       int ret = -1;
-       Evas *e_conf = NULL;
-
-       /* Window */
-       s_info.win = elm_win_util_standard_add(PACKAGE, PACKAGE);
-       // evas_object_resize(s_info.win, 1440, 2560);
-       elm_win_autodel_set(s_info.win, EINA_TRUE);
-
-       evas_object_smart_callback_add(s_info.win, "delete,request", __homescreen_efl_win_delete_request_cb, NULL);
-
-       /*Background*/
-       s_info.bg = evas_object_image_filled_add(evas_object_evas_get(s_info.win));
-
-       ret = system_settings_get_value_string(SYSTEM_SETTINGS_KEY_WALLPAPER_HOME_SCREEN, &buf);
-
-       if (!buf || ret != SYSTEM_SETTINGS_ERROR_NONE || !ecore_file_exists(buf)
-                       || !ecore_file_can_read(buf))
-               evas_object_image_file_set(s_info.bg, bg_path, "bg");
-       else
-               evas_object_image_file_set(s_info.bg, buf, "bg");
-
-       free(buf);
-
-       system_settings_set_changed_cb(SYSTEM_SETTINGS_KEY_WALLPAPER_HOME_SCREEN, __homescreen_efl_home_bg_changed_cb, NULL);
-
-       elm_win_resize_object_add(s_info.win, s_info.bg);
-       evas_object_show(s_info.bg);
-
-       __homescreen_efl_get_window_size(s_info.win);
-
-       /* Conformant */
-       s_info.conformant = _create_conformant();
-
-       /* Base Layout */
-       snprintf(edj_path, sizeof(edj_path), "%s", util_get_res_file_path(EDJE_DIR"/home.edj"));
-       s_info.layout = elm_layout_add(s_info.win);
-       elm_layout_file_set(s_info.layout, edj_path, GROUP_HOME_LY);
-       evas_object_size_hint_weight_set(s_info.layout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
-       elm_win_resize_object_add(s_info.win, s_info.layout);
-       evas_object_show(s_info.layout);
-
-       home_screen_mvc_set_ly_scale(s_info.layout);
-
-       s_info.home = livebox_panel_create(s_info.layout);
-       if (!s_info.home) {
-               evas_object_del(s_info.win);
-               evas_object_del(s_info.bg);
-               evas_object_del(s_info.conformant);
-               evas_object_del(s_info.layout);
-
-               LOGE("s_info.home == NULL");
-               return;
-       }
-
-       e_conf = evas_object_evas_get(s_info.conformant);
-       s_info.gesture_rect = _create_gesture_rect(e_conf, s_info.root_width, s_info.root_height);
-       s_info.gesture_layer = _create_gesture_layer();
-
-       elm_object_part_content_set(s_info.layout, PART_CONTENT, s_info.home);
-
-       /* Show window after base gui is set up */
-       dlog_print(DLOG_INFO, LOG_TAG ,"WINDOW SIZE IS : %d %d", s_info.root_width, s_info.root_height);
-       evas_object_show(s_info.win);
-       elm_object_signal_callback_add(s_info.layout, SIGNAL_HOME_BTN_CLICKED, SIGNAL_SOURCE, __homescreen_efl_home_btn_clicked, NULL);
-       elm_object_signal_callback_add(s_info.layout, SIGNAL_MENU_BTN_CLICKED, SIGNAL_SOURCE, __homescreen_efl_menu_btn_clicked, NULL);
-
-       /*Chooser caption setup:*/
-       elm_layout_signal_callback_add(s_info.layout, "mouse,clicked,*",
-               "chooser_caption_left_clickable_space",
-               __homescreen_efl_chooser_caption_cancel_button_cb, NULL);
-       elm_layout_signal_callback_add(s_info.layout, "mouse,clicked,*",
-               "chooser_caption_right_clickable_space",
-               __homescreen_efl_chooser_caption_done_button_cb, NULL);
-
-       snprintf(trbuf, sizeof(trbuf), _("IDS_MEMO_HEADER_PD_SELECTED_ABB2"), 0);
-       layout_main_caption_set_menu_texts(trbuf,
-               _("IDS_TPLATFORM_ACBUTTON_CANCEL_ABB"),
-               _("IDS_TPLATFORM_ACBUTTON_DONE_ABB"));
+    LOGD("called");
 }
 
-/*TODO: coding convention!*/
-bool tree_print_cb(Tree_node_t *parent_node, Tree_node_t *tn, void *data)
+static void __homescreen_efl_orient_changed_cb(app_event_info_h event_info, void *user_data)
 {
-       app_item_t *item = tn->data;
-       app_item_t *parent = NULL;
-
-       if (tn->parent)
-               parent = tn->parent->data;
-
-       LOGD("TYPE: %2d; PARENT name: %12.12s; id: %2d | ITEM appid: %28.28s; id: %2d; [%d, %d; %d, %d]; %s",
-                       item->type,
-                       parent ? parent->appid  : "NULL",
-                       parent ? parent->unique_id : -1,
-                       item->appid,
-                       item->unique_id,
-                       item->col,
-                       item->row,
-                       item->col_span,
-                       item->row_span,
-                       item->content_info);
-
-       return true;
+    LOGD("called");
 }
 
-/*TODO: coding convention!*/
-void home_screen_print_tree(void)
+static void __homescreen_efl_region_changed_cb(app_event_info_h event_info, void *user_data)
 {
-       LOGD("TREE TEST START");
-       data_model_iterate(data_model_get_data(), tree_print_cb, NULL);
+    LOGD("called");
 }
 
-static void __homescreen_efl_attach_badge_callback(void)
+static void __homescreen_efl_low_battery_cb(app_event_info_h event_info, void *user_data)
 {
-       app_mgr_register_badge_callback(__badge_change_cb);
+    LOGD("called");
 }
 
-static void __homescreen_efl_detach_badge_callback(void)
+static void __homescreen_efl_low_memory_cb(app_event_info_h event_info, void *user_data)
 {
-       app_mgr_unregister_badge_callback(__badge_change_cb);
+    LOGD("called");
 }
 
 static bool __homescreen_efl_app_create_cb(void *data)
 {
-       elm_config_accel_preference_set("3d");
-       ecore_animator_frametime_set(FRAMES_PER_SECOND);
-
-       key_register();
-       mouse_register();
-
-       __homescreen_efl_create_base_gui();
-       folder_panel_init_module();
-       app_mgr_init();
-
-       if(!data_model_load_db()) {
-               data_model_load_app_mgr();
-       }
-
-       livebox_panel_fill();
-       livebox_panel_set_content(s_info.layout);
-       __homescreen_efl_attach_badge_callback();
-
-       home_screen_mvc_update_view();
-       return true;
+    elm_config_accel_preference_set("3d");
+    ecore_animator_frametime_set(FRAMES_PER_SECOND);
+
+    feedback_initialize();
+
+    hw_key_register();
+
+    main_info.win = elm_win_util_standard_add(PACKAGE, PACKAGE);
+    __homescreen_efl_get_window_size(main_info.win);
+
+    __homescreen_efl_set_wallpaper();
+    evas_object_show(main_info.win);
+    main_info.cluster_layout = cluster_view_create(main_info.win);
+    if (main_info.cluster_layout == NULL) {
+        LOGE("main_info.cluster_layout  == NULL");
+        return false;
+    }
+    evas_object_move(main_info.cluster_layout, 0, INDICATOR_H);
+    evas_object_show(main_info.cluster_layout);
+    main_info.apps_layout = apps_view_create(main_info.win);
+    if (main_info.apps_layout == NULL) {
+        LOGE("main_info.apps_layout  == NULL");
+        return false;
+    }
+    evas_object_move(main_info.apps_layout, 0, main_info.root_height);
+    evas_object_show(main_info.apps_layout);
+    __homescreen_efl_set_conformant();
+    __homescreen_efl_create_home_btn();
+    return true;
 }
 
 static void __homescreen_efl_app_control_cb(app_control_h app_control, void *data)
 {
-       elm_win_activate(s_info.win);
-}
 
-static void __homescreen_efl_app_pause_cb(void *data)
-{
-       /* Take necessary actions when application becomes invisible. */
-       livebox_panel_paused();
 }
 
-static void __homescreen_efl_app_resume_cb(void *data)
+static void __homescreen_efl_app_pause_cb(void *data)
 {
-       /* Take necessary actions when application becomes visible. */
-       livebox_panel_resumed();
-}
 
-static void __homescreen_efl_app_terminate_cb(void *data)
-{
-       /* Release all resources. */
-       __homescreen_efl_detach_badge_callback();
-       mouse_unregister();
-       key_unregister();
-       app_mgr_deinit();
-       all_apps_del();
-       popup_destroy();
-       folder_panel_deinit_module();
-       data_model_free();
-       livebox_panel_destroy();
 }
 
-static bool __homescreen_efl_update_icon_label(Tree_node_t *parent, Tree_node_t *node, void *data)
+static void __homescreen_efl_app_resume_cb(void *data)
 {
-       if(!node || !node->data)
-               return false;
-
-       /*update model*/
-       if (node->data->label && node->data->type == APP_ITEM_ICON) {
-               free(node->data->label);
-               node->data->label = app_mgr_get_app_label(node->data->appid);
-       }
 
-       /*update view*/
-       elm_object_part_text_set(node->data->layout, PART_ICON_NAME, node->data->label);
-
-       return true;
 }
 
-static void __homescreen_efl_make_gradient_bg(void)
+static void __homescreen_efl_app_terminate_cb(void *data)
 {
-#ifdef HOME_HOME_SCREEN_GRADIENT_ENABLED
-       Evas_Map *m = NULL;
-       Evas_Colorspace ec = EVAS_COLORSPACE_ARGB8888;
-       char *image_raw_data = NULL;
-       int image_width = 0;
-       int image_height = 0;
-       int r = 0;
-       int g = 0;
-       int b = 0;
-       int a = 0;
-
-       if(!s_info.bg)
-               return;
-
-       ec = evas_object_image_colorspace_get(s_info.bg);
-
-       if(ec != EVAS_COLORSPACE_ARGB8888)
-               return;
-
-       image_raw_data = evas_object_image_data_get(s_info.bg, EINA_FALSE);
-       if(!image_raw_data)
-               return;
-
-       evas_object_image_size_get(s_info.bg, &image_width, &image_height);
-       if(image_width == 0 || image_height == 0)
-               return;
-
-       if(!s_info.gradient_bg)
-               s_info.gradient_bg = evas_object_rectangle_add(evas_object_evas_get(s_info.win));
-
-       if(!s_info.gradient_bg)
-               return;
-
-       evas_object_resize(s_info.gradient_bg, s_info.root_width, s_info.root_height);
-
-       m = evas_map_new(4);
-       if(!m)
-               return;
-
-       evas_map_util_points_populate_from_object(m, s_info.gradient_bg);
-
-       r = image_raw_data[2] & 0xff;
-       g = image_raw_data[1] & 0xff;
-       b = image_raw_data[0] & 0xff;
-       a = image_raw_data[3] & 0xff;
-       evas_map_point_color_set(m, 0, r, g, b, a);
-
-       r = image_raw_data[4*image_width -4 + 2] & 0xff;
-       g = image_raw_data[4*image_width -4 + 1] & 0xff;
-       b = image_raw_data[4*image_width -4 + 0] & 0xff;
-       a = image_raw_data[4*image_width -4 + 3] & 0xff;
-       evas_map_point_color_set(m, 1, r, g, b, a);
-
-       r = image_raw_data[4*image_width -4 + (image_height-1)*4*image_width + 2] & 0xff;
-       g = image_raw_data[4*image_width -4 + (image_height-1)*4*image_width + 1] & 0xff;
-       b = image_raw_data[4*image_width -4 + (image_height-1)*4*image_width + 0] & 0xff;
-       a = image_raw_data[4*image_width -4 + (image_height-1)*4*image_width + 3] & 0xff;
-       evas_map_point_color_set(m, 2, r, g, b, a);
-
-       r = image_raw_data[(image_height-1)*4*image_width + 2] & 0xff;
-       g = image_raw_data[(image_height-1)*4*image_width + 1] & 0xff;
-       b = image_raw_data[(image_height-1)*4*image_width + 0] & 0xff;
-       a = image_raw_data[(image_height-1)*4*image_width + 3] & 0xff;
-       evas_map_point_color_set(m, 3, r, g, b, a);
-
-       evas_object_map_set(s_info.gradient_bg, m);
-       evas_object_map_enable_set(s_info.gradient_bg, EINA_TRUE);
-       evas_map_free(m);
-#endif
+    apps_view_app_terminate();
+    cluster_view_app_terminate();
+    hw_key_unregister();
+    feedback_deinitialize();
 }
 
-static void __homescreen_efl_show_gradient_bg(void)
+int main(int argc, char *argv[])
 {
-#ifdef HOME_HOME_SCREEN_GRADIENT_ENABLED
-       if(s_info.gradient_bg) {
-               evas_object_hide(s_info.bg);
-               elm_win_resize_object_del(s_info.win, s_info.bg);
-               elm_win_resize_object_add(s_info.win, s_info.gradient_bg);
-               evas_object_show(s_info.gradient_bg);
-               evas_object_raise(s_info.layout);
-       }
-#endif
-}
+    LOGD("Starting homescreen-efl");
 
-static void __homescreen_efl_show_normal_bg(void)
-{
-#ifdef HOME_HOME_SCREEN_GRADIENT_ENABLED
-       evas_object_hide(s_info.gradient_bg);
-       elm_win_resize_object_del(s_info.win, s_info.gradient_bg);
-       elm_win_resize_object_add(s_info.win, s_info.bg);
-       evas_object_show(s_info.bg);
-       evas_object_raise(s_info.layout);
-#endif
-}
+    int ret = 0;
+    ui_app_lifecycle_callback_s event_callback = {0,};
+    app_event_handler_h handlers[5] = {NULL, };
 
-static void __homescreen_efl_lang_changed_cb(app_event_info_h event_info, void *user_data)
-{
-       data_model_iterate(NULL, __homescreen_efl_update_icon_label, NULL);
-}
+    event_callback.create = __homescreen_efl_app_create_cb;
+    event_callback.terminate = __homescreen_efl_app_terminate_cb;
+    event_callback.pause = __homescreen_efl_app_pause_cb;
+    event_callback.resume = __homescreen_efl_app_resume_cb;
+    event_callback.app_control = __homescreen_efl_app_control_cb;
 
-static void __homescreen_efl_orient_changed_cb(app_event_info_h event_info, void *user_data)
-{
-       /*APP_EVENT_DEVICE_ORIENTATION_CHANGED*/
-}
+    ui_app_add_event_handler(&handlers[APP_EVENT_LOW_BATTERY], APP_EVENT_LOW_BATTERY, __homescreen_efl_low_battery_cb, NULL);
+    ui_app_add_event_handler(&handlers[APP_EVENT_LOW_MEMORY], APP_EVENT_LOW_MEMORY, __homescreen_efl_low_memory_cb, NULL);
+    ui_app_add_event_handler(&handlers[APP_EVENT_DEVICE_ORIENTATION_CHANGED], APP_EVENT_DEVICE_ORIENTATION_CHANGED, __homescreen_efl_orient_changed_cb, NULL);
+    ui_app_add_event_handler(&handlers[APP_EVENT_LANGUAGE_CHANGED], APP_EVENT_LANGUAGE_CHANGED, __homescreen_efl_lang_changed_cb, NULL);
+    ui_app_add_event_handler(&handlers[APP_EVENT_REGION_FORMAT_CHANGED], APP_EVENT_REGION_FORMAT_CHANGED, __homescreen_efl_region_changed_cb, NULL);
 
-static void __homescreen_efl_region_changed_cb(app_event_info_h event_info, void *user_data)
-{
-       /*APP_EVENT_REGION_FORMAT_CHANGED*/
-}
+    ret = ui_app_main(argc, argv, &event_callback, NULL);
+    if (ret != APP_ERROR_NONE)
+        LOGE("ui_app_main() is failed. err = %d", ret);
 
-static void __homescreen_efl_low_battery_cb(app_event_info_h event_info, void *user_data)
-{
-       /*APP_EVENT_LOW_BATTERY*/
-}
+    main_info.view_type = HOMESCREEN_VIEW_HOME;
 
-static void __homescreen_efl_low_memory_cb(app_event_info_h event_info, void *user_data)
-{
-       /*APP_EVENT_LOW_MEMORY*/
+    return ret;
 }
 
 static void __homescreen_efl_get_window_size(Evas_Object *win)
 {
-       elm_win_screen_size_get(win, NULL, NULL, &s_info.root_width, &s_info.root_height);
-       dlog_print(DLOG_DEBUG, LOG_TAG, "Width: [%d], Height: [%d]", s_info.root_width, s_info.root_height);
-}
-
-static void __homescreen_efl_home_btn_clicked(void *data, Evas_Object *obj, const char *emission, const char *source)
-{
-       if (s_info.animator == NULL) {
-               homescreen_view_t view_t = home_screen_get_view_type();
-               if (view_t == HOMESCREEN_VIEW_HOME) {
-                       home_screen_set_view_type(HOMESCREEN_VIEW_ALL_APPS);
-               } else if (view_t == HOMESCREEN_VIEW_ALL_APPS) {
-                       home_screen_set_view_type(HOMESCREEN_VIEW_HOME);
-               }
-       }
-}
-
-static void __homescreen_efl_menu_btn_clicked(void *data, Evas_Object *obj, const char *emission, const char *source)
-{
-       homescreen_view_t view = home_screen_get_view_type();
-
-       switch (view) {
-       case HOMESCREEN_VIEW_HOME:
-       case HOMESCREEN_VIEW_ALL_APPS:
-               option_menu_show();
-               break;
-       default:
-               break;
-       }
-}
-
-/*====================  MVC Controller functions implementation: ===================*/
+    elm_win_screen_size_get(win, NULL, NULL, &main_info.root_width, &main_info.root_height);
 
-/*TODO: code convention!*/
-void home_screen_mvc_item_uninstall_cb(Tree_node_t *item)
-{
-       if (!item || !item->data)
-               return;
-
-       if (item->data->type == APP_ITEM_ICON) {
-               app_mgr_uninstall_app(item->data->appid);
-               data_model_uninstall_application(item);
-       } else {/*folder item type:*/
-               data_model_delete_folder(item);
-       }
-
-       /*by default model is being sorted:*/
-       data_model_sort(NULL);
-       data_model_free_empty_pages(NULL);
-       __homescreen_efl_apply_data_model_to_view();
-       all_apps_remove_empty_pages();
-}
+    conf_set_resolution_scale(main_info.root_width, main_info.root_height);
 
-void home_screen_mvc_update_view(void)
-{
-       data_model_sort(NULL);
-       __homescreen_efl_apply_data_model_to_view();
+    LOGD("Width: [%d], Height: [%d]", main_info.root_width, main_info.root_height);
 }
 
-void home_screen_mvc_drag_item_to_folder_cb(Tree_node_t *dragged_item, Tree_node_t *folder)
+static void __homescreen_efl_set_wallpaper(void)
 {
-       if (dragged_item && folder) {
-               if (!folder->last)
-                       data_model_append_node_to_folder(folder, dragged_item); /*there were no pages in folder*/
-               else
-                       data_model_reposition_item(dragged_item, folder->last, folder->last->last, REPOSITION_SIDE_TO_RIGHT, FOLDER_APPS_PAGE);
-
-               /*for now model is always sorted:*/
-               data_model_sort(NULL);
-               data_model_free_empty_pages(NULL);
-               __homescreen_efl_apply_data_model_to_view();
-               all_apps_remove_empty_pages();
-       }
-}
+    char edj_path[PATH_MAX] = {0, };
+    const char *bg_path = util_get_res_file_path(IMAGE_DIR"/default_bg.png");
+    char *buf = NULL;
+    int ret = -1;
 
-/*TODO:All mvc funcitons will be moved to separeted file.*/
-void home_screen_mvc_drag_item_from_folder_cb(void)
-{
-       __homescreen_efl_apply_data_model_to_view();
-}
+    snprintf(edj_path, sizeof(edj_path), "%s", util_get_res_file_path(EDJE_DIR"/home.edj"));
 
-static void __homescreen_efl_activate_chooser_caption(void)
-{
-       data_model_check_all_apps(data_model_get_all_apps(), false);
-       elm_layout_signal_emit(s_info.layout, SIGNAL_CHOOSER_CAPTION_ACTIVATE, SIGNAL_SOURCE);
-       elm_win_indicator_mode_set(s_info.win, ELM_WIN_INDICATOR_HIDE);
-}
+    main_info.main_layout = elm_layout_add(main_info.win);
+    elm_layout_file_set(main_info.main_layout, edj_path, GROUP_HOME_LY);
+    evas_object_size_hint_weight_set(main_info.main_layout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+    elm_win_resize_object_add(main_info.win, main_info.main_layout);
 
-static void __homescreen_efl_deactivate_chooser_caption(void)
-{
-       elm_layout_signal_emit(s_info.layout, SIGNAL_CHOOSER_CAPTION_DEACTIVATE, SIGNAL_SOURCE);
-       elm_win_indicator_mode_set(s_info.win, ELM_WIN_INDICATOR_SHOW);
-}
+    evas_object_show(main_info.main_layout);
 
-static bool __homescreen_efl_free_grid_item(Tree_node_t *page, Tree_node_t *item, void *data)
-{
-       if (!item->data || !item->data->grid_item) {
-               LOGE("__homescreen_efl_free_grid_item, skipping: %d %d", item->data, item->data ? item->data->type : -1);
-               return true;
-       }
+    if (main_info.bg == NULL) {
+        main_info.bg = evas_object_image_filled_add(evas_object_evas_get(main_info.main_layout));
 
-       if (!item->data->layout)
-               LOGD("__homescreen_efl_free_grid_item, %s item->data->layout == NULL", item->data->label);
+        system_settings_set_changed_cb(SYSTEM_SETTINGS_KEY_WALLPAPER_HOME_SCREEN, __homescreen_efl_home_bg_changed_cb, NULL);
 
-       all_apps_detach_from_grid(item->data->grid_item);
-       item->data->grid_item = NULL;
-       evas_object_hide(item->data->layout);
+        evas_object_size_hint_min_set(main_info.bg, main_info.root_width, main_info.root_height);
+        elm_object_part_content_set(main_info.main_layout, "home_bg", main_info.bg);
+        evas_object_show(main_info.bg);
+    }
 
-       return true;
+    ret = system_settings_get_value_string(SYSTEM_SETTINGS_KEY_WALLPAPER_HOME_SCREEN, &buf);
+    if (!buf || !ecore_file_can_read(buf) || ret != SYSTEM_SETTINGS_ERROR_NONE) {
+        evas_object_image_file_set(main_info.bg, bg_path, "bg");
+    } else {
+        evas_object_image_file_set(main_info.bg, buf, "bg");
+    }
+    if (buf) free(buf);
 }
 
-static bool __homescreen_efl_increment_page(Tree_node_t *parent, Tree_node_t *item, void *data)
-{
-       (*((int *)data))++;
-
-       return true;
-}
-
-static bool __homescreen_efl_attach_all_apps_grid_item(Tree_node_t *page, Tree_node_t *item, void *data)
+static void __homescreen_efl_home_bg_changed_cb(system_settings_key_e key, void *data)
 {
-       if (!item->data) {
-               LOGE("__homescreen_efl_attach_all_apps_grid_item, skipping: %d", item->data);
-               return true;
-       }
-
-       item->data->grid_item = all_apps_attach_to_grid(item->data->layout, *(int *)data);
-
-       if (!item->data->grid_item) {
-       /*failed to attach item - there is no room in page scroller
-       so we have to add another page. This problem does not concern folders.*/
-
-               if (!all_apps_append_page(page))
-                       LOGE("Could not create page for item: %s", item->data->label);
-       }
-
-       app_icon_set_view_mode(item->data->layout, home_screen_get_view_type(), false);
-
-       return true;
+    __homescreen_efl_set_wallpaper();
 }
 
-static bool _folder_grid_item_att(Tree_node_t *page, Tree_node_t *item, void *data)
+static void __homescreen_efl_set_conformant(void)
 {
-       if (!item->data || !page->parent || !page->parent->data ||
-               page->parent->data->type != APP_ITEM_FOLDER ||
-               folder_panel_get_opened_folder_item() != page->parent->data) {
-               LOGE("_folder_grid_item_att, skipping: %s dest_folder: %d", item->data ? item->data->appid : NULL);
-               return true;
-       }
-
-       item->data->grid_item = folder_panel_attach_to_grid(item->data->layout, ((app_item_t *)page->parent->data)->data);
+    elm_win_conformant_set(main_info.win, EINA_TRUE);
 
-       return true;
-}
+    main_info.conformant = elm_conformant_add(main_info.win);
+    evas_object_size_hint_weight_set(main_info.conformant, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+    elm_win_resize_object_add(main_info.win, main_info.conformant);
 
-static bool _folder_data_model_to_view_apply_cb(Tree_node_t *page, Tree_node_t *item, void *data)
-{
-       if (!item->data || item->data->type != APP_ITEM_FOLDER)
-               return true;
+    elm_win_indicator_mode_set(main_info.win, ELM_WIN_INDICATOR_SHOW);
+    elm_win_indicator_opacity_set(main_info.win, ELM_WIN_INDICATOR_TRANSLUCENT);
+    elm_object_signal_emit(main_info.conformant, "elm,state,indicator,overlap", "elm");
 
-       data_model_iterate_pages(item, NULL, __homescreen_efl_free_grid_item, NULL);
-       data_model_iterate_pages(item, NULL, _folder_grid_item_att, NULL);
-       app_icon_update_folder_icon(item);
-       return true;
+    evas_object_show(main_info.conformant);
 }
 
-static void __homescreen_efl_apply_data_model_to_view(void)
+static void __homescreen_efl_create_home_btn(void)
 {
-       int page_counter = -1;
-       Tree_node_t *apps_root = data_model_get_all_apps();
-
-       if (!apps_root || !apps_root->data || apps_root->data->type != APP_ITEM_ALL_APPS_ROOT) {
-               LOGE("Can't apply view [apps root]: %d %d", apps_root, apps_root ? apps_root->data : NULL);
-               return;
-       }
+    char edj_path[PATH_MAX] = {0, };
 
-       mvc_badge_refresh_enable = false;
+    snprintf(edj_path, sizeof(edj_path), "%s", util_get_res_file_path(EDJE_DIR"/home_btn.edj"));
 
-       data_model_iterate_pages(NULL, NULL, __homescreen_efl_free_grid_item, NULL);
-       data_model_iterate_pages(NULL, NULL, _folder_data_model_to_view_apply_cb, NULL);
-       data_model_iterate_pages(NULL, __homescreen_efl_increment_page, __homescreen_efl_attach_all_apps_grid_item, &page_counter);
-       all_apps_update_dynamic_index_count();
+    main_info.btn_layout = elm_layout_add(main_info.win);
+    elm_layout_file_set(main_info.btn_layout, edj_path, GROUP_HOME_BTN_LY);
+    evas_object_size_hint_weight_set(main_info.btn_layout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+    elm_win_resize_object_add(main_info.win, main_info.btn_layout);
 
-       mvc_badge_refresh_enable = true;
+    evas_object_show(main_info.btn_layout);
 
-       __badge_change_cb(0, NULL, 0, NULL);
+    elm_object_signal_callback_add(main_info.btn_layout, SIGNAL_MENU_BTN_CLICKED, SIGNAL_SOURCE, __homescreen_efl_menu_btn_clicked, NULL);
+    elm_object_signal_callback_add(main_info.btn_layout, SIGNAL_HOME_BTN_CLICKED, SIGNAL_SOURCE, __homescreen_efl_home_btn_clicked, NULL);
 }
 
-static bool _checked_items_get(Tree_node_t *root, Tree_node_t *item, void *list)
-{
-       Eina_List **checked_items_list = (Eina_List **)list;
-
-       if (item->data && item->data->is_checked) {
-               *checked_items_list = eina_list_append(*checked_items_list, item);
-               item->data->is_checked = false;
-       }
-
-       return true;
-}
-
-static void __homescreen_efl_chooser_caption_done_button_cb(void *data, Evas_Object *obj, const char *emission, const char *source)
+static void __homescreen_efl_menu_btn_clicked(void *data, Evas_Object *obj, const char *emission, const char *source)
 {
-       /*Folder creation/modification:*/
-       app_item_t *destination_folder_data = NULL;
-       Eina_List *iterator = NULL, *checked_items_list = NULL;
-       Tree_node_t *item = NULL;
-       Tree_node_t *destination_folder = folder_panel_get_opened_folder_node();
-
-       if (!destination_folder) {
-               destination_folder_data = app_item_create(APP_ITEM_FOLDER, -1, "", NULL, NULL, NULL, NULL, true, 0, 0, 0, 0, NULL);
-
-               if (!destination_folder_data) {
-                       LOGE("caption_done_button_cb: failed to create destination_folder_data");
-                       return;
-               }
-
-               destination_folder = data_model_create_folder(destination_folder_data);
-
-               if (!destination_folder) {
-                       LOGE("caption_done_button_cb: failed to create destination_folder");
-                       folder_panel_cancel_add_icon();
-                       folder_panel_set_click_ignore_state(false);
-                       app_item_free(destination_folder_data);
-                       return;
-               }
-               folder_panel_create(destination_folder);
-       }
-
-       /*all checked items should be added to the folder:*/
-       data_model_iterate(NULL, _checked_items_get, &checked_items_list);
-
-       EINA_LIST_FOREACH(checked_items_list, iterator, item)
-               data_model_append_node_to_folder(destination_folder, item);
-
-       eina_list_free(checked_items_list);
-       /*for now they are always sorted:*/
-       data_model_sort(NULL);
-
-       folder_panel_cancel_add_icon();
-       folder_panel_set_click_ignore_state(false);
-
-       data_model_free_empty_pages(NULL);
-       home_screen_set_view_type(HOMESCREEN_VIEW_ALL_APPS);
-       __homescreen_efl_apply_data_model_to_view();
-       all_apps_remove_empty_pages();
+    feedback_play_type(FEEDBACK_TYPE_SOUND, FEEDBACK_PATTERN_TAP);
+    homescreen_efl_hw_menu_key_release();
 }
 
-static void __homescreen_efl_chooser_caption_cancel_button_cb(void *data, Evas_Object *obj, const char *emission, const char *source)
+static void __homescreen_efl_home_btn_clicked(void *data, Evas_Object *obj, const char *emission, const char *source)
 {
-       home_screen_close_all_apps_choose_view();
+    feedback_play_type(FEEDBACK_TYPE_SOUND, FEEDBACK_PATTERN_TAP);
+    __homescreen_efl_change_view();
 }
 
-static void __homescreen_efl_show_all_apps(void)
+static void __homescreen_efl_change_view(void)
 {
-       livebox_panel_unset_content(s_info.layout);
-       all_apps_show();
-
-       if (!s_info.all_apps)
-               s_info.all_apps = all_apps_create(s_info.layout, NULL);
-
-       elm_object_part_content_unset(s_info.layout, PART_CONTENT);
+    if (main_info.animator != NULL) {
+        LOGE("main_info.animator != NULL");
+        return ;
+    }
 
-       evas_object_hide(s_info.all_apps);
-       evas_object_move(s_info.all_apps, 0, s_info.root_height);
+    if (main_info.view_type == HOMESCREEN_VIEW_APPS) {
+        apps_view_hide();
+        main_info.animator = ecore_animator_timeline_add(HOME_ANIMATION_TIME, __homescreen_efl_show_cluster_anim, NULL);
 
-       elm_object_signal_emit(s_info.layout, SIGNAL_BLOCK_EVENTS, SIGNAL_SOURCE);
-       app_icon_set_click_ignore(true);
+        elm_object_signal_emit(main_info.btn_layout, SIGNAL_HOME_BTN_ICON_HIDE, SIGNAL_SOURCE);
+        elm_object_signal_emit(main_info.btn_layout, SIGNAL_APPS_BTN_ICON_SHOW, SIGNAL_SOURCE);
+        main_info.view_type = HOMESCREEN_VIEW_HOME;
+    } else if (main_info.view_type == HOMESCREEN_VIEW_HOME) {
+        cluster_view_hide();
+        main_info.animator = ecore_animator_timeline_add(HOME_ANIMATION_TIME, __homescreen_efl_show_apps_anim, NULL);
 
-       s_info.animator = ecore_animator_timeline_add(APPS_SHOW_HIDE_ANIMATION_TIME, __homescreen_efl_show_all_apps_anim, NULL);
+        elm_object_signal_emit(main_info.btn_layout, SIGNAL_APPS_BTN_ICON_HIDE, SIGNAL_SOURCE);
+        elm_object_signal_emit(main_info.btn_layout, SIGNAL_HOME_BTN_ICON_SHOW, SIGNAL_SOURCE);
+        main_info.view_type = HOMESCREEN_VIEW_APPS;
+    }
 }
 
-static void __homescreen_efl_show_home_view(void)
+static Eina_Bool __homescreen_efl_show_apps_anim(void *data, double pos)
 {
-       elm_object_part_content_unset(s_info.layout, PART_CONTENT);
-       all_apps_hide();
-       elm_object_signal_emit(s_info.layout, SIGNAL_BOTTOM_BUTTONS_HOME_STATE_SET, SIGNAL_SOURCE);
+    cluster_view_hide_anim(pos);
+    apps_view_show_anim(pos);
 
-       elm_object_signal_emit(s_info.layout, SIGNAL_BLOCK_EVENTS, SIGNAL_SOURCE);
-       app_icon_set_click_ignore(true);
+    if (pos >= (1.0 - (1e-10))) {
+        apps_view_show();
+        main_info.animator = NULL;
+        return ECORE_CALLBACK_DONE;
+    }
 
-       s_info.animator = ecore_animator_timeline_add(APPS_SHOW_HIDE_ANIMATION_TIME, __homescreen_efl_show_home_anim, NULL);
+    return ECORE_CALLBACK_RENEW;
 }
 
-static bool __update_all_badges_count(Tree_node_t *parent, Tree_node_t *node, void *data)
+static Eina_Bool __homescreen_efl_show_cluster_anim(void *data, double pos)
 {
-       app_item_t *item = NULL;
+    apps_view_hide_anim(pos);
+    cluster_view_show_anim(pos);
 
-       if (node) {
-               item = node->data;
-               __homescreen_efl_badge_count_update_cb(item);
-       }
+    if (pos >= (1.0 - (1e-10))) {
+        cluster_view_show();
+        main_info.animator = NULL;
+        return ECORE_CALLBACK_DONE;
+    }
 
-       return true;
-}
-
-static void __badge_change_cb(unsigned int action, const char *app_id, unsigned int count, void *user_data)
-{
-       data_model_iterate(NULL, __update_all_badges_count, NULL);
+    return ECORE_CALLBACK_RENEW;
 }
 
-static bool __homescreen_efl_update_icon_badge(Tree_node_t *parent, Tree_node_t *node, void *data)
+Evas_Object *homescreen_efl_get_win(void)
 {
-       app_item_t *app = (app_item_t *)data;
-
-       if (!folder_count_pending && app != node->data)
-               return true;
-
-       if (!folder_count_pending && app == node->data) {
-               folder_count_pending = true;
-               data_model_iterate(node, __homescreen_efl_update_icon_badge, app);
-               folder_count_pending = false;
-       }
-
-       if (folder_count_pending && node->data->type == APP_ITEM_ICON) {
-               app_mgr_app_get_badge_count(node->data->appid, &node->data->badge_count);
-               folder_badge_counter += node->data->badge_count;
-       }
-
-       if (!folder_count_pending && app == node->data)
-               return false;
-
-       return true;
+    return main_info.win;
 }
 
-static void __homescreen_efl_badge_count_update_cb(void *app_item)
+void homescreen_efl_hw_menu_key_release(void)
 {
-       app_item_t *app = (app_item_t *)app_item;
-
-       if (!mvc_badge_refresh_enable)
-               return;
-
-       if (!app) {
-               LOGE("badge_count_update_cb: app_item is NULL");
-               return;
-       }
-
-       if (app->type == APP_ITEM_ICON && !app_mgr_app_get_badge_count(app->appid, &app->badge_count)) {
-               LOGE("badge_count_update_cb: get_badge_count returned error");
-               return;
-       }
-
-       if (app->type == APP_ITEM_FOLDER) {
-               folder_count_pending = false;
-               folder_badge_counter = 0;
-               data_model_iterate(NULL, __homescreen_efl_update_icon_badge, app);
-               app->badge_count = folder_badge_counter;
-       }
-
-       app_icon_show_badge(app->layout, app->badge_count);
+    if (main_info.view_type == HOMESCREEN_VIEW_HOME) {
+        cluster_view_hw_menu_key();
+    } else if (main_info.view_type == HOMESCREEN_VIEW_APPS) {
+        apps_view_hw_menu_key();
+    }
 }
 
-static void __homescreen_efl_home_bg_changed_cb(system_settings_key_e key, void *data)
+void homescreen_efl_hw_home_key_release(void)
 {
-       char *buf = NULL;
-       int ret = -1;
-
-       if (!s_info.bg) {
-               LOGE("[FAILED][bg=NULL]");
-               return;
-       }
-
-       ret = system_settings_get_value_string(SYSTEM_SETTINGS_KEY_WALLPAPER_HOME_SCREEN, &buf);
-       if (!buf || ret != SYSTEM_SETTINGS_ERROR_NONE || !ecore_file_exists(buf)
-                       || !ecore_file_can_read(buf)) {
-               LOGE("[FAILED][failed to get bg path]");
-               return;
-       }
-
-       evas_object_image_file_set(s_info.bg, buf, "bg");
-       free(buf);
-
-       __homescreen_efl_make_gradient_bg();
+    if (main_info.view_type == HOMESCREEN_VIEW_HOME) {
+        if (cluster_view_hw_home_key() == false) {
+            __homescreen_efl_change_view();
+        }
+    } else if (main_info.view_type == HOMESCREEN_VIEW_APPS) {
+        if (apps_view_hw_home_key() == false) {
+            __homescreen_efl_change_view();
+        }
+    }
 }
 
-static void __homescreen_efl_apply_home_bg_effect(bool is_on)
+void homescreen_efl_hw_back_key_release(void)
 {
-       #ifndef HOME_HOME_SCREEN_BLUR_ENABLED
-               return;
-       #endif
-       char *buf = NULL;
-
-       /*source data and destination data (pixel values)*/
-       uint32_t *src = NULL, *dst = NULL;
-
-       /*values of channels in each pixel*/
-       uint32_t A = 0, R = 0, G = 0, B = 0;
-
-       /*helper variables*/
-       uint32_t *s = NULL, *d = NULL, w = 0, p = 0;
-
-       int width = -1, height = -1;
-
-       /*iterators*/
-       int i = 0, j = 0, k = 0;
-
-       /*kernel used for transform the image*/
-       uint8_t kernel[25];
-       const int size = COUNT_OF(kernel);
-       const int half = size / 2;
-
-       int ret = -1;
-
-       if (!s_info.bg) {
-               LOGE("[FAILED][bg=NULL]");
-               return;
-       }
-
-       /*if is_on == false, then restore original image data*/
-       if (!is_on) {
-               /*restore original data and return;*/
-               ret = system_settings_get_value_string(SYSTEM_SETTINGS_KEY_WALLPAPER_HOME_SCREEN, &buf);
-               if (!buf || ret != SYSTEM_SETTINGS_ERROR_NONE || !ecore_file_exists(buf)
-                               || !ecore_file_can_read(buf)) {
-
-                       LOGE("[FAILED][failed to get bg path]");
-                       return;
-               }
-
-               evas_object_image_file_set(s_info.bg, buf, "bg");
-               free(buf);
-               s_info.is_bg_blurred = false;
-               return;
-       }
-
-       evas_object_image_size_get(s_info.bg, &width, &height);
-       src = evas_object_image_data_get(s_info.bg, EINA_TRUE);
-
-       /*if image is already blurred then we should not perform once again*/
-       if (s_info.is_bg_blurred)
-               return;
-
-       dst = (uint32_t *) alloca(sizeof(uint32_t) * width * height);
-       if (!dst) {
-               LOGE("[FAILED][dst=NULL]");
-               return;
-       }
-
-       /*Fill the kernel*/
-       w = 0;
-       for (i = 0; i < size; i++) {
-               double f = i - half;
-               w += kernel[i] = exp(-f * f / 60.0) * 40;
-       }
-
-       /*Apply modifications from src - > dst*/
-       for (i = 0; i < height; i++) {
-               s = (uint32_t *) (src + i * width);
-               d = (uint32_t *) (dst + i * width);
-
-               for (j = 0; j < width; j++) {
-                       A = R = G = B = 0;
-                       for (k = 0; k < size; k++) {
-                               if (j - half + k < 0 || j - half + k >= width) {
-                                       d[j] = s[j];
-                                       continue;
-                               }
-
-                               p = s[j - half + k];
-
-                               A = (p & 0xff000000);
-                               R += ((p >> 16) & 0xff) * kernel[k];
-                               G += ((p >>  8) & 0xff) * kernel[k];
-                               B += ((p >>  0) & 0xff) * kernel[k];
-                       }
-                       d[j] = A | (((uint32_t)(R / w)) << 16) | (((uint32_t)(G / w)) << 8) | ((uint32_t)(B / w));
-               }
-       }
-
-       /*Apply modification from dst -> srcs*/
-       for (i = 0; i < height; i++) {
-               s = (uint32_t *) (dst + i * width);
-               d = (uint32_t *) (src + i * width);
-               for (j = 0; j < width; j++) {
-                       A = R = G = B = 0;
-                       for (k = 0; k < size; k++) {
-                               if (i - half + k < 0 || i - half + k >= height) {
-                                       d[j] = s[j];
-                                       continue;
-                               }
-
-                               s = (uint32_t *) (dst + (i - half + k) * width);
-                               p = s[j];
-
-                               A = (p & 0xff000000);
-                               R += ((p >> 16) & 0xff) * kernel[k];
-                               G += ((p >>  8) & 0xff) * kernel[k];
-                               B += ((p >>  0) & 0xff) * kernel[k];
-                       }
-                       d[j] = A | (((uint32_t)(R / w)) << 16) | (((uint32_t)(G / w)) << 8) | ((uint32_t)(B / w));
-               }
-       }
-
-       s_info.is_bg_blurred = true;
-       evas_object_image_data_update_add(s_info.bg, 0, 0, width, height);
+    if (main_info.view_type == HOMESCREEN_VIEW_HOME) {
+        if (cluster_view_hw_back_key() == false) {
+            __homescreen_efl_change_view();
+        }
+    } else if (main_info.view_type == HOMESCREEN_VIEW_APPS) {
+        if (apps_view_hw_back_key() == false) {
+            __homescreen_efl_change_view();
+        }
+    }
 }
 
-static Eina_Bool __homescreen_efl_show_all_apps_anim(void *data, double pos)
+void homescreen_efl_btn_show(homescreen_view_t view_t)
 {
-       Evas_Object *box = elm_object_content_get(s_info.all_apps);
-
-       evas_object_show(s_info.all_apps);
-       evas_object_move(s_info.all_apps, 0, (1.0 - pos) * ALL_APPS_ANIMATION_DELTA_Y);
-       evas_object_move(s_info.home, 0, -pos * ALL_APPS_ANIMATION_HOME_DELTA_Y);
-
-       evas_object_color_set(box, 255, 255, 255, pos*(double)255);
-
-       if (pos >= 0.99) {
-               elm_object_part_content_set(s_info.layout, PART_CONTENT, s_info.all_apps);
-               all_apps_show();
-               elm_object_signal_emit(s_info.layout, SIGNAL_UNBLOCK_EVENTS, SIGNAL_SOURCE);
-               s_info.animator = NULL;
-               return ECORE_CALLBACK_DONE;
-       }
-
-       return ECORE_CALLBACK_RENEW;
+    LOGD("state %d", view_t);
+    switch (view_t) {
+    case HOMESCREEN_VIEW_HOME:
+        elm_object_signal_emit(main_info.btn_layout, SIGNAL_BTN_SHOW_HOME_STATE, SIGNAL_SOURCE);
+        break;
+    case HOMESCREEN_VIEW_APPS:
+        elm_object_signal_emit(main_info.btn_layout, SIGNAL_BTN_SHOW_APPS_STATE, SIGNAL_SOURCE);
+        break;
+    default:
+        break;
+    }
 }
 
-static Eina_Bool __homescreen_efl_show_home_anim(void *data, double pos)
+void homescreen_efl_btn_hide(homescreen_view_t view_t)
 {
-       Evas_Object *box = elm_object_content_get(s_info.all_apps);
-
-       evas_object_move(s_info.all_apps, 0, pos * ALL_APPS_ANIMATION_DELTA_Y);
-       evas_object_move(s_info.home, 0, -(1.0 - pos ) * ALL_APPS_ANIMATION_HOME_DELTA_Y);
-
-       evas_object_color_set(box, 255, 255, 255, (1.0 - pos * 2.0)*(double)255);
-
-       if (pos >= 0.99) {
-               if (s_info.layout && elm_object_part_content_get(s_info.layout, PART_CONTENT) == NULL && s_info.home) {
-                       elm_object_part_content_set(s_info.layout, PART_CONTENT, s_info.home);
-                       livebox_panel_set_content(s_info.layout);
-               }
-
-               elm_object_signal_emit(s_info.layout, SIGNAL_UNBLOCK_EVENTS, SIGNAL_SOURCE);
-               s_info.animator = NULL;
-               return ECORE_CALLBACK_DONE;
-       }
-
-       return ECORE_CALLBACK_RENEW;
+    LOGD("state %d", view_t);
+    switch (view_t) {
+    case HOMESCREEN_VIEW_HOME:
+        elm_object_signal_emit(main_info.btn_layout, SIGNAL_BTN_HIDE_HOME_STATE, SIGNAL_SOURCE);
+        break;
+    case HOMESCREEN_VIEW_APPS:
+        elm_object_signal_emit(main_info.btn_layout, SIGNAL_BTN_HIDE_APPS_STATE, SIGNAL_SOURCE);
+        break;
+    default:
+        break;
+    }
 }
diff --git a/src/hw_key.c b/src/hw_key.c
new file mode 100755 (executable)
index 0000000..7ff7ab0
--- /dev/null
@@ -0,0 +1,134 @@
+/*
+ * Copyright 2012  Samsung Electronics Co., Ltd
+ *
+ * Licensed under the Flora License, Version 1.1 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://floralicense.org/license/
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <Elementary.h>
+#include <Ecore.h>
+#include <Eina.h>
+
+#include "hw_key.h"
+#include "util.h"
+#include "conf.h"
+#include "homescreen-efl.h"
+#include "menu.h"
+
+#define KEY_HOME "XF86Home"
+#define KEY_MENU "XF86Menu"
+#define KEY_BACK "XF86Back"
+#define KEY_RETURN "Return"
+
+typedef enum {
+    HW_KEY_NONE = -1,
+    HW_KEY_BACK,
+    HW_KEY_HOME,
+    HW_KEY_MENU,
+} hw_key_t;
+
+static struct {
+    Eina_Bool pressed;
+    Ecore_Event_Handler *press_handler;
+    Ecore_Event_Handler *release_handler;
+    Eina_Bool register_handler;
+} hw_key_info = {
+    .pressed = EINA_FALSE,
+    .press_handler = NULL,
+    .release_handler = NULL,
+    .register_handler = EINA_FALSE
+};
+
+static Eina_Bool __hw_key_release_cb(void *data, int type, void *event);
+static Eina_Bool __hw_key_press_cb(void *data, int type, void *event);
+
+void hw_key_register(void)
+{
+    if (!hw_key_info.release_handler) {
+        hw_key_info.release_handler = ecore_event_handler_add(ECORE_EVENT_KEY_UP, __hw_key_release_cb, NULL);
+        if (!hw_key_info.release_handler)
+            LOGE("Failed to register a key up event handler");
+    }
+
+    if (!hw_key_info.press_handler) {
+        hw_key_info.press_handler = ecore_event_handler_add(ECORE_EVENT_KEY_DOWN, __hw_key_press_cb, NULL);
+        if (!hw_key_info.press_handler)
+            LOGE("Failed to register a key down event handler");
+    }
+
+    hw_key_info.pressed = EINA_FALSE;
+    hw_key_info.register_handler = EINA_TRUE;
+}
+
+void hw_key_unregister(void)
+{
+    if (hw_key_info.release_handler) {
+        ecore_event_handler_del(hw_key_info.release_handler);
+        hw_key_info.release_handler = NULL;
+    }
+
+    if (hw_key_info.press_handler) {
+        ecore_event_handler_del(hw_key_info.press_handler);
+        hw_key_info.press_handler = NULL;
+    }
+
+    hw_key_info.register_handler = EINA_FALSE;
+}
+
+static Eina_Bool __hw_key_press_cb(void *data, int type, void *event)
+{
+    Evas_Event_Key_Down *ev = event;
+
+    if (!hw_key_info.register_handler || !ev)
+        return ECORE_CALLBACK_RENEW;
+
+    hw_key_info.pressed = EINA_TRUE;
+
+    return ECORE_CALLBACK_RENEW;
+}
+
+
+static Eina_Bool __hw_key_release_cb(void *data, int type, void *event)
+{
+    Evas_Event_Key_Up *ev = event;
+
+    if (!hw_key_info.register_handler || !ev)
+        return ECORE_CALLBACK_RENEW;
+
+    LOGD("Key(%s) released %d", ev->keyname, hw_key_info.pressed);
+
+    if (hw_key_info.pressed == EINA_FALSE)
+        return ECORE_CALLBACK_RENEW;
+
+    if (!strcmp(ev->keyname, KEY_BACK)) {
+        if (menu_is_show()) {
+            menu_hide();
+        } else {
+            homescreen_efl_hw_back_key_release();
+        }
+    } else if (!strcmp(ev->keyname, KEY_MENU)) {
+        homescreen_efl_hw_menu_key_release();
+    } else if (!strcmp(ev->keyname, KEY_HOME)) {
+        if (menu_is_show()) {
+            menu_hide();
+        }
+        homescreen_efl_hw_home_key_release();
+    } else {
+        hw_key_info.pressed = EINA_FALSE;
+
+        return ECORE_CALLBACK_RENEW;
+    }
+
+    hw_key_info.pressed = EINA_FALSE;
+
+    return ECORE_CALLBACK_RENEW;
+}
diff --git a/src/key.c b/src/key.c
deleted file mode 100644 (file)
index 372f536..0000000
--- a/src/key.c
+++ /dev/null
@@ -1,194 +0,0 @@
-/*
- * Copyright 2012  Samsung Electronics Co., Ltd
- *
- * Licensed under the Flora License, Version 1.1 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://floralicense.org/license/
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#include <Elementary.h>
-#include <Ecore.h>
-#include <Eina.h>
-
-#include "homescreen-efl.h"
-#include "option_menu.h"
-#include "add_viewer/add_viewer.h"
-#include "livebox/livebox_panel.h"
-#include "livebox_all_pages.h"
-#include "folder_panel.h"
-#include "popup.h"
-#include "util.h"
-
-static Eina_Bool __key_release_cb(void *data, int type, void *event);
-static Eina_Bool __key_press_cb(void *data, int type, void *event);
-
-typedef enum {
-       HW_KEY_NONE = -1,
-       HW_KEY_BACK,
-       HW_KEY_HOME,
-       HW_KEY_MENU,
-} hw_key_t;
-
-static struct {
-       Eina_Bool pressed;
-       Ecore_Event_Handler *press_handler;
-       Ecore_Event_Handler *release_handler;
-       Eina_Bool register_handler;
-} key_info_s = {
-       .pressed = EINA_FALSE,
-       .press_handler = NULL,
-       .release_handler = NULL,
-       .register_handler = EINA_FALSE
-};
-
-
-HAPI void key_register(void)
-{
-       if (!key_info_s.release_handler) {
-               key_info_s.release_handler = ecore_event_handler_add(ECORE_EVENT_KEY_UP, __key_release_cb, NULL);
-               if (!key_info_s.release_handler)
-                       LOGE("Failed to register a key up event handler");
-       }
-
-       if (!key_info_s.press_handler) {
-               key_info_s.press_handler = ecore_event_handler_add(ECORE_EVENT_KEY_DOWN, __key_press_cb, NULL);
-               if (!key_info_s.press_handler)
-                       LOGE("Failed to register a key down event handler");
-       }
-
-       key_info_s.pressed = EINA_FALSE;
-       key_info_s.register_handler = EINA_TRUE;
-}
-
-
-HAPI void key_unregister(void)
-{
-       if (key_info_s.release_handler) {
-               ecore_event_handler_del(key_info_s.release_handler);
-               key_info_s.release_handler = NULL;
-       }
-
-       if (key_info_s.press_handler) {
-               ecore_event_handler_del(key_info_s.press_handler);
-               key_info_s.press_handler = NULL;
-       }
-
-       key_info_s.register_handler = EINA_FALSE;
-}
-
-
-static Eina_Bool __key_press_cb(void *data, int type, void *event)
-{
-       Evas_Event_Key_Down *ev = event;
-
-       if (!key_info_s.register_handler || !ev)
-               return ECORE_CALLBACK_RENEW;
-
-       key_info_s.pressed = EINA_TRUE;
-
-       return ECORE_CALLBACK_RENEW;
-}
-
-
-static Eina_Bool __key_release_cb(void *data, int type, void *event)
-{
-       Evas_Event_Key_Up *ev = event;
-       hw_key_t pressed_key = HW_KEY_NONE;
-
-       if (!key_info_s.register_handler || !ev)
-               return ECORE_CALLBACK_RENEW;
-
-       LOGD("Key(%s) released %d", ev->keyname, key_info_s.pressed);
-
-       if (key_info_s.pressed == EINA_FALSE)
-               return ECORE_CALLBACK_RENEW;
-
-       if (!strcmp(ev->keyname, KEY_BACK))
-               pressed_key = HW_KEY_BACK;
-       else if (!strcmp(ev->keyname, KEY_MENU))
-               pressed_key = HW_KEY_MENU;
-       else if(!strcmp(ev->keyname, KEY_HOME))
-               pressed_key = HW_KEY_HOME;
-       else {
-               key_info_s.pressed = EINA_FALSE;
-
-               return ECORE_CALLBACK_RENEW;
-       }
-
-       if (pressed_key == HW_KEY_MENU) {
-               LOGD("Menu pressed");
-               option_menu_change_state_on_hw_menu_key();
-
-               return ECORE_CALLBACK_RENEW;
-       }
-
-       homescreen_view_t view_t = home_screen_get_view_type();
-
-       if (pressed_key == HW_KEY_BACK || pressed_key == HW_KEY_HOME) {
-
-               option_menu_hide();
-               if (popup_destroy()) {
-                       /*we need to close only popup if it is visible. Dont change the view type.*/
-                       return ECORE_CALLBACK_RENEW;
-               }
-
-               if (folder_panel_is_folder_visible()) {
-                       folder_panel_close_folder();
-                       return ECORE_CALLBACK_RENEW;
-               }
-
-               switch (view_t) {
-               case HOMESCREEN_VIEW_HOME:
-                       break;
-               case HOMESCREEN_VIEW_HOME_EDIT:
-                       home_screen_set_view_type(HOMESCREEN_VIEW_HOME);
-                       /*TODO: option menu should not have any info about livebox panel. This logic should be invoked in homescreen-efl.c*/
-                       livebox_panel_set_edit_mode_layout(false);
-                       livebox_panel_change_edit_mode_state(true);
-                       break;
-               case HOMESCREEN_VIEW_HOME_ADD_VIEWER:
-                       add_viewer_window_delete();
-                       break;
-               case HOMESCREEN_VIEW_HOME_ALL_PAGES:
-                       /*TODO: this should be invoked in homescreen-efl.c*/
-                       livebox_all_pages_hide();
-                       home_screen_set_view_type(HOMESCREEN_VIEW_HOME);
-                       break;
-               case HOMESCREEN_VIEW_ALL_APPS:
-                       home_screen_set_view_type(HOMESCREEN_VIEW_HOME);
-                       break;
-               case HOMESCREEN_VIEW_ALL_APPS_CHOOSE:
-                       home_screen_close_all_apps_choose_view();
-                       if (pressed_key == HW_KEY_HOME)
-                               home_screen_set_view_type(HOMESCREEN_VIEW_HOME);
-                       break;
-               case HOMESCREEN_VIEW_ALL_APPS_EDIT:
-                       home_screen_set_view_type(HOMESCREEN_VIEW_ALL_APPS);
-                       if(pressed_key ==  HW_KEY_HOME)
-                               home_screen_set_view_type(HOMESCREEN_VIEW_HOME);
-                       break;
-               case HOMESCREEN_VIEW_UNKNOWN:
-                       break;
-               default:
-                       break;
-               }
-       }
-
-       if (!strcmp(ev->keyname, KEY_RETURN))
-               folder_panel_hide_input_panel();
-
-
-       key_info_s.pressed = EINA_FALSE;
-
-       return ECORE_CALLBACK_RENEW;
-}
-
-
diff --git a/src/livebox/grid_item_resize.c b/src/livebox/grid_item_resize.c
deleted file mode 100644 (file)
index c923c4b..0000000
+++ /dev/null
@@ -1,667 +0,0 @@
-/*
- * Copyright 2012  Samsung Electronics Co., Ltd
- *
- * Licensed under the Flora License, Version 1.1 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://floralicense.org/license/
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#include "livebox/grid_item_resize.h"
-#include "homescreen-efl.h"
-#include "layout.h"
-#include "livebox/livebox_panel.h"
-#include "livebox/livebox_widget.h"
-#include "page_scroller.h"
-#include "conf.h"
-#include "data_model.h"
-
-typedef enum {
-       GRID_RESIZE_LEFT,
-       GRID_RESIZE_RIGHT,
-       GRID_RESIZE_UP,
-       GRID_RESIZE_DOWN,
-} gird_item_resize_dir_t;
-
-static struct {
-       int x_at_drag_start;
-       int y_at_drag_start;
-       int w_at_drag_start;
-       int h_at_drag_start;
-       Eina_Bool is_resizing;
-} s_info = {
-       .x_at_drag_start = 0,
-       .y_at_drag_start = 0,
-       .w_at_drag_start = 0,
-       .h_at_drag_start = 0,
-       .is_resizing = false
-};
-
-static void __gird_item_resize_button_pressed_cb(void *data, Evas_Object *obj,
-       const char *emission, const char *source);
-static int __grid_item_resize_drag_pos_get(Evas_Object *obj, const char *part,
-       Eina_Bool is_horizontal);
-static void __grid_item_resize_finalize(Evas_Object *obj);
-static Eina_Bool __grid_item_resize_get_available_sizes(Evas_Object *livebox, int w, int h);
-static void __grid_item_resize_drag(Evas_Object *livebox, int new_x, int new_y, int new_w,
-       int new_h);
-static void __grid_item_resize_drag_stop_cb(void *data, Evas_Object *obj, const char *emission,
-       const char *source);
-static void __grid_item_resize_get_sliders_geometry(Evas_Object *page, int *out_x,
-       int *out_y, int *out_w, int *out_h);
-static void __grid_item_resize_drag_cb(void *data, Evas_Object *obj, const char *emission,
-       const char *source);
-static void __grid_item_resize_page_background_clicked_cb(void *data, Evas_Object *obj,
-       const char *emission, const char *source);
-
-#ifdef LIVEBOX_RESIZE_ENABLED
-       static void __grid_item_resize_set_slider_pos(Evas_Object *page, const char *part,
-               int pos, Eina_Bool is_horizontal);
-#endif
-
-
-void grid_item_set_resize_livebox_sliders(Evas_Object *livebox,
-       Evas_Object *page)
-{
-#ifdef LIVEBOX_RESIZE_ENABLED
-       Evas_Coord x = -1;
-       Evas_Coord y = -1;
-       Evas_Coord w = -1;
-       Evas_Coord h = -1;
-
-       if (!page) {
-               LOGE("page == NULL");
-               return;
-       }
-
-       if (!livebox) {
-               LOGE("livebox == NULL");
-               return;
-       }
-
-       elm_grid_pack_get(livebox, &x, &y, &w, &h);
-       LOGD("LIVEBOX NEW POS: %d %d %d %d", x, y, w, h);
-
-       __grid_item_resize_set_slider_pos(page, PART_RESIZE_BUTTON_UP, y, EINA_FALSE);
-       __grid_item_resize_set_slider_pos(page, PART_RESIZE_BUTTON_DOWN, y + h, EINA_FALSE);
-       __grid_item_resize_set_slider_pos(page, PART_RESIZE_BUTTON_LEFT, x, EINA_TRUE);
-       __grid_item_resize_set_slider_pos(page, PART_RESIZE_BUTTON_RIGHT, x + w, EINA_TRUE);
-
-       elm_layout_signal_emit(page, SIGNAL_RESIZE_SLIDERS_SHOW,
-               SIGNAL_LIVEBOX_SOURCE);
-
-#endif
-}
-
-bool grid_item_init_resize_callbacks(Evas_Object *livebox_container_scroller,
-       Evas_Object *livebox_container)
-{
-       Evas_Object *edje = NULL;
-
-       if (!livebox_container_scroller) {
-               LOGE("livebox_container_scroller == NULL");
-               return false;
-       }
-
-       if (!livebox_container) {
-               LOGE("livebox_container == NULL");
-               return false;
-       }
-
-       edje = elm_layout_edje_get(livebox_container);
-       if (!edje) {
-               LOGE("edje == NULL");
-               return false;
-       }
-
-       edje_object_signal_callback_add(edje, SIGNAL_MOUSE_DOWN,
-               PART_RESIZE_BUTTON_DOWN, __gird_item_resize_button_pressed_cb,
-               livebox_container_scroller);
-       edje_object_signal_callback_add(edje, SIGNAL_MOUSE_DOWN,
-               PART_RESIZE_BUTTON_LEFT, __gird_item_resize_button_pressed_cb,
-               livebox_container_scroller);
-       edje_object_signal_callback_add(edje, SIGNAL_MOUSE_DOWN,
-               PART_RESIZE_BUTTON_UP, __gird_item_resize_button_pressed_cb,
-               livebox_container_scroller);
-       edje_object_signal_callback_add(edje,
-               SIGNAL_MOUSE_DOWN, PART_RESIZE_BUTTON_RIGHT,
-               __gird_item_resize_button_pressed_cb, livebox_container_scroller);
-       edje_object_part_drag_value_set(edje,
-               PART_RESIZE_BUTTON_DOWN, 0.0, 0.999);
-       edje_object_part_drag_value_set(edje,
-               PART_RESIZE_BUTTON_UP, 0.0, 0.001);
-       edje_object_signal_callback_add(edje,
-               SIGNAL_RESIZING, PART_RESIZE_BUTTON_DOWN,
-               __grid_item_resize_drag_cb, livebox_container);
-       edje_object_signal_callback_add(edje,
-               SIGNAL_RESIZE_END, PART_RESIZE_BUTTON_DOWN,
-               __grid_item_resize_drag_stop_cb, NULL);
-       edje_object_signal_callback_add(edje, SIGNAL_RESIZING,
-               PART_RESIZE_BUTTON_UP, __grid_item_resize_drag_cb, livebox_container);
-       edje_object_signal_callback_add(edje,
-               SIGNAL_RESIZE_END, PART_RESIZE_BUTTON_UP, __grid_item_resize_drag_stop_cb, NULL);
-       edje_object_part_drag_value_set(edje,
-               PART_RESIZE_BUTTON_LEFT, 0.001, 0.0);
-       edje_object_part_drag_value_set(edje,
-               PART_RESIZE_BUTTON_RIGHT, 0.999, 0.0);
-       edje_object_signal_callback_add(edje,
-               SIGNAL_RESIZING, PART_RESIZE_BUTTON_LEFT, __grid_item_resize_drag_cb,
-               livebox_container);
-       edje_object_signal_callback_add(edje,
-               SIGNAL_RESIZE_END, PART_RESIZE_BUTTON_LEFT,
-               __grid_item_resize_drag_stop_cb, NULL);
-       edje_object_signal_callback_add(edje,
-               SIGNAL_RESIZING, PART_RESIZE_BUTTON_RIGHT,
-               __grid_item_resize_drag_cb, livebox_container);
-       edje_object_signal_callback_add(edje,
-               SIGNAL_RESIZE_END, PART_RESIZE_BUTTON_RIGHT,
-               __grid_item_resize_drag_stop_cb, NULL);
-
-       elm_layout_signal_callback_add(livebox_container, SIGNAL_CLICKED,
-               PART_PAGE_BG, __grid_item_resize_page_background_clicked_cb, NULL);
-
-       return true;
-}
-
-void grid_item_set_resize_sliders_visibility(Evas_Object *page, bool visible)
-{
-       if (!page) {
-               LOGE("page == NULL");
-               return;
-       }
-
-       if (visible) {
-               elm_object_signal_emit(page, SIGNAL_RESIZE_SLIDERS_SHOW,
-                       SIGNAL_LIVEBOX_SOURCE);
-       } else {
-               elm_object_signal_emit(page, SIGNAL_RESIZE_SLIDERS_HIDE,
-                       SIGNAL_LIVEBOX_SOURCE);
-       }
-}
-
-static void __gird_item_resize_button_pressed_cb(void *data, Evas_Object *obj,
-       const char *emission, const char *source)
-{
-       Evas_Object *livebox = NULL;
-       Evas_Object *livebox_scroller = NULL;
-
-       if (!obj || !emission || !source) {
-               LOGE("Wrong arguments provided: %p %p %p", obj,
-                       emission, source);
-               return;
-       }
-
-       livebox_scroller = data;
-       if (!livebox_scroller) {
-               LOGE("livebox_scroller == NULL");
-               return;
-
-       }
-
-       page_scroller_freeze(livebox_scroller);
-
-       livebox = livebox_utils_selected_livebox_get();
-       if (!livebox) {
-               LOGE("livebox == NULL");
-               return;
-       }
-
-       elm_grid_pack_get(livebox, &s_info.x_at_drag_start,
-               &s_info.y_at_drag_start,
-               &s_info.w_at_drag_start,
-               &s_info.h_at_drag_start);
-
-       s_info.is_resizing = EINA_TRUE;
-
-       LOGD("BUTTON PRESSED: %p !!! x = %d; y = %d; w = %d; h = %d", livebox,
-               s_info.x_at_drag_start,
-               s_info.y_at_drag_start,
-               s_info.w_at_drag_start,
-               s_info.h_at_drag_start);
-}
-
-static int __grid_item_resize_drag_pos_get(Evas_Object *obj, const char *part,
-       Eina_Bool is_horizontal)
-{
-       double val;
-       int pos;
-
-       if (!obj || !part) {
-               LOGE("Wrong arguments provided: %p %p", obj, part);
-               return -1;
-       }
-
-       if (is_horizontal) {
-               edje_object_part_drag_value_get(obj, part, &val, NULL);
-               pos = (int)(val * LIVEBOX_GRID_COLUMNS);
-       } else {
-               edje_object_part_drag_value_get(obj, part, NULL, &val);
-               pos = (int)(val * LIVEBOX_GRID_ROWS);
-       }
-
-
-       LOGD("DRAG UP STOP: %f POS: %d", val, pos);
-       return pos;
-}
-
-
-static void __grid_item_resize_finalize(Evas_Object *obj)
-{
-       LOGD("Resize");
-       Evas_Object *lb_scroller = NULL;
-       if (!obj) {
-               LOGE("o == NULL");
-               return;
-       }
-
-       edje_object_signal_emit(obj, SIGNAL_RESIZE_SLIDER_DRAG_OK,
-        SIGNAL_RESIZE_SLIDER_DRAG_OK);
-
-       s_info.is_resizing = EINA_FALSE;
-
-       lb_scroller = livebox_panel_get();
-       if (!lb_scroller) {
-               LOGE("lb_scroller == NULL");
-               return;
-       }
-
-       page_scroller_unfreeze(lb_scroller);
-}
-
-static Eina_Bool __grid_item_resize_get_available_sizes(Evas_Object *livebox, int w, int h)
-{
-       int cnt = 0;
-       int *size_list = NULL;
-       Evas_Object *widget = NULL;
-       int test_h = 0;
-       int test_w = 0;
-       int i = 0;
-
-       if (!livebox) {
-               LOGE("livebox == NULL");
-               return EINA_FALSE;
-       }
-
-       widget = elm_layout_content_get(livebox, PART_LIVEBOX);
-       if (!widget) {
-               LOGE("widget == NULL");
-               return EINA_FALSE;
-       }
-
-       livebox_widget_get_size_available(widget, &cnt, &size_list);
-
-       LOGD("Size count: %d", cnt);
-
-       if (!size_list) {
-               LOGE("size_list == NULL");
-               return EINA_FALSE;
-       }
-
-       for (i = 0; i < cnt; ++i) {
-               livebox_widget_get_dimensions(size_list[i], &test_w, &test_h);
-
-               if (w == test_w * LIVEBOX_GRID_ROWS_CELLS_MULTI &&
-                       h == test_h * LIVEBOX_GRID_ROWS_CELLS_MULTI) {
-                       LOGD("RESIZE AVAILABLE SIZE FOUND: %d %d",
-                               test_w, test_h);
-                       free(size_list);
-                       return EINA_TRUE;
-               }
-       }
-
-       free(size_list);
-       return EINA_FALSE;
-}
-
-
-static void __grid_item_resize_drag(Evas_Object *livebox,
-       int new_x, int new_y, int new_w, int new_h)
-{
-       LOGD("resize2");
-       Evas_Object *page = NULL;
-       Eina_Rectangle *rect = NULL;
-       Eina_List *list;
-       int out_x = -1, out_y = -1, out_w = -1, out_h = -1;
-
-       if (!livebox) {
-               LOGE("livebox == NULL");
-               return;
-       }
-
-       page = livebox_utils_get_selected_livebox_layout();
-       if (!page) {
-               LOGE("page == NULL");
-               return;
-       }
-
-       list = livebox_utils_get_liveboxes_on_page_list(page);
-       if (!list) {
-               LOGE("list == NULL");
-               return;
-
-       }
-
-       __grid_item_resize_get_sliders_geometry(page, &out_x, &out_y, &out_w, &out_h);
-       rect = eina_rectangle_new(out_x, out_y, out_w, out_h);
-
-       if (__grid_item_resize_get_available_sizes(livebox, new_w, new_h) &&
-               !livebox_utils_check_rect_list_grid_interesction(rect,
-                       livebox, list)) {
-               elm_grid_pack_set(livebox, new_x, new_y, new_w, new_h);
-               LOGD("RESIZE OK: %d %d %d %d", new_x, new_y, new_w, new_h);
-       } else {
-               elm_grid_pack_set(livebox, s_info.x_at_drag_start,
-                       s_info.y_at_drag_start,
-                       s_info.w_at_drag_start,
-                       s_info.h_at_drag_start);
-               LOGD("RESIZE FAIL: %d %d %d %d; ", new_x, new_y, new_w, new_h);
-       }
-
-       eina_rectangle_free(rect);
-}
-
-static void _drag_size_new_get(gird_item_resize_dir_t dir, Evas_Object *livebox,
-       int pos, Evas_Coord *x, Evas_Coord *y, Evas_Coord *w, Evas_Coord *h)
-{
-       Evas_Coord x2, y2;
-
-       if (!livebox) {
-               LOGE("livebox == NULL");
-               return;
-       }
-
-       if (!x || !y || !w || !h) { /*Other arguments can be NULL*/
-               LOGE("Wrong arguments: x = %p; y = %p; w = %p; h = %p",
-                       x, y, w, h);
-               return;
-       }
-
-       elm_grid_pack_get(livebox, x, y, w, h);
-
-       switch (dir) {
-       case GRID_RESIZE_LEFT:
-               x2 = *x + *w;
-               *w = x2 - (pos * LIVEBOX_GRID_ROWS_CELLS_MULTI);
-               *x = (pos * LIVEBOX_GRID_ROWS_CELLS_MULTI);
-               break;
-       case GRID_RESIZE_RIGHT:
-               *w = (pos - *x) * LIVEBOX_GRID_ROWS_CELLS_MULTI;
-               break;
-       case GRID_RESIZE_UP:
-               y2 = *y + *h;
-               *h = y2 - (pos * LIVEBOX_GRID_ROWS_CELLS_MULTI);
-               *y = (pos * LIVEBOX_GRID_ROWS_CELLS_MULTI);
-               break;
-       case GRID_RESIZE_DOWN:
-               *h = (pos - *y) * LIVEBOX_GRID_ROWS_CELLS_MULTI;
-               break;
-       }
-}
-
-static void __grid_item_resize_drag_stop_cb(void *data, Evas_Object *obj, const char *emission,
-       const char *source)
-{
-       int pos = -1;
-       Evas_Coord x = -1;
-       Evas_Coord y = -1;
-       Evas_Coord w = -1;
-       Evas_Coord h = -1;
-       Evas_Object *livebox = NULL;
-       Tree_node_t *item_node = NULL;
-       gird_item_resize_dir_t resize_dir;
-       bool horizontal = false;
-
-
-       if (!obj || !emission || !source) {
-               LOGE("Wrong arguments provided: %p %p %p",
-                       obj, emission, source);
-               return;
-       }
-
-       livebox = livebox_utils_selected_livebox_get();
-       if (!livebox) {
-               LOGE("livebox == NULL");
-               return;
-       }
-
-       __grid_item_resize_finalize(obj);
-
-       if (!strncmp(PART_RESIZE_BUTTON_DOWN, source,
-               LIVEBOX_MAX_BUTTON_NAME_LENGTH)) {
-               horizontal = EINA_FALSE;
-               resize_dir = GRID_RESIZE_DOWN;
-       } else if (!strncmp(PART_RESIZE_BUTTON_UP, source,
-               LIVEBOX_MAX_BUTTON_NAME_LENGTH)) {
-               horizontal = EINA_FALSE;
-               resize_dir = GRID_RESIZE_UP;
-       } else if (!strncmp(PART_RESIZE_BUTTON_LEFT, source,
-               LIVEBOX_MAX_BUTTON_NAME_LENGTH)) {
-               horizontal = EINA_TRUE;
-               resize_dir = GRID_RESIZE_LEFT;
-       } else if (!strncmp(PART_RESIZE_BUTTON_RIGHT, source,
-               LIVEBOX_MAX_BUTTON_NAME_LENGTH)) {
-               horizontal = EINA_TRUE;
-               resize_dir = GRID_RESIZE_RIGHT;
-       } else {
-               LOGE("UNKNOWN PART");
-               return;
-       }
-
-       pos = __grid_item_resize_drag_pos_get(obj, source, horizontal);
-       _drag_size_new_get(resize_dir, livebox, pos, &x, &y, &w, &h);
-
-       __grid_item_resize_drag(livebox, x, y, w, h);
-       elm_grid_pack_get(livebox, &x, &y, &w, &h);
-
-       edje_object_part_drag_value_set(obj, PART_RESIZE_BUTTON_DOWN, 0,
-                       (y + h) * LIVEBOX_RESIZE_POS_MULTI_ROWS);
-
-       edje_object_part_drag_value_set(obj, PART_RESIZE_BUTTON_UP, 0,
-                       (float) y * LIVEBOX_RESIZE_POS_MULTI_ROWS);
-
-       edje_object_part_drag_value_set(obj, PART_RESIZE_BUTTON_LEFT,
-                       (float) x * LIVEBOX_RESIZE_POS_MULTI_COLS, 0);
-
-       edje_object_part_drag_value_set(obj, PART_RESIZE_BUTTON_RIGHT,
-                       (float) (x + w) * LIVEBOX_RESIZE_POS_MULTI_COLS, 0);
-
-       item_node = evas_object_data_get(livebox, KEY_ICON_DATA);
-       if (!item_node) {
-               LOGE("item_node == NULL");
-               return;
-       }
-
-       data_model_resize_widget(item_node, x, y, w, h);
-       home_screen_print_tree();
-}
-
-static void __grid_item_resize_get_sliders_geometry(Evas_Object *page, int *out_x,
-       int *out_y, int *out_w, int *out_h)
-{
-       Evas_Object *edje = elm_layout_edje_get(page);
-       Evas_Object *grid = NULL;
-       double val = 0;
-
-       if (!edje) {
-               LOGE("edje == NULL");
-               return;
-       }
-
-       grid = edje_object_part_swallow_get(edje, SIGNAL_CONTENT_SOURCE);
-       if (!grid) {
-               LOGE("grid == NULL");
-               return;
-       }
-
-       if (!out_x || !out_y || !out_w || !out_h) {
-               LOGE("x = %p; y = %p; w = %p; h = %p",
-                       out_x, out_y, out_w, out_h);
-               return;
-       }
-
-       edje_object_part_drag_value_get(edje, PART_RESIZE_BUTTON_LEFT,
-               &val, NULL);
-       *out_x = round(val * LIVEBOX_TOTAL_COLUMNS);
-
-       edje_object_part_drag_value_get(edje, PART_RESIZE_BUTTON_UP,
-               NULL, &val);
-       *out_y = round(val * LIVEBOX_TOTAL_ROWS);
-
-       edje_object_part_drag_value_get(edje, PART_RESIZE_BUTTON_RIGHT,
-               &val, NULL);
-       *out_w = round(val * LIVEBOX_TOTAL_COLUMNS - *out_x);
-
-       edje_object_part_drag_value_get(edje, PART_RESIZE_BUTTON_DOWN,
-               NULL, &val);
-       *out_h = round(val * LIVEBOX_TOTAL_ROWS - *out_y);
-}
-
-static void __grid_item_resize_drag_cb(void *data, Evas_Object *obj, const char *emission,
-       const char *source)
-{
-       int pos = -1;
-       Evas_Coord x = -1;
-       Evas_Coord y = -1;
-       Evas_Coord w = -1;
-       Evas_Coord h = -1;
-       Evas_Object *livebox = NULL;
-       Eina_List   *list = NULL;
-       Eina_Rectangle *rect;
-       int out_x = -1, out_y = -1, out_w = -1, out_h = -1;
-
-       Evas_Object *page_container = data;
-       if (!page_container) {
-               LOGE("page_container == NULL");
-               return;
-       }
-
-       if (!obj || !emission || !source) {
-               LOGE("Wrong arguments provided: obj == %p; \
-                       emission == %p; source == %p", obj, emission, source);
-               return;
-       }
-
-       livebox = livebox_utils_selected_livebox_get();
-       if (!livebox) {
-               LOGE("livebox == NULL");
-               return;
-       }
-
-       list = livebox_utils_get_liveboxes_on_page_list(page_container);
-       if (!list) {
-               LOGE("list == NULL");
-               return;
-
-       }
-
-       if (!strncmp(source, PART_RESIZE_BUTTON_DOWN,
-               LIVEBOX_MAX_BUTTON_NAME_LENGTH)) {
-               pos = __grid_item_resize_drag_pos_get(obj, source, EINA_FALSE);
-               _drag_size_new_get(GRID_RESIZE_DOWN, livebox, pos,
-                       &x, &y, &w, &h);
-
-               LOGD("pos = %d", pos);
-       } else if (!strncmp(source, PART_RESIZE_BUTTON_UP,
-               LIVEBOX_MAX_BUTTON_NAME_LENGTH)) {
-               pos = __grid_item_resize_drag_pos_get(obj, source, EINA_FALSE);
-               _drag_size_new_get(GRID_RESIZE_UP, livebox,
-                       pos, &x, &y, &w, &h);
-
-               LOGD("pos = %d", pos);
-       } else if (!strncmp(source, PART_RESIZE_BUTTON_LEFT,
-               LIVEBOX_MAX_BUTTON_NAME_LENGTH)) {
-               pos = __grid_item_resize_drag_pos_get(obj, source, EINA_TRUE);
-               _drag_size_new_get(GRID_RESIZE_LEFT, livebox,
-                       pos, &x, &y, &w, &h);
-       } else if (!strncmp(source, PART_RESIZE_BUTTON_RIGHT,
-               LIVEBOX_MAX_BUTTON_NAME_LENGTH)) {
-               pos = __grid_item_resize_drag_pos_get(obj, source, EINA_TRUE);
-               _drag_size_new_get(GRID_RESIZE_RIGHT, livebox,
-                       pos, &x, &y, &w, &h);
-       } else {
-               pos = 0;
-       }
-
-       __grid_item_resize_get_sliders_geometry(page_container, &out_x,
-               &out_y, &out_w, &out_h);
-       rect = eina_rectangle_new(out_x, out_y, out_w, out_h);
-
-       if (!__grid_item_resize_get_available_sizes(livebox, w, h) ||
-               livebox_utils_check_rect_list_grid_interesction(rect,
-                       livebox, list)) {
-               edje_object_signal_emit(obj, SIGNAL_RESIZE_SLIDER_DRAG_ERR,
-                       SIGNAL_LIVEBOX_SOURCE);
-       } else {
-               edje_object_signal_emit(obj, SIGNAL_RESIZE_SLIDER_DRAG_OK,
-                       SIGNAL_LIVEBOX_SOURCE);
-       }
-
-       eina_rectangle_free(rect);
-}
-
-#ifdef LIVEBOX_RESIZE_ENABLED
-static void __grid_item_resize_set_slider_pos(Evas_Object *page, const char *part,
-       int pos, Eina_Bool is_horizontal)
-{
-       Evas_Object *edje = NULL;
-
-       if (!page) {
-               LOGE("page == NULL");
-               return;
-       }
-
-       edje = elm_layout_edje_get(page);
-       if (!edje) {
-               LOGE("page == NULL");
-               return;
-       }
-
-       if (!part) {
-               LOGE("part == NULL");
-               return;
-       }
-
-       if (is_horizontal) {
-               if (pos < 0 || pos > LIVEBOX_TOTAL_COLUMNS) {
-                       LOGE("Wrong value of pos = %d", pos);
-                       return;
-               }
-
-               LOGD("NEW POS OF %s is %f", part,
-                       (float)pos / LIVEBOX_TOTAL_COLUMNS);
-               edje_object_part_drag_value_set(edje, part,
-                       (float)pos / LIVEBOX_TOTAL_COLUMNS, 0);
-       } else {
-               if (pos < 0 || pos > LIVEBOX_TOTAL_ROWS) {
-                       LOGE("Wrong value of pos = %d", pos);
-                       return;
-               }
-
-               LOGD("NEW POS OF %s is %f", part,
-                       (float)pos / LIVEBOX_TOTAL_ROWS);
-               edje_object_part_drag_value_set(edje, part, 0,
-                       (float)pos / LIVEBOX_TOTAL_ROWS);
-       }
-}
-#endif
-
-static void __grid_item_resize_page_background_clicked_cb(void *data, Evas_Object *obj,
-       const char *emission, const char *source)
-{
-       if (!obj) {
-               LOGE("obj == NULL");
-               return;
-       }
-
-       LOGD("Background clicked");
-       elm_layout_signal_emit(obj, SIGNAL_RESIZE_SLIDERS_HIDE,
-               SIGNAL_LIVEBOX_SOURCE);
-}
-
diff --git a/src/livebox/grid_reposition.c b/src/livebox/grid_reposition.c
deleted file mode 100644 (file)
index 8a7e076..0000000
+++ /dev/null
@@ -1,681 +0,0 @@
-/*
- * Copyright 2012  Samsung Electronics Co., Ltd
- *
- * Licensed under the Flora License, Version 1.1 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://floralicense.org/license/
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#include <math.h>
-
-#include "livebox/grid_reposition.h"
-
-#include "homescreen-efl.h"
-#include "livebox/livebox_utils.h"
-#include "livebox/livebox_animator.h"
-#include "livebox/livebox_panel.h"
-#include "util.h"
-#include "conf.h"
-#include "data_model.h"
-
-typedef struct {
-       Evas_Object *obj;
-       Eina_Rectangle *pos_in_grid;
-} Repositioned_Object_Data_t;
-
-static struct {
-       Evas_Object *repositioned_object;
-       Evas_Object *current_grid;
-       Evas_Object *origination_grid;
-       Repositioned_Object_Data_t repositioned_object_data;
-       Eina_List *repositioned_objects_in_grid;
-       Anim_Data_t *ad;
-       int offset_x;
-       int offset_y;
-       bool intersection_found;
-} s_info = {
-       .repositioned_object = NULL,
-       .current_grid = NULL,
-       .origination_grid = NULL,
-       .repositioned_object_data = {
-               .obj = NULL,
-               .pos_in_grid = NULL
-       },
-       .repositioned_objects_in_grid = NULL,
-       .ad = NULL,
-       .offset_x = 0,
-       .offset_y = 0,
-       .intersection_found = true
-};
-
-static void __grid_reposition_drop_anim_cb(Anim_Data_t **ad);
-static bool __grid_reposition_check_grid_intersection(Evas_Object *moved_item,
-       Evas_Object *grid);
-static bool __grid_reposition_check_item_intersection(Evas_Object *moved_item,
-       Evas_Object *grid_item);
-static void __grid_reposition_save_item_start_data(Evas_Object *object);
-static void __grid_reposition_make_space(void);
-static void __grid_reposition_update_item_position(Eina_Rectangle *new_geometry);
-
-Evas_Object *grid_reposition_get_current_glrid(void)
-{
-       return s_info.current_grid;
-}
-
-Evas_Object *grid_reposition_get_repositioned_item(void)
-{
-       return s_info.repositioned_object;
-}
-
-void grid_reposition_init(Evas_Object *grid, Evas_Object *repositioned_item)
-{
-       int mx = -1;
-       int my = -1;
-       int ox = -1;
-       int oy = -1;
-       Evas *e = NULL;
-
-       if (!grid) {
-               LOGE("grid == NULL");
-               return;
-       }
-
-       if (!repositioned_item) {
-               LOGE("repositioned_item == NULL");
-               return;
-       }
-
-       e = evas_object_evas_get(repositioned_item);
-       if (!e) {
-               LOGE("e == NULL");
-               return;
-       }
-
-       evas_pointer_canvas_xy_get(e, &mx, &my);
-       evas_object_geometry_get(repositioned_item, &ox, &oy, NULL, NULL);
-
-       s_info.offset_x = mx - ox;
-       s_info.offset_y = my - oy;
-
-       LOGD("MOUSE: (%d, %d); OFFSET: (%d, %d)", mx, my, s_info.offset_x,
-               s_info.offset_y);
-
-       s_info.current_grid = s_info.origination_grid = grid;
-       s_info.repositioned_object = repositioned_item;
-
-       __grid_reposition_save_item_start_data(repositioned_item);
-}
-
-void grid_reposition_start(void)
-{
-       int mx = -1;
-       int my = -1;
-       Evas_Object *page = NULL;
-       Evas_Object *grid = NULL;
-
-       int x = -1, y = -1, w = -1, h = -1;
-
-       page = livebox_utils_get_selected_livebox_layout();
-       if (!page) {
-               LOGE("page == NULL");
-               return;
-       }
-
-       grid = livebox_utils_get_livebox_container_grid(page);
-       if (!grid) {
-               LOGE("grid == NULL");
-               return;
-       }
-
-
-       elm_grid_unpack(s_info.current_grid, s_info.repositioned_object);
-       evas_object_geometry_get(s_info.repositioned_object, &x, &y, &w, &h);
-       LOGD("Packing. Reposition start: %d; %d; %d; %d", x, y, w, h);
-
-       livebox_utils_get_cursor_pos(&mx, &my);
-       grid_reposition_move(mx, my);
-
-       livebox_utils_repack_grid_object(s_info.repositioned_object,
-               livebox_utils_get_shadow(), NULL, grid);
-}
-
-void grid_reposition_move(int mouse_x, int mouse_y)
-{
-       if (!s_info.repositioned_object) {
-               LOGE("s_info.repositioned_object == NULL");
-               return;
-       }
-
-       if (!s_info.current_grid) {
-               LOGE("s_info.current_grid == NULL");
-               return;
-       }
-
-       evas_object_move(s_info.repositioned_object,
-               mouse_x - s_info.offset_x, mouse_y - s_info.offset_y);
-       s_info.intersection_found =
-       __grid_reposition_check_grid_intersection(s_info.repositioned_object,
-               s_info.current_grid);
-
-
-       if (livebox_panel_is_add_page_selected())  {
-               /*no intersection found but we can't drop on 'add page' page */
-               s_info.intersection_found = true;
-               livebox_utils_set_shadow_visibility(false);
-       } else if (!s_info.intersection_found) {
-               /*no intersection found so we can show the shadow */
-               livebox_utils_set_grid_object_pack(s_info.repositioned_object,
-                       livebox_utils_get_shadow(), s_info.current_grid);
-               livebox_utils_set_shadow_visibility(true);
-       } else if (s_info.current_grid != s_info.origination_grid) {
-       /*intersection found and livebox was moved from diferent grid.
-       We can hide the shadow*/
-               __grid_reposition_make_space();
-               livebox_utils_set_shadow_visibility(false);
-       } else {
-       /* intersection found and livebox was moved from current grid.
-       We should display the shadow on the origination position */
-
-               __grid_reposition_make_space();
-               elm_grid_pack_set(livebox_utils_get_shadow(),
-                               s_info.repositioned_object_data.pos_in_grid->x,
-                               s_info.repositioned_object_data.pos_in_grid->y,
-                               s_info.repositioned_object_data.pos_in_grid->w,
-                               s_info.repositioned_object_data.pos_in_grid->h);
-
-               livebox_utils_set_shadow_visibility(true);
-       }
-}
-
-void grid_reposition_end(void)
-{
-       Eina_Rectangle *start = NULL;
-       Eina_Rectangle *end   = NULL;
-       int x = -1;
-       int y = -1;
-       int w = -1;
-       int h = -1;
-       Evas_Object *destination_grid = NULL;
-
-       if (!s_info.repositioned_object) {
-               LOGE("s_info.repositioned_object == NULL");
-               return;
-       }
-
-       if (!s_info.current_grid) {
-               LOGE("s_info.current_grid == NULL");
-               return;
-       }
-
-       if (!s_info.origination_grid) {
-               LOGE("s_info.origination_grid == NULL");
-               return;
-       }
-
-       s_info.intersection_found = __grid_reposition_check_grid_intersection(
-               s_info.repositioned_object, s_info.current_grid);
-
-       if (!s_info.intersection_found) {
-               livebox_utils_convert_size_to_grid_coord(s_info.repositioned_object,
-                       s_info.current_grid, &x, &y, &w, &h);
-               livebox_utils_normalize_grid_pos(x, y, w, h, &x, &y);
-               destination_grid = s_info.current_grid;
-       } else {
-               x = s_info.repositioned_object_data.pos_in_grid->x;
-               y = s_info.repositioned_object_data.pos_in_grid->y;
-               w = s_info.repositioned_object_data.pos_in_grid->w;
-               h = s_info.repositioned_object_data.pos_in_grid->h;
-               destination_grid = s_info.origination_grid;
-       }
-
-       start = livebox_utils_get_widget_rectangle(s_info.repositioned_object);
-       end = livebox_utils_convert_virtual_grid_geo_to_screen(destination_grid,
-                       x, y, w, h);
-
-       livebox_animator_play_geometry_set(s_info.repositioned_object,
-                       LIVEBOX_REPOSITION_ANIM_TIME,
-                       ECORE_POS_MAP_DECELERATE_FACTOR, 2, 0,
-                       start, end,
-                       __grid_reposition_drop_anim_cb, &s_info.ad);
-}
-
-void grid_reposition_set_current_grid(Evas_Object *grid)
-{
-       if (grid == NULL) {
-               LOGE("grid == NULL");
-               s_info.current_grid = s_info.origination_grid;
-               return;
-       }
-
-       s_info.current_grid = grid;
-}
-
-/* ================================== intersection check =====================*/
-
-static Eina_Rectangle *_reposition_grid_item_pos_new_get(
-       Eina_Rectangle *grid_item, Eina_Rectangle *moved_item)
-{
-       int new_x = 0;
-       int new_y = 0;
-
-       if (!grid_item) {
-               LOGE("grid_item == NULL");
-               return NULL;
-       }
-
-       if (!moved_item) {
-               LOGE("moved_item == NULL");
-               return NULL;
-       }
-
-       if (moved_item->y - grid_item->h >= 0) {
-               new_y = moved_item->y - grid_item->h;
-       } else {
-               new_y = moved_item->y + grid_item->h;
-       }
-
-       if (new_y < 0 || new_y > LIVEBOX_TOTAL_ROWS)
-               return NULL;
-
-       livebox_utils_normalize_grid_pos(grid_item->x, new_y, grid_item->w,
-               grid_item->h, &new_x, &new_y);
-
-       return eina_rectangle_new(new_x, new_y, grid_item->w, grid_item->h);
-}
-
-static bool _rectangle_containment_check(Eina_Rectangle *outer,
-       Eina_Rectangle *inner)
-{
-       if (!outer) {
-               LOGE("outer == NULL");
-               return false;
-       }
-
-       if (!inner) {
-               LOGE("inner == NULL");
-               return false;
-       }
-
-       if (inner->x >= outer->x && inner->y >= outer->y &&
-               inner->x + inner->w <= outer->x + outer->w &&
-               inner->y + inner->h <= outer->y + outer->h) {
-               LOGD("RECTANGLE: [%d, %d - %d, %d] is IN [%d, %d - %d, %d]",
-                               inner->x, inner->y, inner->w, inner->h,
-                               outer->x, outer->y, outer->w, outer->h);
-
-               return true;
-       } else {
-               LOGD("RECTANGLE: [%d, %d - %d, %d] is NOT [%d, %d - %d, %d]",
-                               inner->x, inner->y, inner->w, inner->h,
-                               outer->x, outer->y, outer->w, outer->h);
-
-               return false;
-       }
-}
-
-static void __grid_reposition_make_space(void)
-{
-       Eina_Rectangle *repo_obj_rec = NULL;
-       Eina_Rectangle *grid_obj_rec = NULL;
-       Eina_Rectangle *grid_obj_new_pos = NULL;
-       Eina_List *items_in_grid = NULL;
-       Eina_List *l = NULL;
-       Evas_Object *obj = NULL;
-       int rx = -1, ry = -1, rw = -1, rh = -1;
-       bool contaiment = false;
-       bool intersection_in_grid = false;
-       bool can_space_make = false;
-
-       if (!s_info.current_grid) {
-               LOGE("s_info_current_grid == NULL");
-               return;
-       }
-
-       if (!s_info.origination_grid) {
-               LOGE("s_info.origination_grid == NULL");
-               return;
-       }
-
-       items_in_grid = livebox_utils_get_liveboxes_on_gird(
-               s_info.current_grid);
-       if (!items_in_grid) {
-               LOGE("items_in_grid == NULL");
-               return;
-       }
-
-       livebox_utils_convert_size_to_grid_coord(s_info.repositioned_object,
-               s_info.current_grid, &rx, &ry, &rw, &rh);
-       livebox_utils_normalize_grid_pos(rx, ry, rw, rh, &rx, &ry);
-
-       repo_obj_rec = eina_rectangle_new(rx, ry, rw, rh);
-       if (!repo_obj_rec) {
-               LOGE("repo_obj_rec == NULL");
-               return;
-       }
-
-       EINA_LIST_FOREACH(items_in_grid, l, obj) {
-               if (!obj) {
-                       LOGE("obj == NULL");
-                       continue;
-               }
-
-               grid_obj_rec = livebox_utils_get_grid_widget_rectangle(obj);
-               if (!grid_obj_rec) {
-                       LOGE("grid_obj_rec == NULL");
-                       continue;
-               }
-
-               contaiment = _rectangle_containment_check(grid_obj_rec,
-                       repo_obj_rec); /*moved obj in grid obj*/
-
-               if (!contaiment) {
-                       contaiment = _rectangle_containment_check(repo_obj_rec,
-                               grid_obj_rec); /*grid obj in moved obj*/
-               }
-
-               if (contaiment) {
-                       grid_obj_new_pos = _reposition_grid_item_pos_new_get(
-                               grid_obj_rec, repo_obj_rec);
-
-                       if (grid_obj_new_pos &&
-                               !eina_rectangles_intersect(grid_obj_new_pos,
-                                       repo_obj_rec)) {
-                               intersection_in_grid =
-                               livebox_utils_check_rect_list_grid_interesction(
-                                       grid_obj_new_pos, obj, items_in_grid);
-
-                               /*TODO: This call is not required when we assume
-                                that no livebox can be put side by side*/
-                               if (!intersection_in_grid) {
-                                       elm_grid_pack_set(obj,
-                                               grid_obj_new_pos->x,
-                                               grid_obj_new_pos->y,
-                                               grid_obj_new_pos->w,
-                                               grid_obj_new_pos->h);
-                                       can_space_make = true;
-                               } else {
-                                       can_space_make = false;
-                                       eina_rectangle_free(grid_obj_new_pos);
-                                       eina_rectangle_free(grid_obj_rec);
-                                       break;
-                               }
-
-                               eina_rectangle_free(grid_obj_new_pos);
-                       }
-               }
-
-               eina_rectangle_free(grid_obj_rec);
-       }
-
-       if (can_space_make)
-               __grid_reposition_update_item_position(repo_obj_rec);
-
-       eina_rectangle_free(repo_obj_rec);
-       eina_list_free(items_in_grid);
-}
-
-static void __grid_reposition_save_item_start_data(Evas_Object *object)
-{
-       int x = -1, y = -1, w = -1, h = -1;
-
-       if (!object) {
-               LOGE("object == NULL");
-               return;
-       }
-
-       s_info.repositioned_object_data.obj = object;
-       elm_grid_pack_get(object, &x, &y, &w, &h);
-
-       s_info.repositioned_object_data.pos_in_grid = eina_rectangle_new(x, y,
-                                                       w, h);
-}
-
-static void __grid_reposition_update_item_position(Eina_Rectangle *new_geometry)
-{
-       if (!new_geometry) {
-               LOGE("new_geometry == NULL");
-               return;
-       }
-
-       if (!s_info.repositioned_object_data.pos_in_grid) {
-               LOGE("s_info.repositioned_object_data.pos_in_grid == NULL");
-               return;
-       }
-
-       s_info.repositioned_object_data.pos_in_grid->x = new_geometry->x;
-       s_info.repositioned_object_data.pos_in_grid->y = new_geometry->y;
-       s_info.repositioned_object_data.pos_in_grid->w = new_geometry->w;
-       s_info.repositioned_object_data.pos_in_grid->h = new_geometry->h;
-}
-
-static bool __grid_reposition_check_grid_intersection(Evas_Object *moved_item,
-       Evas_Object *grid)
-{
-       Eina_List *grid_items = NULL;
-       Eina_List *l = NULL;
-       Evas_Object *grid_item = NULL;
-
-       if (!moved_item) {
-               LOGE("moved_item == NULL");
-               return false;
-       }
-
-       if (!grid) {
-               LOGE("grid == NULL");
-               return false;
-       }
-
-       grid_items = livebox_utils_get_liveboxes_on_gird(grid);
-       if (!grid_items) {
-               LOGE("grid_items == NULL");
-               return false;
-       }
-
-       EINA_LIST_FOREACH(grid_items, l, grid_item) {
-               if (!grid_item) {
-                       LOGE("item == NULL");
-                       continue;
-               }
-
-               if (__grid_reposition_check_item_intersection(moved_item,
-                       grid_item) == true) {
-                       eina_list_free(grid_items);
-                       return true;
-               }
-       }
-
-       eina_list_free(grid_items);
-       return false;
-}
-
-static Eina_Rectangle *_normalized_rectangle_get(Evas_Object *obj)
-{
-       int x = -1;
-       int y = -1;
-       int w = -1;
-       int h = -1;
-       Eina_Rectangle *rect = NULL;
-
-       if (!s_info.current_grid) {
-               LOGE("s_info.current_grid == NULL");
-               return NULL;
-       }
-
-       if (!obj) {
-               LOGE("obj == NULL");
-               return NULL;
-       }
-
-       livebox_utils_convert_size_to_grid_coord(obj, s_info.current_grid,
-               &x, &y, &w, &h);
-       livebox_utils_normalize_grid_pos(x, y, w, h, &x, &y);
-       rect = livebox_utils_convert_virtual_grid_geo_to_screen(s_info.current_grid,
-               x, y, w, h);
-
-       if (!rect) {
-               LOGE("rect == NULL");
-               return NULL;
-       }
-
-       return rect;
-}
-
-static bool __grid_reposition_check_item_intersection(Evas_Object *moved_item,
-       Evas_Object *grid_item)
-{
-       Eina_Rectangle *moved_item_rec = NULL;
-       Eina_Rectangle *grid_item_rec  = NULL;
-       bool ret = false;
-
-       if (!moved_item) {
-               LOGE("moved_item == NULL");
-               return false;
-       }
-
-       if (!grid_item) {
-               LOGE("grid_item == NULL");
-               return false;
-       }
-
-       moved_item_rec = _normalized_rectangle_get(moved_item);
-       if (!moved_item_rec) {
-               LOGE("moved_item_rec == NULL");
-               return false;
-       }
-
-       grid_item_rec =  livebox_utils_get_widget_rectangle(grid_item);
-       if (!grid_item_rec) {
-               LOGE("grid_item_rec == NULL");
-               eina_rectangle_free(moved_item_rec);
-               return false;
-       }
-
-       ret = eina_rectangle_intersection(moved_item_rec, grid_item_rec);
-
-       eina_rectangle_free(moved_item_rec);
-       eina_rectangle_free(grid_item_rec);
-
-       return ret;
-}
-
-static void _grid_reposition_update_data_model(Evas_Object *page)
-{
-       Eina_List *items = NULL;
-       Tree_node_t *node = NULL;
-       Tree_node_t *page_node = NULL;
-       int x = 0, y = 0, w = 0, h = 0;
-       Eina_List *l;
-       Evas_Object *livebox;
-
-       LOGI("DATA MODEL REPOSITION START");
-
-       elm_grid_pack_get(s_info.repositioned_object, &x, &y, &w, &h);
-       node = evas_object_data_get(s_info.repositioned_object, KEY_ICON_DATA);
-       if (!node) {
-               LOGE("node == NULL");
-               return;
-       }
-
-       page_node = evas_object_data_get(page, KEY_ICON_DATA);
-       if (!page_node) {
-               LOGE("obj_node == NULL");
-               return;
-       }
-
-       data_model_reposition_widget(page_node, node);
-
-       items = livebox_utils_get_liveboxes_on_page_list(page);
-       if (!items) {
-               LOGD("items == NULL");
-               return;
-       }
-
-       EINA_LIST_FOREACH(items, l, livebox) {
-               if (!livebox) {
-                       LOGE("livebox == NULL");
-                       continue;
-               }
-
-               elm_grid_pack_get(livebox, &x, &y, &w, &h);
-               node = evas_object_data_get(livebox, KEY_ICON_DATA);
-               if (!node) {
-                       LOGE("node == NULL");
-                       continue;
-               }
-
-               data_model_resize_widget(node, x, y, w, h);
-       }
-
-       home_screen_print_tree();
-}
-
-static void __grid_reposition_drop_anim_cb(Anim_Data_t **ad)
-{
-       Evas_Object *page = NULL;
-
-       LOGI("DROP ANIM END");
-
-       if (!s_info.current_grid || !s_info.origination_grid ||
-               !s_info.repositioned_object) {
-               LOGE("s_info.current_grid == %p; s_info.origination_grid == %p;\
-                       s_info.repositioned_object == %p", s_info.current_grid,
-                       s_info.origination_grid, s_info.repositioned_object);
-
-               s_info.repositioned_object = NULL;
-               s_info.current_grid     = NULL;
-               livebox_animator_del_grid(ad);
-               s_info.intersection_found = false;
-               eina_rectangle_free(
-                       s_info.repositioned_object_data.pos_in_grid);
-       }
-
-       livebox_utils_repack_grid_object(NULL, livebox_utils_get_shadow(),
-               s_info.current_grid, NULL);
-
-       if (!s_info.intersection_found) {
-               livebox_utils_repack_grid_object(s_info.repositioned_object,
-                               s_info.repositioned_object,
-                               NULL,
-                               s_info.current_grid);
-
-               page = livebox_scroller_get_page();
-       } else {
-               elm_grid_pack(s_info.origination_grid,
-                       s_info.repositioned_object,
-                       s_info.repositioned_object_data.pos_in_grid->x,
-                       s_info.repositioned_object_data.pos_in_grid->y,
-                       s_info.repositioned_object_data.pos_in_grid->w,
-                       s_info.repositioned_object_data.pos_in_grid->h);
-
-               page = livebox_utils_get_prev_livebox_layout();
-       }
-
-       if (!page) {
-               LOGE("page == NULL");
-               s_info.repositioned_object = NULL;
-               s_info.current_grid     = NULL;
-
-               livebox_animator_del_grid(ad);
-               s_info.intersection_found = false;
-               eina_rectangle_free(
-                       s_info.repositioned_object_data.pos_in_grid);
-               return;
-       }
-
-       _grid_reposition_update_data_model(page);
-
-       s_info.repositioned_object = NULL;
-       s_info.current_grid     = NULL;
-
-       livebox_animator_del_grid(ad);
-       s_info.intersection_found = false;
-       eina_rectangle_free(s_info.repositioned_object_data.pos_in_grid);
-}
diff --git a/src/livebox/livebox_animator.c b/src/livebox/livebox_animator.c
deleted file mode 100644 (file)
index 96fa58f..0000000
+++ /dev/null
@@ -1,227 +0,0 @@
-/*
- * Copyright 2012  Samsung Electronics Co., Ltd
- *
- * Licensed under the Flora License, Version 1.1 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://floralicense.org/license/
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#include <Elementary.h>
-
-#include <stdbool.h>
-
-#include "livebox/livebox_animator.h"
-#include "util.h"
-#include "livebox/livebox_panel.h"
-#include "homescreen-efl.h"
-#include "page_scroller.h"
-#include "popup.h"
-
-#define FRAME (1.0/30.0)
-#define FPS 30
-
-static Eina_Bool __livebox_animator_set_grid_frame(void *data, double pos);
-static Eina_Bool __livebox_animator_set_geometry_frame(void *data, double pos);
-static void __livebox_animator_create(Evas_Object *obj,
-               float anim_time,
-               Ecore_Pos_Map map, float map_var_1, float map_var_2,
-               Eina_Rectangle *geometry_start, Eina_Rectangle *geometry_end,
-               Anim_Grid_End on_end,
-               Anim_Data_t **ad_out);
-
-
-void livebox_animator_del_grid(Anim_Data_t **ad)
-{
-       if (!(*ad)) {
-               LOGE("(*ad) == NULL");
-               return;
-       }
-
-       (*ad)->on_end = NULL;
-       ecore_animator_del((*ad)->animator);
-       (*ad)->animator = NULL;
-       (*ad)->anim_is_running = false;
-       eina_rectangle_free((*ad)->geometry_start);
-       eina_rectangle_free((*ad)->geometry_end);
-       free((*ad));
-
-       (*ad) = NULL;
-}
-
-void livebox_animator_play_grid_pack_set(Evas_Object *obj,
-               float anim_time,
-               Ecore_Pos_Map map, float map_var_1, float map_var_2,
-               Eina_Rectangle *geometry_start, Eina_Rectangle *geometry_end,
-               Anim_Grid_End on_end,
-               Anim_Data_t **ad_out)
-{
-       __livebox_animator_create(obj, anim_time, map, map_var_1, map_var_2,
-                       geometry_start, geometry_end, on_end, ad_out);
-
-       if (!(*ad_out)) {
-               LOGE("Failed to create animation");
-               return;
-       }
-
-       (*ad_out)->animator = ecore_animator_timeline_add(anim_time,
-               __livebox_animator_set_grid_frame, ad_out);
-
-       if (!(*ad_out)->animator) {
-               LOGE("Failed to create animator");
-               livebox_animator_del_grid(ad_out);
-               return;
-       }
-}
-
-void livebox_animator_play_geometry_set(Evas_Object *obj,
-               float anim_time,
-               Ecore_Pos_Map map, float map_var_1, float map_var_2,
-               Eina_Rectangle *geometry_start, Eina_Rectangle *geometry_end,
-               Anim_Grid_End on_end,
-               Anim_Data_t **ad_out)
-{
-       __livebox_animator_create(obj, anim_time, map, map_var_1, map_var_2,
-                       geometry_start, geometry_end, on_end, ad_out);
-
-       if (!(*ad_out)) {
-               LOGE("Failed to create animation");
-               return;
-       }
-
-       (*ad_out)->animator = ecore_animator_timeline_add(anim_time,
-               __livebox_animator_set_geometry_frame, ad_out);
-
-       if (!(*ad_out)->animator) {
-               LOGE("Failed to create animator");
-               livebox_animator_del_grid(ad_out);
-               return;
-       }
-}
-
-static void __livebox_animator_create(Evas_Object *obj,
-               float anim_time,
-               Ecore_Pos_Map map, float map_var_1, float map_var_2,
-               Eina_Rectangle *geometry_start, Eina_Rectangle *geometry_end,
-               Anim_Grid_End on_end,
-               Anim_Data_t **ad_out)
-{
-       *ad_out = (Anim_Data_t *) calloc(1, sizeof(Anim_Data_t));
-       if (!*ad_out) {
-               LOGE("Failed to allocate ad_out");
-               return;
-       }
-
-       (*ad_out)->anim_time = anim_time;
-       (*ad_out)->obj = obj;
-       (*ad_out)->map = map;
-       (*ad_out)->map_var_1 = map_var_1;
-       (*ad_out)->map_var_2 = map_var_2;
-       (*ad_out)->geometry_start = geometry_start;
-       (*ad_out)->geometry_end   = geometry_end;
-       (*ad_out)->on_end = on_end;
-       (*ad_out)->anim_is_running = true;
-}
-
-
-static Eina_Bool __livebox_animator_set_geometry_frame(void *data, double pos)
-{
-       double frame = pos;
-
-       Anim_Data_t **ad = (Anim_Data_t **)data;
-       if (!(*ad)) {
-               LOGE("(*ad) == NULL");
-               return ECORE_CALLBACK_CANCEL;
-       }
-
-       int xs = (*ad)->geometry_start->x;
-       int ys = (*ad)->geometry_start->y;
-       int ws = (*ad)->geometry_start->w;
-       int hs = (*ad)->geometry_start->h;
-
-       int xe = (*ad)->geometry_end->x;
-       int ye = (*ad)->geometry_end->y;
-       int we = (*ad)->geometry_end->w;
-       int he = (*ad)->geometry_end->h;
-
-       int xd = xe - xs;
-       int yd = ye - ys;
-       int wd = we - ws;
-       int hd = he - hs;
-
-       frame = ecore_animator_pos_map(pos, (*ad)->map, (*ad)->map_var_1,
-               (*ad)->map_var_2);
-
-       evas_object_move((*ad)->obj, xs + xd * frame, ys + yd * frame);
-       evas_object_resize((*ad)->obj, ws + wd * frame, hs + hd * frame);
-
-       if (pos >= 1.0) {
-               /*last frame*/
-               if ((*ad)->on_end) {
-                       (*ad)->on_end(ad);
-               } else {
-                       livebox_animator_del_grid(ad);
-               }
-
-               return ECORE_CALLBACK_CANCEL;
-       }
-
-       return ECORE_CALLBACK_RENEW;
-}
-
-
-static Eina_Bool __livebox_animator_set_grid_frame(void *data, double pos)
-{
-       double frame = pos;
-
-       Anim_Data_t **ad = (Anim_Data_t **)data;
-       if (!(*ad)) {
-               LOGE("(*ad) == NULL");
-               return ECORE_CALLBACK_CANCEL;
-       }
-
-       int xs = (*ad)->geometry_start->x;
-       int ys = (*ad)->geometry_start->y;
-       int ws = (*ad)->geometry_start->w;
-       int hs = (*ad)->geometry_start->h;
-
-       int xe = (*ad)->geometry_end->x;
-       int ye = (*ad)->geometry_end->y;
-       int we = (*ad)->geometry_end->w;
-       int he = (*ad)->geometry_end->h;
-
-       int xd = xe - xs;
-       int yd = ye - ys;
-       int wd = we - ws;
-       int hd = he - hs;
-
-       frame = ecore_animator_pos_map(pos, (*ad)->map, (*ad)->map_var_1,
-               (*ad)->map_var_2);
-
-       elm_grid_pack_set((*ad)->obj,
-               xs + xd * frame,
-               ys + yd * frame,
-               ws + wd * frame,
-               hs + hd * frame);
-
-
-       if (pos >= 1.0) {
-               /*last frame*/
-               if ((*ad)->on_end) {
-                       (*ad)->on_end(ad);
-               } else {
-                       livebox_animator_del_grid(ad);
-               }
-
-               return ECORE_CALLBACK_CANCEL;
-       }
-
-       return ECORE_CALLBACK_RENEW;
-}
diff --git a/src/livebox/livebox_panel.c b/src/livebox/livebox_panel.c
deleted file mode 100644 (file)
index fac2901..0000000
+++ /dev/null
@@ -1,1661 +0,0 @@
-/*
- * Copyright 2012  Samsung Electronics Co., Ltd
- *
- * Licensed under the Flora License, Version 1.1 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://floralicense.org/license/
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#include <Elementary.h>
-
-#include "util.h"
-#include "homescreen-efl.h"
-#include "page_scroller.h"
-#include "option_menu.h"
-#include "dynamic_index.h"
-#include "data_model.h"
-
-#include "layout.h"
-#include "popup.h"
-#include "layout.h"
-#include "conf.h"
-
-#include "livebox/livebox_panel.h"
-#include "livebox/livebox_animator.h"
-#include "livebox/grid_item_resize.h"
-#include "livebox/grid_reposition.h"
-#include "livebox/livebox_utils.h"
-#include "livebox/livebox_widget.h"
-
-static Evas_Object *__livebox_panel_create_page(Evas_Object *livebox_scroller);
-static void __livebox_panel_freeze_scroller(void);
-static bool __livebox_panel_is_page_empty(Evas_Object *page);
-
-static void __livebox_panel_register_longpress_callbacks(Evas_Object *livebox_scroller,
-       Evas_Object *page_layout, Evas_Object *livebox);
-static void __livebox_panel_scrolled_cb(void *data, Evas_Object *obj,
-       void *event_info);
-static void __livebox_panel_page_changed_cb(void *data, Evas_Object *obj,
-       void *event_info);
-static void __livebox_panel_mouse_down_cb(void *data, Evas *evas, Evas_Object *object,
-       void *event_info);
-static void __livebox_panel_mouse_up_cb(void *data, Evas *evas, Evas_Object *object,
-       void *event_info);
-static Eina_Bool __livebox_panel_longpress_cb(void *data);
-
-static void __livebox_panel_update_edit_mode_layout(Evas_Object *livebox_scroller_layout);
-static void __livebox_panel_add_page_clicked_cb(void *data, Evas_Object *obj,
-       const char *emission, const char *source);
-
-static void __libebox_panel_toggle_selected_livebox(Evas_Object *livebox, Evas_Object *page);
-static void __livebox_panel_set_remove_buttons_visiblity(Evas_Object *page, bool visible);
-static void __livebox_panel_set_reposition_bg_visibility(bool visible);
-static void __livebox_panel_del_cb(void *data, Evas_Object *obj,
-       const char *emission, const char *source);
-static Evas_Object *__livebox_panel_get_widget_layout(Evas_Object *obj);
-
-static void __livebox_panel_scroll_start_cb(void *data, Evas_Object *obj, void *info);
-static Eina_Bool __livebox_panel_change_page_timer_start_cb(void *data);
-
-static void __livebox_panel_page_count_changed_cb(void *data, Evas_Object *obj,
-       const char *emission, const char *source);
-static void __livebox_panel_set_remove_button_visibility(Evas_Object *livebox,
-       bool visible);
-static void __livebox_panel_hide_remove_button(Evas_Object *livebox);
-
-static bool __livebox_panel_iterate_page_fill_cb(Tree_node_t *parent,
-       Tree_node_t *page_node, void *data);
-static bool __livebox_panel_iterate_node_fill_cb(Tree_node_t *page_node,
-       Tree_node_t *node, void *data);
-
-static void __livebox_panel_show_warning_popup(void);
-static bool __livebox_panel_find_empty_space(Evas_Object *page,
-       int span_w, int span_h, int *pos_x, int *pos_y);
-
-static int __livebox_panel_get_mouse_move_distance_square(int x, int y);
-
-static struct {
-       Ecore_Timer *longpress_timer;
-       int origination_page_num;
-       Ecore_Timer *page_change_timer;
-       int page_change;
-} livebox_reposition_info_s = {
-       .longpress_timer = NULL,
-       .origination_page_num = 0,
-       .page_change_timer = NULL,
-       .page_change = LIVEBOX_PAGE_NO_CHANGE,
-};
-
-
-static struct {
-       Evas_Object *livebox_page_scroller;
-       Evas_Object *livebox_page_box;
-       Evas_Object *add_page;
-       dynamic_index_t *dynamic_index;
-
-       Eina_List *livebox_page_list;
-
-       int pages_count;
-       int current_page;
-
-       bool edit_mode;
-
-       bool livebox_remove_button_state;
-
-       Eina_Bool is_resizing;
-       Eina_Bool is_longpress;
-
-       Evas_Object *item_moved;
-       Eina_Rectangle no_move_pos;
-       Evas_Point mouse_press_pos;
-
-} s_info = {
-       .livebox_page_scroller = NULL,
-       .livebox_page_box = NULL,
-       .add_page = NULL,
-       .dynamic_index = NULL,
-
-       .livebox_page_list = NULL,
-
-       .pages_count = 0,
-       .current_page = 0,
-
-       .edit_mode = false,
-
-       .livebox_remove_button_state = false,
-       .is_resizing = false,
-
-       .is_longpress = false,
-
-       .item_moved = NULL,
-       .no_move_pos.x = 0,
-       .no_move_pos.y = 0,
-       .no_move_pos.w = 0,
-       .no_move_pos.h = 0,
-
-       .mouse_press_pos = {-1, -1},
-};
-
-void livebox_panel_update_dynamic_index(void)
-{
-       if (!s_info.livebox_page_scroller) {
-               LOGE("s_info.livebox_page_scroller == NULL");
-               return;
-       }
-
-       elm_object_signal_emit(s_info.livebox_page_scroller,
-               SIGNAL_SCROLLER_PAGE_COUNT_CHANGED, SIGNAL_SOURCE);
-}
-
-void livebox_panel_create_dynamic_index(void)
-{
-       if (!s_info.livebox_page_scroller) {
-               LOGE("s_info.livebox_page_scroller == NULL");
-               return;
-       }
-
-
-       s_info.dynamic_index = dynamic_index_new(s_info.livebox_page_scroller);
-       if (!s_info.dynamic_index) {
-               LOGE("s_info.dynamic_index == NULL");
-               return;
-       }
-}
-
-void livebox_panel_fill(void)
-{
-       Tree_node_t *home = NULL;
-       int widget_pos_h = 0;
-
-       home = data_model_get_home();
-       if (!home) {
-               LOGE("home == NULL");
-               return;
-       }
-
-       if (home->count == 0) {
-               LOGW("home->count == NULL");
-               return;
-       } else {
-               LOGI("home->count == %d", home->count);
-       }
-
-       data_model_iterate_pages(home, __livebox_panel_iterate_page_fill_cb,
-               __livebox_panel_iterate_node_fill_cb, &widget_pos_h);
-       livebox_panel_create_dynamic_index();
-}
-
-Evas_Object *livebox_panel_create(Evas_Object *parent)
-{
-       Evas_Object *liveboxes = NULL;
-
-       if (!parent) {
-               LOGE("parent == NULL");
-               return NULL;
-       }
-
-       liveboxes = livebox_panel_create_scroller();
-       if (!liveboxes) {
-               LOGE("liveboxes == NULL");
-               return NULL;
-       }
-
-       livebox_widget_init();
-
-       return liveboxes;
-}
-
-void livebox_panel_set_content(Evas_Object *layout)
-{
-       if(s_info.dynamic_index->box)
-               elm_layout_content_set(layout, PART_INDEX, s_info.dynamic_index->box);
-}
-
-void livebox_panel_unset_content(Evas_Object *layout)
-{
-       Evas_Object *dynamic_index = NULL;
-
-       dynamic_index = elm_object_part_content_unset(layout, PART_INDEX);
-
-       if (!dynamic_index) {
-               LOGE("dyamic_index == NULL");
-               return;
-       }
-
-       evas_object_hide(dynamic_index);
-}
-
-
-Evas_Object *livebox_scroller_get_page(void)
-{
-       int current_page_number = page_scroller_get_current_page(
-               s_info.livebox_page_scroller);
-       return page_scroller_get_page(s_info.livebox_page_scroller,
-               current_page_number);
-}
-
-void livebox_panel_refresh_content_size(void)
-{
-       Evas_Object *page_container = NULL;
-       Evas_Object *item = NULL;
-       Eina_List *it = NULL;
-       Eina_List *items_in_grid = NULL;
-       Evas_Coord container_x = -1;
-       Evas_Coord container_y = -1;
-       Evas_Coord container_width = -1;
-       Evas_Coord container_height = -1;
-       Evas_Coord x = -1, y = -1, w = -1, h = -1;
-
-       if (!s_info.livebox_page_scroller) {
-               return;
-       }
-
-       page_container = page_scroller_get_page(
-               s_info.livebox_page_scroller,
-               page_scroller_get_current_page(s_info.livebox_page_scroller));
-
-       if (!page_container) {
-               LOGE("page_container == NULL");
-               return;
-       }
-
-       evas_object_geometry_get(s_info.livebox_page_scroller,
-               &container_x, &container_y, &container_width,
-               &container_height);
-
-       items_in_grid = livebox_utils_get_liveboxes_on_page_list(
-               page_container);
-
-       EINA_LIST_FOREACH(items_in_grid, it, item) {
-               if (!item) {
-                       LOGE("item == NULL");
-                       continue;
-               }
-
-               elm_grid_pack_get(item, &x, &y, &w, &h);
-               evas_object_move(item,
-                       (x*(container_width-LIVEBOX_HORIZONTAL_PADDING) / 100) +
-                       LIVEBOX_HORIZONTAL_PADDING / 2 + container_x,
-                       container_height * y / 100 + container_y);
-               evas_object_resize(item,
-                       (int)((float) w/100 * (container_width)) -
-                       (w * LIVEBOX_HORIZONTAL_PADDING)/100,
-                       (int)((float)h/100 * (container_height)) -
-                       (y*LIVEBOX_HORIZONTAL_PADDING)/100);
-       }
-}
-
-Evas_Object *livebox_panel_create_scroller(void)
-{
-       Evas_Object *livebox_page_scroller = NULL;
-       Evas_Object *win = home_screen_get_win();
-       Evas_Object *box = NULL;
-       Eina_List   *lvb_page_list = NULL;
-
-       int p_count = 0;
-       int cur_page = 0;
-
-       if (!win) {
-               LOGE("Window is NULL");
-               return NULL;
-       }
-
-       livebox_page_scroller =
-               page_scroller_create(home_screen_get_root_width(),
-               LIVEBOX_PAGE_HEIGHT_REL*home_screen_get_root_height());
-       if (!livebox_page_scroller) {
-               LOGE("Cannot create livebox page scroller");
-               return NULL;
-       }
-
-       box = elm_object_content_get(livebox_page_scroller);
-       if (!box) {
-               LOGE("Cannot get the box");
-               evas_object_del(livebox_page_scroller);
-               return NULL;
-       }
-
-       livebox_utils_create_shadow(livebox_page_scroller);
-       evas_object_smart_callback_add(livebox_page_scroller,
-               "scroll,drag,start", __livebox_panel_scroll_start_cb, NULL);
-       elm_object_signal_callback_add(livebox_page_scroller,
-               SIGNAL_SCROLLER_PAGE_COUNT_CHANGED, SIGNAL_LAYOUT_SOURCE,
-               __livebox_panel_page_count_changed_cb, NULL);
-
-       /*After creation empty one empty space should be created.*/
-
-       s_info.livebox_page_scroller = livebox_page_scroller;
-       s_info.current_page = cur_page;
-       s_info.pages_count = p_count;
-       s_info.livebox_page_list = lvb_page_list;
-
-       return livebox_page_scroller;
-}
-
-
-void livebox_panel_destroy(void)
-{
-       Eina_List *pages = s_info.livebox_page_list;
-
-       Evas_Object *livebox_scroller_page = NULL;
-
-       if (!pages) {
-               LOGE("Pages pointer is NULL");
-               return;
-       }
-
-       EINA_LIST_FREE(pages, livebox_scroller_page) {
-               livebox_panel_destroy_page(livebox_scroller_page);
-       }
-
-       page_scroller_destroy(s_info.livebox_page_scroller);
-
-       livebox_widget_fini();
-}
-
-void livebox_panel_paused(void)
-{
-       livebox_widget_viewer_paused();
-}
-
-void livebox_panel_resumed(void)
-{
-       livebox_widget_viewer_resumed();
-}
-
-void livebox_panel_add_livebox(Tree_node_t *node, Evas_Object *page,
-       const char *livebox_pkgname, int pos_x, int pos_y,
-       int width, int height,
-       char *content_info)
-{
-       Evas_Object *livebox = NULL;
-       Evas_Object *livebox_layout = NULL;
-       Evas_Object *grid = NULL;
-       int ret = 0;
-
-
-       livebox_layout = elm_layout_add(s_info.livebox_page_scroller);
-       if (!livebox_layout) {
-               evas_object_del(page);
-               LOGE("livebox_layout is not created");
-               return;
-       }
-
-       if (!node) {
-               LOGE("node == NULL");
-               return;
-       }
-
-#ifdef LIVEBOX_RESIZE_TEST
-       livebox = elm_image_add(livebox_layout);
-#else
-       livebox = livebox_widget_add(livebox_pkgname, livebox_layout, content_info);
-#endif
-
-       if (!livebox) {
-               LOGE("Livebox is not created");
-               return;
-       }
-
-       node->data->layout = livebox_layout;
-       evas_object_data_set(livebox_layout, KEY_ICON_DATA, node);
-
-       ret = elm_layout_file_set(livebox_layout, util_get_res_file_path(EDJE_LIVEBOX_LAYOUT_FILENAME),
-               GROUP_LIVEBOX_LAYOUT);
-       if (ret != EINA_TRUE) {
-               LOGE("Can not set layout file");
-               return;
-       }
-
-       ret = elm_layout_content_set(livebox_layout, PART_LIVEBOX, livebox);
-       if (ret != EINA_TRUE) {
-               LOGE("Can not set layout file");
-               return;
-       }
-
-       evas_object_size_hint_weight_set(livebox_layout, EVAS_HINT_EXPAND,
-               EVAS_HINT_EXPAND);
-
-       evas_object_show(livebox);
-       evas_object_show(livebox_layout);
-
-       elm_layout_signal_callback_add(livebox_layout, SIGNAL_CLICKED,
-               SIGNAL_REMOVE_SOURCE, __livebox_panel_del_cb, NULL);
-
-       grid = elm_object_part_content_get(page, SIGNAL_CONTENT_SOURCE);
-       if (!grid) {
-               LOGE("grid == NULL");
-               return;
-       }
-
-       elm_grid_pack(grid,
-               livebox_layout, pos_x * LIVEBOX_GRID_ROWS_CELLS_MULTI,
-               pos_y * LIVEBOX_GRID_ROWS_CELLS_MULTI,
-               width * LIVEBOX_GRID_ROWS_CELLS_MULTI,
-               height * LIVEBOX_GRID_ROWS_CELLS_MULTI);
-
-       __livebox_panel_register_longpress_callbacks(NULL, page, livebox_layout);
-
-       LOGD("Adding [%s] at: [%d, %d] <>[%d, %d]",
-               livebox_pkgname, pos_x, pos_y, width, height);
-}
-
-
-Evas_Object *livebox_panel_add_page(Tree_node_t *node,
-       Evas_Object *livebox_scroller)
-{
-       Evas_Object *page = NULL;
-
-       page = livebox_panel_create_empty_page(node, livebox_scroller);
-
-       if (!page) {
-               LOGE("page == NULL");
-               return NULL;
-       }
-
-       if (!page_scroller_add_page(livebox_scroller, page)) {
-               LOGE("Can not create page");
-
-               livebox_panel_destroy_page(page);
-               return NULL;
-       }
-
-       /*update pages list*/
-       s_info.livebox_page_list = page_scroller_get_all_pages(
-               livebox_scroller);
-       __livebox_panel_freeze_scroller();
-
-       return page;
-}
-
-bool livebox_panel_add_empty_page(Evas_Object *livebox_scroller)
-{
-       /*@todo add check if page count will not be over the limit*/
-       Evas_Object *page = __livebox_panel_create_page(livebox_scroller);
-       return page_scroller_add_page(livebox_scroller, page);
-}
-
-
-Evas_Object *livebox_panel_create_empty_page(Tree_node_t *node,
-       Evas_Object *livebox_scroller)
-{
-       Evas_Object *page = NULL;
-
-       if (!livebox_scroller) {
-               LOGE("Livebox panel is NULL");
-               return NULL;
-       }
-
-       if (!node) {
-               LOGE("node == NULL");
-               return NULL;
-       }
-
-       page = __livebox_panel_create_page(livebox_scroller);
-       if (!page) {
-               LOGE("page == NULL");
-               return NULL;
-       }
-
-       evas_object_data_set(page, KEY_ICON_DATA, node);
-
-       return page;
-}
-
-
-void livebox_panel_change_edit_mode_state(bool close)
-{
-       Evas_Object *livebox_scroller = s_info.livebox_page_scroller;
-       if (!livebox_scroller) {
-               LOGE("Livebox panel is NULL");
-               return;
-       }
-
-       if (!s_info.edit_mode && close) {
-               /*if edit mode is disabled closing doesn't take any effect*/
-               return;
-       }
-
-       if (s_info.edit_mode && close) {
-               s_info.edit_mode = false;
-               /*closing edit mode*/
-               __livebox_panel_update_edit_mode_layout(livebox_scroller);
-       } else if (!s_info.edit_mode) {
-               s_info.edit_mode = true;
-               __livebox_panel_update_edit_mode_layout(livebox_scroller);
-       }
-}
-
-void livebox_panel_destroy_page(Evas_Object *livebox_scroller_page)
-{
-       Eina_List *lb_layouts_list = NULL;
-       Eina_List *l               = NULL;
-       Evas_Object *lb_layout     = NULL;
-       Evas_Object *widget        = NULL;
-       Tree_node_t *page_node = NULL;
-
-       if (!livebox_scroller_page) {
-               LOGE("Livebox panel is NULL");
-               return;
-       }
-
-       page_node = evas_object_data_get(livebox_scroller_page, KEY_ICON_DATA);
-       if (!page_node) {
-               LOGE("page_node == NULL");
-               return;
-       }
-
-       data_model_del_item(page_node);
-
-       lb_layouts_list = livebox_utils_get_liveboxes_on_page_list(
-               livebox_scroller_page);
-       if (!lb_layouts_list) {
-               LOGE("pages == NULL");
-               evas_object_del(livebox_scroller_page);
-               home_screen_print_tree();
-               return;
-       }
-
-       EINA_LIST_FOREACH(lb_layouts_list, l, lb_layout) {
-               widget = __livebox_panel_get_widget_layout(lb_layout);
-               if (!widget) {
-                       LOGE("widget == NULL");
-                       continue;
-               }
-
-               livebox_widget_del(widget);
-               evas_object_del(lb_layout);
-       }
-
-       eina_list_free(lb_layouts_list);
-       evas_object_del(livebox_scroller_page);
-
-       __livebox_panel_freeze_scroller();
-       home_screen_print_tree();
-}
-
-bool livebox_panel_is_add_page_selected(void)
-{
-       int current_page_number = page_scroller_get_current_page(
-               s_info.livebox_page_scroller);
-       Evas_Object *page_container = page_scroller_get_page(
-               s_info.livebox_page_scroller, current_page_number);
-
-       return (page_container == s_info.add_page &&
-               livebox_panel_check_if_add_page_is_visible());
-}
-
-void livebox_panel_move_mouse_cb(int x, int y)
-{
-       int mouse_move_distance = __livebox_panel_get_mouse_move_distance_square(x, y);
-
-       if (mouse_move_distance > LIVEBOX_MIN_MOUSE_MOVE) {
-               ecore_timer_del(livebox_reposition_info_s.longpress_timer);
-               livebox_reposition_info_s.longpress_timer = NULL;
-
-               if(!s_info.is_longpress)
-                       page_scroller_unfreeze(s_info.livebox_page_scroller);
-       }
-
-       if (s_info.is_longpress &&
-               !livebox_reposition_info_s.page_change_timer) {
-               if (x < LIVEBOX_PAGE_CHANGE_RECT_SIZE) {
-                       livebox_reposition_info_s.page_change_timer =
-                       ecore_timer_add(LIVEBOX_PAGE_CHANGE_PERIOD,
-                               __livebox_panel_change_page_timer_start_cb, (void *)false);
-                       LOGI("PAGE CHANGE TIMER CREATED <LEFT>");
-               } else if (x > home_screen_get_root_width() -
-                       LIVEBOX_PAGE_CHANGE_RECT_SIZE) {
-                       livebox_reposition_info_s.page_change_timer =
-                               ecore_timer_add(LIVEBOX_PAGE_CHANGE_PERIOD,
-                                       __livebox_panel_change_page_timer_start_cb, (void *)true);
-                       LOGI("PAGE CHANGE TIMER CREATED <RIGHT>");
-               }
-
-               grid_reposition_move(x, y);
-       } else if (livebox_reposition_info_s.page_change_timer &&
-                       x > LIVEBOX_PAGE_CHANGE_RECT_SIZE &&
-                       x < home_screen_get_root_width() -
-                       LIVEBOX_PAGE_CHANGE_RECT_SIZE) {
-               ecore_timer_del(livebox_reposition_info_s.page_change_timer);
-               livebox_reposition_info_s.page_change_timer = NULL;
-               LOGI("PAGE CHANGE TIMER DESTROYED");
-
-               grid_reposition_move(x, y);
-       }
-}
-
-Eina_List *livebox_panel_get_pages(void)
-{
-       return s_info.livebox_page_list;
-}
-
-Evas_Object *livebox_panel_get(void)
-{
-       return s_info.livebox_page_scroller;
-}
-
-Evas_Object *livebox_panel_get_index(void)
-{
-       if (!s_info.dynamic_index) {
-               LOGE("s_info.dynamic_index == NULL");
-               return NULL;
-       }
-
-       if (!s_info.dynamic_index->box) {
-               LOGE("s_info.dynamic_index->box == NULL");
-               return NULL;
-       }
-
-       return s_info.dynamic_index->box;
-}
-
-bool livebox_panel_check_if_add_page_is_visible(void)
-{
-       Evas_Object *lvb_scorller = NULL;
-       Evas_Object *page = NULL;
-       Evas_Object *page_edje = NULL;
-
-       int p_count = -1;
-       const char *state = NULL;
-
-       lvb_scorller = s_info.livebox_page_scroller;
-       if (!lvb_scorller) {
-               LOGE("Faield to get livebox scroller");
-               return false;
-       }
-
-       p_count = page_scroller_get_page_count(lvb_scorller);
-       if (p_count < 0) {
-               LOGE("Failed to get page count");
-               return false;
-       }
-
-       LOGD("p_count is %d ", p_count);
-
-       page = page_scroller_get_page(lvb_scorller, --p_count);
-       if (!page) {
-               LOGE("Failed to get page");
-               return false;
-       }
-
-       page_edje = elm_layout_edje_get(page);
-       if (!page_edje) {
-               LOGE("Failed to get page edje");
-               return false;
-       }
-
-       state = edje_object_part_state_get(page_edje,
-               PART_ADD_PAGE_BUTTON, NULL);
-
-       if (!state) {
-               LOGE("Failed to get state");
-               return false;
-       }
-
-       LOGD("state is : %s ", state);
-
-       return strncmp(state, "default", LIVEBOX_MAX_STATE_LEN);
-}
-
-void livebox_panel_set_edit_mode_layout(bool turn_on)
-{
-       Evas_Object *lvb_scorller = NULL;
-       Evas_Object *page = NULL;
-       char *signal_to_send = NULL;
-       Eina_List *all_pages = NULL;
-       Eina_List *it = NULL;
-
-       lvb_scorller = s_info.livebox_page_scroller;
-       if (!lvb_scorller) {
-               LOGE("Failed to get livebox scroller");
-               return;
-       }
-
-       all_pages = page_scroller_get_all_pages(lvb_scorller);
-       if (!all_pages) {
-               LOGE("Failed to get page");
-               return;
-       }
-
-       if (turn_on) {
-               signal_to_send = SIGNAL_EDIT_START;
-       } else {
-               signal_to_send = SIGNAL_EDIT_STOP;
-       }
-
-       EINA_LIST_FOREACH(all_pages, it, page) {
-               if (!page) {
-                       LOGE("page == NULL");
-                       continue;
-               }
-
-               elm_object_signal_emit(page, signal_to_send,
-                       SIGNAL_LAYOUT_SOURCE);
-       }
-}
-
-void livebox_panel_add_page_visible_state_set(bool visible)
-{
-       Evas_Object *page = NULL;
-
-       page = livebox_scroller_get_last_page();
-       if (!page) {
-               LOGE("page == NULL");
-               return;
-       }
-
-       if (visible) {
-               s_info.add_page = page;
-
-               elm_object_signal_emit(page, SIGNAL_ADD_SHOW,
-                       SIGNAL_LAYOUT_SOURCE);
-               elm_object_signal_emit(page, SIGNAL_EDIT_START,
-                       SIGNAL_LAYOUT_SOURCE);
-       } else {
-               elm_object_signal_emit(page, SIGNAL_ADD_HIDE,
-                       SIGNAL_LAYOUT_SOURCE);
-       }
-}
-
-bool livebox_panel_can_add_page(void)
-{
-       int count = 0;
-       Eina_List *pages = page_scroller_get_all_pages(livebox_panel_get());
-       count = eina_list_count(pages);
-
-
-       if (count < LIVEBOX_SCROLLER_MAX_PAGES) {
-               return true;
-       } else if (count == LIVEBOX_SCROLLER_MAX_PAGES &&
-               livebox_panel_check_if_add_page_is_visible()) {
-               return true;
-       }
-
-       __livebox_panel_show_warning_popup();
-       return false;
-
-}
-
-int livebox_panel_find_empty_space(int span_w, int span_h,
-       int *pos_x, int *pos_y)
-{
-       Evas_Object *current_page = NULL;
-       Evas_Object *page = NULL;
-       Eina_List *l = NULL;
-       int page_index = -1;
-
-       Eina_List *pages = page_scroller_get_all_pages(livebox_panel_get());
-       if (!pages) {
-               LOGE("pages == NULL");
-               return -1;
-       }
-
-
-       current_page = livebox_scroller_get_page();
-       if (!current_page) {
-               LOGE("current_page == NULL");
-               eina_list_free(pages);
-               return -1;
-       }
-
-       if (__livebox_panel_find_empty_space(current_page,
-               span_w, span_h, pos_x, pos_y)) {
-               eina_list_free(pages);
-               return page_scroller_get_current_page(livebox_panel_get());
-       }
-
-       EINA_LIST_FOREACH(pages, l, page) {
-               ++page_index;
-
-               if (!page) {
-                       LOGE("page == NULL");
-                       continue;
-               }
-
-               if (page == current_page)
-                       continue;
-
-               if (__livebox_panel_find_empty_space(page, span_w, span_h,
-                       pos_x, pos_y)) {
-                       eina_list_free(pages);
-                       return page_index;
-               }
-       }
-
-       eina_list_free(pages);
-       return -1;
-}
-
-static int __livebox_panel_get_mouse_move_distance_square(int x, int y)
-{
-       int dx = x - s_info.mouse_press_pos.x;
-       int dy = y - s_info.mouse_press_pos.y;
-
-       return (dx * dx) + (dy * dy);
-}
-
-static bool __livebox_panel_find_empty_space(Evas_Object *page, int span_w,
-       int span_h, int *pos_x, int *pos_y)
-{
-       Evas_Object *livebox;
-       Eina_List *l;
-       Eina_List *livebox_list = NULL;
-       Eina_Rectangle *grid_item_rec =  NULL;
-       int y = 0;
-       bool ret = true;
-
-       livebox_list = livebox_utils_get_liveboxes_on_page_list(page);
-       if (!livebox_list) {
-               LOGE("livebox_list == NULL");
-               *pos_y = 0;
-               *pos_x = 0;
-               return true;
-       }
-
-       if (eina_list_count(livebox_list) == 0) {
-               *pos_y = 0;
-               *pos_x = 0;
-               eina_list_free(livebox_list);
-               return true;
-       }
-
-       Eina_Rectangle *moved_item_rec = eina_rectangle_new(0, 0,
-               span_w, span_h);
-       if (!moved_item_rec) {
-               LOGE("moved_item_rec == NULL");
-               eina_list_free(livebox_list);
-               return false;
-       }
-
-       for (y = 0; y + span_h <= LIVEBOX_GRID_ROWS; ++y) {
-               moved_item_rec->y = y;
-
-               EINA_LIST_FOREACH(livebox_list, l, livebox) {
-                       grid_item_rec = livebox_utils_get_grid_widget_rectangle(
-                               livebox);
-                       if (!grid_item_rec) {
-                               LOGE("grid_item_rec == NULL");
-                               eina_rectangle_free(grid_item_rec);
-                               continue;
-                       }
-
-                       if (eina_rectangle_intersection(moved_item_rec,
-                               grid_item_rec)) {
-                               ret = false;
-                               eina_rectangle_free(grid_item_rec);
-                               break;
-                       } else {
-                               *pos_y = y;
-                               *pos_x = 0;
-                               ret = true;
-                       }
-
-                       eina_rectangle_free(grid_item_rec);
-               }
-
-               if (ret) {
-                       eina_list_free(livebox_list);
-                       eina_rectangle_free(moved_item_rec);
-                       return true;
-               }
-       }
-
-       eina_rectangle_free(moved_item_rec);
-       eina_list_free(livebox_list);
-       return false;
-}
-
-static void __livebox_panel_show_warning_popup(void)
-{
-       popup_data_t *data = popup_create_data();
-       if (!data) {
-               LOGE("data == NULL");
-               return;
-       }
-
-       data->orientation        = ELM_POPUP_ORIENT_CENTER;
-       data->popup_cancel_text  = NULL;
-       data->popup_confirm_text = NULL;
-       data->popup_content_text = strdup(_("IDS_HS_POP_THERE_IS_NOT_ENOUGH_SPACE_ON_THE_HOME_SCREEN_REMOVE_SOME_WIDGETS_AND_TRY_AGAIN"));
-       data->popup_title_text   = NULL;
-       data->type               = POPUP_INFO;
-       data->visible_time       = 5.0;
-
-       popup_show(data, NULL, NULL, NULL);
-}
-
-static void __livebox_panel_freeze_scroller(void)
-{
-
-       if (page_scroller_get_page_count(s_info.livebox_page_scroller) > 1) {
-               page_scroller_unfreeze(s_info.livebox_page_scroller);
-       } else {
-               page_scroller_freeze(s_info.livebox_page_scroller);
-       }
-}
-
-static void __livebox_panel_page_count_changed_cb(void *data, Evas_Object *obj,
-       const char *emission, const char *source)
-{
-       __livebox_panel_freeze_scroller();
-}
-
-
-static Evas_Object *__livebox_panel_create_page(Evas_Object *livebox_scroller)
-{
-       Evas_Object *grid = NULL;
-       Evas_Object *rect = NULL;
-
-       Evas_Object *livebox_container = util_create_edje_layout(
-               livebox_scroller, util_get_res_file_path(EDJE_LIVEBOX_CONTAINER_FILENAME),
-               GROUP_LIVEBOX_CONTAINER);
-
-       if (!livebox_container) {
-               LOGE("Cannot create scroller layout");
-               return NULL;
-       }
-
-       grid = elm_grid_add(livebox_container);
-       if (!grid) {
-               LOGE("grid == NULL");
-               evas_object_del(livebox_container);
-               return NULL;
-       }
-
-       evas_object_size_hint_weight_set(grid, EVAS_HINT_EXPAND,
-               EVAS_HINT_EXPAND);
-       evas_object_size_hint_align_set(grid, EVAS_HINT_FILL,
-               EVAS_HINT_FILL);
-       elm_grid_size_set(grid, LIVEBOX_TOTAL_COLUMNS, LIVEBOX_TOTAL_ROWS);
-
-       elm_object_part_content_set(livebox_container, SIGNAL_CONTENT_SOURCE,
-               grid);
-       livebox_utils_create_grid_shadow_clipper(livebox_container);
-
-       rect = evas_object_rectangle_add(evas_object_evas_get(
-               livebox_container));
-       if (!rect) {
-               LOGE("rect == NULL");
-               evas_object_del(grid);
-               evas_object_del(livebox_container);
-               return NULL;
-       }
-
-
-       evas_object_color_set(rect, 0, 0, 0, 0);
-       evas_object_size_hint_min_set(rect, home_screen_get_root_width(),
-               LIVEBOX_SIZE_REL * home_screen_get_root_height() -
-                       (2.0*LIVEBOX_X_MIN * home_screen_get_root_width()));
-       evas_object_size_hint_max_set(rect, home_screen_get_root_width(),
-               LIVEBOX_SIZE_REL * home_screen_get_root_height() -
-                       (2.0*LIVEBOX_X_MIN * home_screen_get_root_width()));
-
-       elm_object_part_content_set(livebox_container, PART_PAGE_BG, rect);
-
-       elm_object_signal_emit(livebox_container, SIGNAL_RESIZE_SLIDERS_HIDE,
-               SIGNAL_LIVEBOX_SOURCE);
-       elm_object_signal_callback_add(livebox_container,
-               SIGNAL_ADD_PAGE_CLICKED, SIGNAL_LAYOUT_SOURCE,
-               __livebox_panel_add_page_clicked_cb, NULL);
-
-       grid_item_init_resize_callbacks(livebox_scroller, livebox_container);
-
-       return livebox_container;
-}
-
-
-static void __livebox_panel_update_edit_mode_layout(Evas_Object *livebox_scroller_scroller)
-{
-       Eina_List *livebox_container_list;
-       Eina_List *node;
-       Evas_Object *livebox_container = NULL;
-
-       if (!livebox_scroller_scroller) {
-               LOGE("Livebox panel layout is NULL");
-               return;
-       }
-
-       livebox_container_list = page_scroller_get_all_pages(
-               livebox_scroller_scroller);
-       if (s_info.edit_mode) {
-               EINA_LIST_FOREACH(livebox_container_list, node,
-                       livebox_container)
-               {
-                       if (!livebox_container) {
-                               LOGE("livebox_container == NULL");
-                               continue;
-                       }
-
-                       if (!__livebox_panel_is_page_empty(livebox_container)) {
-                               __livebox_panel_set_remove_buttons_visiblity(
-                                       livebox_container, true);
-                       } else {
-                               elm_object_signal_emit(livebox_container,
-                                       SIGNAL_EMPTY_PAGE_EDIT_START,
-                                       SIGNAL_LIVEBOX_SOURCE);
-                       }
-                       elm_object_signal_emit(livebox_container,
-                               SIGNAL_EDIT_START, SIGNAL_LIVEBOX_SOURCE);
-               }
-       } else {
-               EINA_LIST_FOREACH(livebox_container_list, node,
-                       livebox_container) {
-                       if (!livebox_container) {
-                               LOGE("livebox_container == NULL");
-                               continue;
-                       }
-
-                       __livebox_panel_set_remove_buttons_visiblity(livebox_container,
-                               false);
-
-                       elm_object_signal_emit(livebox_container,
-                               SIGNAL_EMPTY_PAGE_EDIT_STOP,
-                               SIGNAL_LIVEBOX_SOURCE);
-                       elm_object_signal_emit(livebox_container,
-                               SIGNAL_EDIT_STOP, SIGNAL_LIVEBOX_SOURCE);
-
-                       elm_object_signal_emit(livebox_container,
-                        SIGNAL_RESIZE_SLIDERS_HIDE, SIGNAL_LIVEBOX_SOURCE);
-               }
-       }
-
-       eina_list_free(livebox_container_list);
-}
-
-static bool __livebox_panel_is_page_empty(Evas_Object *page)
-{
-       Eina_List *lb_list = NULL;
-
-       if (!page) {
-               LOGE("page == NULL");
-               return true;
-       }
-
-       if (page == s_info.add_page &&
-               livebox_panel_check_if_add_page_is_visible()) {
-               return false;
-       }
-
-       lb_list = livebox_utils_get_liveboxes_on_page_list(page);
-       if (!lb_list) {
-               LOGD("lb_list == NULL");
-               return true;
-       }
-
-       if (eina_list_count(lb_list) > 0) {
-               return false;
-       }
-
-       return true;
-}
-
-
-static void _livebox_remove_button_mouse_cb(void *data, Evas_Object *obj,
-       const char *emission, const char *source)
-{
-       LOGD("rm btn %s", emission);
-
-       if (!obj) {
-               LOGE("obj == NULL");
-               return;
-       }
-
-       s_info.livebox_remove_button_state = (bool) strstr(emission,
-               "mouse,down");
-}
-
-static void __livebox_panel_register_longpress_callbacks(Evas_Object *livebox_scroller,
-       Evas_Object *page_layout, Evas_Object *livebox)
-{
-       Evas_Object *scroller = s_info.livebox_page_scroller;
-
-       evas_object_event_callback_add(livebox, EVAS_CALLBACK_MOUSE_DOWN,
-               __livebox_panel_mouse_down_cb, page_layout);
-       evas_object_event_callback_add(livebox, EVAS_CALLBACK_MOUSE_UP,
-               __livebox_panel_mouse_up_cb, livebox_scroller);
-       elm_layout_signal_callback_add(livebox, SIGNAL_MOUSE_DOWN,
-               SIGNAL_REMOVE_SOURCE, _livebox_remove_button_mouse_cb, NULL);
-       elm_layout_signal_callback_add(livebox, SIGNAL_MOUSE_UP,
-               SIGNAL_REMOVE_SOURCE, _livebox_remove_button_mouse_cb, NULL);
-
-       if (scroller) {
-               /*this callback should abort longpress*/
-               evas_object_smart_callback_add(scroller,
-                       SIGNAL_SCROLLER_DRAG_START, __livebox_panel_scrolled_cb,
-                       NULL);
-               evas_object_smart_callback_add(scroller,
-                       SIGNAL_SCROLLER_SCROLL, __livebox_panel_page_changed_cb,
-                       NULL);
-       }
-}
-
-
-static void __livebox_panel_mouse_down_cb(void *data, Evas *evas,
-       Evas_Object *object, void *event_info)
-{
-       Evas_Event_Mouse_Down *ev = (Evas_Event_Mouse_Down *) event_info;
-       int current_page_number = page_scroller_get_current_page(
-               s_info.livebox_page_scroller);
-       Evas_Object *page_layout = page_scroller_get_page(
-               s_info.livebox_page_scroller, current_page_number);
-       int obj_x = 0, obj_y = 0, obj_w = 0, obj_h = 0;
-       Evas_Object *widget = NULL;
-
-       if (!ev || !page_layout) {
-               LOGE("Invalid event info");
-               return;
-       }
-
-       page_scroller_freeze(s_info.livebox_page_scroller);
-
-       s_info.mouse_press_pos.x = ev->output.x;
-       s_info.mouse_press_pos.y = ev->output.y;
-
-       evas_object_geometry_get(object, &obj_x, &obj_y, &obj_w, &obj_h);
-
-       if (s_info.edit_mode) {
-
-               widget = elm_layout_content_get(object, PART_LIVEBOX);
-               if (!widget) {
-                       LOGE("widget == NULL");
-                       return;
-               }
-
-               livebox_widget_set_event_blocking(widget);
-       }
-
-       if (livebox_reposition_info_s.longpress_timer) {
-               LOGD("Longpress timer existed - this should not happen");
-               ecore_timer_del(livebox_reposition_info_s.longpress_timer);
-               livebox_reposition_info_s.longpress_timer = NULL;
-       }
-
-       if (!s_info.livebox_remove_button_state) {
-               livebox_reposition_info_s.longpress_timer = ecore_timer_add(
-                       LIVEBOX_LONGPRESS_TIME, __livebox_panel_longpress_cb, object);
-       } else {
-               LOGD("Remove button pressed");
-       }
-}
-
-static void __libebox_panel_toggle_selected_livebox(Evas_Object *livebox, Evas_Object *page)
-{
-       Evas_Object *prev_selected_page = NULL;
-
-       if (!livebox) {
-               LOGE("livebox == NULL");
-               return;
-       }
-
-       if (!page) {
-               LOGE("page == NULL");
-               return;
-       }
-
-       livebox_utils_set_selected_livebox(livebox, page);
-       prev_selected_page = livebox_utils_get_prev_livebox_layout();
-       if (prev_selected_page && page != prev_selected_page) {
-       /*page != prev_selected_page' when page is not change the sliders
-       should not disappear */
-               LOGD("Previous page found");
-               elm_object_signal_emit(prev_selected_page,
-                       SIGNAL_RESIZE_SLIDERS_HIDE, SIGNAL_LIVEBOX_SOURCE);
-               elm_object_signal_emit(prev_selected_page,
-                       SIGNAL_GRID_SHADOW_HIDE, PART_GRID_BG);
-       }
-}
-
-static void __livebox_panel_mouse_up_cb(void *data, Evas *evas,
-       Evas_Object *object, void *event_info)
-{
-       int current_page_number = page_scroller_get_current_page(
-               s_info.livebox_page_scroller);
-       Evas_Object *livebox_container = page_scroller_get_page(
-               s_info.livebox_page_scroller, current_page_number);
-
-       s_info.is_longpress = false;
-       page_scroller_unfreeze(s_info.livebox_page_scroller);
-
-       __livebox_panel_freeze_scroller();
-
-       __livebox_panel_set_remove_button_visibility(
-               grid_reposition_get_repositioned_item(), true);
-       __livebox_panel_set_reposition_bg_visibility(false);
-       elm_object_signal_emit(livebox_container, SIGNAL_GRID_SHADOW_HIDE, PART_GRID_BG);
-
-       grid_reposition_end();
-       livebox_utils_set_shadow_visibility(false);
-
-       LOGD("PAGE CHANGE TIMER DEL: %p",
-               livebox_reposition_info_s.page_change_timer);
-       ecore_timer_del(livebox_reposition_info_s.page_change_timer);
-       livebox_reposition_info_s.page_change_timer = NULL;
-
-       if (livebox_reposition_info_s.longpress_timer) {
-               LOGD("NOT LONGPRESS");
-               ecore_timer_del(livebox_reposition_info_s.longpress_timer);
-
-               if (home_screen_get_view_type() != HOMESCREEN_VIEW_HOME_EDIT) {
-                       LOGD("No edit mode exiting...");
-                       return;
-               }
-
-               livebox_reposition_info_s.longpress_timer = NULL;
-               __libebox_panel_toggle_selected_livebox(object, livebox_container);
-               grid_item_set_resize_livebox_sliders(object, livebox_container);
-       }
-}
-
-static void __livebox_panel_scrolled_cb(void *data, Evas_Object *obj,
-       void *event_info)
-{
-       if (livebox_reposition_info_s.longpress_timer) {
-               ecore_timer_del(livebox_reposition_info_s.longpress_timer);
-               livebox_reposition_info_s.longpress_timer = NULL;
-       }
-}
-
-static void __livebox_panel_page_changed_cb(void *data, Evas_Object *obj,
-       void *event_info)
-{
-       /*livebox_utils_set_shadow_visibility(false);*/
-}
-
-
-static Eina_Bool _longpress_timer_cb(void *data)
-{
-       grid_reposition_start();
-       __livebox_panel_hide_remove_button(
-               grid_reposition_get_repositioned_item());
-       __livebox_panel_set_reposition_bg_visibility(true);
-
-       return ECORE_CALLBACK_CANCEL;
-}
-
-/*@todo add check to proceed only if edit mode is ON*/
-static Eina_Bool __livebox_panel_longpress_cb(void *data)
-{
-       LOGD("Longpress!");
-       int current_page_number = page_scroller_get_current_page(
-               s_info.livebox_page_scroller);
-       Evas_Object *longpressed_page = page_scroller_get_page(
-               s_info.livebox_page_scroller, current_page_number);
-
-       livebox_reposition_info_s.longpress_timer = NULL;
-       Evas_Object *livebox = (Evas_Object *) data;
-       Evas_Object *widget = elm_layout_content_get(livebox, PART_LIVEBOX);
-
-       if (!widget) {
-               LOGE("widget == NULL");
-               return EINA_FALSE;
-       }
-       livebox_widget_set_event_blocking(widget);
-
-       if (!longpressed_page) {
-               LOGE("No longpressed object stored");
-               return EINA_FALSE;
-       }
-
-       if (s_info.is_resizing)
-               return EINA_FALSE;
-
-
-       if (s_info.livebox_remove_button_state)
-               return EINA_FALSE;
-
-       s_info.is_longpress = true;
-
-       __libebox_panel_toggle_selected_livebox(livebox, longpressed_page);
-       elm_object_signal_emit(longpressed_page, SIGNAL_GRID_SHADOW_SHOW, PART_GRID_BG);
-
-       grid_item_set_resize_sliders_visibility(longpressed_page, false);
-       grid_reposition_init(livebox_utils_get_livebox_container_grid(
-               longpressed_page), livebox);
-       page_scroller_freeze(s_info.livebox_page_scroller);
-
-       if (home_screen_get_view_type() != HOMESCREEN_VIEW_HOME_EDIT) {
-               home_screen_set_view_type(HOMESCREEN_VIEW_HOME_EDIT);
-               livebox_panel_set_edit_mode_layout(true);
-               livebox_panel_change_edit_mode_state(false);
-               ecore_timer_add(0.1, _longpress_timer_cb, longpressed_page);
-       } else {
-               grid_reposition_start();
-               __livebox_panel_hide_remove_button(livebox);
-               __livebox_panel_set_reposition_bg_visibility(true);
-       }
-
-       return EINA_FALSE;
-}
-
-static void __livebox_panel_add_page_clicked_cb(void *data, Evas_Object *obj,
-       const char *emission, const char *source)
-{
-       Evas_Object *lvb_scorller = NULL;
-       int page_count = -1;
-
-       lvb_scorller = livebox_panel_get();
-       if (!lvb_scorller) {
-               LOGE("Failed to get scroller");
-               return;
-       }
-
-       page_count = page_scroller_get_page_count(lvb_scorller);
-
-       if (page_count < LIVEBOX_SCROLLER_MAX_PAGES) {
-               /*remove add_page button from last page*/
-               livebox_panel_add_page_visible_state_set(false);
-
-               /*add new page*/
-               livebox_panel_add_empty_page(lvb_scorller);
-
-               /*show add button on last page*/
-               livebox_panel_add_page_visible_state_set(true);
-       } else {
-               livebox_panel_add_page_visible_state_set(false);
-               /*elm_object_signal_emit(dynamic_index->indices[5],
-               EDJE_SIGNAL_ADD_PAGE_HIDE, EDJE_SIGNAL_LAYOUT_SOURCE);*/
-       }
-
-       elm_object_signal_emit(lvb_scorller, SIGNAL_SCROLLER_PAGE_COUNT_CHANGED,
-                       SIGNAL_LAYOUT_SOURCE);
-}
-
-Evas_Object *livebox_scroller_get_last_page(void)
-{
-       Evas_Object *lvb_scorller = NULL;
-       Evas_Object *page = NULL;
-
-       Eina_List *all_pages = NULL;
-       int page_count = -1;
-
-       lvb_scorller = s_info.livebox_page_scroller;
-       if (!lvb_scorller) {
-               LOGE("Failed to get livebox scroller");
-               return NULL;
-       }
-
-       all_pages = page_scroller_get_all_pages(lvb_scorller);
-       if (!all_pages) {
-               LOGE("Failed to get page");
-               return NULL;
-       }
-
-       page_count = eina_list_count(all_pages);
-       if (!page_count) {
-               LOGE("Failed to get page count!");
-               return NULL;
-       }
-
-       page = eina_list_nth(all_pages, --page_count);
-       if (!page) {
-               LOGE("Failed to get page");
-               return NULL;
-       }
-
-       return page;
-}
-
-static void __livebox_panel_scroll_start_cb(void *data, Evas_Object *obj, void *info)
-{
-       Evas_Object *page = livebox_utils_get_selected_livebox_layout();
-       if (!page) {
-               LOGE("page == NULL");
-               return;
-       }
-
-       grid_item_set_resize_sliders_visibility(page, false);
-}
-
-
-static Eina_Bool __livebox_panel_change_page_timer_start_cb(void *data)
-{
-       bool is_right = (bool)data;
-       int page_count =  -1;
-       int current_page = -1;
-       Evas_Object *grid = NULL;
-       Evas_Object *page = NULL;
-       int mx = -1, my = -1;
-
-       if (!s_info.livebox_page_scroller) {
-               LOGE("s_info.livebox_page_scroller == NULL");
-               return false;
-       }
-
-       page_count =  page_scroller_get_page_count(
-               s_info.livebox_page_scroller);
-       current_page = page_scroller_get_current_page(
-               s_info.livebox_page_scroller);
-
-       LOGD("PAGE CHANGE... %s", is_right ? "Going right" : "Going left");
-
-       livebox_utils_repack_grid_object(NULL, livebox_utils_get_shadow(),
-               livebox_utils_get_livebox_container_grid(
-                       livebox_utils_get_selected_livebox_layout()), NULL);
-
-       /*TODO: Check if this can be removed*/
-       livebox_utils_repack_grid_object(NULL,
-               livebox_utils_selected_livebox_get(),
-                       livebox_utils_get_livebox_container_grid(
-                               livebox_utils_get_selected_livebox_layout()),
-                                       NULL);
-
-       page_scroller_unfreeze(s_info.livebox_page_scroller);
-
-       if (is_right) {
-               ++current_page;
-       } else {
-               --current_page;
-       }
-
-       current_page = current_page % page_count;
-       LOGD("CURRENT PAGE: %d", current_page);
-
-       page = page_scroller_get_page(s_info.livebox_page_scroller,
-               current_page);
-       if (!page) {
-               LOGE("page == NULL");
-               return ECORE_CALLBACK_CANCEL;
-       }
-
-       grid = livebox_utils_get_livebox_container_grid(page);
-       if (!grid) {
-               LOGE("grid == NULL");
-               return ECORE_CALLBACK_CANCEL;
-       }
-
-       elm_scroller_page_bring_in(s_info.livebox_page_scroller,
-               current_page, 0);
-
-       page_scroller_freeze(s_info.livebox_page_scroller);
-       __libebox_panel_toggle_selected_livebox(livebox_utils_selected_livebox_get(), page);
-       grid_reposition_set_current_grid(grid);
-       livebox_utils_repack_grid_object(livebox_utils_selected_livebox_get(),
-               livebox_utils_get_shadow(), NULL, grid);
-
-       livebox_utils_get_cursor_pos(&mx, &my);
-       grid_reposition_move(mx, my);
-
-       livebox_utils_set_shadow_visibility(true);
-
-       return ECORE_CALLBACK_RENEW;
-}
-
-static void __livebox_panel_set_remove_button_visibility(
-       Evas_Object *livebox, bool visible)
-{
-       if (!livebox) {
-               LOGE("livebox == NULL");
-               return;
-       }
-
-       if (visible) {
-               elm_layout_signal_emit(livebox,
-                       SIGNAL_LIVEBOX_REMOVE_BUTTON_SHOW,
-                       SIGNAL_LIVEBOX_SOURCE);
-       } else {
-               elm_layout_signal_emit(livebox,
-                       SIGNAL_LIVEBOX_REMOVE_BUTTON_HIDE,
-                       SIGNAL_LIVEBOX_SOURCE);
-       }
-}
-
-static void __livebox_panel_hide_remove_button(Evas_Object *livebox)
-{
-       if (!livebox) {
-               LOGE("livebox == NULL");
-               return;
-       }
-
-       elm_layout_signal_emit(livebox, SIGNAL_REMOVE_BUTTON_INSTANT_HIDE,
-               SIGNAL_LIVEBOX_SOURCE);
-}
-
-static void __livebox_panel_set_remove_buttons_visiblity(Evas_Object *page, bool visible)
-{
-       Eina_List *l = NULL;
-       Evas_Object *lb = NULL;
-
-       if (!page) {
-               LOGE("page == NULL");
-               return;
-       }
-
-       Eina_List *list = livebox_utils_get_liveboxes_on_page_list(page);
-
-       if (!list) {
-               LOGE("list == NULL");
-               return;
-       }
-
-       EINA_LIST_FOREACH(list, l, lb) {
-               if (!lb) {
-                       LOGE("lb == NULL");
-                       continue;
-               }
-               __livebox_panel_set_remove_button_visibility(lb, visible);
-       }
-}
-
-static void __livebox_panel_set_reposition_bg_visibility(bool visible)
-{
-       Evas_Object *livebox = grid_reposition_get_repositioned_item();
-       if (!livebox) {
-               LOGE("livebox == NULL");
-               return;
-       }
-
-       if (visible) {
-               elm_object_signal_emit(livebox,
-                       SIGNAL_LIVEBOX_REPOSITION_BG_SHOW,
-                       SIGNAL_LIVEBOX_SOURCE);
-       } else {
-               elm_object_signal_emit(livebox,
-                       SIGNAL_LIVEBOX_REPOSITION_BG_HIDE,
-                       SIGNAL_LIVEBOX_SOURCE);
-       }
-}
-
-static Evas_Object *__livebox_panel_get_widget_layout(Evas_Object* obj)
-{
-       Evas_Object *widget = elm_layout_content_get(obj, PART_LIVEBOX);
-       if (!widget) {
-               LOGE("widget == NULL");
-               return NULL;
-       }
-
-       return widget;
-}
-
-static void __livebox_panel_del_cb(void *data, Evas_Object *obj, const char *emission,
-       const char *source)
-{
-       Evas_Object *grid = NULL;
-       Evas_Object *widget = NULL;
-       Tree_node_t *node = NULL;
-
-       int current_page_number =
-               page_scroller_get_current_page(s_info.livebox_page_scroller);
-
-       Evas_Object *page_container =
-               page_scroller_get_page(
-                       s_info.livebox_page_scroller, current_page_number);
-       if (!page_container) {
-               LOGE("page_container == NULL");
-               return;
-       }
-       elm_object_signal_emit(page_container, SIGNAL_RESIZE_SLIDERS_HIDE,
-               SIGNAL_LIVEBOX_SOURCE);
-
-       LOGI("DELETE LIVEBOX BUTTON PRESSED");
-
-       node = evas_object_data_get(obj, KEY_ICON_DATA);
-       if (!node) {
-               LOGE("node == NULL");
-               return;
-       }
-
-       widget = __livebox_panel_get_widget_layout(obj);
-       livebox_widget_del(widget);
-       data_model_del_item(node);
-
-       evas_object_del(obj);
-
-       grid = livebox_utils_get_livebox_container_grid(page_container);
-       if (!grid) {
-               LOGE("page_container == NULL");
-               return;
-       }
-
-       livebox_utils_repack_grid_object(NULL, livebox_utils_get_shadow(),
-               grid, NULL);
-
-       home_screen_print_tree();
-}
-
-static bool __livebox_panel_iterate_node_fill_cb(Tree_node_t *page_node, Tree_node_t *node,
-       void *data)
-{
-       int *widget_pos_h = (int *)data;
-
-       Evas_Object *page = page_node->data->layout;
-       if (!page) {
-               LOGE("page == NULL");
-               return false;
-       }
-
-       livebox_panel_add_livebox(node, page, node->data->appid,
-               node->data->col, node->data->row, node->data->col_span,
-               node->data->row_span,
-               node->data->content_info);
-
-       *widget_pos_h += LIVEBOX_ON_CREATE_SIZE/2;
-       return true;
-}
-
-static bool __livebox_panel_iterate_page_fill_cb(Tree_node_t *parent, Tree_node_t *page_node,
-       void *data)
-{
-       Evas_Object *page = NULL;
-       Evas_Object *liveboxes = s_info.livebox_page_scroller;
-       int *widget_pos_h = (int *)data;
-       *widget_pos_h = 0;
-
-       page = livebox_panel_add_page(page_node, liveboxes);
-       if (!page) {
-               LOGE("[FAILED][page]");
-               data_model_del_item(page_node);
-               return false;
-       }
-
-       page_node->data->layout = page;
-       return true;
-}
diff --git a/src/livebox/livebox_utils.c b/src/livebox/livebox_utils.c
deleted file mode 100644 (file)
index 4d01cdf..0000000
+++ /dev/null
@@ -1,573 +0,0 @@
-/*
- * Copyright 2012  Samsung Electronics Co., Ltd
- *
- * Licensed under the Flora License, Version 1.1 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://floralicense.org/license/
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#include <math.h>
-
-#include "livebox/livebox_utils.h"
-#include "homescreen-efl.h"
-
-static struct
-{
-       Evas_Object *selected_livebox;
-       Evas_Object *selected_livebox_layout;
-       Evas_Object *prev_livebox_layout;
-       Evas_Object *shadow;
-}
-s_info = {
-       .selected_livebox = NULL,
-       .selected_livebox_layout = NULL,
-       .prev_livebox_layout = NULL,
-       .shadow = NULL,
-};
-
-static Evas_Object *__livebox_utils_create_grid_bg(Evas_Object *parent);
-static Eina_Rectangle *__livebox_utils_get_grid_rectangle(Evas_Object *obj);
-static bool __livebox_utils_check_intersection(Evas_Object *obj_a,
-       Eina_Rectangle *rect);
-
-Eina_Rectangle *livebox_utils_get_widget_rectangle(Evas_Object *obj)
-{
-       int x = -1;
-       int y = -1;
-       int w = -1;
-       int h = -1;
-       Eina_Rectangle *rect = NULL;
-
-       if (!obj) {
-               LOGE("obj == NULL");
-               return NULL;
-       }
-       evas_object_geometry_get(obj, &x, &y, &w, &h);
-
-       rect = eina_rectangle_new(x, y, w, h);
-       if (!rect) {
-               LOGE("rect == NULL");
-               return NULL;
-       }
-
-       return rect;
-}
-
-Eina_Rectangle *livebox_utils_get_grid_widget_rectangle(Evas_Object *obj)
-{
-       int x = -1;
-       int y = -1;
-       int w = -1;
-       int h = -1;
-       Eina_Rectangle *rect = NULL;
-
-       if (!obj) {
-               LOGE("obj == NULL");
-               return NULL;
-       }
-       elm_grid_pack_get(obj, &x, &y, &w, &h);
-
-       rect = eina_rectangle_new(x, y, w, h);
-       if (!rect) {
-               LOGE("rect == NULL");
-               return NULL;
-       }
-
-       return rect;
-}
-
-Eina_Rectangle *livebox_utils_convert_virtual_grid_geo_to_screen(Evas_Object *grid,
-       int x, int y, int w, int h)
-{
-       int gx = -1;
-       int gy = -1;
-       int gw = -1;
-       int gh = -1;
-
-       int vw = -1;
-       int vh = -1;
-
-       Eina_Rectangle *rec = NULL;
-
-       if (!grid) {
-               LOGE("grid == NULL");
-               return NULL;
-       }
-
-       evas_object_geometry_get(grid, &gx, &gy, &gw, &gh);
-       elm_grid_size_get(grid, &vw, &vh);
-
-       rec = eina_rectangle_new(
-               gx + (int)((float)x/vw * gw),
-               gy + (int)((float)y/vh * gh),
-               (int)((float)w/vw*gw),
-               (int)((float)h/vh*gh)
-       );
-
-       if (!rec) {
-               LOGE("rec == NULL");
-               return NULL;
-       }
-
-       return rec;
-}
-
-bool livebox_utils_check_rect_list_grid_interesction(Eina_Rectangle *rect,
-       Evas_Object *obj, Eina_List *list)
-{
-       Eina_List *l = NULL;
-       Evas_Object *list_obj = NULL;
-
-       if (!list) {
-               LOGE("list == NULL");
-               return true;
-       }
-
-       EINA_LIST_FOREACH(list, l, list_obj) {
-               if (!list_obj) {
-                       LOGE("list_obj == NULL");
-                       continue;
-               }
-
-               if (list_obj != obj && __livebox_utils_check_intersection(
-                       list_obj, rect)) {
-                       LOGD("Intersection found");
-                       return true;
-               }
-       }
-
-       return false;
-}
-
-Eina_List *livebox_utils_get_liveboxes_on_gird(Evas_Object *grid)
-{
-       Eina_List *livebox_list = NULL;
-
-       if (!grid) {
-               LOGE("grid == NULL");
-               return NULL;
-       }
-
-       livebox_list = elm_grid_children_get(grid);
-       if (!livebox_list) {
-               LOGE("livebox_list == NULL");
-               return NULL;
-       }
-       livebox_list = eina_list_remove(livebox_list, s_info.shadow);
-
-       return livebox_list;
-}
-
-
-Eina_List *livebox_utils_get_liveboxes_on_page_list(Evas_Object *obj)
-{
-       Evas_Object *grid = NULL;
-
-       if (!obj) {
-               LOGE("o == NULL");
-               return NULL;
-       }
-
-       grid = elm_layout_content_get(obj, SIGNAL_CONTENT_SOURCE);
-       if (!grid) {
-               LOGE("grid == NULL");
-               return NULL;
-       }
-
-       return livebox_utils_get_liveboxes_on_gird(grid);
-}
-/* ---------------------------------------------------------------------------*/
-
-Evas_Object *livebox_utils_get_selected_livebox_layout(void)
-{
-       return s_info.selected_livebox_layout;
-}
-
-Evas_Object *livebox_utils_get_prev_livebox_layout(void)
-{
-       return s_info.prev_livebox_layout;
-}
-
-Evas_Object *livebox_utils_selected_livebox_get(void)
-{
-       return s_info.selected_livebox;
-}
-
-void livebox_utils_set_selected_livebox(Evas_Object *livebox,
-       Evas_Object *layout)
-{
-       LOGD("Selected_livebox_layout = %p; prev = %p",
-               s_info.selected_livebox_layout, s_info.prev_livebox_layout);
-
-       s_info.prev_livebox_layout = s_info.selected_livebox_layout;
-       s_info.selected_livebox = livebox;
-       s_info.selected_livebox_layout = layout;
-}
-
-Evas_Object *livebox_utils_get_livebox_container_grid(Evas_Object *container)
-{
-       Evas_Object *grid = elm_layout_content_get(container, "content");
-       if (!grid) {
-               LOGE("grid == NULL");
-               return NULL;
-       }
-
-       return grid;
-}
-
-
-void livebox_utils_set_grid_object_pack(Evas_Object *livebox,
-       Evas_Object *item_to_pack, Evas_Object *grid)
-{
-       int x = -1, y = -1, w = -1, h = -1;
-       int out_x, out_y;
-
-       if (!grid) {
-               LOGE("grid == NULL");
-               return;
-       }
-
-       if (!livebox) {
-               LOGE("livebox == NULL");
-               return;
-       }
-
-       if (!item_to_pack) {
-               LOGE("item_to_pack == NULL");
-               return;
-       }
-
-       livebox_utils_convert_size_to_grid_coord(livebox, grid, &x, &y, &w, &h);
-       livebox_utils_normalize_grid_pos(x, y, w, h, &out_x, &out_y);
-       elm_grid_pack_set(item_to_pack, out_x, out_y, w, h);
-}
-
-void livebox_utils_repack_grid_object(Evas_Object *livebox,
-       Evas_Object *item_to_pack, Evas_Object *grid_from, Evas_Object *grid_to)
-{
-       int x = -1, y = -1, w = -1, h = -1;
-       int out_x, out_y;
-
-       if (!item_to_pack) {
-               LOGE("item_to_pack == NULL");
-               return;
-       }
-
-       if (grid_from) {
-               elm_grid_pack_get(item_to_pack, &x, &y, &w, &h);
-               LOGD("Unpacking from: %p -> %d %d %d %d",
-                       grid_from, x, y, w, h);
-
-               elm_grid_unpack(grid_from, item_to_pack);
-       }
-
-       if (livebox && grid_to) {
-               livebox_utils_convert_size_to_grid_coord(livebox,
-                       grid_to, &x, &y, &w, &h);
-               livebox_utils_normalize_grid_pos(x, y, w, h, &out_x, &out_y);
-               elm_grid_pack(grid_to, item_to_pack, out_x, out_y, w, h);
-       }
-}
-
-
-void livebox_utils_convert_size_to_grid_coord(Evas_Object *livebox, Evas_Object *grid,
-       int *out_x, int *out_y, int *out_w, int *out_h)
-{
-       int lx = 0, ly, lw = 0, lh = 0;
-       int gx = 0, gy, gw = 0, gh = 0;
-       float ratio_x = 0, ratio_y = 0;
-
-       if (!livebox) {
-               LOGE("livebox == NULL");
-               return;
-       }
-
-       if (!grid) {
-               LOGE("grid == NULL");
-               return;
-       }
-
-       if (!out_w || !out_h) {
-               LOGE("output: out_w == %p; out_h == %p", out_w, out_h);
-               return;
-       }
-
-       evas_object_geometry_get(livebox, &lx, &ly, &lw, &lh);
-       evas_object_geometry_get(grid,    &gx, &gy, &gw, &gh);
-
-       if (gw == 0 || gh == 0) {
-               LOGE("Grid wrong size gw == %d; gh == %d", gw, gh);
-               return;
-       }
-
-       lx -= gx;
-       ly -= gy;
-
-       ratio_x = (float)lx / gw;
-       ratio_y = (float)ly / gh;
-
-       *out_x = round(ratio_x * LIVEBOX_TOTAL_COLUMNS);
-       *out_y = round(ratio_y * LIVEBOX_TOTAL_ROWS);
-
-       ratio_x = (float)lw / gw;
-       ratio_y = (float)lh / gh;
-
-       *out_w = round(ratio_x * LIVEBOX_TOTAL_COLUMNS);
-       *out_h = round(ratio_y * LIVEBOX_TOTAL_ROWS);
-
-       *out_x /= LIVEBOX_GRID_ROWS_CELLS_MULTI;
-       *out_x *= LIVEBOX_GRID_ROWS_CELLS_MULTI;
-
-       *out_y /= LIVEBOX_GRID_ROWS_CELLS_MULTI;
-       *out_y *= LIVEBOX_GRID_ROWS_CELLS_MULTI;
-}
-
-void livebox_utils_normalize_grid_pos(int obj_x, int obj_y, int obj_w,
-       int obj_h, int *out_x, int *out_y)
-{
-       int dx = obj_x + obj_w;
-       int dy = obj_y + obj_h;
-
-       if (dx > LIVEBOX_TOTAL_COLUMNS)
-               obj_x = (LIVEBOX_TOTAL_COLUMNS - obj_w);
-
-       if (dy > LIVEBOX_TOTAL_ROWS)
-               obj_y = (LIVEBOX_TOTAL_ROWS - obj_h);
-
-       if (obj_x < 0)
-               obj_x = 0;
-
-       if (obj_y < 0)
-               obj_y = 0;
-
-       *out_x = obj_x;
-       *out_y = obj_y;
-}
-
-/* -------------------------------------- SHADOW -----------------------------*/
-
-Evas_Object *livebox_utils_get_shadow()
-{
-       if (!s_info.shadow) {
-               LOGE("s_info.shadow == NULL");
-               return NULL;
-       }
-
-       return s_info.shadow;
-}
-
-void livebox_utils_shadow_unpack(void)
-{
-       Evas_Object *page = NULL;
-       Evas_Object *grid = NULL;
-
-       page = livebox_utils_selected_livebox_get();
-       if (!page) {
-               LOGE("page == NULL");
-               return;
-       }
-
-       grid = livebox_utils_get_livebox_container_grid(page);
-       if (!grid) {
-               LOGE("grid == NULL");
-               return;
-       }
-
-       livebox_utils_repack_grid_object(NULL, livebox_utils_get_shadow(),
-               grid, NULL);
-}
-
-void livebox_utils_create_shadow(Evas_Object *parent)
-{
-       Evas *e = NULL;
-       Evas_Object *shadow = NULL;
-
-       if (!parent) {
-               LOGE("parent == NULL");
-               return;
-       }
-
-       e = evas_object_evas_get(parent);
-       if (!e) {
-               LOGE("parent == NULL");
-               return;
-       }
-
-
-       shadow = evas_object_rectangle_add(e);
-       if (!shadow) {
-               LOGE("shadow == NULL");
-               return;
-       }
-
-       s_info.shadow = shadow;
-       evas_object_color_set(shadow, LIVEBOX_GRID_BG_ALPHA,
-               LIVEBOX_GRID_BG_ALPHA, LIVEBOX_GRID_BG_ALPHA,
-               LIVEBOX_GRID_BG_ALPHA);
-       evas_object_pass_events_set(shadow, true);
-}
-
-void livebox_utils_set_shadow_visibility(bool visible)
-{
-       if (!s_info.shadow) {
-               LOGE("s_info.shadow == NULL");
-               return;
-       }
-
-       if (visible) {
-               evas_object_color_set(s_info.shadow, LIVEBOX_GRID_BG_ALPHA,
-                       LIVEBOX_GRID_BG_ALPHA, LIVEBOX_GRID_BG_ALPHA,
-                       LIVEBOX_GRID_BG_ALPHA);
-               evas_object_show(s_info.shadow);
-       } else {
-               evas_object_color_set(s_info.shadow, 0, 0, 0, 0);
-               evas_object_hide(s_info.shadow);
-       }
-}
-
-void livebox_utils_create_grid_shadow_clipper(Evas_Object *livebox_container)
-{
-       Evas_Object *grid_bg = NULL;
-
-       if (!livebox_container) {
-               LOGD("livebox_container == NULL");
-               return;
-       }
-
-       grid_bg = __livebox_utils_create_grid_bg(livebox_container);
-       if (!grid_bg) {
-               LOGD("grid_bg == NULL");
-               return;
-       }
-
-       elm_object_part_content_set(livebox_container, PART_GRID_BG, grid_bg);
-       evas_object_clip_set(grid_bg, s_info.shadow);
-
-       elm_layout_signal_emit(livebox_container,
-               SIGNAL_GRID_SHADOW_HIDE, PART_GRID_BG);
-}
-
-static Evas_Object *__livebox_utils_create_grid_bg(Evas_Object *parent)
-{
-       Evas *e = NULL;
-       Evas_Object *table = NULL;
-       Evas_Object *item;
-       int i = 0, j = 0;
-       int w = -1, h = -1;
-
-       if (!parent) {
-               LOGE("parent == NULL");
-               return NULL;
-       }
-
-       e = evas_object_evas_get(parent);
-       if (!e) {
-               LOGE("parent == NULL");
-               return NULL;
-       }
-
-       table = elm_table_add(parent);
-       if (!table) {
-               LOGE("table == NULL");
-               return NULL;
-       }
-
-       w = (LIVEBOX_GRID_BG_PADDING /
-               (float)ROOT_WIN_W) * home_screen_get_root_width();
-       h = (LIVEBOX_GRID_BG_PADDING /
-               (float)ROOT_WIN_H) * home_screen_get_root_height();
-
-       elm_table_padding_set(table, w, h);
-       elm_table_homogeneous_set(table, EINA_TRUE);
-
-       for (i = 0; i < LIVEBOX_GRID_COLUMNS; ++i) {
-               for (j = 0; j < LIVEBOX_GRID_ROWS; ++j) {
-                       item = evas_object_rectangle_add(e);
-                       if (!item) {
-                               LOGE("item == NULL");
-                               evas_object_del(table);
-                               return NULL;
-                       }
-
-                       evas_object_color_set(item, 0, 0, 0, 30);
-                       evas_object_pass_events_set(item, true);
-                       evas_object_show(item);
-                       evas_object_size_hint_weight_set(item,
-                               EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
-                       evas_object_size_hint_fill_set(item,
-                               EVAS_HINT_FILL, EVAS_HINT_FILL);
-                       elm_table_pack(table, item, i, j, 1, 1);
-               }
-       }
-
-       return table;
-}
-
-void livebox_utils_get_cursor_pos(int *mx, int *my)
-{
-       Evas *e = evas_object_evas_get(home_screen_get_win());
-       if (!e) {
-               LOGE("e == NULL");
-               return;
-       }
-       evas_pointer_canvas_xy_get(e, mx, my);
-}
-
-static Eina_Rectangle *__livebox_utils_get_grid_rectangle(Evas_Object *obj)
-{
-       LOGD("");
-       Eina_Rectangle *rect;
-       int x = -1, y = -1, w = -1, h = -1;
-       if (!obj) {
-               LOGE("obj == NULL");
-               return NULL;
-       }
-
-       elm_grid_pack_get(obj, &x, &y, &w, &h);
-       rect = eina_rectangle_new(x, y, w, h);
-
-       if (!rect) {
-               LOGE("rect == NULL");
-               return NULL;
-       }
-
-       return rect;
-}
-
-static bool __livebox_utils_check_intersection(Evas_Object *obj_a,
-       Eina_Rectangle *rect)
-{
-       Eina_Rectangle *rect_o = NULL;
-       bool out = true;
-
-       if (!obj_a) {
-               LOGE("obj == NULL");
-               return true;
-       }
-
-       rect_o = __livebox_utils_get_grid_rectangle(obj_a);
-
-       if (!rect_o || !rect) {
-               LOGE("Rectangle not created: rect_o = %p; rect = %p",
-                       rect_o, rect);
-               return true;
-       }
-
-       LOGD("Intersection: <%dx%d - %dx%d> - <%dx%d - %dx%d>",
-               rect_o->x, rect_o->y, rect_o->w, rect_o->h,
-               rect->x, rect->y, rect->w, rect->h);
-
-       out = eina_rectangles_intersect(rect_o, rect);
-
-       eina_rectangle_free(rect_o);
-
-       return out;
-}
diff --git a/src/livebox/livebox_widget.c b/src/livebox/livebox_widget.c
deleted file mode 100644 (file)
index 7124468..0000000
+++ /dev/null
@@ -1,513 +0,0 @@
-/*
- * Copyright 2012  Samsung Electronics Co., Ltd
- *
- * Licensed under the Flora License, Version 1.1 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://floralicense.org/license/
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#include <Elementary.h>
-#include <widget_viewer_evas.h>
-#include <widget_errno.h>
-#include <shortcut_manager.h>
-
-#include "homescreen-efl.h"
-#include "livebox/livebox_widget.h"
-#include "livebox/livebox_panel.h"
-#include "livebox/livebox_utils.h"
-#include "util.h"
-#include "data_model.h"
-#include "page_scroller.h"
-#include "popup.h"
-
-
-static int __livebox_widget_get_pkg_list_cb(const char *pkg_id, const char *widget_id, int is_prime, void *data);
-
-static int request_cb(const char *appid,
-               const char *name,
-               int type,
-               const char *content_info,
-               const char *icon,
-               int pid,
-               double period,
-               int allow_duplicate,
-               void *data);
-
-static void update_content_info(Evas_Object *widget, const char *content_info);
-
-static struct {
-       Eina_List *widget_list;
-} s_info = {
-       .widget_list = NULL,
-};
-
-void livebox_widget_init(void)
-{
-       int ret = -1;
-
-       ret = widget_service_get_widget_list(__livebox_widget_get_pkg_list_cb, NULL);
-
-       if (ret < 0) {
-               LOGE("FAILED TO GET PKGLIST. ERROR CODE: %d", ret);
-               return;
-       }
-
-       LOGI("SUCCESS TO GET PKGLIST. COUNT: %d", ret);
-       widget_viewer_evas_init(home_screen_get_win());
-
-       ret = shortcut_set_request_cb(request_cb, NULL);
-       if (ret < 0)
-               LOGE("Failed to add shortcut event listener: 0x%X\n", ret);
-}
-
-Eina_List *livebox_widget_get_list(void)
-{
-       if (!s_info.widget_list) {
-               LOGE("s_info.widget_list == NULL");
-               return NULL;
-       }
-
-       return s_info.widget_list;
-}
-
-static void widget_content_info_updated_cb(void *data, Evas_Object *obj, void *event_info)
-{
-       widget_evas_event_info_s *info = event_info;
-       const char *content_info;
-
-       if (info->error != WIDGET_ERROR_NONE || !info->widget_app_id)
-               return;
-
-       content_info = widget_viewer_evas_get_content_info(obj);
-       LOGD("Content inf is updated [%s] - [%s]\n", info->widget_app_id, content_info);
-
-       update_content_info(obj, content_info);
-
-}
-
-Evas_Object *livebox_widget_add(const char *pkg_name, Evas_Object *parent, char *content_info)
-{
-       Evas_Object *livebox = widget_viewer_evas_add_widget(parent, pkg_name, content_info, WIDGET_VIEWER_EVAS_DEFAULT_PERIOD);
-       if (!livebox) {
-               LOGE("livebox == NULL");
-               return NULL;
-       }
-
-       evas_object_smart_callback_add(livebox, WIDGET_SMART_SIGNAL_EXTRA_INFO_UPDATED, widget_content_info_updated_cb, NULL);
-
-       return livebox;
-}
-
-void livebox_widget_del(Evas_Object *widget)
-{
-       if (!widget) {
-               LOGE("widget == NULL");
-               return;
-       }
-
-       LOGI("DELETING WIDGET: %s", widget_viewer_evas_get_widget_id(widget));
-       widget_viewer_evas_set_permanent_delete(widget, 1);
-}
-
-void livebox_widget_fini(void)
-{
-       Eina_List *l;
-       widget_info_t *widget = NULL;
-
-       if (!s_info.widget_list) {
-               LOGE("s_info.widget_list == NULL");
-               return;
-       }
-
-       EINA_LIST_FOREACH(s_info.widget_list, l, widget) {
-               if (!widget) {
-                       LOGE("widget == NULL");
-                       continue;
-               }
-
-               free(widget->pkg_id);
-               free(widget->widget_id);
-       }
-
-       eina_list_free(s_info.widget_list);
-}
-
-void livebox_widget_viewer_paused(void)
-{
-       int ret;
-       ret = widget_viewer_evas_notify_paused_status_of_viewer();
-       LOGD("Viewer is paused: %d\n", ret);
-}
-
-void livebox_widget_viewer_resumed(void)
-{
-       Evas_Object *page = NULL;
-       Eina_List *lb_layouts = NULL;
-       Eina_List *l = NULL;
-       Eina_List *l2 = NULL;
-       Eina_List *pages = NULL;
-       Evas_Object *widget = NULL;
-       Evas_Object *lb_layout = NULL;
-       const char *content_info = NULL;
-       int ret;
-       static Eina_Bool app_created = EINA_TRUE;
-
-       ret = widget_viewer_evas_notify_resumed_status_of_viewer();
-       LOGD("Viewer is resumed: %d\n", ret);
-
-       if (app_created) {
-               app_created = EINA_FALSE;
-               return;
-       }
-
-       pages = page_scroller_get_all_pages(livebox_panel_get());
-
-       if (!pages) {
-               LOGE("pages == NULL");
-               return;
-       }
-
-       EINA_LIST_FOREACH(pages, l, page) {
-               if (!page) {
-                       LOGE("page == NULL");
-                       return;
-               }
-
-               lb_layouts = livebox_utils_get_liveboxes_on_page_list(page);
-               if (!lb_layouts) {
-                       LOGE("lb_layouts == NULL");
-                       continue;
-               }
-
-               EINA_LIST_FOREACH(lb_layouts, l2, lb_layout) {
-                       if (!lb_layout) {
-                               LOGE("lb_layout == NULL");
-                               continue;
-                       }
-
-                       widget = elm_layout_content_get(lb_layout, PART_LIVEBOX);
-                       if (!widget) {
-                               LOGE("widget == NULL");
-                               return;
-                       }
-
-                       content_info = widget_viewer_evas_get_content_info(widget);
-                       update_content_info(widget, content_info);
-
-                       LOGD("Content inf is updated [%s] - [%s]\n",
-                                       widget_viewer_evas_get_widget_id(widget),
-                                       content_info);
-               }
-       }
-}
-
-void livebox_widget_get_dimensions(int size, int *x, int *y)
-{
-       if (!x || !y) {
-               LOGE("Wrong arguments provided: %p %p", x, y);
-               return;
-       }
-
-       switch (size) {
-       case WIDGET_SIZE_TYPE_1x1:
-               *x = 1;
-               *y = 1;
-               break;
-       case WIDGET_SIZE_TYPE_2x1:
-               *x = 2;
-               *y = 1;
-               break;
-       case WIDGET_SIZE_TYPE_2x2:
-               *x = 2;
-               *y = 2;
-               break;
-       case WIDGET_SIZE_TYPE_4x1:
-               *x = 4;
-               *y = 1;
-               break;
-       case WIDGET_SIZE_TYPE_4x2:
-               *x = 4;
-               *y = 2;
-               break;
-       case WIDGET_SIZE_TYPE_4x3:
-               *x = 4;
-               *y = 3;
-               break;
-       case WIDGET_SIZE_TYPE_4x4:
-               *x = 4;
-               *y = 4;
-               break;
-       case WIDGET_SIZE_TYPE_4x5:
-               *x = 4;
-               *y = 5;
-               break;
-       case WIDGET_SIZE_TYPE_4x6:
-               *x = 4;
-               *y = 6;
-               break;
-       case WIDGET_SIZE_TYPE_EASY_1x1:
-               *x = 1;
-               *y = 1;
-               break;
-       case WIDGET_SIZE_TYPE_EASY_3x1:
-               *x = 3;
-               *y = 1;
-               break;
-       case WIDGET_SIZE_TYPE_EASY_3x3:
-               *x = 3;
-               *y = 3;
-               break;
-       case WIDGET_SIZE_TYPE_FULL:
-               *x = 4;
-               *y = 4;
-               break;
-       case WIDGET_SIZE_TYPE_UNKNOWN:
-               *x = -1;
-               *y = -1;
-               break;
-       default:
-               *x = -1;
-               *y = -1;
-       }
-}
-
-void livebox_widget_get_size_available(Evas_Object *widget, int *cnt, int **size_list)
-{
-       int ret = -1;
-       const char *widget_id = NULL;
-       *cnt = 0;
-
-       if (!widget) {
-               LOGE("widget == NULL");
-               return;
-       }
-
-       if (!size_list) {
-               LOGE("size_list == NULL");
-               return;
-       }
-
-       if (*size_list) {
-               free(*size_list);
-               *size_list = NULL;
-       }
-
-       widget_id = widget_viewer_evas_get_widget_id(widget);
-       if (!widget_id) {
-               LOGE("widget_id == NULL");
-               free(*size_list);
-               *size_list = NULL;
-               return;
-       }
-
-       ret = widget_service_get_supported_size_types(widget_id, cnt, size_list);
-
-       if (ret != 0 || *cnt == 0) {
-               LOGE("RESIZE COULD NOT GET SUPPORTED SIZES");
-               *size_list = calloc(WIDGET_NR_OF_SIZE_LIST, sizeof(widget_size_type_e));
-               *cnt = 2;
-               (*size_list)[0] = WIDGET_SIZE_TYPE_4x2;
-               (*size_list)[1] = WIDGET_SIZE_TYPE_4x4;
-       }
-
-       LOGD("RESIZE AVAILABLE SIZE COUNT: %d", *cnt);
-}
-
-void livebox_widget_set_event_blocking(Evas_Object *widget)
-{
-       if (!widget) {
-               LOGE("widget == NULL");
-               return;
-       }
-
-       widget_viewer_evas_cancel_click_event(widget);
-       LOGI("BLOCKING: %s", widget_viewer_evas_get_widget_id(widget));
-}
-
-static int __livebox_widget_get_pkg_list_cb(const char *pkg_id, const char *widget_id, int is_prime, void *data)
-{
-       widget_info_t *widget = NULL;
-       int cnt = WIDGET_NR_OF_SIZE_LIST;;
-       int *size_list = NULL;
-       int ret = -1;
-
-       LOGI("WIDGET: %s; %s; %d", pkg_id, widget_id, is_prime);
-
-       widget = calloc(1, sizeof(widget_info_t));
-       if (!widget) {
-               LOGE("widget == NULL");
-               return 0;
-       }
-
-       widget->widget_id = strdup(widget_id);
-       widget->pkg_id    = strdup(pkg_id);
-       widget->is_prime  = is_prime;
-
-       ret = widget_service_get_supported_size_types(widget_id, &cnt, &size_list);
-
-       if(ret == 0 && cnt > 0) {
-               livebox_widget_get_dimensions(size_list[0], &widget->width, &widget->height);
-               LOGI("SIZE SET [%d, %d] ret == %d; cnt == %d", widget->width, widget->height, ret, cnt);
-       } else {
-               LOGE("COULD NOT GET AVAILABLE SiZES ret == %d; cnt == %d; size_list[0] == %d", ret, cnt, size_list[0]);
-               widget->width  = LIVEBOX_ON_CREATE_SIZE;
-               widget->height = LIVEBOX_ON_CREATE_SIZE;
-       }
-
-       s_info.widget_list = eina_list_append(s_info.widget_list, widget);
-       return 0;
-}
-
-static void livebox_widget_new(int widget_width, int widget_height, const char *appid)
-{
-       int page_index = -1;
-       int pos_x = 0;
-       int pos_y = 0;
-       Tree_node_t *page_node = NULL;
-       Tree_node_t *item_node = NULL;
-       Evas_Object *page = NULL;
-
-       page_index = livebox_panel_find_empty_space(widget_width, widget_height, &pos_x, &pos_y);
-
-       if (page_index > -1)
-               page = page_scroller_get_page(livebox_panel_get(), page_index);
-
-       if (!page) {
-               pos_x = 0;
-               pos_y = 0;
-
-               if (!livebox_panel_can_add_page()) {
-                       LOGI("Cannot add new page");
-                       return;
-               }
-
-               page_node = data_model_add_widget_page();
-               if (!page_node) {
-                       livebox_panel_destroy();
-                       LOGE("page_node == NULL");
-                       return;
-               }
-
-               page = livebox_panel_add_page(page_node, livebox_panel_get());
-               if (!page) {
-                       LOGE("page == NULL");
-                       livebox_panel_destroy();
-                       data_model_del_item(page_node);
-                       return;
-               }
-
-               page_index = page_scroller_get_page_count(livebox_panel_get()) - 1;
-       } else {
-               page_node = evas_object_data_get(page, KEY_ICON_DATA);
-               if (!page_node) {
-                       LOGE("obj_node == NULL");
-                       livebox_panel_destroy();
-                       return;
-               }
-       }
-
-       item_node = data_model_add_widget(page_node, appid, pos_x, pos_y, widget_width, widget_height, NULL);
-       if (!item_node) {
-               LOGE("item == NULL");
-               return;
-       }
-
-       elm_scroller_page_bring_in(livebox_panel_get(), page_index, 0);
-       livebox_panel_add_livebox(item_node, page, appid, pos_x, pos_y, widget_width, widget_height, NULL);
-       livebox_panel_update_dynamic_index();
-}
-
-static void _cannot_add_widget_popup_show(void)
-{
-       popup_data_t *data = popup_create_data();
-       if (!data) {
-               LOGE("data == NULL");
-               return;
-       }
-
-       data->orientation        = ELM_POPUP_ORIENT_CENTER;
-       data->popup_cancel_text  = NULL;
-       data->popup_confirm_text = NULL;
-       data->popup_content_text = strdup(_("IDS_HS_HEADER_UNABLE_TO_ADD_WIDGET_ABB"));
-       data->popup_title_text   = NULL;
-       data->type               = POPUP_INFO;
-       data->visible_time       = 5.0;
-
-       popup_show(data, NULL, NULL, NULL);
-}
-
-static int request_cb(const char *appid, const char *name, int type,
-       const char *content_info, const char *icon, int pid, double period,
-       int allow_duplicate, void *data)
-{
-       int widget_width;
-       int widget_height;
-
-       LOGI("====== WIDGET REQUEST ======");
-       LOGI("Package name: %s\n",    appid);
-       LOGI("Name: %s\n",            name);
-       LOGI("Type: %d\n",            type);
-       LOGI("Content: %s\n",         content_info);
-       LOGI("Icon: %s\n",            icon);
-       LOGI("Requested from: %d\n",  pid);
-       LOGI("Period: %lf\n",         period);
-       LOGI("Allow duplicate: %d\n", allow_duplicate);
-       LOGI("CBDATA: %p\n",          data);
-       LOGI("============================");
-
-       switch (type) {
-       case WIDGET_SIZE_4x2:
-               widget_width =  4;
-               widget_height = 2;
-               break;
-       case WIDGET_SIZE_4x4:
-               widget_width =  4;
-               widget_height = 4;
-               break;
-       default:
-               /* Unsupported */
-               LOGE("Unsupported type: %x\n", type);
-               _cannot_add_widget_popup_show();
-               return 0;
-       }
-
-       LOGI("Widget will be added: %dx%d\n", widget_width, widget_height);
-
-       livebox_widget_new(widget_width, widget_height, appid);
-       home_screen_print_tree();
-
-       return 0; /*returns success. */
-}
-
-static void update_content_info(Evas_Object *widget, const char *content_info)
-{
-       Evas_Object *parent = NULL;
-       Tree_node_t *node = NULL;
-
-       if (!widget) {
-               LOGE("widget == NULL");
-               return;
-       }
-
-       parent = elm_object_parent_widget_get(widget);
-       if (!parent) {
-               LOGE("parent == NULL");
-               return;
-       }
-
-       node = evas_object_data_get(parent, KEY_ICON_DATA);
-       if (!node) {
-               LOGE("node == NULL");
-               return;
-       }
-
-       data_model_update_content_info(node, content_info);
-}
diff --git a/src/livebox_all_pages.c b/src/livebox_all_pages.c
deleted file mode 100644 (file)
index c8c8f86..0000000
+++ /dev/null
@@ -1,1123 +0,0 @@
-/*
- * Copyright 2012  Samsung Electronics Co., Ltd
- *
- * Licensed under the Flora License, Version 1.1 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://floralicense.org/license/
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#include <stdio.h>
-#include <stdbool.h>
-
-#include <Elementary.h>
-#include <Eina.h>
-#include <system_settings.h>
-
-#include "conf.h"
-
-#include "livebox_all_pages.h"
-#include "homescreen-efl.h"
-#include "page_scroller.h"
-#include "livebox/livebox_panel.h"
-#include "livebox/livebox_utils.h"
-#include "util.h"
-#include "dynamic_index.h"
-#include "mouse.h"
-#include "popup.h"
-#include "layout.h"
-#include "data_model.h"
-
-static Evas_Object *__livebox_all_pages_create_grid(Evas_Object *parent_layout);
-static Evas_Object *__livebox_all_pages_create_thumb(Evas_Object *page, bool is_fake, bool show_remove_button);
-static Evas_Object *__livebox_all_pages_create_bg(Evas_Object *parent);
-static Evas_Object *__livebox_all_pages_create_add_icon_layout(void);
-static Evas_Object *__livebox_all_pages_insert_thumb(void *data, Evas_Object *obj, const char *part);
-static Evas_Object *__livebox_all_pages_get_thumb_page(Elm_Object_Item *it);
-
-static Eina_Bool __livebox_all_pages_item_up_cb(void *data);
-static Eina_Bool __livebox_all_pages_get_grid_state(void *data, Evas_Object *obj, const char *part);
-static Eina_Bool __livebox_all_pages_new_item_created_cb(void *data);
-
-static void __livebox_all_pages_del_grid(void *data, Evas_Object *obj);
-static void __livebox_all_pages_grid_item_longpressed_cb(void *data, Evas_Object *obj, void *ei);
-static void __livebox_all_pages_grid_item_moved_cb(void *data, Evas_Object *obj, void *ei);
-static void __livebox_all_pages_grid_changed_cb(void *data, Evas_Object *obj, void *ei);
-static void __livebox_all_pages_hide_remove_button(Elm_Object_Item *it);
-static void __livebox_all_pages_realized_cb(void *data, Evas_Object *obj, void *ei);
-static void __livebox_all_pages_remove_button_clicked_cb(void *data, Evas_Object *obj, const char *emission, const char *source);
-static void __livebox_all_pages_remove_button_clicked_liveboxes_cb(void *data);
-static void __livebox_all_pages_add_page_clicked_cb(void *data, Evas_Object *obj, const char *emission, const char *source);
-static void __livebox_all_pages_page_clicked_cb(void *data, Evas_Object *obj, const char *emission, const char *source);
-static void __libebox_all_pages_grid_item_pressed_cb(void *data, Evas_Object *obj, void *ei);
-
-static char *__livebox_all_pages_get_grid_text(void *data, Evas_Object *obj, const char *part);
-static bool __livebox_all_pages_fill_grid(Evas_Object *grid);
-static bool __livebox_all_pages_check_add_page(Elm_Object_Item *it);
-static bool __livebox_all_pages_is_page_empty(Evas_Object *page);
-static Eina_List *__livebox_all_pages_unpack_grid(void);
-static Elm_Gengrid_Item_Class *__livebox_all_pages_create_grid_item_class(void);
-
-
-static struct {
-       Evas_Object *item;
-       Elm_Object_Item *g_item;
-
-       int cur_x;
-       int cur_y;
-
-       bool is_created;
-} s_info_reposition = {
-       .item = NULL,
-       .g_item = NULL,
-
-       .cur_x = -1,
-       .cur_y = -1,
-
-       .is_created = false,
-};
-
-static struct {
-       Evas_Object *grid;
-       Evas_Object *layout;
-       Elm_Gengrid_Item_Class *gic;
-       Elm_Object_Item *add_page_item;
-       bool is_add_page_visible;
-       int current_page;
-       int pressed_item;
-       bool is_item_longpressed;
-} s_info = {
-       .grid = NULL,
-       .layout = NULL,
-       .gic = NULL,
-       .add_page_item = NULL,
-       .is_add_page_visible = true,
-       .current_page = -1,
-       .pressed_item = -1,
-       .is_item_longpressed = false,
-};
-
-/*======================================== PUBLIC FUNCTIONS IMPLEMENTATION ======================================*/
-HAPI Evas_Object *livebox_all_pages_show(void)
-{
-       Evas_Object *all_pages_layout = NULL;
-       Evas_Object *win = home_screen_get_win();
-       Evas_Object *bg = NULL;
-       Evas_Object *grid = NULL;
-
-
-       int g_count;
-       int w = home_screen_get_root_width();
-       int h = home_screen_get_root_height();
-
-       if (!win) {
-               LOGE("[INVALID_STATE][win='%p']", win);
-               return NULL;
-       }
-
-       all_pages_layout = util_create_edje_layout(win, util_get_res_file_path(EDJE_DIR"/page_edit.edj"), GROUP_ALL_PAGES);
-       if (!all_pages_layout) {
-               LOGE("[FAILED][util_edje_layout_create]");
-               return NULL;
-       }
-
-       evas_object_size_hint_min_set(all_pages_layout, w, h);
-       evas_object_size_hint_max_set(all_pages_layout, w, h);
-       evas_object_resize(all_pages_layout, w, h);
-       evas_object_layer_set(all_pages_layout, EVAS_LAYER_MAX-1);
-       evas_object_move(all_pages_layout, ALL_PAGES_X, ALL_PAGES_Y);
-
-       bg = __livebox_all_pages_create_bg(all_pages_layout);
-       if (!bg) {
-               LOGE("[FAILED][__livebox_all_pages_create_bg]");
-               evas_object_del(all_pages_layout);
-               return NULL;
-       }
-
-       grid = __livebox_all_pages_create_grid(all_pages_layout);
-       if (!grid) {
-               LOGE("[FAILED][__livebox_all_pages_create_grid]");
-               evas_object_del(all_pages_layout);
-               return NULL;
-       }
-
-       __livebox_all_pages_fill_grid(grid);
-
-       s_info.grid = grid;
-       s_info.layout = all_pages_layout;
-       g_count = elm_gengrid_items_count(grid);
-
-       if (g_count == MAX_ITEMS)
-               s_info.is_add_page_visible = false;
-
-       evas_object_smart_callback_add(grid, "realized", __livebox_all_pages_realized_cb, NULL);
-
-       return all_pages_layout;
-}
-
-HAPI void livebox_all_pages_hide(void)
-{
-       Evas_Object *all_pages_layout = s_info.layout;
-       Evas_Object *lvb_scroller = NULL;
-
-       Eina_List *page_list = NULL;
-       int page_count = 0;
-
-       if (!all_pages_layout) {
-               LOGE("[FAILED][all_pages_layout]");
-               return;
-       }
-
-       lvb_scroller = livebox_panel_get();
-       if (!lvb_scroller) {
-               LOGE("[FAILED][livebox_panel_get]");
-               return;
-       }
-
-       page_list = __livebox_all_pages_unpack_grid();
-       if (!page_list) {
-               LOGE("[FAILED][__livebox_all_pages_unpack_grid]");
-               return;
-       }
-
-       page_scroller_pack_pages(lvb_scroller, page_list);
-       eina_list_free(page_list);
-       evas_object_del(all_pages_layout);
-       elm_gengrid_item_class_free(s_info.gic);
-
-       page_count = page_scroller_get_page_count(lvb_scroller);
-
-       if (s_info.current_page >= page_count)
-               s_info.current_page = page_count - 1;
-
-       if (s_info.pressed_item >= 0)
-               s_info.current_page = s_info.pressed_item - 1;
-
-       LOGI("CURRENT : [%d] PRESSED_PAGE: [%d]", s_info.current_page, s_info.pressed_item);
-
-       page_scroller_show_page(lvb_scroller, s_info.current_page);
-
-       dynamic_index_reload(evas_object_data_get(lvb_scroller, KEY_INDEX), s_info.current_page,
-               page_count);
-
-
-       s_info.layout = NULL;
-       s_info.grid = NULL;
-       s_info.gic = NULL;
-}
-
-HAPI void livebox_all_pages_move_item(int x, int y)
-{
-       int xp, yp;
-       int m_idx = -1; /*moved item index*/
-       int d_idx = -1; /*destination index*/
-
-       Elm_Object_Item *it = NULL;
-       Elm_Object_Item *n_it = NULL;
-
-       Evas_Object *empty_ly = NULL;
-
-       if (!s_info_reposition.item)
-               return;
-
-       xp = x - OFFSET;
-       yp = y - OFFSET;
-       evas_object_move(s_info_reposition.item, xp, yp);
-
-       it = elm_gengrid_at_xy_item_get(s_info.grid, x, y, NULL, NULL);
-       if (!it || (it == s_info_reposition.g_item) || !s_info_reposition.g_item || s_info_reposition.is_created)
-               return;
-
-       /*check if item is add page*/
-       if (__livebox_all_pages_check_add_page(it))
-               return;
-
-       m_idx = elm_gengrid_item_index_get(s_info_reposition.g_item);
-       d_idx = elm_gengrid_item_index_get(it);
-
-       empty_ly = __livebox_all_pages_create_thumb(NULL, false, true);
-       if (!empty_ly) {
-               LOGE("[FAILED][__livebox_all_pages_create_thumb]");
-               return;
-       }
-
-       if (d_idx > m_idx) {
-               /*insert after*/
-               s_info_reposition.is_created = true;
-               n_it = elm_gengrid_item_insert_after(s_info.grid, s_info.gic, empty_ly, it, NULL, NULL);
-       } else {
-               /*insert before*/
-               s_info_reposition.is_created = true;
-               n_it = elm_gengrid_item_insert_before(s_info.grid, s_info.gic, empty_ly, it, NULL, NULL);
-       }
-
-       evas_object_smart_callback_add(s_info.grid, "index,update", __livebox_all_pages_grid_changed_cb, n_it);
-       elm_object_item_del(s_info_reposition.g_item);
-       s_info_reposition.g_item = n_it;
-}
-
-HAPI void livebox_all_pages_up_item(void)
-{
-       if (!s_info_reposition.item)
-               return;
-
-       ecore_timer_add(0.05, __livebox_all_pages_item_up_cb, NULL);
-}
-
-/*====================================== PRIVATE FUNCTIONS IMPLEMENTATION =======================================*/
-static void __livebox_all_pages_remove_button_clicked_liveboxes_cb(void *data)
-{
-       Elm_Object_Item *clicked_item = (Elm_Object_Item *) data;
-       Evas_Object *add_page = NULL;
-       Eina_List *g_items = NULL;
-       Elm_Object_Item *g_item = NULL;
-       Eina_List *last_node = NULL;
-       Evas_Object *clicked_page =  NULL;
-       int g_count = 0;
-
-       if (!clicked_item) {
-               LOGE("[FAILED][__livebox_all_pages_remove_button_clicked_liveboxes_cb]");
-               return;
-       }
-
-       clicked_page = __livebox_all_pages_get_thumb_page(clicked_item);
-       if (!clicked_page) {
-               LOGE("[FAILED][__livebox_all_pages_get_thumb_page]");
-               return;
-       }
-
-       g_items = elm_gengrid_realized_items_get(s_info.grid);
-       last_node = eina_list_last(g_items);
-       if (last_node)
-               g_item = eina_list_data_get(last_node);
-       eina_list_free(g_items);
-
-       /*is this the correct order ? :*/
-       livebox_panel_destroy_page(clicked_page);
-       elm_object_item_del(clicked_item);
-       g_count = elm_gengrid_items_count(s_info.grid);
-
-
-       if (g_count < MAX_ITEMS && !(__livebox_all_pages_check_add_page(g_item))) {
-               add_page = __livebox_all_pages_create_add_icon_layout();
-               if (!add_page) {
-                       LOGE("[FAILED][__livebox_all_pages_create_add_icon_layout]");
-                       return;
-               }
-
-               s_info.add_page_item = elm_gengrid_item_append(s_info.grid, s_info.gic, add_page, NULL, NULL);
-               if (!s_info.add_page_item) {
-                       LOGE("[FAILED][elm_gengrid_item_append]");
-                       evas_object_del(add_page);
-                       return;
-               }
-
-               s_info.is_add_page_visible = true;
-       }
-
-       if (g_count == 2)
-               __livebox_all_pages_hide_remove_button(elm_gengrid_first_item_get(s_info.grid));
-
-       s_info.pressed_item = -1;
-       popup_destroy();
-}
-
-static bool __livebox_all_pages_is_page_empty(Evas_Object *page)
-{
-       Eina_List *lb_list = NULL;
-
-       if (!page) {
-               LOGE("[INVALID_PARAM][page='%p']", page);
-               return true;
-       }
-
-       lb_list = livebox_utils_get_liveboxes_on_page_list(page);
-       if (!lb_list) {
-               LOGE("[FAILED][livebox_utils_liveboxes_on_page_list_get]");
-               return true;
-       }
-
-       if (eina_list_count(lb_list) > 0) {
-               LOGE("[FAILED][eina_list_count]");
-               eina_list_free(lb_list);
-               return false;
-       }
-
-       eina_list_free(lb_list);
-       return true;
-}
-
-static void __livebox_all_pages_add_page_clicked_cb(void *data, Evas_Object *obj, const char *emission, const char *source)
-{
-       Tree_node_t *page_node = NULL;
-
-       Elm_Object_Item *first_item = NULL;
-
-       Evas_Object *layout = s_info.layout;
-       Evas_Object *grid = s_info.grid;
-       Evas_Object *new_page = NULL;
-       Evas_Object *thumb = NULL;
-       Evas_Object *first_item_layout = NULL;
-
-
-       int g_count = 0; /*gengrid items count*/
-
-       Elm_Gengrid_Item_Class *gic = s_info.gic;
-       Elm_Object_Item *add_item = s_info.add_page_item;
-
-       int w = home_screen_get_root_width();
-       int h = home_screen_get_root_height();
-
-       w = THUMB_W_REL * w;
-       h = THUMB_H_REL * h;
-
-       if (!gic || !layout || !grid || !add_item) {
-               LOGE("[INVALID_PARAM][gic='%p'][layout='%p'][grid='%p'][add_item='%p']", gic, layout, grid, add_item);
-               return;
-       }
-
-       g_count = elm_gengrid_items_count(grid);
-
-       page_node = data_model_add_widget_page();
-       if (!page_node) {
-               LOGE("page_node == NULL");
-               return;
-       }
-
-       new_page =  livebox_panel_create_empty_page(page_node, livebox_panel_get());
-       if (!new_page) {
-               LOGE("[FAILED][livebox_panel_empty_page_create]");
-               data_model_del_item(page_node);
-               return;
-       }
-
-       home_screen_print_tree();
-
-       thumb = __livebox_all_pages_create_thumb(new_page, true, true);
-       if (!thumb) {
-               LOGE("[FAILED][__livebox_all_pages_create_thumb]");
-               evas_object_del(new_page);
-               return;
-       }
-
-
-       if (g_count < MAX_ITEMS) {
-               elm_gengrid_item_insert_before(grid, gic, thumb, add_item, NULL, NULL);
-               s_info.is_add_page_visible = true;
-       } else if (g_count == MAX_ITEMS) {
-               elm_object_item_del(s_info.add_page_item);
-               s_info.add_page_item = NULL;
-
-               elm_gengrid_item_append(grid, gic, thumb, NULL, NULL);
-               s_info.is_add_page_visible = false;
-       }
-
-       /*Show remove button on first page*/
-       first_item = elm_gengrid_first_item_get(s_info.grid);
-       if (!first_item) {
-               return;
-       }
-
-       first_item_layout = elm_object_item_part_content_get(first_item, GENGRID_ITEM_CONTENT);
-       if (!first_item_layout)
-               return;
-       /*WHAT HAPPENS to previously allocated thumb (g_count > MAX_ITEMS)??*/
-       thumb = elm_object_part_content_get(first_item_layout, PART_GRID_ITEM_CONTENT);
-       if (!thumb)
-               return;
-
-       elm_object_signal_emit(thumb, SIGNAL_REMOVE_BUTTON_SHOW, SIGNAL_SOURCE);
-}
-
-static Evas_Object *__livebox_all_pages_create_bg(Evas_Object *parent)
-{
-       LOGI("");
-
-       Evas_Object *bg = NULL;
-       const char *bg_path = util_get_res_file_path(IMAGE_DIR"/default_bg.png");
-       char *buf = NULL;
-       int ret = -1;
-
-       if (!parent) {
-               LOGE("[FAILED][__livebox_all_pages_create_bg]");
-               return NULL;
-       }
-
-       bg = elm_bg_add(parent);
-       if (!bg) {
-               LOGE("[FAILED][elm_bg_add]");
-               return NULL;
-       }
-
-       ret = system_settings_get_value_string(SYSTEM_SETTINGS_KEY_WALLPAPER_HOME_SCREEN, &buf);
-
-       if (!buf || ret != SYSTEM_SETTINGS_ERROR_NONE || !ecore_file_exists(buf)
-                       || !ecore_file_can_read(buf)) {
-               LOGE("[FAILED][failed to get bg path, use default]");
-
-               ret = elm_bg_file_set(bg, bg_path, NULL);
-       } else
-               ret = elm_bg_file_set(bg, buf, NULL);
-
-       if (!ret) {
-               LOGE("[FAILED][failed to set bg]");
-               evas_object_del(bg);
-               free(buf);
-               return NULL;
-       }
-
-       evas_object_size_hint_weight_set(bg, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
-       evas_object_size_hint_align_set(bg, EVAS_HINT_FILL, EVAS_HINT_FILL);
-       evas_object_show(bg);
-       elm_object_part_content_set(parent, "bg", bg);
-       free(buf);
-       return bg;
-}
-
-static Evas_Object *__livebox_all_pages_create_grid(Evas_Object *parent_layout)
-{
-       Evas_Object *grid = NULL;
-
-       if (!parent_layout) {
-               LOGE("[INVALID_PARAM][parent_layout='%p']", parent_layout);
-               return NULL;
-       }
-
-       grid = elm_gengrid_add(parent_layout);
-       if (!grid) {
-               LOGE("Failed to create gengrid");
-               return NULL;
-       }
-
-       elm_gengrid_item_size_set(grid, (ITEM_W_REL * home_screen_get_root_width()), (ITEM_H_REL * home_screen_get_root_height()));
-       elm_gengrid_select_mode_set(grid, ELM_OBJECT_SELECT_MODE_NONE);
-       elm_gengrid_filled_set(grid, EINA_TRUE);
-       elm_gengrid_horizontal_set(grid, EINA_FALSE);
-
-       /* elm_gengrid_reorder_mode_set(grid, EINA_TRUE);*/
-       elm_gengrid_align_set(grid, 0.5, 0.5);
-
-       evas_object_size_hint_weight_set(grid, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
-       elm_object_part_content_set(parent_layout, PART_LAYOUT_CONTENT, grid);
-       evas_object_show(grid);
-
-       evas_object_smart_callback_add(grid, "longpressed", __livebox_all_pages_grid_item_longpressed_cb, NULL);
-       evas_object_smart_callback_add(grid, "moved", __livebox_all_pages_grid_item_moved_cb, NULL);
-       evas_object_smart_callback_add(grid, "pressed", __libebox_all_pages_grid_item_pressed_cb, NULL);
-
-       __livebox_all_pages_create_grid_item_class();
-
-       return grid;
-}
-
-static Elm_Gengrid_Item_Class *__livebox_all_pages_create_grid_item_class(void)
-{
-       Elm_Gengrid_Item_Class *gic = s_info.gic;
-       if (!s_info.gic) {
-               gic = elm_gengrid_item_class_new();
-               if (!gic) {
-                       LOGE("Failed to create gengrid item class");
-                       return NULL;
-               }
-
-               gic->item_style = "default";
-               gic->func.text_get = __livebox_all_pages_get_grid_text;
-               gic->func.content_get = __livebox_all_pages_insert_thumb;
-               gic->func.state_get = __livebox_all_pages_get_grid_state;
-               gic->func.del = __livebox_all_pages_del_grid;
-
-               s_info.gic = gic;
-       }
-
-       return gic;
-}
-
-static Evas_Object *__livebox_all_pages_create_thumb(Evas_Object *page, bool is_fake, bool show_remove_button)
-{
-       Evas_Object *win = NULL;
-       Evas_Object *thumb = NULL;
-       Evas_Object *ly_grid_item = NULL;
-       Evas_Object *ly_thumb = NULL;
-       Evas *e = NULL;
-
-       win = home_screen_get_win();
-       if (!win) {
-               LOGE("[FAILED][home_screen_win_get]");
-               return NULL;
-       }
-
-       int w = home_screen_get_root_width();
-       int h = home_screen_get_root_height();
-
-       w = THUMB_W_REL * w;
-       h = THUMB_H_REL * h;
-
-       ly_grid_item = util_create_edje_layout(win, util_get_res_file_path(EDJE_DIR"/page_edit.edj"), GROUP_GRID_ITEM);
-       if (!ly_grid_item) {
-               LOGE("[FAILED][util_edje_layout_create]");
-               return NULL;
-       }
-
-       ly_thumb = util_create_edje_layout(win, util_get_res_file_path(EDJE_DIR"/page_edit.edj"), GROUP_THUMB);
-       if (!ly_thumb) {
-               LOGE("[FAILED][util_edje_layout_create]");
-               evas_object_del(ly_grid_item);
-               return NULL;
-       }
-
-       elm_object_signal_callback_add(ly_thumb, SIGNAL_THUMBNAIL_CLICKED, SIGNAL_SOURCE, __livebox_all_pages_page_clicked_cb, NULL);
-
-       if (page && !is_fake) {
-               thumb = page_scroller_get_page_thumbnail(page, w, h);
-               if (!thumb) {
-                       LOGE("[FAILED][page_scroller_page_thumbnail_get]");
-                       evas_object_del(ly_grid_item);
-                       evas_object_del(ly_thumb);
-                       return NULL;
-               }
-
-               evas_object_resize(thumb, w, h);
-               evas_object_size_hint_max_set(thumb, w, h);
-               evas_object_data_set(thumb, KEY_THUMB_DATA, page);
-       } else if (page) {
-               e = evas_object_evas_get(win);
-               if (!e) {
-                       LOGE("[FAILED][evas_object_evas_get]");
-                       return NULL;
-               }
-
-               thumb = evas_object_rectangle_add(e);
-               if (!thumb) {
-                       LOGE("[FAILED][Failed to create thumb]");
-                       evas_object_del(ly_grid_item);
-                       evas_object_del(ly_thumb);
-                       return NULL;
-               }
-
-               evas_object_color_set(thumb, 0, 0, 0, 0);
-               evas_object_resize(thumb, w, h);
-               evas_object_size_hint_max_set(thumb, w, h);
-               evas_object_data_set(thumb, KEY_THUMB_DATA, page);
-       }
-
-       if (!page && !is_fake) {
-               elm_object_signal_emit(ly_thumb, SIGNAL_BG_HIDE, SIGNAL_SOURCE);
-               elm_object_signal_emit(ly_thumb, SIGNAL_REMOVE_BUTTON_HIDE, SIGNAL_SOURCE);
-       }
-       elm_object_signal_callback_add(ly_thumb, SIGNAL_REMOVE_BUTTON_CLICKED, SIGNAL_SOURCE, __livebox_all_pages_remove_button_clicked_cb, ly_thumb);
-
-       elm_object_part_content_set(ly_thumb, PART_THUMB_CONTENT, thumb);
-       elm_object_part_content_set(ly_grid_item, PART_GRID_ITEM_CONTENT, ly_thumb);
-
-       if (!show_remove_button)
-               elm_object_signal_emit(ly_thumb, SIGNAL_REMOVE_BUTTON_HIDE_INSTANT, SIGNAL_SOURCE);
-
-       return ly_grid_item;
-}
-
-static Evas_Object *__livebox_all_pages_create_add_icon_layout(void)
-{
-       Evas_Object *win = NULL;
-       Evas *e = NULL;
-       Evas_Object *add_icon = NULL;
-       Evas_Object *ly_grid_item = NULL;
-       Evas_Object *ly_thumb = NULL;
-       int w = home_screen_get_root_width();
-       int h = home_screen_get_root_height();
-
-       win = home_screen_get_win();
-       if (!win) {
-               LOGE("[FAILED][home_screen_win_get]");
-               return NULL;
-       }
-
-       e = evas_object_evas_get(win);
-       if (!e) {
-               LOGE("[FAILED][evas_object_evas_get]");
-               return NULL;
-       }
-
-       add_icon = evas_object_rectangle_add(e);
-       if (!add_icon) {
-               LOGE("[FAILED][evas_object_rectangle_add]");
-               return NULL;
-       }
-       evas_object_color_set(add_icon, 0, 0, 0, 0);
-
-       ly_grid_item = util_create_edje_layout(win, util_get_res_file_path(EDJE_DIR"/page_edit.edj"), GROUP_GRID_ITEM);
-       if (!ly_grid_item) {
-               LOGE("[FAILED][util_edje_layout_create]");
-               evas_object_del(add_icon);
-               return NULL;
-       }
-
-       ly_thumb = util_create_edje_layout(win, util_get_res_file_path(EDJE_DIR"/page_edit.edj"), GROUP_THUMB);
-       if (!ly_thumb) {
-               LOGE("[FAILED][util_edje_layout_create]");
-               evas_object_del(add_icon);
-               evas_object_del(ly_grid_item);
-               return NULL;
-       }
-
-       w = THUMB_W_REL * w;
-       h = THUMB_H_REL * h;
-       evas_object_size_hint_max_set(add_icon, w, h);
-
-       elm_object_signal_emit(ly_thumb, SIGNAL_REMOVE_BUTTON_HIDE_INSTANT, SIGNAL_SOURCE);
-       elm_object_part_content_set(ly_grid_item, PART_GRID_ITEM_CONTENT, ly_thumb);
-       elm_object_part_content_set(ly_thumb, PART_THUMB_CONTENT, add_icon);
-
-       evas_object_data_set(add_icon, KEY_THUMB_DATA, ly_thumb); /*if pointer returned from the data_key will be the same it would mean that we have add page.*/
-       elm_object_signal_callback_add(ly_thumb, SIGNAL_THUMBNAIL_CLICKED, SIGNAL_SOURCE, __livebox_all_pages_add_page_clicked_cb, (void *) index);
-       elm_object_signal_emit(ly_thumb, SIGNAL_ADD_ICON_SHOW, SIGNAL_SOURCE);
-
-       return ly_grid_item;
-}
-
-static bool __livebox_all_pages_fill_grid(Evas_Object *grid)
-{
-       Eina_List *pages = NULL;
-       Eina_List *it = NULL;
-
-       Evas_Object *lvb_scroller = NULL;
-       Evas_Object *page = NULL;
-       Evas_Object *t_page = NULL;
-       Evas_Object *add_page = NULL;
-
-       bool show_remove_page = false;
-
-       Elm_Gengrid_Item_Class *gic = s_info.gic;
-
-       int g_count = 0;
-
-       if (!grid) {
-               LOGE("[INVALID_PARAM][grid='%p']", grid);
-               return false;
-       }
-
-       lvb_scroller = livebox_panel_get();
-       if (!lvb_scroller) {
-               LOGE("[FAILED][lvb_scroller='%p']", lvb_scroller);
-               return false;
-       }
-
-       s_info.current_page = page_scroller_get_current_page(lvb_scroller);
-
-       LOGI("[%s]", evas_object_type_get(lvb_scroller));
-
-       pages = page_scroller_unpack_pages(lvb_scroller);
-       if (!pages) {
-               LOGE("[FAILED][page_scroller_unpack_pages]");
-               return false;
-       }
-
-       show_remove_page = (eina_list_count(pages) > 1);
-
-       EINA_LIST_FOREACH(pages, it, page) {
-               if (!page)
-                       continue;
-
-               t_page = __livebox_all_pages_create_thumb(page, false, show_remove_page);
-               if (!t_page) {
-                       LOGE("[FAILED][__livebox_all_pages_create_thumb]");
-                       /*TODO: livebox implementer, free pages + think of the way to do something with ui data inside the nodes !*/
-                       elm_gengrid_clear(grid);
-                       return false;
-               }
-
-               elm_gengrid_item_append(grid, gic, t_page, NULL, NULL);
-       }
-
-       eina_list_free(pages);
-
-       g_count = elm_gengrid_items_count(grid);
-       if (g_count < MAX_ITEMS) {
-               add_page = __livebox_all_pages_create_add_icon_layout();
-               if (!add_page) {
-                       LOGE("[FAILED][__livebox_all_pages_create_add_icon_layout]");
-                       elm_gengrid_clear(grid);
-                       return false;
-               }
-
-               s_info.add_page_item = elm_gengrid_item_append(grid, gic, add_page, NULL, NULL);
-               if (!s_info.add_page_item) {
-                       LOGE("[FAILED][elm_gengrid_item_append]");
-                       evas_object_del(add_page);
-                       elm_gengrid_clear(grid);
-                       return false;
-               }
-
-               s_info.is_add_page_visible = true;
-       }
-
-       return true;
-}
-
-static Evas_Object *__livebox_all_pages_insert_thumb(void *data, Evas_Object *obj, const char *part)
-{
-       Evas_Object *thumb = (Evas_Object *) data;
-
-       if (!thumb) {
-               LOGE("[INVALID_DATA][__livebox_all_pages_insert_thumb]");
-               return NULL;
-       }
-
-       if (!strncmp(part, GENGRID_ITEM_CONTENT, strlen(GENGRID_ITEM_CONTENT))) {
-               return thumb;
-       }
-
-       return NULL;
-}
-
-static Eina_List *__livebox_all_pages_unpack_grid(void)
-{
-       Evas_Object *page = NULL;
-
-       Elm_Object_Item *g_item = NULL;
-
-       Eina_List *p_list = NULL;
-       Eina_List *g_items = NULL; /*list of elm_gengrid items.*/
-       Eina_List *it = NULL;
-
-       if (!s_info.grid) {
-               LOGE("[FAILED][s_info.grid='%p']", s_info.grid);
-               return NULL;
-       }
-
-       g_items = elm_gengrid_realized_items_get(s_info.grid);
-       if (!g_items) {
-               LOGE("[FAILED][elm_gengrid_realized_items_get]");
-               return NULL;
-       }
-
-       EINA_LIST_FOREACH(g_items, it, g_item) {
-               if (!g_item)
-                       continue;
-
-               page = __livebox_all_pages_get_thumb_page(g_item);
-               if (!page) {
-                       LOGE("[FAILED][__livebox_all_pages_get_thumb_page]");
-                       eina_list_free(p_list);
-                       eina_list_free(g_items);
-                       return NULL;
-               }
-
-               if (!__livebox_all_pages_check_add_page(g_item)) {
-                       p_list = eina_list_append(p_list, page);
-                       if (!p_list) {
-                               LOGE("[FAILED][eina_list_append]");
-                               eina_list_free(g_items);
-                               return NULL;
-                       }
-               }
-       }
-       eina_list_free(g_items);
-
-       return p_list;
-}
-
-static void __livebox_all_pages_grid_item_longpressed_cb(void *data, Evas_Object *obj, void *ei)
-{
-       s_info.is_item_longpressed = true;
-       s_info.pressed_item = -1;
-
-       Elm_Object_Item *it = (Elm_Object_Item *) ei;
-
-       if (__livebox_all_pages_check_add_page(it))
-               return;
-
-       Evas_Object *thumb_layout = elm_object_item_part_content_get(it, GENGRID_ITEM_CONTENT);
-       Evas_Object *thumb = elm_object_part_content_unset(thumb_layout, PART_GRID_ITEM_CONTENT);
-
-       evas_object_layer_set(thumb, EVAS_LAYER_MAX);
-
-       elm_object_signal_emit(thumb, SIGNAL_REMOVE_BUTTON_HIDE, SIGNAL_SOURCE);
-       elm_object_signal_emit(thumb, SIGNAL_BG_REPOSITON, SIGNAL_SOURCE);
-
-       s_info_reposition.item = thumb;
-       s_info_reposition.g_item = it;
-}
-
-static void __livebox_all_pages_grid_item_moved_cb(void *data, Evas_Object *obj, void *ei)
-{
-       LOGD("item moved");
-}
-
-static void __livebox_all_pages_grid_changed_cb(void *data, Evas_Object *obj, void *ei)
-{
-       ecore_timer_add(ITEM_CREATE_TIME, __livebox_all_pages_new_item_created_cb, NULL);
-       evas_object_smart_callback_del(obj, "index,update", __livebox_all_pages_grid_changed_cb);
-       return;
-}
-
-/**
- * @brief Block new item creation during reposition process
- */
-static Eina_Bool __livebox_all_pages_new_item_created_cb(void *data)
-{
-       s_info_reposition.is_created = false;
-       return EINA_FALSE;
-}
-
-/**
- * @details Function check if elm_object item contain add page layout
- */
-static bool __livebox_all_pages_check_add_page(Elm_Object_Item *it)
-{
-       Evas_Object *page = NULL;
-       Evas_Object *ly = NULL;
-       Evas_Object *ly_content = NULL;
-
-       if (!it) {
-               LOGE("[INVALID_PARAM][it='%p']", it);
-               return false;
-       }
-
-       ly = elm_object_item_part_content_get(it, GENGRID_ITEM_CONTENT);
-       if (!ly) {
-               LOGE("[FAILED][elm_object_item_part_content_get]");
-               return false;
-       }
-
-       ly_content = elm_object_part_content_get(ly, PART_GRID_ITEM_CONTENT);
-       if (!ly_content) {
-               LOGE("[FAILED][elm_object_part_content_get]");
-               return false;
-       }
-
-       page = __livebox_all_pages_get_thumb_page(it);
-       if (!page) {
-               LOGE("[FAILED][__livebox_all_pages_get_thumb_page]");
-               return false;
-       }
-
-       if (page == ly_content)
-               return true;
-
-       return false;
-}
-
-static Evas_Object *__livebox_all_pages_get_thumb_page(Elm_Object_Item *it)
-{
-       Evas_Object *ly = NULL;
-       Evas_Object *ly_content = NULL;
-       Evas_Object *thumb = NULL;
-       Evas_Object *page = NULL;
-
-       if (!it) {
-               LOGE("[INVALID_PARAM][it='%p']", it);
-               return NULL;
-       }
-
-       ly = elm_object_item_part_content_get(it, GENGRID_ITEM_CONTENT);
-       if (!ly) {
-               LOGE("[FAILED][elm_object_item_part_content_get]");
-               return NULL;
-       }
-
-       ly_content = elm_object_part_content_get(ly, PART_GRID_ITEM_CONTENT);
-       if (!ly_content) {
-               LOGE("[FAILED][elm_object_part_content_get]");
-               return NULL;
-       }
-
-       thumb = elm_object_part_content_get(ly_content, PART_THUMB_CONTENT);
-       if (!thumb) {
-               LOGE("[FAILED][elm_object_part_content_get]");
-               return NULL;
-       }
-
-       page = (Evas_Object *) evas_object_data_get(thumb, KEY_THUMB_DATA);
-
-       return page;
-}
-
-static Eina_Bool __livebox_all_pages_item_up_cb(void *data)
-{
-       int gengrid_items = 0;
-       Evas_Object *page = NULL;
-       Evas_Object *prev_page = NULL;
-       Elm_Object_Item *prev_it = NULL;
-       Tree_node_t *page_node = NULL;
-       Tree_node_t *prev_node = NULL;
-
-       Elm_Object_Item *d_it = s_info_reposition.g_item; /*destination item;*/
-       if (!d_it) {
-               LOGE("[FAILED][__livebox_all_pages_item_up_cb]");
-               return ECORE_CALLBACK_CANCEL;
-       }
-
-       Evas_Object *ly_container = elm_object_item_part_content_get(d_it, GENGRID_ITEM_CONTENT);
-       if (!ly_container) {
-               LOGE("[FAILED][elm_object_item_part_content_get]");
-               return ECORE_CALLBACK_CANCEL;
-       }
-
-       elm_object_part_content_set(ly_container, PART_GRID_ITEM_CONTENT, s_info_reposition.item);
-       elm_object_signal_emit(s_info_reposition.item, SIGNAL_BG_NORMAL, SIGNAL_SOURCE);
-
-       gengrid_items = elm_gengrid_items_count(s_info.grid);
-       if (gengrid_items > 2)
-               elm_object_signal_emit(s_info_reposition.item, SIGNAL_REMOVE_BUTTON_SHOW, SIGNAL_SOURCE);
-
-       page = __livebox_all_pages_get_thumb_page(d_it);
-       if (!page) {
-               LOGE("page == NULL");
-               return ECORE_CALLBACK_CANCEL;
-       }
-
-       page_node = evas_object_data_get(page, KEY_ICON_DATA);
-       if (!page_node) {
-               LOGE("page_node == NULL");
-               return ECORE_CALLBACK_CANCEL;
-       }
-
-       prev_it = elm_gengrid_item_prev_get(d_it);
-       if (prev_it) {
-               LOGD("prev_it != NULL");
-
-               prev_page = __livebox_all_pages_get_thumb_page(prev_it);
-
-               if (!prev_page) {
-                       LOGE("prev_page == NULL");
-                       return ECORE_CALLBACK_CANCEL;
-               }
-
-               prev_node = evas_object_data_get(prev_page, KEY_ICON_DATA);
-               if (!prev_node) {
-                       LOGE("prev_node == NULL");
-                       return ECORE_CALLBACK_CANCEL;
-               }
-
-               data_model_insert_after(prev_node, page_node);
-       } else {
-               LOGD("prev_it == NULL");
-
-               data_model_insert_after(NULL, page_node);
-       }
-
-       s_info_reposition.cur_x = -1;
-       s_info_reposition.cur_y = -1;
-       s_info_reposition.g_item = NULL;
-       s_info_reposition.item = NULL;
-       s_info_reposition.is_created = false;
-       s_info.is_item_longpressed = false;
-
-       home_screen_print_tree();
-
-       return ECORE_CALLBACK_CANCEL;
-}
-
-/*Gengrid Class item functions*/
-static char *__livebox_all_pages_get_grid_text(void *data, Evas_Object *obj, const char *part)
-{
-       return NULL;
-}
-
-static Eina_Bool __livebox_all_pages_get_grid_state(void *data, Evas_Object *obj, const char *part)
-{
-       return EINA_FALSE;
-}
-
-static void __livebox_all_pages_del_grid(void *data, Evas_Object *obj)
-{
-}
-
-static void __livebox_all_pages_hide_remove_button(Elm_Object_Item *it)
-{
-       Evas_Object *thumb_layout = NULL;
-       Evas_Object *thumb = NULL;
-
-       if (!it)
-               LOGE("[INVALID_PARAM][it='%p']", it);
-
-       thumb_layout = elm_object_item_part_content_get(it, GENGRID_ITEM_CONTENT);
-       thumb = elm_object_part_content_get(thumb_layout, PART_GRID_ITEM_CONTENT);
-       elm_object_signal_emit(thumb, SIGNAL_REMOVE_BUTTON_HIDE, SIGNAL_SOURCE);
-}
-
-static void __livebox_all_pages_realized_cb(void *data, Evas_Object *obj, void *ei)
-{
-       int g_count = 0;
-       g_count = elm_gengrid_items_count(obj);
-
-       if (g_count == 2)
-               __livebox_all_pages_hide_remove_button(elm_gengrid_first_item_get(obj));
-}
-
-static void __livebox_all_pages_remove_button_clicked_cb(void *data, Evas_Object *obj, const char *emission, const char *source)
-{
-       Elm_Object_Item *clicked_item = NULL;
-       Evas_Object *clicked_page = NULL;
-       Evas_Object *lvb = (Evas_Object *) data;
-
-       if (!lvb) {
-               LOGE("[FAILED][lvb='%p']", lvb);
-               return;
-       }
-
-       int x = -1, y = -1;
-       evas_object_geometry_get(lvb, &x, &y, NULL, NULL);
-
-       clicked_item = elm_gengrid_at_xy_item_get(s_info.grid, x, y, NULL, NULL);
-       if (!clicked_item) {
-               LOGE("[FAILED][elm_gengrid_at_xy_item_get]");
-               return;
-       }
-
-       clicked_page = __livebox_all_pages_get_thumb_page(clicked_item);
-       if (!clicked_page) {
-               LOGE("[FAILED][__livebox_all_pages_get_thumb_page]");
-               return;
-       }
-       if (__livebox_all_pages_is_page_empty(clicked_page)) {
-               __livebox_all_pages_remove_button_clicked_liveboxes_cb(clicked_item);
-       } else {
-               popup_data_t *p_data = popup_create_data();
-               if (!p_data) {
-                       LOGE("[FAILED][failed to create popup data]");
-                       return;
-               }
-
-               p_data->type = POPUP_TWO_BUTTONS;
-               p_data->popup_title_text = strdup(_("IDS_HS_HEADER_DELETE_PAGE_ABB2"));
-               p_data->popup_content_text = strdup(_("IDS_HS_POP_THIS_PAGE_AND_ALL_THE_ITEMS_IT_CONTAINS_WILL_BE_DELETED"));
-               p_data->popup_confirm_text = strdup(_("IDS_HS_OPT_DELETE"));
-               p_data->popup_cancel_text = strdup(_("IDS_CAM_SK_CANCEL"));
-               p_data->orientation = ELM_POPUP_ORIENT_CENTER;
-
-               popup_show(p_data, __livebox_all_pages_remove_button_clicked_liveboxes_cb, NULL,
-                                       (void *) clicked_item);
-       }
-}
-
-static void __livebox_all_pages_page_clicked_cb(void *data, Evas_Object *obj, const char *emission, const char *source)
-{
-       Evas_Object *lvb_scroller = NULL;
-
-       if (s_info.is_item_longpressed)
-               return;
-
-       lvb_scroller = livebox_panel_get();
-       if (!lvb_scroller) {
-               LOGE("Failed to get scroller");
-               return;
-       }
-
-       livebox_all_pages_hide();
-       home_screen_set_view_type(HOMESCREEN_VIEW_HOME);
-       s_info.pressed_item = -1;
-}
-
-static void __libebox_all_pages_grid_item_pressed_cb(void *data, Evas_Object *obj, void *ei)
-{
-       s_info.pressed_item = elm_gengrid_item_index_get(ei);
-}
-
diff --git a/src/menu.c b/src/menu.c
new file mode 100755 (executable)
index 0000000..1d29b23
--- /dev/null
@@ -0,0 +1,102 @@
+/*
+ * Copyright 2012  Samsung Electronics Co., Ltd
+ *
+ * Licensed under the Flora License, Version 1.1 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://floralicense.org/license/
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include "homescreen-efl.h"
+#include "menu.h"
+#include "conf.h"
+
+static struct {
+    Evas_Object *menu;
+    bool is_visible;
+} menu_info = {
+    .menu = NULL,
+    .is_visible = false
+};
+
+/* menu_item_t */
+static const char menu_text[MENU_MAX][PATH_MAX_LEN] = {
+        "IDS_HS_OPT_EDIT",
+        "IDS_HS_HEADER_ADD_WIDGET",
+        "IDS_HS_OPT_CHANGE_WALLPAPER_ABB",
+        "IDS_HS_OPT_ALL_PAGES",
+        "IDS_HS_OPT_EDIT",
+        "IDS_HS_OPT_CREATE_FOLDER_OPT_TTS"
+};
+
+static void __menu_dismissed_cb(void *data, Evas_Object *obj, void *event_info)
+{
+    menu_info.is_visible = false;
+
+    if (menu_info.menu) {
+        evas_object_del(menu_info.menu);
+        menu_info.menu = NULL;
+    }
+}
+
+void menu_show(Eina_Hash* hash_table)
+{
+    int menu_id;
+    if (menu_info.is_visible) {
+        return ;
+    }
+
+    menu_info.is_visible = true;
+
+    menu_info.menu = elm_ctxpopup_add(homescreen_efl_get_win());
+    elm_object_style_set(menu_info.menu, "more/default");
+    elm_ctxpopup_horizontal_set(menu_info.menu, EINA_FALSE);
+    elm_ctxpopup_auto_hide_disabled_set(menu_info.menu, EINA_TRUE);
+    elm_ctxpopup_direction_priority_set(menu_info.menu, ELM_CTXPOPUP_DIRECTION_DOWN, ELM_CTXPOPUP_DIRECTION_DOWN, ELM_CTXPOPUP_DIRECTION_DOWN, ELM_CTXPOPUP_DIRECTION_DOWN);
+
+    evas_object_smart_callback_add(menu_info.menu, "dismissed", __menu_dismissed_cb, NULL);
+
+    for (menu_id = MENU_DEFAULT+1; menu_id < MENU_MAX; menu_id++) {
+        void *data = eina_hash_find(hash_table, &menu_id);
+        if (data) {
+            elm_ctxpopup_item_append(menu_info.menu, _(menu_text[menu_id]), NULL, data, NULL);
+        }
+    }
+
+    evas_object_move(menu_info.menu, 0, WINDOW_H);
+    evas_object_show(menu_info.menu);
+}
+
+void menu_hide(void)
+{
+    if (!menu_info.is_visible) {
+        return ;
+    }
+
+    menu_info.is_visible = false;
+
+    evas_object_hide(menu_info.menu);
+    evas_object_del(menu_info.menu);
+    menu_info.menu = NULL;
+}
+
+bool menu_is_show(void)
+{
+    return menu_info.is_visible;
+}
+
+void menu_change_state_on_hw_menu_key(Eina_Hash* hash_table)
+{
+    if (menu_info.is_visible) {
+        menu_hide();
+    } else {
+        menu_show(hash_table);
+    }
+}
diff --git a/src/mouse.c b/src/mouse.c
deleted file mode 100644 (file)
index 3471d8c..0000000
+++ /dev/null
@@ -1,162 +0,0 @@
-/*
- * Copyright 2012  Samsung Electronics Co., Ltd
- *
- * Licensed under the Flora License, Version 1.1 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://floralicense.org/license/
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <stdbool.h>
-#include <Elementary.h>
-
-#include "livebox/livebox_panel.h"
-#include "util.h"
-#include "livebox_all_pages.h"
-#include "folder_panel.h"
-
-
-static struct {
-       Ecore_Event_Handler *mouse_down;
-       Ecore_Event_Handler *mouse_up;
-       Ecore_Event_Handler *mouse_move;
-       bool pressed;
-       Evas_Coord pre_x;
-       Evas_Coord pre_y;
-       bool is_initialized;
-       Evas_Coord down_x;
-       Evas_Coord down_y;
-       Evas_Coord move_x;
-       Evas_Coord move_y;
-       Evas_Coord up_x;
-       Evas_Coord up_y;
-} mouse_info = {
-       .mouse_down = NULL,
-       .mouse_up = NULL,
-       .mouse_move = NULL,
-       .pressed = false,
-       .pre_x = 0,
-       .pre_y = 0,
-       .is_initialized = false,
-       .down_x = 0,
-       .down_y = 0,
-       .move_x = 0,
-       .move_y = 0,
-       .up_x = 0,
-       .up_y = 0,
-};
-
-
-static Eina_Bool __mouse_down_cb(void *data, int type, void *event);
-static Eina_Bool __mouse_up_cb(void *data, int type, void *event);
-static Eina_Bool __mouse_move_cb(void *data, int type, void *event);
-
-
-HAPI void mouse_register(void)
-{
-       mouse_info.mouse_down = ecore_event_handler_add(ECORE_EVENT_MOUSE_BUTTON_DOWN, __mouse_down_cb, NULL);
-       if (!mouse_info.mouse_down)
-               LOGD("Failed to register the mouse down event callback");
-
-       mouse_info.mouse_move = ecore_event_handler_add(ECORE_EVENT_MOUSE_MOVE, __mouse_move_cb, NULL);
-       if (!mouse_info.mouse_move) {
-               LOGD("Failed to register the mouse move event callback");
-               ecore_event_handler_del(mouse_info.mouse_down);
-               mouse_info.mouse_down = NULL;
-       }
-
-       mouse_info.mouse_up = ecore_event_handler_add(ECORE_EVENT_MOUSE_BUTTON_UP, __mouse_up_cb, NULL);
-       if (!mouse_info.mouse_up) {
-               LOGD("Failed to register the mouse up event callback");
-               ecore_event_handler_del(mouse_info.mouse_down);
-               ecore_event_handler_del(mouse_info.mouse_move);
-
-               mouse_info.mouse_down = NULL;
-               mouse_info.mouse_move = NULL;
-       }
-}
-
-
-HAPI void mouse_unregister(void)
-{
-       if (mouse_info.mouse_down) {
-               ecore_event_handler_del(mouse_info.mouse_down);
-               mouse_info.mouse_down = NULL;
-       }
-
-       if (mouse_info.mouse_up) {
-               ecore_event_handler_del(mouse_info.mouse_up);
-               mouse_info.mouse_up = NULL;
-       }
-
-       if (mouse_info.mouse_move) {
-               ecore_event_handler_del(mouse_info.mouse_move);
-               mouse_info.mouse_move = NULL;
-       }
-}
-
-
-static Eina_Bool __mouse_down_cb(void *data, int type, void *event)
-{
-       Ecore_Event_Mouse_Button *move = event;
-
-       if (mouse_info.pressed)
-               return ECORE_CALLBACK_RENEW;
-
-       mouse_info.pressed = true;
-       mouse_info.is_initialized = false;
-
-       mouse_info.down_x = move->root.x;
-       mouse_info.down_y = move->root.y;
-
-       return ECORE_CALLBACK_RENEW;
-}
-
-
-static Eina_Bool __mouse_up_cb(void *data, int type, void *event)
-{
-       Ecore_Event_Mouse_Button *move = event;
-
-       if (!mouse_info.pressed)
-               return ECORE_CALLBACK_RENEW;
-
-       mouse_info.pressed = false;
-       mouse_info.pre_x = 0;
-       mouse_info.pre_y = 0;
-
-       mouse_info.up_x = move->root.x;
-       mouse_info.up_y = move->root.y;
-
-       livebox_all_pages_up_item();
-
-       return ECORE_CALLBACK_RENEW;
-}
-
-static Eina_Bool __mouse_move_cb(void *data, int type, void *event)
-{
-       Ecore_Event_Mouse_Move *move = event;
-
-       mouse_info.move_x = move->root.x;
-       mouse_info.move_y = move->root.y;
-
-       if (mouse_info.pressed == false)
-               return ECORE_CALLBACK_RENEW;
-
-       livebox_all_pages_move_item(move->root.x, move->root.y);
-       livebox_panel_move_mouse_cb(move->root.x, move->root.y);
-
-       return ECORE_CALLBACK_RENEW;
-}
-
-
-
-
diff --git a/src/option_menu.c b/src/option_menu.c
deleted file mode 100644 (file)
index 7af4cbf..0000000
+++ /dev/null
@@ -1,284 +0,0 @@
-/*
- * Copyright 2012  Samsung Electronics Co., Ltd
- *
- * Licensed under the Flora License, Version 1.1 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://floralicense.org/license/
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#include <Elementary.h>
-
-#include "option_menu.h"
-#include "homescreen-efl.h"
-#include "app_grid.h"
-#include "all_apps.h"
-
-
-#include "livebox/livebox_panel.h"
-#include "util.h"
-#include "app_icon.h"
-#include "folder_panel.h"
-#include "popup.h"
-#include "data_model.h"
-#include "layout.h"
-#include "livebox_all_pages.h"
-
-static struct {
-       Evas_Object *option_menu;
-       Evas_Object *option_menu_background;
-       bool is_visible;
-} s_info;
-
-/*Create the background with the clicked callback under the menu*/
-static void __option_menu_create_background(void);
-static void __option_menu_background_clicked_cb(void *data, Evas *e, Evas_Object *obj, void *event_info);
-static void __option_menu_dismissed_cb(void *data, Evas_Object *obj, void *event_info);
-
-/*All Apps callbacks*/
-static void __option_menu_entry_all_apps_edit_apps_cb(void *data, Evas_Object *obj, void *event_info);
-static void __option_menu_entry_all_apps_create_folder_cb(void *data, Evas_Object *obj, void *event_info);
-
-/*Home callback*/
-static void __option_menu_entry_all_apps_edit_home_cb(void *data, Evas_Object *obj, void *event_info);
-
-/*Wallpapers callbacks*/
-static void __option_menu_entry_all_apps_wallpaper_cb(void *data, Evas_Object *obj, void *event_info);
-
-/*Add widget*/
-static void __option_menu_entry_all_apps_add_widget_cb(void *data, Evas_Object *obj, void *event_info);
-
-/*View all pages*/
-static void __option_menu_entry_all_apps_view_all_pages_cb(void *data, Evas_Object *obj, void *event_info);
-
-static void __option_menu_update_caption_menu_state_update(void);
-
-HAPI bool option_menu_show(void)
-{
-       Evas_Object *option_menu = NULL;
-       homescreen_view_t view = home_screen_get_view_type();
-
-       __option_menu_create_background();
-
-       option_menu = elm_ctxpopup_add(home_screen_get_win());
-       if (!option_menu) {
-               LOGE("Could not create all apps option menu");
-               evas_object_del(s_info.option_menu_background);
-               return false;
-       }
-
-       elm_ctxpopup_horizontal_set(option_menu, EINA_FALSE);
-       elm_ctxpopup_direction_priority_set(option_menu, ELM_CTXPOPUP_DIRECTION_DOWN, ELM_CTXPOPUP_DIRECTION_DOWN, ELM_CTXPOPUP_DIRECTION_DOWN, ELM_CTXPOPUP_DIRECTION_DOWN);
-
-       evas_object_smart_callback_add(option_menu, "dismissed", __option_menu_dismissed_cb, NULL);
-
-       evas_object_layer_set(option_menu, EVAS_LAYER_MAX);
-       evas_object_move(option_menu, 0, home_screen_get_root_height()-(BUTTONS_AREA*home_screen_get_root_height()));
-       evas_object_size_hint_min_set(option_menu, home_screen_get_root_width(), -1);
-
-       if (view == HOMESCREEN_VIEW_HOME) {
-               elm_ctxpopup_item_append(option_menu, _("IDS_HS_OPT_EDIT"), NULL, __option_menu_entry_all_apps_edit_home_cb, NULL);
-               elm_ctxpopup_item_append(option_menu, _("IDS_HS_HEADER_ADD_WIDGET"), NULL, __option_menu_entry_all_apps_add_widget_cb, NULL);
-               elm_ctxpopup_item_append(option_menu, _("IDS_HS_OPT_CHANGE_WALLPAPER_ABB"), NULL, __option_menu_entry_all_apps_wallpaper_cb, NULL);
-               elm_ctxpopup_item_append(option_menu, _("IDS_HS_OPT_ALL_PAGES"), NULL, __option_menu_entry_all_apps_view_all_pages_cb, NULL);
-       } else if (view == HOMESCREEN_VIEW_HOME_ALL_PAGES) {
-               LOGD("All pages view type");
-       } else if (view == HOMESCREEN_VIEW_ALL_APPS) {
-               elm_ctxpopup_item_append(option_menu, _("IDS_HS_OPT_EDIT"), NULL, __option_menu_entry_all_apps_edit_apps_cb, NULL);
-               elm_ctxpopup_item_append(option_menu, _("IDS_HS_OPT_CREATE_FOLDER_OPT_TTS"), NULL, __option_menu_entry_all_apps_create_folder_cb, NULL);
-
-       } else if (view == HOMESCREEN_VIEW_UNKNOWN) {
-               LOGD("Unknown view type");
-       } else {
-               LOGE("Failed to get view type");
-               return false;
-       }
-
-       evas_object_show(option_menu);
-
-       s_info.is_visible = true;
-       s_info.option_menu = option_menu;
-
-       return true;
-}
-
-HAPI void option_menu_hide(void)
-{
-       if (s_info.option_menu) {
-               evas_object_hide(s_info.option_menu);
-               evas_object_del(s_info.option_menu);
-               s_info.option_menu = NULL;
-       }
-
-       if (s_info.option_menu_background) {
-               evas_object_hide(s_info.option_menu_background);
-               evas_object_del(s_info.option_menu_background);
-               s_info.option_menu_background = NULL;
-       }
-       s_info.is_visible = false;
-}
-
-HAPI void option_menu_update_on_item_selected(void)
-{
-       __option_menu_update_caption_menu_state_update();
-}
-
-HAPI void option_menu_change_state_on_hw_menu_key(void)
-{
-       if (s_info.is_visible) {
-               option_menu_hide();
-       } else {
-               option_menu_show();
-       }
-}
-
-static void __option_menu_create_background(void)
-{
-       Evas_Object *background = NULL;
-
-       if (s_info.option_menu_background) {
-               evas_object_show(s_info.option_menu_background);
-
-               return;
-       }
-
-       background = evas_object_rectangle_add(evas_object_evas_get(home_screen_get_win()));
-       evas_object_color_set(background, 255, 255, 255, 0);
-       evas_object_size_hint_min_set(background, INDEX_HEIGHT, home_screen_get_root_height());
-       evas_object_size_hint_max_set(background, INDEX_HEIGHT, home_screen_get_root_height());
-       evas_object_resize(background, INDEX_HEIGHT, home_screen_get_root_height());
-       evas_object_show(background);
-
-       evas_object_event_callback_add(background, EVAS_CALLBACK_MOUSE_UP, __option_menu_background_clicked_cb, NULL);
-
-       s_info.option_menu_background = background;
-}
-
-static void __option_menu_background_clicked_cb(void *data, Evas *e, Evas_Object *obj, void *event_info)
-{
-       option_menu_hide();
-}
-
-static void __option_menu_dismissed_cb(void *data, Evas_Object *obj, void *event_info)
-{
-       option_menu_hide();
-}
-
-static void __option_menu_entry_all_apps_edit_apps_cb(void *data, Evas_Object *obj, void *event_info)
-{
-       option_menu_hide();
-       home_screen_set_view_type(HOMESCREEN_VIEW_ALL_APPS_EDIT);
-}
-
-static void __option_menu_entry_all_apps_edit_home_cb(void *data, Evas_Object *obj, void *event_info)
-{
-       home_screen_set_view_type(HOMESCREEN_VIEW_HOME_EDIT);
-       option_menu_hide();
-}
-
-
-static void __option_menu_entry_all_apps_create_folder_cb(void *data, Evas_Object *obj, void *event_info)
-{
-       option_menu_hide();
-       home_screen_set_view_type(HOMESCREEN_VIEW_ALL_APPS_CHOOSE);
-       __option_menu_update_caption_menu_state_update();
-}
-
-static void _launch_request_cb(app_control_h request, app_control_h reply, app_control_result_e result, void *data)
-{
-       switch (result) {
-       case APP_CONTROL_RESULT_CANCELED:
-               LOGE("[APP_CONTROL_RESULT_CANCELED]");
-               break;
-       case APP_CONTROL_RESULT_FAILED:
-               LOGE("[APP_CONTROL_RESULT_FAILED]");
-               break;
-       case APP_CONTROL_RESULT_SUCCEEDED:
-               LOGD("[APP_CONTROL_RESULT_SUCCEEDED]");
-               break;
-       default:
-               LOGE("UNKNOWN ERROR");
-               break;
-       }
-}
-
-static void __option_menu_entry_all_apps_add_widget_cb(void *data, Evas_Object *obj, void *event_info)
-{
-       LOGD("__option_menu_entry_all_apps_add_widget_cb");
-
-       home_screen_set_view_type(HOMESCREEN_VIEW_HOME_ADD_VIEWER);
-
-       option_menu_hide();
-}
-
-static void __option_menu_entry_all_apps_wallpaper_cb(void *data, Evas_Object *obj, void *event_info)
-{
-       LOGD("__option_menu_entry_all_apps_wallpaper_cb");
-
-       const char *appid = OPTION_MENU_SETTINGS;
-       app_control_h app_control_handle = NULL;
-
-       if (app_control_create(&app_control_handle) != APP_CONTROL_ERROR_NONE) {
-               LOGE("[FAILED][app_control_create]");
-               return;
-       }
-
-       app_control_add_extra_data(app_control_handle, "from", "Homescreen-efl");
-       app_control_add_extra_data(app_control_handle, "popup_type", "selection_popup");
-       app_control_add_extra_data(app_control_handle, "setas-type", "Homescreen");
-
-       if (app_control_set_app_id(app_control_handle, appid) != APP_CONTROL_ERROR_NONE) {
-               LOGE("[FAILED][app_control_set_app_id]");
-               app_control_destroy(app_control_handle);
-               return;
-       }
-
-       if (app_control_send_launch_request(app_control_handle, _launch_request_cb, NULL) != APP_CONTROL_ERROR_NONE) {
-               LOGE("[FAILED][app_control_send_launch_request]");
-               app_control_destroy(app_control_handle);
-               return;
-       }
-
-       app_control_destroy(app_control_handle);
-       option_menu_hide();
-}
-
-static void __option_menu_entry_all_apps_view_all_pages_cb(void *data, Evas_Object *obj, void *event_info)
-{
-       home_screen_set_view_type(HOMESCREEN_VIEW_HOME_ALL_PAGES);
-       option_menu_hide();
-}
-
-static void __option_menu_update_caption_menu_state_update(void)
-{
-       int selected_count = -1;
-       char trbuf[CAPTION_MENU_CENTER_LABEL_TEXT_LEN_MAX];
-       homescreen_view_t view = home_screen_get_view_type();
-
-       switch (view) {
-       case HOMESCREEN_VIEW_HOME:
-               break;
-       case HOMESCREEN_VIEW_ALL_APPS:
-               break;
-       case HOMESCREEN_VIEW_ALL_APPS_CHOOSE:
-               selected_count = data_model_get_app_check_state();
-               snprintf(trbuf, sizeof(trbuf), _("IDS_MEMO_HEADER_PD_SELECTED_ABB2"), selected_count);
-               layout_main_caption_set_menu_texts(trbuf,
-               _("IDS_TPLATFORM_ACBUTTON_CANCEL_ABB"),
-               _("IDS_TPLATFORM_ACBUTTON_DONE_ABB"));
-               break;
-       case HOMESCREEN_VIEW_ALL_APPS_EDIT:
-               layout_main_caption_set_menu_texts(_("IDS_HS_HEADER_EDIT"), "", "");
-               break;
-       default:
-               break;
-       }
-}
-
diff --git a/src/page_indicator.c b/src/page_indicator.c
new file mode 100755 (executable)
index 0000000..66c7d3c
--- /dev/null
@@ -0,0 +1,235 @@
+/*
+ * Copyright 2012  Samsung Electronics Co., Ltd
+ *
+ * Licensed under the Flora License, Version 1.1 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://floralicense.org/license/
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include "page_indicator.h"
+#include "homescreen-efl.h"
+#include "conf.h"
+#include "edc_conf.h"
+#include "util.h"
+
+static void __page_indicator_scroll_cb(void *data, Evas_Object *obj, void *event_info);
+static void __page_indicator_scroll_anim_stop_cb(void *data, Evas_Object *obj, void *event_info);
+static void __page_indicator_set_current_page(page_indicator_t *page_indicator);
+static void __page_indicator_unit_rotate(Evas_Object *unit, double angle, double alpha);
+
+page_indicator_t * page_indictor_create(Evas_Object *scroller)
+{
+    int i;
+    char edj_path[PATH_MAX] = {0, };
+    page_indicator_t *page_indicator = NULL;
+
+    snprintf(edj_path, sizeof(edj_path), "%s", util_get_res_file_path(EDJE_DIR"/page_indicator_unit.edj"));
+
+    if (scroller == NULL)
+        return NULL;
+    page_indicator = (page_indicator_t *)malloc(sizeof(page_indicator_t));
+    page_indicator->scroller = scroller;
+    page_indicator->page_count = 0;
+    page_indicator->current_page = -1;
+
+    page_indicator->box = elm_box_add(homescreen_efl_get_win());
+    if (!page_indicator->box) {
+        LOGE("page_index->box==NULL");
+        free(page_indicator);
+        return NULL;
+    }
+    elm_box_homogeneous_set(page_indicator->box, EINA_TRUE);
+    elm_box_horizontal_set(page_indicator->box, EINA_TRUE);
+
+    evas_object_size_hint_weight_set(page_indicator->box, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+    elm_box_align_set(page_indicator->box, 0.5, 0.5);
+    elm_box_padding_set(page_indicator->box, PAGE_INDICATOR_GAP, 0);
+    evas_object_show(page_indicator->box);
+    evas_object_move(page_indicator->box, page_indicator->x, page_indicator->y);
+
+    evas_object_smart_callback_add(scroller, "scroll", __page_indicator_scroll_cb, page_indicator);
+    evas_object_smart_callback_add(scroller, "scroll,anim,stop", __page_indicator_scroll_anim_stop_cb, page_indicator);
+
+    for (i = 0; i < PAGE_INDICATOR_MAX_PAGE_COUNT; i++) {
+        page_indicator->unit[i] = elm_layout_add(homescreen_efl_get_win());
+        elm_layout_file_set(page_indicator->unit[i], edj_path, GROUP_PAGE_INDICATOR_UNIT);
+        evas_object_size_hint_weight_set(page_indicator->unit[i], EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+        evas_object_resize(page_indicator->unit[i], PAGE_INDICATOR_UNIT, PAGE_INDICATOR_UNIT);
+
+        Evas_Object *rect = evas_object_rectangle_add(homescreen_efl_get_win());
+        evas_object_color_set(rect, 255, 255, 255, 0);
+        evas_object_size_hint_min_set(rect, PAGE_INDICATOR_UNIT, PAGE_INDICATOR_UNIT);
+        evas_object_size_hint_max_set(rect, PAGE_INDICATOR_UNIT, PAGE_INDICATOR_UNIT);
+        evas_object_resize(rect, PAGE_INDICATOR_UNIT, PAGE_INDICATOR_UNIT);
+        evas_object_show(rect);
+        elm_object_part_content_set(page_indicator->unit[i], SIZE_SETTER, rect);
+    }
+
+    return page_indicator;
+}
+
+void page_indicator_set_page_count(page_indicator_t *page_indicator, int count)
+{
+    if (page_indicator == NULL) {
+        LOGE("page indicator is NULL.");
+        return ;
+    }
+
+    int i;
+    int width = count * PAGE_INDICATOR_UNIT + (PAGE_INDICATOR_GAP * (count-1));
+    if (page_indicator->page_count == count) {
+        return ;
+    }
+    elm_box_unpack_all(page_indicator->box);
+    for (i = 0 ; i < PAGE_INDICATOR_MAX_PAGE_COUNT; i++) {
+        if (i < count) {
+            elm_box_pack_end(page_indicator->box, page_indicator->unit[i]);
+            evas_object_show(page_indicator->unit[i]);
+        } else {
+            evas_object_move(page_indicator->unit[i], 0, -100);
+        }
+
+    }
+
+    page_indicator->x = (WINDOW_W - width) / 2;
+    page_indicator->y = WINDOW_H - PAGE_INDICATOR_H - PAGE_INDICATOR_PADDING_BOTTON;
+    page_indicator->page_count = count;
+
+    evas_object_resize(page_indicator->box, width, PAGE_INDICATOR_H);
+    evas_object_move(page_indicator->box, page_indicator->x, page_indicator->y);
+}
+
+void page_indicator_scroller_resize(page_indicator_t *page_indicator, int width, int height)
+{
+    LOGD("w:%d h:%d", width, height);
+    page_indicator->w = width;
+    page_indicator->h = height;
+}
+
+void page_indicator_set_current_page(page_indicator_t *page_indicator, int page_number)
+{
+    if (page_indicator == NULL) {
+        LOGE("page indicator is NULL.");
+        return ;
+    }
+
+    LOGD("Set Current :%d, old : %d", page_number, page_indicator->current_page);
+
+    page_indicator->current_page = page_number;
+
+    __page_indicator_set_current_page(page_indicator);
+}
+
+static void __page_indicator_scroll_cb(void *data, Evas_Object *obj, void *event_info)
+{
+    int x = 0;
+    int current_x = 0;
+    double angle = 0.0;
+    double color = 0.0;
+    int next_page = -1;
+
+    page_indicator_t *page_indicator = (page_indicator_t*) data;
+    if (!page_indicator) {
+        LOGE("Invalid page_indicator");
+        return;
+    }
+    elm_scroller_region_get(obj, &x, NULL, NULL, NULL);
+
+    current_x = page_indicator->current_page * page_indicator->w;
+    angle = (double)(x - current_x) / page_indicator->w * 90.0;
+
+    if (fabs((float)(x - current_x)) <= page_indicator->w) {
+        next_page = x > current_x ? (page_indicator->current_page+1) % page_indicator->page_count : page_indicator->current_page-1;
+        color = fabs(angle) * 2;
+    } else {
+        if (x > current_x) {
+            next_page = page_indicator->page_count-1;
+            color = (double)(page_indicator->w*page_indicator->page_count - x)/page_indicator->w * 180.0;
+        } else {
+            next_page = 0;
+            color = 180.0;
+        }
+    }
+
+    if (next_page == page_indicator->page_count - 1 && page_indicator->current_page == 0 && page_indicator->page_count % 2 == 1) {
+        angle = angle - 270.0;
+    }
+
+    __page_indicator_unit_rotate(page_indicator->unit[page_indicator->current_page], 90.0 + angle, 255.0 - color);
+    __page_indicator_unit_rotate(page_indicator->unit[next_page], angle, 75.0 + color);
+}
+
+static void __page_indicator_scroll_anim_stop_cb(void *data, Evas_Object *obj, void *event_info)
+{
+    if (data == NULL) {
+        LOGE("Invalid data");
+        return ;
+    }
+
+    page_indicator_t *page_indicator = (page_indicator_t*) data;
+
+    elm_scroller_current_page_get(obj, &page_indicator->current_page, NULL);
+
+    __page_indicator_set_current_page(page_indicator);
+}
+
+static void __page_indicator_set_current_page(page_indicator_t *page_indicator)
+{
+    int i;
+    for (i = 0; i < page_indicator->page_count && i < PAGE_INDICATOR_MAX_PAGE_COUNT; i++) {
+        Evas_Object *edje = NULL;
+        edje = elm_layout_edje_get(page_indicator->unit[i]);
+        if (i == page_indicator->current_page) {
+            edje_object_signal_emit(edje, SIGNAL_PAGE_IDICATOR_CURRENT, SIGNAL_SOURCE);
+        }
+        //else if { } // i == center_circle
+        else {
+            edje_object_signal_emit(edje, SIGNAL_PAGE_IDICATOR_DEFAULT, SIGNAL_SOURCE);
+        }
+    }
+}
+
+static void __page_indicator_unit_rotate(Evas_Object *unit, double angle, double alpha)
+{
+    Evas_Object *edje = NULL;
+
+    if (!unit) {
+        LOGE("Invalid argument : unit is NULL");
+        return;
+    }
+
+    edje = elm_layout_edje_get(unit);
+    if (!edje) {
+        LOGE("Failed to get edje from layout");
+        return;
+    }
+
+    Edje_Message_Float_Set *msg = malloc(sizeof(*msg) + 2 * sizeof(double));
+    msg->count = 2;
+    msg->val[0] = angle;
+    msg->val[1] = alpha;
+
+    edje_object_message_send(edje, EDJE_MESSAGE_FLOAT_SET, 1, msg);
+    edje_object_signal_emit(edje, SIGNAL_PAGE_IDICATOR_ROTATION_CHANGE, SIGNAL_SOURCE);
+
+    free(msg);
+}
+
+void page_indicator_show(page_indicator_t *page_indicator)
+{
+    evas_object_show(page_indicator->box);
+}
+
+void page_indicator_hide(page_indicator_t *page_indicator)
+{
+    evas_object_hide(page_indicator->box);
+}
+
diff --git a/src/page_scroller.c b/src/page_scroller.c
deleted file mode 100644 (file)
index 308f9ba..0000000
+++ /dev/null
@@ -1,397 +0,0 @@
-/*
- * Copyright 2012  Samsung Electronics Co., Ltd
- *
- * Licensed under the Flora License, Version 1.1 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://floralicense.org/license/
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#include <stdbool.h>
-#include <Elementary.h>
-
-#include "util.h"
-#include "homescreen-efl.h"
-#include "page_scroller.h"
-
-#define PAGE_SCROLLER_WIDTH 272
-#define PAGE_SCROLLER_HEIGHT 272
-
-#define EDJE_PAGE_SCROLLER_FILENAME "/usr/apps/com.samsung.home-lite/res/edje/page_scroller.edj"
-#define EDJE_PAGE_SCROLLER_LIVEBOX_GROUP_NAME "page_scroller_livebox"
-#define EDJE_PAGE_SCROLLER_ALL_APPS_GROUP_NAME "page_scroller_all_apps"
-#define EDJE_PAGE_SCROLLER_CONTENT_GROUP_NAME "page_scroller_content"
-
-
-static Evas_Object *__page_scroller_create_scroller(void);
-static void __page_scroller_change_cb(void *data, Evas_Object *obj, const char *emission, const char *source);
-static Eina_Bool __page_scroller_blocker_cb(void *data);
-
-static struct {
-       Ecore_Timer *blocker;
-} s_info = {
-       .blocker = NULL,
-};
-
-
-HAPI Evas_Object *page_scroller_create(int page_width, int page_height)
-{
-       Evas_Object *scroller = NULL;
-
-       scroller = __page_scroller_create_scroller();
-       if (!scroller) {
-               LOGE("Failed to create scroller");
-               return NULL;
-       }
-
-       elm_scroller_page_size_set(scroller, page_width, page_height);
-       elm_scroller_loop_set(scroller, EINA_TRUE, EINA_FALSE);
-       elm_object_signal_callback_add(scroller, "*", SIGNAL_SOURCE, __page_scroller_change_cb, NULL);
-
-       return scroller;
-}
-
-
-HAPI void page_scroller_destroy(Evas_Object *scroller)
-{
-       LOGD("Destroy page scroller");
-
-       if (!scroller) {
-               LOGE("Invalid param : scroller is NULL");
-               return;
-       }
-
-       evas_object_del(scroller);
-}
-
-HAPI bool page_scroller_add_page(Evas_Object *scroller, Evas_Object *page)
-{
-       LOGD("Add page");
-
-       Evas_Object *box = NULL;
-
-       if (!page || !scroller) {
-               LOGE("Invalid parameters : page or scroller is NULL");
-               return false;
-       }
-
-       box = elm_object_content_get(scroller);
-       if (!box) {
-               LOGE("Failed to obtain box from scroller");
-               return false;
-       }
-
-       elm_box_pack_end(box, page);
-
-       return true;
-}
-
-HAPI void page_scroller_remove_page(Evas_Object *scroller, Evas_Object *page)
-{
-       LOGD("Remove page");
-       Evas_Object *box = NULL;
-
-       if (!page || !scroller) {
-               LOGE("Page or scroller is NULL");
-               return;
-       }
-
-       box = elm_object_content_get(scroller);
-       if (!box) {
-               LOGE("Failed to get scroller");
-               return;
-       }
-
-       elm_box_unpack(box, page);
-       evas_object_del(page);
-       return;
-}
-
-HAPI Eina_List* page_scroller_get_all_pages(Evas_Object *scroller)
-{
-       Evas_Object *box = NULL;
-       Eina_List *pages = NULL;
-
-       if (!scroller) {
-               LOGE("Invalid parameter : scroller is NULL");
-               return NULL;
-       }
-
-       box = elm_object_content_get(scroller);
-       if (!box) {
-               LOGE("Failed to get box");
-               return NULL;
-       }
-
-       pages = elm_box_children_get(box);
-       if (!pages) {
-               LOGE("Failed to get pages list");
-               return NULL;
-       }
-
-       return pages;
-}
-
-
-HAPI Evas_Object* page_scroller_get_page(Evas_Object *scroller, int n)
-{
-       Eina_List *pages = NULL;
-       Evas_Object *page = NULL;
-
-       pages = page_scroller_get_all_pages(scroller);
-       if (!pages) {
-               LOGE("Failed to get page");
-               return NULL;
-       }
-
-       page = (Evas_Object*) eina_list_nth(pages, n);
-
-       eina_list_free(pages);
-
-       return page;
-}
-
-
-HAPI bool page_scroller_freeze(Evas_Object *scroller)
-{
-       if (!scroller) {
-               LOGE("Page Scroller is NULL");
-               return false;
-       }
-
-       elm_scroller_movement_block_set(scroller, ELM_SCROLLER_MOVEMENT_BLOCK_HORIZONTAL);
-
-       return true;
-}
-
-HAPI bool page_scroller_unfreeze(Evas_Object *scroller)
-{
-       if (!scroller) {
-               LOGE("Page Scroller is NULL");
-               return false;
-       }
-
-       elm_scroller_movement_block_set(scroller, ELM_SCROLLER_MOVEMENT_NO_BLOCK);
-
-       return true;
-}
-
-HAPI int page_scroller_get_page_count(Evas_Object *scroller)
-{
-       Eina_List *page_list = NULL;
-       int page_count = 0;
-
-       if (!scroller) {
-               LOGE("invalid param : scroller is NULL");
-               return -1;
-       }
-
-       page_list = page_scroller_get_all_pages(scroller);
-       page_count = eina_list_count(page_list);
-
-       eina_list_free(page_list);
-
-       return page_count;
-}
-
-
-HAPI Eina_List* page_scroller_unpack_pages(Evas_Object *scroller)
-{
-       Evas_Object *box = NULL;
-       Eina_List *page_list = NULL;
-
-       if (!scroller) {
-               LOGE("Page scroller is NULL");
-               return NULL;
-       }
-
-       page_list = page_scroller_get_all_pages(scroller);
-
-       if (!page_list) {
-               LOGE("Failed to get m_page list");
-               return NULL;
-       }
-
-       box = elm_object_content_get(scroller);
-       elm_box_unpack_all(box); ///@todo better content unset?
-
-       return page_list;
-}
-
-
-HAPI void page_scroller_pack_pages(Evas_Object *scroller, Eina_List *page_list)
-{
-       LOGD("");
-       Eina_List *item = NULL;
-       Evas_Object *page = NULL;
-       Evas_Object *box = NULL;
-
-       if (!scroller || !page_list) {
-               LOGE("Invalid parameters : scroller [%p] page_list [%p]", scroller, page_list);
-               return;
-       }
-
-       box = elm_object_content_get(scroller);
-       if (!box) {
-               LOGE("Cannot obtain box, pages will remain unpacked");
-               return;
-       }
-
-       EINA_LIST_FOREACH(page_list, item, page) {
-               if (!page) {
-                       LOGE("Failed to get page");
-                       continue;
-               }
-               elm_box_pack_end(box, page);
-               evas_object_size_hint_weight_set(page, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
-               evas_object_size_hint_align_set(page, EVAS_HINT_FILL, EVAS_HINT_FILL);
-       }
-       elm_box_recalculate(box);
-}
-
-
-HAPI Evas_Object* page_scroller_get_page_thumbnail(Evas_Object *page, unsigned int w, unsigned int h)
-{
-       LOGD("");
-       Evas_Object *image = NULL;
-
-       if (!page) {
-               LOGE("Invalid page number");
-               return NULL;
-       }
-
-       image = evas_object_image_filled_add(evas_object_evas_get(home_screen_get_win()));
-       if (!image) {
-               LOGE("Could not create image proxy object");
-               return NULL;
-       }
-
-       /*set image proxy*/
-       if (!evas_object_image_source_set(image, page)) {
-               evas_object_del(image);
-               LOGE("Could not set proxy image source");
-               return NULL;
-       }
-
-       evas_object_image_fill_set(image, 0, 0, w, h);
-       evas_object_move(image, 0, 0);
-       evas_object_show(image);
-
-       return image;
-}
-
-HAPI int page_scroller_get_current_page(Evas_Object *page_scroller)
-{
-       int h_page = -1;
-
-       if (!page_scroller) {
-               LOGE("Invalid param : page_scroller is NULL");
-               return -1;
-       }
-
-       elm_scroller_current_page_get(page_scroller, &h_page, NULL);
-
-       return h_page;
-}
-
-HAPI bool page_scroller_set_current_page(Evas_Object *page_scroller, int idx)
-{
-       if (!page_scroller || idx < 0) {
-               LOGE("[INVALID_PARAM][page_scroller='%p'][idx='%d']", page_scroller, idx);
-               return false;
-       }
-
-
-       elm_scroller_page_bring_in(page_scroller, idx, 0);
-       return true;
-}
-
-HAPI void page_scroller_show_page(Evas_Object *page_scroller, int idx)
-{
-       if (!page_scroller || idx < 0) {
-               LOGE("[INVALID_PARAM][page_scroller='%p'][idx='%d']", page_scroller, idx);
-               return;
-       }
-
-       elm_scroller_page_show(page_scroller, idx, 0);
-}
-
-static Evas_Object* __page_scroller_create_scroller(void)
-{
-       Evas_Object *win = home_screen_get_win();
-       Evas_Object *scroller = NULL;
-       Evas_Object *box = NULL;
-
-       if (!win) {
-               LOGE("Window doesn't exist");
-               return NULL;
-       }
-
-       scroller = elm_scroller_add(win);
-       if (!scroller) {
-               LOGE("Cannot create scroller");
-               return NULL;
-       }
-
-       elm_scroller_content_min_limit(scroller, EINA_FALSE, EINA_FALSE);
-       elm_scroller_bounce_set(scroller, EINA_FALSE, EINA_TRUE);
-       elm_scroller_policy_set(scroller, ELM_SCROLLER_POLICY_OFF, ELM_SCROLLER_POLICY_OFF);
-       elm_scroller_page_scroll_limit_set(scroller, 1, 1);
-
-       evas_object_size_hint_weight_set(scroller, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
-
-       box = elm_box_add(scroller);
-       if (!box) {
-               LOGE("Cannot create box");
-               evas_object_del(scroller);
-               return NULL;
-       }
-       elm_box_horizontal_set(box, EINA_TRUE);
-       elm_box_align_set(box, 0.5, 0.5);
-       evas_object_show(scroller);
-       elm_object_content_set(scroller, box);
-
-       return scroller;
-}
-
-static void __page_scroller_change_cb(void *data, Evas_Object *obj, const char *emission, const char *source)
-{
-       int cnt = -1, curr = -1, dest = -1;
-
-       cnt = page_scroller_get_page_count(obj);
-       curr = page_scroller_get_current_page(obj);
-
-       if (s_info.blocker)
-               return;
-
-       if (!strncmp(emission, SIGNAL_NEXT_PAGE_CHANGE, strlen(emission))) {
-               if (curr == cnt - 1) {
-                       dest = 0;
-               } else {
-                       dest = ++curr;
-               }
-               page_scroller_set_current_page(obj, dest);
-       } else if (!strncmp(emission, SIGNAL_PREV_PAGE_CHANGE, strlen(emission))) {
-               if (curr == 0) {
-                       dest = cnt - 1;
-               } else {
-                       dest = --curr;
-               }
-               page_scroller_set_current_page(obj, dest);
-       }
-
-       s_info.blocker = ecore_timer_add(0.5, __page_scroller_blocker_cb, NULL);
-}
-
-static Eina_Bool __page_scroller_blocker_cb(void *data)
-{
-       s_info.blocker = NULL;
-       return ECORE_CALLBACK_CANCEL;
-}
old mode 100644 (file)
new mode 100755 (executable)
index 6131f43..aa5e398
  * limitations under the License.
  */
 
-#include "popup.h"
-
-#include <stdbool.h>
+#include <app.h>
 #include <Elementary.h>
 
 #include "homescreen-efl.h"
+#include "popup.h"
+#include "conf.h"
 #include "util.h"
-#include "livebox_all_pages.h"
-#include "app_icon.h"
 
-#define EDJE_LAYOUT_PATH "/usr/apps/com.samsung.home-lite/res/edje/popup.edj"
-#define UNABLE_PART "unable_to_add_items"
-#define UNABLE_POPUP_TITLE "<align=center>Unable to add</align>"
-#define SORTED_POPUP "<align=center><font_size=24> Unable to rearrange icons <br> sorted by name (A-Z).</font> </align>"
+static struct {
+    Evas_Object *popup;
+    bool is_visible;
+} popup_info = {
+    .popup = NULL,
+    .is_visible = false
+};
 
-#define POPUP_DATA_KEY "cb_data"
+/* popup_t
+ * 0 : POPUP_CLUSTER_PAGE_FULL
+ * 1 : POPUP_CLUSTER_DELETE_PAGE
+ */
+static const char popup_title_text[POPUP_MAX][PATH_MAX_LEN] = {
+        "IDS_HS_HEADER_UNABLE_TO_ADD_WIDGET_ABB",
+        "IDS_HS_HEADER_DELETE_PAGE_ABB2",
+};
 
-static struct
-{
-       Evas_Object *opened_popup;
-} s_info = {
-       .opened_popup = NULL
+static const char popup_text[POPUP_MAX][PATH_MAX_LEN] = {
+        "IDS_HS_POP_UNABLE_TO_ADD_THIS_HOME_BOX_TO_THE_HOME_SCREEN_THERE_IS_NOT_ENOUGH_SPACE_ON_THE_HOME_SCREEN_MSG",
+        "IDS_HS_POP_THIS_PAGE_AND_ALL_THE_ITEMS_IT_CONTAINS_WILL_BE_DELETED",
 };
 
-typedef struct _cb_data_t {
-       popup_confirm_cb cb_ok;
-       popup_cancel_cb cb_cancel;
-       void *data;
-} cb_data_t;
-
-/*==========================PRIVATE FUNCTIONS DEFINITIONS======================================*/
-static void __popup_init_two_buttons(Evas_Object *popup, popup_confirm_cb confirm_cb,
-                               popup_cancel_cb cancel_cb, popup_data_t *p_data, void *cb_data);
-static void __popup_init_info(Evas_Object *popup, popup_data_t *p_data);
-/*==========================POPUP CALLBACKS DEFINITIONS========================================*/
-static void __popup_btn_ok_clicked_cb(void *data, Evas_Object *obj, void *ei);
-static void __popup_btn_cancel_clicked_cb(void *data, Evas_Object *obj, void *ei);
-
-/*==========================PUBLIC FUNCTIONS IMPLEMENTATION===================================*/
-HAPI popup_data_t *popup_create_data(void)
-{
-       popup_data_t *data = (popup_data_t *) calloc(1, sizeof(popup_data_t));
-       return data;
-}
+static const char popup_button_text[POPUP_MAX][3][PATH_MAX_LEN] = {
+        { "IDS_CAM_SK_OK", "", "" },
+        { "IDS_HS_OPT_DELETE", "IDS_CAM_SK_CANCEL", "" }
+};
 
-HAPI void popup_data_free(popup_data_t *p_data)
-{
-       if (!p_data) {
-               LOGE("[INVALID_PARAM]");
-               return;
-       }
-
-       if (p_data->popup_title_text)
-               free(p_data->popup_title_text);
-       if (p_data->popup_content_text)
-               free(p_data->popup_content_text);
-       if (p_data->popup_confirm_text)
-               free(p_data->popup_confirm_text);
-       if (p_data->popup_cancel_text)
-               free(p_data->popup_cancel_text);
-
-       free(p_data);
-}
+static void __popup_default_cb(void *data, Evas_Object *obj, void *event_info);
+static void __popup_dismissed_cb(void *data, Evas_Object *obj, void *event_info);
 
-HAPI void popup_show(popup_data_t *p_data, popup_confirm_cb confirm_cb, popup_cancel_cb cancel_cb,
-                               void *cb_data)
+void popup_show(popup_t type, int btn_count, Evas_Smart_Cb btn_func[3], void *func_data[3])
 {
-       Evas_Object *popup = NULL;
-
-       if (!p_data) {
-               LOGE("[INVALID_DATA]");
-               return;
-       }
-
-       popup = elm_popup_add(home_screen_get_win());
-       if (!popup) {
-               LOGE("[FAILED][elm_popup_add]");
-               evas_object_del(popup);
-               popup_data_free(p_data);
-               return;
-       }
-
-       elm_popup_orient_set(popup, p_data->orientation);
-
-       switch (p_data->type) {
-       case POPUP_TWO_BUTTONS:
-               __popup_init_two_buttons(popup, confirm_cb, cancel_cb, p_data, cb_data);
-               break;
-       case POPUP_INFO:
-               __popup_init_info(popup, p_data);
-       }
-
-       s_info.opened_popup = popup;
-       evas_object_layer_set(popup, EVAS_LAYER_MAX);
-       evas_object_show(popup);
+    if (popup_info.is_visible) {
+        return ;
+    }
+
+    char part[3][10] = { "button1", "button2", "button3" };
+
+    popup_info.is_visible = true;
+
+    popup_info.popup = elm_popup_add(homescreen_efl_get_win());
+    elm_popup_align_set(popup_info.popup, ELM_NOTIFY_ALIGN_FILL, 1.0);
+    evas_object_size_hint_weight_set(popup_info.popup, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+    elm_object_part_text_set(popup_info.popup, "title,text", _(popup_title_text[type]));
+    elm_object_part_text_set(popup_info.popup, "default", _(popup_text[type]));
+    evas_object_smart_callback_add(popup_info.popup, "dismissed", __popup_dismissed_cb, NULL);
+
+    int idx = 0;
+    for (idx = 0; idx < btn_count; idx++) {
+        Evas_Object *btn;
+        btn = elm_button_add(popup_info.popup);
+        elm_object_style_set(btn, "popup");
+        elm_object_text_set(btn, _(popup_button_text[type][idx]));
+        elm_object_part_content_set(popup_info.popup, part[idx], btn);
+        evas_object_smart_callback_add(btn, "clicked",
+                (btn_func[idx] == NULL ? __popup_default_cb : btn_func[idx]), func_data[idx]);
+    }
+    evas_object_show(popup_info.popup);
 }
 
-HAPI Eina_Bool popup_destroy(void)
+void popup_hide(void)
 {
-       if (s_info.opened_popup) {
-               evas_object_del(s_info.opened_popup);
-               s_info.opened_popup = NULL;
-               return EINA_TRUE;
-       }
+    if (!popup_info.is_visible) {
+        return ;
+    }
 
-       return EINA_FALSE;
-}
-/*==========================PRIVATE FUNCTIONS IMPLEMENTATION==================================*/
-static void __popup_init_two_buttons(Evas_Object *popup, popup_confirm_cb confirm_cb,
-                               popup_cancel_cb cancel_cb, popup_data_t *p_data, void *cb_data)
-{
-       Evas_Object *btn_ok = NULL;
-       Evas_Object *btn_cancel = NULL;
-       cb_data_t *data = NULL;
-
-       if (!p_data) {
-               LOGE("[INVALID_PARAM][p_data=NULL]");
-               return;
-       }
-
-       if (!popup) {
-               LOGE("[INVALID_PARAM]");
-               popup_data_free(p_data);
-               return;
-       }
-
-       data = (cb_data_t *) malloc(sizeof(cb_data_t));
-       if (!data) {
-               LOGE("[FAILED][malloc]");
-               popup_data_free(p_data);
-               return;
-       }
-
-       btn_ok = elm_button_add(popup);
-       if (!btn_ok) {
-               LOGE("[FAILED][elm_button_add]");
-               evas_object_del(popup);
-               popup_data_free(p_data);
-               free(data);
-               return;
-       }
-
-       btn_cancel = elm_button_add(popup);
-       if (!btn_cancel) {
-               LOGE("[FAILED][elm_button_add]");
-               evas_object_del(popup);
-               popup_data_free(p_data);
-               free(data);
-               return;
-       }
-
-       /*setting popup properties.*/
-       elm_object_part_text_set(popup, "title,text", p_data->popup_title_text);
-       elm_object_part_text_set(popup, "default", p_data->popup_content_text);
-
-       elm_object_part_text_set(btn_ok, "default", p_data->popup_confirm_text);
-       elm_object_part_text_set(btn_cancel, "default", p_data->popup_cancel_text);
-
-       elm_object_part_content_set(popup, "button1", btn_cancel);
-       elm_object_part_content_set(popup, "button2", btn_ok);
-
-       data->cb_cancel = cancel_cb;
-       data->cb_ok = confirm_cb;
-       data->data = cb_data;
-
-       evas_object_smart_callback_add(btn_ok, "clicked", __popup_btn_ok_clicked_cb, data);
-       evas_object_smart_callback_add(btn_cancel, "clicked", __popup_btn_cancel_clicked_cb, data);
-
-       popup_data_free(p_data);
+    popup_info.is_visible = false;
+
+    evas_object_hide(popup_info.popup);
+    evas_object_del(popup_info.popup);
+    popup_info.popup = NULL;
 }
 
-static void __popup_init_info(Evas_Object *popup, popup_data_t *p_data)
+bool popup_is_show(void)
 {
-       if (!p_data) {
-               LOGE("[INVALID_PARAM][p_data=NULL]");
-               return;
-       }
-
-       if (!popup) {
-               LOGE("[INVALID_PARAM]");
-               popup_data_free(p_data);
-               return;
-       }
-
-       elm_object_style_set(popup, "toast");
-       elm_object_part_text_set(popup, "default", p_data->popup_content_text);
-       elm_popup_timeout_set(popup, p_data->visible_time);
-
-       popup_data_free(p_data);
+    return popup_info.is_visible;
 }
 
-/*==================================POPUP CALLBACKS IMPLEMENTATION============================*/
-static void __popup_btn_ok_clicked_cb(void *data, Evas_Object *obj, void *ei)
+static void __popup_default_cb(void *data, Evas_Object *obj, void *event_info)
 {
-       LOGI("__popup_btn_ok_clicked_cb");
-       cb_data_t *cb_data = (cb_data_t *) data;
-
-       if (!cb_data) {
-               LOGE("[INVALID_CB_DATA]");
-               return;
-       }
-
-       if (cb_data->cb_ok) cb_data->cb_ok(cb_data->data);
-
-       popup_destroy();
+    popup_hide();
 }
 
-static void __popup_btn_cancel_clicked_cb(void *data, Evas_Object *obj, void *ei)
+static void __popup_dismissed_cb(void *data, Evas_Object *obj, void *event_info)
 {
-       LOGI("__popup_btn_cancel_clicked_cb");
-       cb_data_t *cb_data = (cb_data_t *) data;
-
-       if (!data) {
-               LOGE("[INVALID_CB_DATA]");
-               return;
-       }
-
-       if (cb_data->cb_cancel) cb_data->cb_cancel(cb_data->data);
-
-       popup_destroy();
+    popup_info.is_visible = false;
+    if (popup_info.popup) {
+        evas_object_del(popup_info.popup);
+        popup_info.popup = NULL;
+    }
 }
diff --git a/src/tree.c b/src/tree.c
deleted file mode 100644 (file)
index 9582d33..0000000
+++ /dev/null
@@ -1,238 +0,0 @@
-/*
- * Copyright 2012  Samsung Electronics Co., Ltd
- *
- * Licensed under the Flora License, Version 1.1 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://floralicense.org/license/
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#include <stdlib.h>
-#include <string.h>
-#include <dlog.h>
-
-#include "tree.h"
-#include "db/db.h"
-
-const db_item_t __tree_node_convert(Tree_node_t *node);
-
-HAPI bool tree_node_new(Tree_node_t **node)
-{
-       *node = (Tree_node_t *)calloc(1, sizeof(Tree_node_t));
-
-       return (*node) != NULL;
-}
-
-/*
- * detatch node
- */
-HAPI bool tree_node_detatch(Tree_node_t *node)
-{
-       if (!node)
-               return false;
-
-       if (node->prev) {
-               node->prev->next = node->next;
-               db_update_apps(__tree_node_convert(node->prev), true);
-       } else {
-               node->parent->first = node->next;
-               db_update_apps(__tree_node_convert(node->parent), true);
-       }
-
-       if (node->next) {
-               node->next->prev = node->prev;
-       } else {
-               node->parent->last = node->prev;
-       }
-
-       if (node->parent)
-               node->parent->count--;
-
-       node->next = NULL;
-       node->prev = NULL;
-       node->parent = NULL;
-
-       db_update_apps(__tree_node_convert(node), true);
-
-       return true;
-}
-
-HAPI bool tree_node_append(Tree_node_t *parent, Tree_node_t *node)
-{
-       if (!node || !parent)
-               return false;
-
-       if (!parent->last) {
-               parent->first = node;
-               node->prev = NULL;
-               db_update_apps(__tree_node_convert(parent), true);
-       } else {
-               parent->last->next = node;
-               node->prev = parent->last;
-               db_update_apps(__tree_node_convert(parent->last), true);
-       }
-
-       parent->last = node;
-       node->parent = parent;
-       node->parent->count++;
-       node->next = NULL;
-
-       db_update_apps(__tree_node_convert(node), true);
-
-       return true;
-}
-
-HAPI bool tree_node_append_relative(Tree_node_t *node, Tree_node_t *relative)
-{
-       if (!relative->next)
-               return tree_node_append(relative->parent, node);
-
-       node->parent = relative->parent;
-       node->parent->count++;
-       relative->next->prev = node;
-       node->next = relative->next;
-       relative->next = node;
-       node->prev = relative;
-
-       db_update_apps(__tree_node_convert(node), true);
-       db_update_apps(__tree_node_convert(relative), true);
-
-       return true;
-}
-
-HAPI bool tree_node_prepend(Tree_node_t *parent, Tree_node_t *node)
-{
-       if (!node || !parent)
-               return false;
-
-       if (!parent->first) {
-               /*No elements in parent*/
-               parent->last = node;
-               node->next = NULL;
-       } else {
-               parent->first->prev = node;
-               node->next = parent->first;
-               db_update_apps(__tree_node_convert(parent), true);
-       }
-
-       parent->first = node;
-       node->parent = parent;
-       node->parent->count++;
-       node->prev = NULL;
-
-       db_update_apps(__tree_node_convert(node), true);
-
-       return true;
-}
-
-HAPI bool tree_node_prepend_relative(Tree_node_t *node, Tree_node_t *relative)
-{
-       if (!relative->prev)
-               return tree_node_prepend(relative->parent, node);
-
-       node->parent = relative->parent;
-       node->parent->count++;
-       relative->prev->next = node;
-       node->prev = relative->prev;
-       relative->prev = node;
-       node->next = relative;
-
-       db_update_apps(__tree_node_convert(node), true);
-       db_update_apps(__tree_node_convert(node->prev), true);
-
-       return true;
-}
-
-HAPI bool tree_in_depth_browse(Tree_node_t *node, tree_browse_cb_t func_cb, void *data)
-{
-       if (!node)
-               return false;
-
-       if (func_cb) {
-               if (!func_cb(NULL, node, data))
-                       return false;
-       }
-
-       Tree_node_t *it;
-       TREE_NODE_FOREACH(node, it) {
-               if (!tree_in_depth_browse(it, func_cb, data))
-                       return false;
-       }
-
-       return true;
-}
-
-void tree_node_update(Tree_node_t *node)
-{
-       if (!node) {
-               LOGE("node == NULL");
-               return;
-       }
-
-       db_update_apps(__tree_node_convert(node), true);
-}
-
-HAPI void tree_node_free(Tree_node_t *node, Tree_node_t **first_child, Tree_node_t **last_child, int *child_count)
-{
-       Tree_node_t *it = NULL;
-
-       if (!node)
-               return;
-
-       db_update_apps(__tree_node_convert(node), false);
-
-       if (first_child)
-               *first_child = node->first;
-
-       if (last_child)
-               *last_child = node->last;
-
-       if (child_count)
-               *child_count = node->count;
-
-       if (node->parent) {
-               node->parent->count--;
-
-               if (node->parent->first == node)
-                       node->parent->first = node->next;
-
-               if (node->parent->last == node)
-                       node->parent->last = node->prev;
-       }
-
-       if (node->prev)
-               node->prev->next = node->next;
-
-       if (node->next)
-               node->next->prev = node->prev;
-
-       for (it = node->first; it; it = it->next)
-               it->parent = NULL;
-
-       app_item_free(node->data);
-       free(node);
-}
-
-HAPI const db_item_t __tree_node_convert(Tree_node_t *node)
-{
-       db_item_t item = {
-               id : node->data->unique_id,
-               type : node->data->type,
-               appid : node->data->appid ? (char *)node->data->appid : (char *)"",
-               first_id : node->first ? node->first->data->unique_id : -1,
-               next_id : node->next ? node->next->data->unique_id : -1,
-               x : node->data->col,
-               y : node->data->row,
-               w : node->data->col_span,
-               h : node->data->row_span,
-               content_info : node->data->content_info,
-       };
-       return item;
-}
old mode 100644 (file)
new mode 100755 (executable)
index c63a21c..22cdc78
  */
 
 #include <Elementary.h>
-#include <stdbool.h>
+#include <app_common.h>
 
-#include "homescreen-efl.h"
 #include "util.h"
-#include "data_model.h"
-
-HAPI Evas_Object *util_create_edje_layout(Evas_Object *parent, const char *edje_filename, const char *edje_group)
-{
-       Evas_Object *layout = NULL;
-
-       if (!edje_filename || !edje_group) {
-               LOGE("Filename or groupname is NULL");
-               return NULL;
-       }
-
-       if (!parent) {
-               LOGE("Parent is NULL");
-               return NULL;
-       }
-
-       layout = elm_layout_add(parent);
-       if (!layout) {
-               LOGE("Cannot create layout");
-               return NULL;
-       }
-
-       if (!elm_layout_file_set(layout, edje_filename, edje_group)) {
-               evas_object_del(layout);
-               LOGE("Cannot load layout");
-               return NULL;
-       }
-
-       evas_object_show(layout);
-
-       return layout;
-}
-
-/* TEST FUNCTIONS : TO BE REMOVED*/
-HAPI void tst_resize_cb(void *data, Evas *e, Evas_Object *obj, void *ei)
-{
-       Evas_Coord x, y, w, h;
-
-       evas_object_geometry_get(obj, &x, &y, &w, &h);
-       LOGD("Obj_Type[%s] %d %d %d %d", evas_object_type_get(obj), x, y, w, h);
-}
-
-HAPI void tst_show_cb(void *data, Evas *e, Evas_Object *obj, void *ei)
-{
-       LOGD("MSZ ");
-
-}
-
-HAPI void tst_hide_cb(void *data, Evas *e, Evas_Object *obj, void *ei)
-{
-       LOGD("MSZ ");
-}
-
-HAPI void tst_move_cb(void *data, Evas *e, Evas_Object *obj, void *ei)
-{
-       Evas_Coord x, y, w, h;
-
-       evas_object_geometry_get(obj, &x, &y, &w, &h);
-       LOGD("MSZ %d %d %d %d", x, y, w, h);
-}
-
-HAPI void tst_del_cb(void *data, Evas *e, Evas_Object *obj, void *ei)
-{
-       LOGD("tst_del_cb: obj type [%s]", evas_object_type_get(obj));
-
-       Tree_node_t *t_data = evas_object_data_get(obj, KEY_ICON_DATA);
-       if (t_data)
-               LOGI("[obtained data [%s]]", t_data->data->label);
-}
-
-HAPI Eina_List *elm_gengrid_get_evas_objects_from_items(Evas_Object *gengrid)
-{
-       Eina_List *items = NULL;
-       Eina_List *it = NULL;
-       Elm_Object_Item *data = NULL;
-
-       Eina_List *tmp = NULL;
-       Evas_Object *obj = NULL;
-
-       if (!gengrid) {
-               LOGE("[INVALID_PARAM][gengrid='%p']", gengrid);
-               return NULL;
-       }
-
-       tmp = elm_gengrid_realized_items_get(gengrid);
-       if (!tmp) {
-               LOGE("[FAILED][elm_gengrid_realized_items_get]");
-               return NULL;
-       }
-
-       EINA_LIST_FOREACH(tmp, it, data) {
-               if (!data)
-                       continue;
-
-               obj = elm_object_item_part_content_get(data, GRID_CONTENT);
-               if (!obj) {
-                       LOGE("[FAILED][elm_object_item_part_content_get]");
-                       eina_list_free(tmp);
-                       eina_list_free(items);
-                       return NULL;
-               }
-
-               items = eina_list_append(items, obj);
-
-               if (!items) {
-                       LOGE("[FAILED][eina_list_append]");
-                       eina_list_free(tmp);
-                       return NULL;
-               }
-       }
-
-       eina_list_free(tmp);
-
-       return items;
-}
-
-HAPI Elm_Object_Item *elm_gengrid_get_item_at_index(Evas_Object *gengrid, int idx)
-{
-       Eina_List *items = NULL;
-       Elm_Object_Item *found = NULL;
-
-       if (!gengrid || idx < 0) {
-               LOGE("[INVALID_PARAM][gengrid='%p'][idx='%d']", gengrid, idx);
-               return NULL;
-       }
-
-       items = elm_gengrid_realized_items_get(gengrid);
-       if (!items) {
-               LOGE("[FAILED][elm_gengrid_realized_items_get]");
-               return NULL;
-       }
-
-       if (idx > eina_list_count(items)) {
-               LOGE("[INVALID_INDEX]");
-               eina_list_free(items);
-               return NULL;
-       }
-
-       found = eina_list_nth(items, idx);
-       eina_list_free(items);
-
-       return found;
-}
 
 const char *util_get_file_path(enum app_subdir dir, const char *relative)
 {
-       static char buf[PATH_MAX];
-       char *prefix;
-
-       switch (dir) {
-       case APP_DIR_DATA:
-               prefix = app_get_data_path();
-               break;
-       case APP_DIR_CACHE:
-               prefix = app_get_cache_path();
-               break;
-       case APP_DIR_RESOURCE:
-               prefix = app_get_resource_path();
-               break;
-       case APP_DIR_SHARED_DATA:
-               prefix = app_get_shared_data_path();
-               break;
-       case APP_DIR_SHARED_RESOURCE:
-               prefix = app_get_shared_resource_path();
-               break;
-       case APP_DIR_SHARED_TRUSTED:
-               prefix = app_get_shared_trusted_path();
-               break;
-       case APP_DIR_EXTERNAL_DATA:
-               prefix = app_get_external_data_path();
-               break;
-       case APP_DIR_EXTERNAL_CACHE:
-               prefix = app_get_external_cache_path();
-               break;
-       case APP_DIR_EXTERNAL_SHARED_DATA:
-               prefix = app_get_external_shared_data_path();
-               break;
-       default:
-               LOGE("Not handled directory type.");
-               return NULL;
-       }
-       size_t res = eina_file_path_join(buf, sizeof(buf), prefix, relative);
-       free(prefix);
-       if (res > sizeof(buf)) {
-               LOGE("Path exceeded PATH_MAX");
-               return NULL;
-       }
-
-       return &buf[0];
+    static char buf[PATH_MAX];
+    char *prefix;
+
+    switch (dir) {
+    case APP_DIR_DATA:
+        prefix = app_get_data_path();
+        break;
+    case APP_DIR_CACHE:
+        prefix = app_get_cache_path();
+        break;
+    case APP_DIR_RESOURCE:
+        prefix = app_get_resource_path();
+        break;
+    case APP_DIR_SHARED_DATA:
+        prefix = app_get_shared_data_path();
+        break;
+    case APP_DIR_SHARED_RESOURCE:
+        prefix = app_get_shared_resource_path();
+        break;
+    case APP_DIR_SHARED_TRUSTED:
+        prefix = app_get_shared_trusted_path();
+        break;
+    case APP_DIR_EXTERNAL_DATA:
+        prefix = app_get_external_data_path();
+        break;
+    case APP_DIR_EXTERNAL_CACHE:
+        prefix = app_get_external_cache_path();
+        break;
+    case APP_DIR_EXTERNAL_SHARED_DATA:
+        prefix = app_get_external_shared_data_path();
+        break;
+    default:
+        LOGE("Not handled directory type.");
+        return NULL;
+    }
+    size_t res = eina_file_path_join(buf, sizeof(buf), prefix, relative);
+    free(prefix);
+    if (res > sizeof(buf)) {
+        LOGE("Path exceeded PATH_MAX");
+        return NULL;
+    }
+
+    return &buf[0];
 }
diff --git a/src/widget_viewer.c b/src/widget_viewer.c
new file mode 100755 (executable)
index 0000000..d678725
--- /dev/null
@@ -0,0 +1,80 @@
+/*
+ * Copyright 2012  Samsung Electronics Co., Ltd
+ *
+ * Licensed under the Flora License, Version 1.1 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://floralicense.org/license/
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+#include <widget_service.h>
+
+#include "widget_viewer.h"
+#include "util.h"
+#include "conf.h"
+#include "edc_conf.h"
+
+static void __widget_viewer_delete_btn_clicked_cb(void *data, Evas_Object *obj, const char *emission, const char *source);
+
+void widget_viewer_init(Evas_Object *win)
+{
+    widget_viewer_evas_init(win);
+}
+
+void widget_viewer_fini(void)
+{
+    widget_viewer_evas_fini();
+}
+
+Evas_Object *widget_viewer_add_widget(Evas_Object *parent, widget_data_t *item, int *widget_width, int *widget_height)
+{
+    Evas_Object *widget_layout;
+
+    widget_layout = elm_layout_add(parent);
+    elm_layout_file_set(widget_layout, util_get_res_file_path(EDJE_DIR"/widget.edj"), GROUP_WIDGET_LY);
+    evas_object_size_hint_weight_set(widget_layout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+
+    widget_service_get_size(item->type, widget_width, widget_height);
+
+    Evas_Object *rect = evas_object_rectangle_add(evas_object_evas_get(widget_layout));
+    evas_object_size_hint_min_set(rect, CLUSTER_W / 4, CLUSTER_H / 4);
+    evas_object_size_hint_align_set(rect, 0, 0);
+    evas_object_size_hint_weight_set(rect, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+    evas_object_show(rect);
+    elm_object_part_content_set(widget_layout, SIZE_SETTER, rect);
+
+#if 1
+    Evas_Object *widget = widget_viewer_evas_add_widget(widget_layout, item->pkg_name, NULL, item->period);
+    evas_object_size_hint_min_set(widget, *widget_width, *widget_height);
+    evas_object_size_hint_align_set(widget, EVAS_HINT_FILL, EVAS_HINT_FILL);
+    evas_object_size_hint_weight_set(widget, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+    evas_object_color_set(widget, 255, 255, 255, 255);
+#else // for TEST
+    Evas_Object *widget = evas_object_rectangle_add(evas_object_evas_get(widget_layout));
+    evas_object_size_hint_min_set(widget, *widget_width, *widget_height);
+    evas_object_size_hint_align_set(widget, EVAS_HINT_FILL, EVAS_HINT_FILL);
+    evas_object_size_hint_weight_set(widget, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+    evas_object_color_set(widget, 0, 0, 255, 255);
+    evas_object_show(widget);
+#endif
+    elm_object_part_content_set(widget_layout, WIDGET_CONTENT, widget);
+
+    elm_object_signal_callback_add(widget_layout, SIGNAL_DELETE_BUTTON_CLICKED, SIGNAL_SOURCE, __widget_viewer_delete_btn_clicked_cb, (void *)item);
+
+    evas_object_show(widget);
+    evas_object_show(widget_layout);
+
+    return widget_layout;
+}
+
+static void __widget_viewer_delete_btn_clicked_cb(void *data, Evas_Object *obj, const char *emission, const char *source)
+{
+    widget_data_t *item  = (widget_data_t *)data;
+    cluster_data_delete(item);
+}
old mode 100644 (file)
new mode 100755 (executable)
index 94c97a9..03aa533
@@ -1,8 +1,9 @@
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<manifest xmlns="http://tizen.org/ns/packages" api-version="3.0" install-location="internal-only" package="org.tizen.homescreen-efl" version="0.0.1">
+<manifest xmlns="http://tizen.org/ns/packages" api-version="3.0" install-location="internal-only" package="org.tizen.homescreen-efl" version="1.0.0">
+    <profile name="mobile"/>
     <label>homescreen-efl</label>
     <description>Homescreen Application</description>
-    <ui-application appid="org.tizen.homescreen-efl" exec="homescreen-efl" multiple="false" nodisplay="true" taskmanage="false" type="capp">
+    <ui-application appid="org.tizen.homescreen-efl" exec="homescreen-efl" launch_mode="single" multiple="false" nodisplay="true" taskmanage="false" type="capp">
         <label>homescreen-efl</label>
         <icon>homescreen-efl.png</icon>
         <category name="http://tizen.org/category/homeapp"/>
@@ -10,9 +11,8 @@
     </ui-application>
     <privileges>
         <privilege>http://tizen.org/privilege/appmanager.launch</privilege>
+        <privilege>http://tizen.org/privilege/packagemanager.admin</privilege>
         <privilege>http://tizen.org/privilege/shortcut</privilege>
-        <privilege>http://tizen.org/privilege/notification</privilege>
-        <privilege>http://tizen.org/privilege/display</privilege>
         <privilege>http://tizen.org/privilege/packagemanager.info</privilege>
         <privilege>http://tizen.org/privilege/widget.viewer</privilege>
     </privileges>