diff options
author | Kim Kibum <kb0929.kim@samsung.com> | 2012-04-09 12:12:28 +0900 |
---|---|---|
committer | Kim Kibum <kb0929.kim@samsung.com> | 2012-04-09 12:12:28 +0900 |
commit | d940e900bc3832bc9408a0947ff488ecfcc9a8e6 (patch) | |
tree | 20e5a09fbe71ea36026653c9af69025dc2d6a7d4 | |
parent | 2cba587e166f439be6a3e4e607d949b98475dde9 (diff) | |
download | libug-setting-theme-efl-d940e900bc3832bc9408a0947ff488ecfcc9a8e6.tar.gz libug-setting-theme-efl-d940e900bc3832bc9408a0947ff488ecfcc9a8e6.tar.bz2 libug-setting-theme-efl-d940e900bc3832bc9408a0947ff488ecfcc9a8e6.zip |
Tizen release 1.0
38 files changed, 2906 insertions, 0 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt new file mode 100644 index 0000000..1cef8c2 --- /dev/null +++ b/CMakeLists.txt @@ -0,0 +1,43 @@ +CMAKE_MINIMUM_REQUIRED(VERSION 2.6) +PROJECT(ug-setting-theme-efl C) + +SET(PREFIX ${CMAKE_INSTALL_PREFIX}) +SET(EXEC_PREFIX "\${prefix}") +SET(LIBDIR "\${prefix}/lib") +SET(INCLUDEDIR "\${prefix}/include") +SET(VERSION 0.1.0) + +SET(SRCS setting-theme-efl.c) + +INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR}/include) + +INCLUDE(FindPkgConfig) +pkg_check_modules(pkgs REQUIRED elementary ui-gadget x11 vconf aul efreet-mime eina) + +FOREACH(flag ${pkgs_CFLAGS}) + SET(EXTRA_CXXFLAGS "${EXTRA_CXXFLAGS} ${flag}") +ENDFOREACH(flag) + +SET(EXTRA_CXXFLAGS "${EXTRA_CXXFLAGS} -fvisibility=hidden -Wall") +SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${EXTRA_CXXFLAGS}") +SET(CMAKE_C_FLAGS ${CMAKE_CXX_FLAGS}) + +ADD_DEFINITIONS("-DPREFIX=\"${CMAKE_INSTALL_PREFIX}\"") + +ADD_LIBRARY(${PROJECT_NAME} SHARED ${SRCS}) +SET_TARGET_PROPERTIES(${PROJECT_NAME} PROPERTIES SOVERSION 0.1.0) +TARGET_LINK_LIBRARIES(${PROJECT_NAME} ${pkgs_LDFLAGS}) + +ADD_CUSTOM_TARGET(setting-theme-efl.edj + COMMAND edje_cc + ${CMAKE_SOURCE_DIR}/setting-theme-efl.edc ${CMAKE_BINARY_DIR}/setting-theme-efl.edj + DEPENDS ${CMAKE_SOURCE_DIR}/setting-theme-efl.edc +) + +ADD_DEPENDENCIES(${PROJECT_NAME} setting-theme-efl.edj) + +INSTALL(TARGETS ${PROJECT_NAME} DESTINATION lib) +INSTALL(FILES ${CMAKE_BINARY_DIR}/setting-theme-efl.edj DESTINATION /opt/ug/res/edje/ug-setting-theme-efl) +INSTALL(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/resources/images/ DESTINATION /opt/ug/res/images/ug-setting-theme-efl FILES_MATCHING PATTERN "*.png") + +ADD_SUBDIRECTORY(po) diff --git a/COPYRIGHT b/COPYRIGHT new file mode 100644 index 0000000..0363c81 --- /dev/null +++ b/COPYRIGHT @@ -0,0 +1,27 @@ +/* + + Copyright (c) 2000-2012 Samsung Electronics Co., Ltd All Rights Reserved + + This file is part of libug-setting-theme-efl + Written by Shinwoo Kim <cinoo.kim@samsung.com>, + ChunEon Park <chuneon.park@samsung.com>, + Woohyun Jung <wh0705.jung@samsung.com>, + Jaehwan Kim <jae.hwan.kim@samsung.com>, + Juyung Seo <juyung.seo@samsung.com>, + + PROPRIETARY/CONFIDENTIAL + + This software is the confidential and proprietary information of + SAMSUNG ELECTRONICS ("Confidential Information"). You shall not + disclose such Confidential Information and shall use it only in + accordance with the terms of the license agreement you entered + into with SAMSUNG ELECTRONICS. + + SAMSUNG make no representations or warranties about the suitability + of the software, either express or implied, including but not limited + to the implied warranties of merchantability, fitness for a particular + purpose, or non-infringement. SAMSUNG shall not be liable for any + damages suffered by licensee as a result of using, modifying or + distributing this software or its derivatives. + +*/ @@ -0,0 +1 @@ +Copyright (c) 2000 - 2011 Samsung Electronics Co., Ltd. All rights reserved. diff --git a/debian/changelog b/debian/changelog new file mode 100755 index 0000000..ee233fa --- /dev/null +++ b/debian/changelog @@ -0,0 +1,519 @@ +libug-setting-theme-efl (0.1.0-65) unstable; urgency=low + + * Package Upload + * Git: slp/pkgs/l/libug-setting-theme-efl + * Tag: libug-setting-theme-efl_0.1.0-65 + + -- Shinwoo Kim <cinoo.kim@samsung.com> Tue, 13 Mar 2012 19:30:48 +0900 + +libug-setting-theme-efl (0.1.0-64) unstable; urgency=low + + * Package Upload + * Git: slp/pkgs/l/libug-setting-theme-efl + * Tag: libug-setting-theme-efl_0.1.0-64 + + -- Shinwoo Kim <cinoo.kim@samsung.com> Thu, 16 Feb 2012 17:21:37 +0900 + +libug-setting-theme-efl (0.1.0-63) unstable; urgency=low + + * Package Upload + * Git: slp/pkgs/l/libug-setting-theme-efl + * Tag: libug-setting-theme-efl_0.1.0-63 + + -- Shinwoo Kim <cinoo.kim@samsung.com> Thu, 12 Jan 2012 16:24:28 +0900 + +libug-setting-theme-efl (0.1.0-62) unstable; urgency=low + + * Package Upload + * Git: slp/pkgs/l/libug-setting-theme-efl + * Tag: libug-setting-theme-efl_0.1.0-62 + + -- Shinwoo Kim <cinoo.kim@samsung.com> Mon, 19 Dec 2011 14:01:50 +0900 + +libug-setting-theme-efl (0.1.0-61) unstable; urgency=low + + * Package Upload + * Git: slp-scm.sec.samsung.net:slp/pkgs/l/libug-setting-theme-efl + * Tag: libug-setting-theme-efl_0.1.0-61 + + -- Shinwoo Kim <cinoo.kim@samsung.com> Mon, 14 Nov 2011 16:46:50 +0900 + +libug-setting-theme-efl (0.1.0-60) unstable; urgency=low + + * Package Upload + * Git: slp-scm.sec.samsung.net:slp/pkgs/l/libug-setting-theme-efl + * Tag: libug-setting-theme-efl_0.1.0-60 + + -- Shinwoo Kim <cinoo.kim@samsung.com> Mon, 07 Nov 2011 20:16:58 +0900 + +libug-setting-theme-efl (0.1.0-59) unstable; urgency=low + + * Package Upload + * Git: slp-scm.sec.samsung.net:slp/pkgs/l/libug-setting-theme-efl + * Tag: libug-setting-theme-efl_0.1.0-59 + + -- Shinwoo Kim <cinoo.kim@samsung.com> Thu, 03 Nov 2011 20:41:41 +0900 + +libug-setting-theme-efl (0.1.0-58) unstable; urgency=low + + * Package Upload + * Git: slp-scm.sec.samsung.net:slp/pkgs/l/libug-setting-theme-efl + * Tag: libug-setting-theme-efl_0.1.0-58 + + -- ChunEon Park <chuneon.park@samsung.com> Sat, 15 Oct 2011 12:38:55 +0900 + +libug-setting-theme-efl (0.1.0-57) unstable; urgency=low + + * Package Upload + * Git: slp-scm.sec.samsung.net:slp/pkgs/l/libug-setting-theme-efl + * Tag: libug-setting-theme-efl_0.1.0-57 + + -- Shinwoo Kim <cinoo.kim@samsung.com> Fri, 14 Oct 2011 16:46:45 +0900 + +libug-setting-theme-efl (0.1.0-56) unstable; urgency=low + + * Package Upload + * Git: slp-scm.sec.samsung.net:slp/pkgs/l/libug-setting-theme-efl + * Tag: libug-setting-theme-efl_0.1.0-56 + + -- Shinwoo Kim <cinoo.kim@samsung.com> Fri, 14 Oct 2011 10:19:14 +0900 + +libug-setting-theme-efl (0.1.0-55) unstable; urgency=low + + * Package Reupload + * Git: slp-scm.sec.samsung.net:slp/pkgs/l/libug-setting-theme-efl + * Tag: libug-setting-theme-efl_0.1.0-55 + + -- Shinwoo Kim <cinoo.kim@samsung.com> Fri, 14 Oct 2011 09:46:57 +0900 + +libug-setting-theme-efl (0.1.0-54) unstable; urgency=low + + * Package Reupload + * Git: slp-scm.sec.samsung.net:slp/pkgs/l/libug-setting-theme-efl + * Tag: libug-setting-theme-efl_0.1.0-54 + + -- Shinwoo Kim <cinoo.kim@samsung.com> Thu, 13 Oct 2011 20:50:05 +0900 + +libug-setting-theme-efl (0.1.0-53) unstable; urgency=low + + * Package Upload + * Git: slp-scm.sec.samsung.net:slp/pkgs/l/libug-setting-theme-efl + * Tag: libug-setting-theme-efl_0.1.0-53 + + -- Shinwoo Kim <cinoo.kim@samsung.com> Thu, 13 Oct 2011 20:45:29 +0900 + +libug-setting-theme-efl (0.1.0-52) unstable; urgency=low + + * Package Upload + * Git: slp-scm.sec.samsung.net:slp/pkgs/l/libug-setting-theme-efl + * Tag: libug-setting-theme-efl_0.1.0-52 + + -- Shinwoo Kim <cinoo.kim@samsung.com> Fri, 07 Oct 2011 17:36:43 +0900 + +libug-setting-theme-efl (0.1.0-51) unstable; urgency=low + + * Package Reupload + * Git: 165.213.180.234:slp/pkgs/l/libug-setting-theme-efl + * Tag: libug-setting-theme-efl_0.1.0-51 + + -- Shinwoo Kim <cinoo.kim@samsung.com> Wed, 05 Oct 2011 21:01:28 +0900 + +libug-setting-theme-efl (0.1.0-50) unstable; urgency=low + + * Package Upload + * Git: 165.213.180.234:slp/pkgs/l/libug-setting-theme-efl + * Tag: libug-setting-theme-efl_0.1.0-50 + + -- Shinwoo Kim <cinoo.kim@samsung.com> Wed, 05 Oct 2011 20:51:30 +0900 + +libug-setting-theme-efl (0.1.0-49) unstable; urgency=low + + * Package Upload + * Git: 165.213.180.234:slp/pkgs/l/libug-setting-theme-efl + * Tag: libug-setting-theme-efl_0.1.0-49 + + -- ChunEon Park <chuneon.park@samsung.com> Fri, 23 Sep 2011 13:18:57 +0900 + +libug-setting-theme-efl (0.1.0-48) unstable; urgency=low + + * Package Upload + * Git: 165.213.180.234:slp/pkgs/l/libug-setting-theme-efl + * Tag: libug-setting-theme-efl_0.1.0-48 + + -- ChunEon Park <chuneon.park@samsung.com> Tue, 20 Sep 2011 11:04:33 +0900 + +libug-setting-theme-efl (0.1.0-47) unstable; urgency=low + + * Package Upload + * Git: 165.213.180.234:slp/pkgs/l/libug-setting-theme-efl + * Tag: libug-setting-theme-efl_0.1.0-47 + + -- Shinwoo Kim <cinoo.kim@samsung.com> Mon, 19 Sep 2011 20:38:56 +0900 + +libug-setting-theme-efl (0.1.0-46) unstable; urgency=low + + * Package Reupload + * Git: 165.213.180.234:slp/pkgs/l/libug-setting-theme-efl + * Tag: libug-setting-theme-efl_0.1.0-46 + + -- Shinwoo Kim <cinoo.kim@samsung.com> Wed, 07 Sep 2011 20:11:30 +0900 + +libug-setting-theme-efl (0.1.0-45) unstable; urgency=low + + * Package Reupload + * Git: 165.213.180.234:slp/pkgs/l/libug-setting-theme-efl + * Tag: libug-setting-theme-efl_0.1.0-45 + + -- Shinwoo Kim <cinoo.kim@samsung.com> Wed, 07 Sep 2011 10:29:38 +0900 + +libug-setting-theme-efl (0.1.0-44) unstable; urgency=low + + * Package Reupload + * Git: 165.213.180.234:slp/pkgs/l/libug-setting-theme-efl + * Tag: libug-setting-theme-efl_0.1.0-44 + + -- Shinwoo Kim <cinoo.kim@samsung.com> Tue, 06 Sep 2011 09:51:44 +0900 + +libug-setting-theme-efl (0.1.0-43) unstable; urgency=low + + * Package Reupload + * Git: 165.213.180.234:slp/pkgs/l/libug-setting-theme-efl + * Tag: libug-setting-theme-efl_0.1.0-43 + + -- Shinwoo Kim <cinoo.kim@samsung.com> Thu, 01 Sep 2011 19:27:25 +0900 + +libug-setting-theme-efl (0.1.0-42) unstable; urgency=low + + * Package Reupload + * Git: 165.213.180.234:slp/pkgs/l/libug-setting-theme-efl + * Tag: libug-setting-theme-efl_0.1.0-42 + + -- Shinwoo Kim <cinoo.kim@samsung.com> Wed, 31 Aug 2011 19:50:09 +0900 + +libug-setting-theme-efl (0.1.0-41) unstable; urgency=low + + * Package Reupload + * Git: 165.213.180.234:slp/pkgs/l/libug-setting-theme-efl + * Tag: libug-setting-theme-efl_0.1.0-41 + + -- Shinwoo Kim <cinoo.kim@samsung.com> Wed, 17 Aug 2011 20:15:26 +0900 + +libug-setting-theme-efl (0.1.0-40) unstable; urgency=low + + * Package Upload + * Git: 165.213.180.234:slp/pkgs/l/libug-setting-theme-efl + * Tag: libug-setting-theme-efl_0.1.0-40 + + -- Shinwoo Kim <cinoo.kim@samsung.com> Wed, 17 Aug 2011 19:37:21 +0900 + +libug-setting-theme-efl (0.1.0-39) unstable; urgency=low + + * Package Upload: remove unnecessary code - setting default bg + * Git: 165.213.180.234:slp/pkgs/l/libug-setting-theme-efl + * Tag: libug-setting-theme-efl_0.1.0-39 + + -- Shinwoo Kim <cinoo.kim@samsung.com> Thu, 14 Jul 2011 22:09:24 +0900 + +libug-setting-theme-efl (0.1.0-38) unstable; urgency=low + + * Package Upload: save some runnig application from termination, check null + * Git: 165.213.180.234:slp/pkgs/l/libug-setting-theme-efl + * Tag: libug-setting-theme-efl_0.1.0-38 + + -- Shinwoo Kim <cinoo.kim@samsung.com> Wed, 13 Jul 2011 12:15:04 +0900 + +libug-setting-theme-efl (0.1.0-37) unstable; urgency=low + + * Package Upload: remove prefix deb + * Git: 165.213.180.234:slp/pkgs/l/libug-setting-theme-efl + * Tag: libug-setting-theme-efl_0.1.0-37 + + -- Shinwoo Kim <cinoo.kim@samsung.com> Tue, 12 Jul 2011 17:59:19 +0900 + +libug-setting-theme-efl (0.1.0-36) unstable; urgency=low + + * Package Upload: align radio button + * Git: 165.213.180.234:slp/pkgs/l/libug-setting-theme-efl + * Tag: libug-setting-theme-efl_0.1.0-36 + + -- Shinwoo Kim <cinoo.kim@samsung.com> Wed, 06 Jul 2011 22:52:42 +0900 + +libug-setting-theme-efl (0.1.0-35) unstable; urgency=low + + * Package Upload: change navigationbar back button + * Git: 165.213.180.234:slp/pkgs/l/libug-setting-theme-efl + * Tag: libug-setting-theme-efl_0.1.0-35 + + -- Shinwoo Kim <cinoo.kim@samsung.com> Mon, 27 Jun 2011 14:35:51 +0900 + +libug-setting-theme-efl (0.1.0-34) unstable; urgency=low + + * Package Upload + * Git: 165.213.180.234:slp/pkgs/l/libug-setting-theme-efl + * Tag: libug-setting-theme-efl_0.1.0-34 + + -- Shinwoo Kim <cinoo.kim@samsung.com> Mon, 20 Jun 2011 21:28:50 +0900 + +libug-setting-theme-efl (0.1.0-33) unstable; urgency=low + + * Package Upload + * Git: 165.213.180.234:slp/pkgs/l/libug-setting-theme-efl + * Tag: libug-setting-theme-efl_0.1.0-33 + + -- Shinwoo Kim <cinoo.kim@samsung.com> Tue, 19 Apr 2011 15:02:31 +0900 + +libug-setting-theme-efl (0.1.0-32) unstable; urgency=low + + * Package Upload + * Git: 165.213.180.234:slp/pkgs/l/libug-setting-theme-efl + * Tag: libug-setting-theme-efl_0.1.0-32 + + -- Shinwoo Kim <cinoo.kim@samsung.com> Sat, 02 Apr 2011 13:01:38 +0900 + +libug-setting-theme-efl (0.1.0-31) unstable; urgency=low + + * version up + * Git: 165.213.180.234:slp/pkgs/l/libug-setting-theme-efl + * Tag: libug-setting-theme-efl_0.1.0-31 + + -- Hyoyoung Chang <hyoyoung.chang@samsung.com> Tue, 22 Mar 2011 22:21:35 +0900 + +libug-setting-theme-efl (0.1.0-30) unstable; urgency=low + + * filter out beat theme + * Git: 165.213.180.234:slp/pkgs/l/libug-setting-theme-efl + * Tag: libug-setting-theme-efl_0.1.0-30 + + -- Hyoyoung Chang <hyoyoung.chang@samsung.com> Tue, 22 Mar 2011 21:40:02 +0900 + +libug-setting-theme-efl (0.1.0-29) unstable; urgency=low + + * change default theme to nbeat + * Git: 165.213.180.234:slp/pkgs/l/libug-setting-theme-efl + * Tag: libug-setting-theme-efl_0.1.0-29 + + -- Hyoyoung Chang <hyoyoung.chang@samsung.com> Tue, 22 Mar 2011 20:18:11 +0900 + +libug-setting-theme-efl (0.1.0-28) unstable; urgency=low + + * revert theme change + * Git: 165.213.180.234:slp/pkgs/l/libug-setting-theme-efl + * Tag: libug-setting-theme-efl_0.1.0-28 + + -- Hyoyoung Chang <hyoyoung.chang@samsung.com> Mon, 21 Mar 2011 17:05:43 +0900 + +libug-setting-theme-efl (0.1.0-27) unstable; urgency=low + + * revert theme change + * Git: 165.213.180.234:slp/pkgs/l/libug-setting-theme-efl + * Tag: libug-setting-theme-efl_0.1.0-27 + + -- Hyoyoung Chang <hyoyoung.chang@samsung.com> Mon, 21 Mar 2011 17:01:13 +0900 + +libug-setting-theme-efl (0.1.0-26) unstable; urgency=low + + * change default theme from beat to nbeat + * Git: 165.213.180.234:slp/pkgs/l/libug-setting-theme-efl + * Tag: libug-setting-theme-efl_0.1.0-26 + + -- Hyoyoung Chang <hyoyoung.chang@samsung.com> Mon, 21 Mar 2011 16:47:45 +0900 + +libug-setting-theme-efl (0.1.0-25) unstable; urgency=low + + * fixed a problem popup raised up twice when clicked radio button + * Git: 165.213.180.234:slp/pkgs/l/libug-setting-theme-efl + * Tag: libug-setting-theme-efl_0.1.0-25 + + -- ChunEon Park <chuneon.park@samsung.com> Fri, 11 Mar 2011 19:02:12 +0900 + +libug-setting-theme-efl (0.1.0-24) unstable; urgency=low + + * Fix Elementary Widget vconf path issue + * Git: 165.213.180.234:slp/pkgs/l/libug-setting-theme-efl + * Tag: libug-setting-theme-efl_0.1.0-24 + + -- Junghyun Kim <jh1114.kim@samsung.com> Tue, 08 Feb 2011 11:06:45 +0900 + +libug-setting-theme-efl (0.1.0-23) unstable; urgency=low + + * Fix bug about change ICON theme + * Git: 165.213.180.234:slp/pkgs/l/libug-setting-theme-efl + * Tag: libug-setting-theme-efl_0.1.0-23 + + -- Junghyun Kim <jh1114.kim@samsung.com> Mon, 07 Feb 2011 13:18:13 +0900 + +libug-setting-theme-efl (0.1.0-22) unstable; urgency=low + + * Apply VCONF DAC for meuscreen + * Git: 165.213.180.234:slp/pkgs/l/libug-setting-theme-efl + * Tag: libug-setting-theme-efl_0.1.0-22 + + -- Junghyun Kim <jh1114.kim@samsung.com> Fri, 28 Jan 2011 16:04:18 +0900 + +libug-setting-theme-efl (0.1.0-21) unstable; urgency=low + + * fix the postinst + * Git: 165.213.180.234:slp/pkgs/l/libug-setting-theme-efl + * Tag: libug-setting-theme-efl_0.1.0-21 + + -- ChunEon Park <chuneon.park@samsung.com> Thu, 27 Jan 2011 13:19:55 +0900 + +libug-setting-theme-efl (0.1.0-20) unstable; urgency=low + + * fix the postinst + * Git: 165.213.180.234:slp/pkgs/l/libug-setting-theme-efl + * Tag: libug-setting-theme-efl_0.1.0-20 + + -- ChunEon Park <chuneon.park@samsung.com> Mon, 24 Jan 2011 21:28:56 +0900 + +libug-setting-theme-efl (0.1.0-19) unstable; urgency=low + + * modified for security policy and install path + * Git: 165.213.180.234:slp/pkgs/l/libug-setting-theme-efl + * Tag: libug-setting-theme-efl_0.1.0-19 + + -- ChunEon Park <chuneon.park@samsung.com> Wed, 19 Jan 2011 19:55:26 +0900 + +libug-setting-theme-efl (0.1.0-18) unstable; urgency=low + + * added a line to fliter "default-desktop.edj" + * Git: 165.213.180.234:slp/pkgs/l/libug-setting-theme-efl + * Tag: libug-setting-theme-efl_0.1.0-18 + + -- ChunEon Park <chuneon.park@samsung.com> Tue, 18 Jan 2011 22:28:32 +0900 + +libug-setting-theme-efl (0.1.0-17) unstable; urgency=low + + * applied end key event + * Git: 165.213.180.234:slp/pkgs/l/libug-setting-theme-efl + * Tag: libug-setting-theme-efl_0.1.0-17 + + -- ChunEon Park <chuneon.park@samsung.com> Thu, 13 Jan 2011 16:04:56 +0900 + +libug-setting-theme-efl (0.1.0-16) unstable; urgency=low + + * fixed for the downloadble theme files + * Git: 165.213.180.234:slp/pkgs/l/libug-setting-theme-efl + * Tag: libug-setting-theme-efl_0.1.0-16 + + -- ChunEon Park <chuneon.park@samsung.com> Tue, 11 Jan 2011 21:31:38 +0900 + +libucg-setting-theme-efl (0.1.0-15) unstable; urgency=low + + * added evas_object_del callback for the base layout + * Git: 165.213.180.234:slp/pkgs/l/libug-setting-theme-efl + * Tag: libug-setting-theme-efl_0.1.0-15 + + -- ChunEon Park <chuneon.park@samsung.com> Thu, 30 Dec 2010 17:28:35 +0900 + +libug-setting-theme-efl (0.1.0-14) unstable; urgency=low + + * Fix code for prevent to terminate menu-screen + * Git: 165.213.180.234:slp/pkgs/l/libug-setting-theme-efl + * Tag: libug-setting-theme-efl_0.1.0-14 + + -- Junghyun Kim <jh1114.kim@samsung.com> Thu, 23 Dec 2010 17:50:17 +0900 + +libug-setting-theme-efl (0.1.0-13) unstable; urgency=low + + * modified to delete_me. in back button callback + * Git: 165.213.180.234:slp/pkgs/l/libug-setting-theme-efl + * Tag: libug-setting-theme-efl_0.1.0-13 + + -- ChunEon Park <chuneon.park@samsung.com> Tue, 21 Dec 2010 13:38:41 +0900 + +libug-setting-theme-efl (0.1.0-12) unstable; urgency=low + + * modified cancel -> back and applied multi-language + * Git: 165.213.180.234:slp/pkgs/l/libug-setting-theme-efl + * Tag: libug-setting-theme-efl_0.1.0-12 + + -- ChunEon Park <chuneon.park@samsung.com> Thu, 09 Dec 2010 20:49:41 +0900 + +libug-setting-theme-efl (0.1.0-11) unstable; urgency=low + + * applied second patch by jh1114.kim@samsung.com + * Git: 165.213.180.234:slp/pkgs/l/libug-setting-theme-efl + * Tag: libug-setting-theme-efl_0.1.0-11 + + -- ChunEon Park <chuneon.park@samsung.com> Thu, 09 Dec 2010 16:59:21 +0900 + +libug-setting-theme-efl (0.1.0-10) unstable; urgency=low + + * fixed popup description spelling. + * Git: 165.213.180.234:/git/slp/pkgs/libug-setting-theme-efl + * Tag: libug-setting-theme-efl_0.1.0-10 + + -- ChunEon Park <chuneon.park@samsung.com> Fri, 12 Nov 2010 11:27:56 +0900 + +libug-setting-theme-efl (0.1.0-9) unstable; urgency=low + + * fixed popup description spelling. + * Git: 165.213.180.234:/git/slp/pkgs/libug-setting-theme-efl + * Tag: libug-setting-theme-efl_0.1.0-9 + + -- ChunEon Park <chuneon.park@samsung.com> Sat, 30 Oct 2010 17:51:23 +0900 + +libug-setting-theme-efl (0.1.0-8) unstable; urgency=low + + * updated multi language + * Git: 165.213.180.234:/git/slp/pkgs/libug-setting-theme-efl + * Tag: libug-setting-theme-efl_0.1.0-8 + + -- ChunEon Park <chuneon.park@samsung.com> Thu, 28 Oct 2010 19:09:49 +0900 + +libug-setting-theme-efl (0.1.0-7) unstable; urgency=low + + * added a function for deleting idle images + * Git: 165.213.180.234:/git/slp/pkgs/libug-setting-theme-efl + * Tag: libug-setting-theme-efl_0.1.0-7 + + -- ChunEon Park <chuneon.park@samsung.com> Mon, 25 Oct 2010 17:38:43 +0900 + +libug-setting-theme-efl (0.1.0-6) unstable; urgency=low + + * added a function for deleting idle images + * Git: 165.213.180.234:/git/slp/pkgs/libug-setting-theme-efl + * Tag: libug-setting-theme-efl_0.1.0-6 + + -- ChunEon Park <chuneon.park@samsung.com> Fri, 22 Oct 2010 21:05:15 +0900 + +libug-setting-theme-efl (0.1.0-5) unstable; urgency=low + + * fixed THEME title in navigation bar + * Git: 165.213.180.234:/git/slp/pkgs/libug-setting-theme-efl + * Tag: libug-setting-theme-efl_0.1.0-5 + + -- ChunEon Park <chuneon.park@samsung.com> Mon, 18 Oct 2010 13:09:57 +0900 + +libug-setting-theme-efl (0.1.0-4) unstable; urgency=low + + * fixed radio position bug. + * Git: 165.213.180.234:/git/slp/pkgs/libug-setting-theme-efl + * Tag: libug-setting-theme-efl_0.1.0-4 + + -- ChunEon Park <chuneon.park@samsung.com> Fri, 15 Oct 2010 19:17:07 +0900 + +libug-setting-theme-efl (0.1.0-3) unstable; urgency=low + + * fixed radio position bug. + * Git: 165.213.180.234:/git/slp/pkgs/libug-setting-theme-efl + * Tag: libug-setting-theme-efl_0.1.0-3 + + -- ChunEon Park <chuneon.park@samsung.com> Tue, 12 Oct 2010 14:20:27 +0900 + +libug-setting-theme-efl (0.1.0-2) unstable; urgency=low + + * repackaging. + * Git: 165.213.180.234:/git/slp/pkgs/libug-setting-theme-efl + * Tag: libug-setting-theme-efl_0.1.0-2 + + -- ChunEon Park <chuneon.park@samsung.com> Mon, 11 Oct 2010 14:23:15 +0900 + +libug-setting-theme-efl (0.1.0-1) unstable; urgency=low + + * Initial Upload + * Git: 165.213.180.234:/git/slp/pkgs/libug-setting-theme-efl + * Tag: libug-setting-theme-efl_0.1.0-1 + + -- ChunEon Park <chuneon.park@samsung.com> Sat, 09 Oct 2010 20:19:49 +0900 diff --git a/debian/compat b/debian/compat new file mode 100755 index 0000000..7ed6ff8 --- /dev/null +++ b/debian/compat @@ -0,0 +1 @@ +5 diff --git a/debian/control b/debian/control new file mode 100644 index 0000000..404eb76 --- /dev/null +++ b/debian/control @@ -0,0 +1,19 @@ +Source: libug-setting-theme-efl +Section: misc +Priority: extra +Maintainer: Shinwoo Kim <cinoo.kim@samsung.com>, ChunEon Park <chuneon.park@samsung.com>, Woohyun Jung <wh0705.jung@samsung.com>, Jaehwan Kim <jae.hwan.kim@samsung.com>, Juyung Seo <juyung.seo@samsung.com> +Uploaders: Shinwoo Kim <cinoo.kim@samsung.com> +Build-Depends: debhelper (>= 5), autotools-dev, libelm-dev, libslp-setting-dev, libui-gadget-dev, libbundle-dev, libaul-1-dev, libefreet-dev, libeina-dev +Standards-Version: 0.1.0 + +Package: libug-setting-theme-efl +Section: misc +Architecture: any +Depends: ${shlibs:Depends}, ${misc:Depends} +Description: Setting Theme UI gadget + +Package: libug-setting-theme-efl-dbg +Section: debug +Architecture: any +Depends: ${shlibs:Depends}, ${misc:Depends}, libug-setting-theme-efl (= ${binary:Version}) +Description: Setting Theme UI gadget (debugging symbols) diff --git a/debian/copyright b/debian/copyright new file mode 100755 index 0000000..e69de29 --- /dev/null +++ b/debian/copyright diff --git a/debian/dirs b/debian/dirs new file mode 100755 index 0000000..ca882bb --- /dev/null +++ b/debian/dirs @@ -0,0 +1,2 @@ +usr/bin +usr/sbin diff --git a/debian/docs b/debian/docs new file mode 100755 index 0000000..a0f0008 --- /dev/null +++ b/debian/docs @@ -0,0 +1 @@ +CMakeLists.txt diff --git a/debian/libug-setting-theme-efl.install.in b/debian/libug-setting-theme-efl.install.in new file mode 100755 index 0000000..370479a --- /dev/null +++ b/debian/libug-setting-theme-efl.install.in @@ -0,0 +1,5 @@ +@PREFIX@/lib/* +@PREFIX@/res/locale/* +@PREFIX@/res/edje/* +@PREFIX@/res/images/* + diff --git a/debian/libug-setting-theme-efl.postinst b/debian/libug-setting-theme-efl.postinst new file mode 100755 index 0000000..10be877 --- /dev/null +++ b/debian/libug-setting-theme-efl.postinst @@ -0,0 +1,56 @@ +#!/bin/sh +#This is setting postinst file + +GOPTION="" +if [ ${USER} == "root" ] +then + GOPTION="-g 6514" +fi + +WIDGET_THEME="" +SELECTED_THEME="" +EDJ_SEPARATOR=":" +THEME_PATH="/usr/share/elementary/themes/" +GREY_HD="grey-hd" +BLACK_HD="tizen-black-hd" +WHITE_HD="tizen-hd" +EDJ_EXT=".edj" +EDJ_GREY_HD=$THEME_PATH$GREY_HD$EDJ_EXT +EDJ_BLACK_HD=$THEME_PATH$BLACK_HD$EDJ_EXT +EDJ_WHITE_HD=$THEME_PATH$WHITE_HD$EDJ_EXT + +if [ -e $EDJ_GREY_HD ] +then + WIDGET_THEME=$EDJ_GREY_HD + SELECTED_THEME=$GREY_HD +fi + +if [ -e $EDJ_BLACK_HD ] +then + if [ $WIDGET_THEME ] + then + WIDGET_THEME=$WIDGET_THEME$EDJ_SEPARATOR$EDJ_BLACK_HD + else + WIDGET_THEME=$EDJ_BLACK_HD + SELECTED_THEME=$BLACK_HD + fi +fi + +if [ -e $EDJ_WHITE_HD ] +then + if [ $WIDGET_THEME ] + then + WIDGET_THEME=$WIDGET_THEME$EDJ_SEPARATOR$EDJ_WHITE_HD + else + WIDGET_THEME=$EDJ_WHITE_HD + SELECTED_THEME=$WHITE_HD + fi +fi + +if [ $WIDGET_THEME ] +then + vconftool $GOPTION set -t string db/setting/widget_theme $WIDGET_THEME + vconftool $GOPTION set -t string db/setting/selected_theme $SELECTED_THEME +fi + +vconftool $GOPTION set -t string db/setting/theme "default" diff --git a/debian/rules b/debian/rules new file mode 100755 index 0000000..de045bb --- /dev/null +++ b/debian/rules @@ -0,0 +1,127 @@ +#!/usr/bin/make -f +# -*- makefile -*- +# Sample debian/rules that uses debhelper. +# This file was originally written by Joey Hess and Craig Small. +# As a special exception, when this file is copied by dh-make into a +# dh-make output file, you may use that output file without restriction. +# This special exception was added by Craig Small in version 0.37 of dh-make. + +# Uncomment this to turn on verbose mode. +#export DH_VERBOSE=1 + +CFLAGS ?= -Wall -g +CXXFLAGS ?= -Wall -g +LDFLAGS ?= +PREFIX ?= /opt/ug +DATADIR ?= /opt/ug/res + +ifneq (,$(findstring noopt,$(DEB_BUILD_OPTIONS))) + CFLAGS += -O0 + CXXFLAGS += -O0 +else + CFLAGS += -O2 + CXXFLAGS += -O2 +endif + +LDFLAGS += -Wl,--rpath=$(PREFIX)/lib -Wl,--as-needed + +CMAKE_TMP_DIR = $(CURDIR)/cmake_tmp + + +configure: configure-stamp +configure-stamp: + dh_testdir + # Add here commands to configure the package. + mkdir -p $(CMAKE_TMP_DIR); + cd $(CMAKE_TMP_DIR); CFLAGS="$(CFLAGS)" CXXFLAGS="$(CXXFLAGS)" LDFLAGS="$(LDFLAGS)" cmake .. -DCMAKE_INSTALL_PREFIX=$(PREFIX) + + touch configure-stamp + +build: build-stamp + +build-stamp: configure-stamp + dh_testdir + + # Add here commands to compile the package. + cd $(CMAKE_TMP_DIR) && $(MAKE) + #docbook-to-man debian/wavplayer.sgml > wavplayer.1 + + for f in `find $(CURDIR)/debian/ -name "*.in"`; do \ + cat $$f > $${f%.in}; \ + sed -i -e "s#@PREFIX@#$(PREFIX)#g" $${f%.in}; \ + sed -i -e "s#@DATADIR@#$(DATADIR)#g" $${f%.in}; \ + done + + + touch $@ + +clean: + dh_testdir + dh_testroot + rm -f build-stamp configure-stamp + + # Add here commands to clean up after the build process. + -cd $(CMAKE_TMP_DIR) && $(MAKE) clean + rm -rf $(CMAKE_TMP_DIR) + + rm -rf CMakeCache.txt + rm -rf CMakeFiles + rm -rf cmake_install.cmake + rm -rf Makefile + rm -rf install_manifest.txt + rm -rf *.so + + for f in `find $(CURDIR)/debian/ -name "*.in"`; do \ + rm -f $${f%.in}; \ + done + + dh_clean + +install: build + dh_testdir + dh_testroot + dh_clean -k + dh_installdirs + + # Add here commands to install the package into debian/wavplayer. + cd $(CMAKE_TMP_DIR) && $(MAKE) DESTDIR=$(CURDIR)/debian/tmp install + + +# Build architecture-independent files here. +binary-indep: build install +# We have nothing to do by default. + +# Build architecture-dependent files here. +binary-arch: build install + dh_testdir + dh_testroot + dh_installchangelogs +# dh_installdocs + dh_installexamples + dh_install --sourcedir=debian/tmp +# dh_installmenu +# dh_installdebconf +# dh_installlogrotate +# dh_installemacsen +# dh_installpam +# dh_installmime +# dh_python +# dh_installinit +# dh_installcron +# dh_installinfo + dh_installman + dh_link +# dh_strip + dh_strip --dbg-package=libug-setting-theme-efl-dbg + dh_compress + dh_fixperms +# dh_perl + dh_makeshlibs + dh_installdeb + dh_shlibdeps + dh_gencontrol + dh_md5sums + dh_builddeb + +binary: binary-indep binary-arch +.PHONY: build clean binary-indep binary-arch binary install configure diff --git a/packaging/libug-setting-theme-efl.spec b/packaging/libug-setting-theme-efl.spec new file mode 100644 index 0000000..d0a3eba --- /dev/null +++ b/packaging/libug-setting-theme-efl.spec @@ -0,0 +1,101 @@ +%define PREFIX /opt/ug + +Name: libug-setting-theme-efl +Summary: ug theme setting efl library +Version: 0.1.0 +Release: 2 +Group: TBD +License: Samsung +Source0: %{name}-%{version}.tar.gz +BuildRequires: pkgconfig(elementary) +BuildRequires: pkgconfig(ui-gadget) +BuildRequires: pkgconfig(x11) +BuildRequires: pkgconfig(vconf) +BuildRequires: pkgconfig(aul) +BuildRequires: pkgconfig(efreet-mime) +BuildRequires: pkgconfig(eina) +BuildRequires: cmake +BuildRequires: gettext-tools +BuildRequires: edje-tools +Requires(post): /sbin/ldconfig +Requires(post): /usr/bin/vconftool +requires(postun): /sbin/ldconfig +%description +ug theme setting efl library. + + +%prep +%setup -q + +%build +LDFLAGS+="-Wl,--rpath=%{PREFIX}/lib -Wl,--as-needed";export LDFLAGS +cmake . -DCMAKE_INSTALL_PREFIX=%{PREFIX} +make %{?jobs:-j%jobs} + +%install +%make_install + + +%find_lang ug-setting-theme-efl + +%post +/sbin/ldconfig + +GOPTION="-g 6514" +WIDGET_THEME="" +SELECTED_THEME="" +EDJ_SEPARATOR=":" +THEME_PATH="/usr/share/elementary/themes/" +GREY_HD="grey-hd" +BLACK_HD="tizen-black-hd" +WHITE_HD="tizen-hd" +EDJ_EXT=".edj" +EDJ_GREY_HD=$THEME_PATH$GREY_HD$EDJ_EXT +EDJ_BLACK_HD=$THEME_PATH$BLACK_HD$EDJ_EXT +EDJ_WHITE_HD=$THEME_PATH$WHITE_HD$EDJ_EXT + +if [ -e $EDJ_GREY_HD ] +then + WIDGET_THEME=$EDJ_GREY_HD + SELECTED_THEME=$GREY_HD +fi + +if [ -e $EDJ_BLACK_HD ] +then + if [ $WIDGET_THEME ] + then + WIDGET_THEME=$WIDGET_THEME$EDJ_SEPARATOR$EDJ_BLACK_HD + else + WIDGET_THEME=$EDJ_BLACK_HD + SELECTED_THEME=$BLACK_HD + fi +fi + +if [ -e $EDJ_WHITE_HD ] +then + if [ $WIDGET_THEME ] + then + WIDGET_THEME=$WIDGET_THEME$EDJ_SEPARATOR$EDJ_WHITE_HD + else + WIDGET_THEME=$EDJ_WHITE_HD + SELECTED_THEME=$WHITE_HD + fi +fi + +if [ $WIDGET_THEME ] +then + vconftool $GOPTION set -t string db/setting/widget_theme $WIDGET_THEME + vconftool $GOPTION set -t string db/setting/selected_theme $SELECTED_THEME +fi + +vconftool $GOPTION set -t string db/setting/theme "default" + + +%postun -p /sbin/ldconfig + +%files -f ug-setting-theme-efl.lang +/opt/ug/lib/libug-setting-theme-efl.so +/opt/ug/lib/libug-setting-theme-efl.so.0.1.0 +/opt/ug/res/edje/ug-setting-theme-efl/setting-theme-efl.edj +/opt/ug/res/images/ug-setting-theme-efl/tizen-black.png +/opt/ug/res/images/ug-setting-theme-efl/tizen.png diff --git a/po/CMakeLists.txt b/po/CMakeLists.txt new file mode 100644 index 0000000..2ebbf44 --- /dev/null +++ b/po/CMakeLists.txt @@ -0,0 +1,24 @@ +# for i18n + +SET(POFILES de.po el.po en_GB.po en_US.po es.po fr.po it.po ja.po ko.po nl.po pt.po ru.po tr_TR.po zh_CN.po zh_HK.po zh_TW.po) + +SET(MSGFMT "/usr/bin/msgfmt") + +FOREACH(pofile ${POFILES}) + SET(pofile ${CMAKE_CURRENT_SOURCE_DIR}/${pofile}) + MESSAGE("PO: ${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 res/locale/${lang}/LC_MESSAGES RENAME ${PROJECT_NAME}.mo) + SET(moFiles ${moFiles} ${moFile}) +ENDFOREACH(pofile) + +MESSAGE(".mo files: ${moFiles}") +ADD_CUSTOM_TARGET(po ALL DEPENDS ${moFiles}) diff --git a/po/POTFILES.in b/po/POTFILES.in new file mode 100644 index 0000000..4f34346 --- /dev/null +++ b/po/POTFILES.in @@ -0,0 +1,2 @@ +# List of source files containing translatable strings. +setting-theme-efl.c diff --git a/po/de.po b/po/de.po new file mode 100644 index 0000000..36b6d67 --- /dev/null +++ b/po/de.po @@ -0,0 +1,16 @@ +msgid "IDS_ST_BODY_THEME" +msgstr "Winset" + +msgid "IDS_COM_POP_CANCEL" +msgstr "Abbrechen" + +msgid "IDS_COM_POP_YES" +msgstr "Ja" + +msgid "IDS_COM_POP_NO" +msgstr "Nein" + +msgid "IDS_COM_BODY_BACK" +msgstr "Zurück" + + diff --git a/po/el.po b/po/el.po new file mode 100644 index 0000000..6db03b9 --- /dev/null +++ b/po/el.po @@ -0,0 +1,17 @@ +msgid "IDS_ST_BODY_THEME" +msgstr "Θέμα" + +msgid "IDS_COM_POP_CANCEL" +msgstr "Ακύρωση" + +msgid "IDS_COM_POP_YES" +msgstr "Ναι" + +msgid "IDS_COM_POP_NO" +msgstr "Όχι" + +msgid "IDS_COM_BODY_BACK" +msgstr "Назад" + + + diff --git a/po/en_GB.po b/po/en_GB.po new file mode 100644 index 0000000..84d3374 --- /dev/null +++ b/po/en_GB.po @@ -0,0 +1,39 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2010-10-28 16:43+0900\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" +"Language-Team: LANGUAGE <LL@li.org>\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: setting-theme-efl.c:306 +msgid "All Apps will bel closed<br> to change theme" +msgstr "" + +#: setting-theme-efl.c:475 +msgid "IDS_ST_BODY_THEME" +msgstr "Winset" + +msgid "IDS_COM_POP_YES" +msgstr "Yes" + +msgid "IDS_COM_POP_NO" +msgstr "No" + +msgid "IDS_COM_POP_CANCEL" +msgstr "Cancel" + +msgid "IDS_COM_BODY_BACK" +msgstr "Back" + + diff --git a/po/en_US.po b/po/en_US.po new file mode 100644 index 0000000..ffa9828 --- /dev/null +++ b/po/en_US.po @@ -0,0 +1,14 @@ +msgid "IDS_ST_BODY_THEME" +msgstr "Winset" + +msgid "IDS_COM_POP_CANCEL" +msgstr "Cancel" + +msgid "IDS_COM_POP_YES" +msgstr "Yes" + +msgid "IDS_COM_POP_NO" +msgstr "No" + +msgid "IDS_COM_BODY_BACK" +msgstr "Back" diff --git a/po/es.po b/po/es.po new file mode 100644 index 0000000..2aac59d --- /dev/null +++ b/po/es.po @@ -0,0 +1,15 @@ +msgid "IDS_ST_BODY_THEME" +msgstr "Tema" + +msgid "IDS_COM_POP_CANCEL" +msgstr "Cancelar" + +msgid "IDS_COM_POP_YES" +msgstr "Sí" + +msgid "IDS_COM_POP_NO" +msgstr "No" + +msgid "IDS_COM_BODY_BACK" +msgstr "Atrás" + diff --git a/po/fr.po b/po/fr.po new file mode 100644 index 0000000..83b4a57 --- /dev/null +++ b/po/fr.po @@ -0,0 +1,15 @@ +msgid "IDS_ST_BODY_THEME" +msgstr "Thème" + +msgid "IDS_COM_POP_CANCEL" +msgstr "Annuler" + +msgid "IDS_COM_POP_YES" +msgstr "Oui" + +msgid "IDS_COM_POP_NO" +msgstr "Non" + +msgid "IDS_COM_BODY_BACK" +msgstr "Retour" + diff --git a/po/it.po b/po/it.po new file mode 100644 index 0000000..334b799 --- /dev/null +++ b/po/it.po @@ -0,0 +1,15 @@ +msgid "IDS_ST_BODY_THEME" +msgstr "Tema" + +msgid "IDS_COM_POP_CANCEL" +msgstr "Annulla" + +msgid "IDS_COM_POP_YES" +msgstr "Sì" + +msgid "IDS_COM_POP_NO" +msgstr "No" + +msgid "IDS_COM_BODY_BACK" +msgstr "Indietro" + diff --git a/po/ja.po b/po/ja.po new file mode 100644 index 0000000..891ef9a --- /dev/null +++ b/po/ja.po @@ -0,0 +1,15 @@ +msgid "IDS_ST_BODY_THEME" +msgstr "テーマ" + +msgid "IDS_COM_POP_CANCEL" +msgstr "キャンセル" + +msgid "IDS_COM_POP_YES" +msgstr "OK" + +msgid "IDS_COM_POP_NO" +msgstr "キャンセル" + +msgid "IDS_COM_BODY_BACK" +msgstr "戻る" + diff --git a/po/ko.po b/po/ko.po new file mode 100644 index 0000000..62008d9 --- /dev/null +++ b/po/ko.po @@ -0,0 +1,16 @@ +msgid "IDS_ST_BODY_THEME" +msgstr "테마" + +msgid "IDS_COM_POP_CANCEL" +msgstr "취소" + +msgid "IDS_COM_POP_YES" +msgstr "예" + +msgid "IDS_COM_POP_NO" +msgstr "아니요" + +msgid "IDS_COM_BODY_BACK" +msgstr "이전" + + diff --git a/po/nl.po b/po/nl.po new file mode 100644 index 0000000..e426716 --- /dev/null +++ b/po/nl.po @@ -0,0 +1,15 @@ +msgid "IDS_ST_BODY_THEME" +msgstr "Thema" + +msgid "IDS_COM_POP_CANCEL" +msgstr "Annuleer" + +msgid "IDS_COM_POP_YES" +msgstr "Ja" + +msgid "IDS_COM_POP_NO" +msgstr "Nee" + +msgid "IDS_COM_BODY_BACK" +msgstr "Terug" + diff --git a/po/pt.po b/po/pt.po new file mode 100644 index 0000000..d9a724a --- /dev/null +++ b/po/pt.po @@ -0,0 +1,15 @@ +msgid "IDS_ST_BODY_THEME" +msgstr "Tema" + +msgid "IDS_COM_POP_CANCEL" +msgstr "Cancelar" + +msgid "IDS_COM_POP_YES" +msgstr "Sim" + +msgid "IDS_COM_POP_NO" +msgstr "Não" + +msgid "IDS_COM_BODY_BACK" +msgstr "Voltar" + diff --git a/po/ru.po b/po/ru.po new file mode 100644 index 0000000..60600f0 --- /dev/null +++ b/po/ru.po @@ -0,0 +1,15 @@ +msgid "IDS_ST_BODY_THEME" +msgstr "Тема" + +msgid "IDS_COM_POP_CANCEL" +msgstr "Отмена" + +msgid "IDS_COM_POP_YES" +msgstr "Да" + +msgid "IDS_COM_POP_NO" +msgstr "Нет" + +msgid "IDS_COM_BODY_BACK" +msgstr "Назад" + diff --git a/po/tr_TR.po b/po/tr_TR.po new file mode 100644 index 0000000..a26e9d2 --- /dev/null +++ b/po/tr_TR.po @@ -0,0 +1,15 @@ +msgid "IDS_ST_BODY_THEME" +msgstr "Tema" + +msgid "IDS_COM_POP_CANCEL" +msgstr "İptal" + +msgid "IDS_COM_POP_YES" +msgstr "Evet" + +msgid "IDS_COM_POP_NO" +msgstr "Hayır" + +msgid "IDS_COM_BODY_BACK" +msgstr "Geri" + diff --git a/po/ug-setting-theme-efl.pot b/po/ug-setting-theme-efl.pot new file mode 100644 index 0000000..d61bf9f --- /dev/null +++ b/po/ug-setting-theme-efl.pot @@ -0,0 +1,37 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2010-10-28 16:56+0900\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" +"Language-Team: LANGUAGE <LL@li.org>\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=CHARSET\n" +"Content-Transfer-Encoding: 8bit\n" + +#: setting-theme-efl.c:306 +msgid "All Apps will bel closed<br> to change theme" +msgstr "" + +#: setting-theme-efl.c:307 +msgid "Yes" +msgstr "" + +#: setting-theme-efl.c:307 +msgid "No" +msgstr "" + +#: setting-theme-efl.c:461 +msgid "Cancel" +msgstr "" + +#: setting-theme-efl.c:475 +msgid "IDS_ST_BODY_THEME" +msgstr "" diff --git a/po/update-po.sh b/po/update-po.sh new file mode 100755 index 0000000..3bc90fd --- /dev/null +++ b/po/update-po.sh @@ -0,0 +1,60 @@ +#!/bin/sh + +PACKAGE=ug-setting-theme-efl +SRCROOT=.. +POTFILES=POTFILES.in + +#ALL_LINGUAS= am az be ca cs da de el en_CA en_GB es et fi fr hr hu it ja ko lv mk ml ms nb ne nl pa pl pt pt_BR ru rw sk sl sr sr@Latn sv ta tr uk vi zh_CN zh_TW +ALL_LINGUAS="de el en_GB en_US es fr it ja ko nl pt ru tk zh_CN zh_HK zh_TW" + +XGETTEXT=/usr/bin/xgettext +MSGMERGE=/usr/bin/msgmerge + +echo -n "Make ${PACKAGE}.pot " +if [ ! -e $POTFILES ] ; then + echo "$POTFILES not found" + exit 1 +fi + +$XGETTEXT --default-domain=${PACKAGE} --directory=${SRCROOT} \ + --add-comments --keyword=_ --keyword=N_ --files-from=$POTFILES +if [ $? -ne 0 ]; then + echo "xgettext error" + exit 1 +fi + +if [ ! -f ${PACKAGE}.po ]; then + echo "No such file: ${PACKAGE}.po" + exit 1 +fi + +rm -f ${PACKAGE}.pot && mv ${PACKAGE}.po ${PACKAGE}.pot +echo "done" + +for LANG in $ALL_LINGUAS; do + echo "$LANG : " + + if [ ! -e $LANG.po ] ; then + sed 's/CHARSET/UTF-8/g' ${PACKAGE}.pot > ${LANG}.po + echo "${LANG}.po created" + else + if $MSGMERGE ${LANG}.po ${PACKAGE}.pot -o ${LANG}.new.po ; then + if cmp ${LANG}.po ${LANG}.new.po > /dev/null 2>&1; then + rm -f ${LANG}.new.po + else + if mv -f ${LANG}.new.po ${LANG}.po; then + echo "" + else + echo "msgmerge for $LANG.po failed: cannot move $LANG.new.po to $LANG.po" 1>&2 + rm -f ${LANG}.new.po + exit 1 + fi + fi + else + echo "msgmerge for $LANG failed!" + rm -f ${LANG}.new.po + fi + fi + echo "" +done + diff --git a/po/zh_CN.po b/po/zh_CN.po new file mode 100644 index 0000000..6f29d1e --- /dev/null +++ b/po/zh_CN.po @@ -0,0 +1,15 @@ +msgid "IDS_ST_BODY_THEME" +msgstr "主题" + +msgid "IDS_COM_POP_CANCEL" +msgstr "取消" + +msgid "IDS_COM_POP_YES" +msgstr "是 " + +msgid "IDS_COM_POP_NO" +msgstr "否" + +msgid "IDS_COM_BODY_BACK" +msgstr "返回" + diff --git a/po/zh_HK.po b/po/zh_HK.po new file mode 100644 index 0000000..a4fb085 --- /dev/null +++ b/po/zh_HK.po @@ -0,0 +1,15 @@ +msgid "IDS_ST_BODY_THEME" +msgstr "主題" + +msgid "IDS_COM_POP_CANCEL" +msgstr "取消" + +msgid "IDS_COM_POP_YES" +msgstr "是 " + +msgid "IDS_COM_POP_NO" +msgstr "否" + +msgid "IDS_COM_BODY_BACK" +msgstr "返回" + diff --git a/po/zh_TW.po b/po/zh_TW.po new file mode 100644 index 0000000..1c8cd17 --- /dev/null +++ b/po/zh_TW.po @@ -0,0 +1,15 @@ +msgid "IDS_ST_BODY_THEME" +msgstr "主題" + +msgid "IDS_COM_POP_CANCEL" +msgstr "取消" + +msgid "IDS_COM_POP_YES" +msgstr "是" + +msgid "IDS_COM_POP_NO" +msgstr "否" + +msgid "IDS_COM_BODY_BACK" +msgstr "上一步" + diff --git a/resources/images/tizen-black.png b/resources/images/tizen-black.png Binary files differnew file mode 100644 index 0000000..028c051 --- /dev/null +++ b/resources/images/tizen-black.png diff --git a/resources/images/tizen.png b/resources/images/tizen.png Binary files differnew file mode 100644 index 0000000..56e81e8 --- /dev/null +++ b/resources/images/tizen.png diff --git a/setting-theme-efl.c b/setting-theme-efl.c new file mode 100755 index 0000000..8f823c1 --- /dev/null +++ b/setting-theme-efl.c @@ -0,0 +1,1485 @@ +/* + + Copyright (c) 2000-2012 Samsung Electronics Co., Ltd All Rights Reserved + + This file is part of libug-setting-theme-efl + Written by Shinwoo Kim <cinoo.kim@samsung.com>, + ChunEon Park <chuneon.park@samsung.com>, + Woohyun Jung <wh0705.jung@samsung.com>, + Jaehwan Kim <jae.hwan.kim@samsung.com>, + Juyung Seo <juyung.seo@samsung.com>, + + PROPRIETARY/CONFIDENTIAL + + This software is the confidential and proprietary information of + SAMSUNG ELECTRONICS ("Confidential Information"). You shall not + disclose such Confidential Information and shall use it only in + accordance with the terms of the license agreement you entered + into with SAMSUNG ELECTRONICS. + + SAMSUNG make no representations or warranties about the suitability + of the software, either express or implied, including but not limited + to the implied warranties of merchantability, fitness for a particular + purpose, or non-infringement. SAMSUNG shall not be liable for any + damages suffered by licensee as a result of using, modifying or + distributing this software or its derivatives. + +*/ + +#ifndef UG_MODULE_API +#define UG_MODULE_API __attribute__ ((visibility("default"))) +#endif + +#include <Eina.h> +#include <ui-gadget-module.h> +#include <aul.h> +#include <vconf.h> +#include <vconf-keys.h> +#include <Efreet_Mime.h> + +#include "setting-theme-efl.h" + +static Evas_Object *_parent = NULL; +static Elm_Genlist_Item_Class itc, itc2, edit_mode_itc; +static Eina_List *gtheme_list = NULL; +static Evas_Object *rdg = NULL; + +struct ug_down_theme_property +{ + int ext; + char name[SETTING_THEME_NAME_MAX_LEN]; +}; + +struct ug_theme_list +{ + struct ug_down_theme_property icon_theme; + struct ug_down_theme_property boot_ani_theme; + struct ug_down_theme_property key_snd_theme; + struct ug_down_theme_property efl_theme; + struct ug_down_theme_property gtk_theme; + struct ug_down_theme_property screen_image_theme; + struct ug_down_theme_property font_theme; + struct ug_down_theme_property vibrate_theme; +}; + +typedef enum +{ + THEME_TYPE_DEFAULT, + THEME_TYPE_DOWNLOAD, +} ug_theme_type; + +struct ug_theme_info +{ + ug_theme_type type; + char* name; +}; + +typedef struct _Item_Data Item_Data; +typedef struct _View_Data View_Data; +struct _View_Data { + Evas_Object *bg; + Evas_Object *nf; + Evas_Object *box; + Evas_Object *delete_btn; // 'Delete'/'Cancel' button + Evas_Object *more_btn; + Evas_Object *cbar; + Elm_Object_Item *del_btn_item; // 'Delete' button + + Evas_Object *genlist; + Elm_Object_Item *renamed_it; + + Evas_Object *select_all_layout; + Evas_Object *select_all_checkbox; + Eina_Bool select_all_checked; + int total_count; + int checked_count; + int default_theme_count; +}; + +struct _Item_Data { + Elm_Object_Item *it; // Genlist Item pointer + Eina_Bool checked; // Check status + char *label; + int idx; +}; + +struct ug_data { + Evas_Object *base; + Eina_List *theme_list; + struct ui_gadget *ug; + struct ug_theme_list theme; + View_Data *vd; +}; + +static Evas_Object* _create_layout_main( Evas_Object* parent, View_Data* vd ) +{ + Evas_Object *layout = elm_layout_add( parent ); + if( layout == NULL ) return NULL; + + elm_layout_theme_set( layout, "layout", "application", "default" ); + evas_object_size_hint_weight_set( layout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); + + //Background + Evas_Object *bg = elm_bg_add( layout ); + vd->bg = bg; + + if ( bg ) { + elm_object_style_set( bg, "group_list"); + evas_object_size_hint_weight_set( bg, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND ); + elm_object_part_content_set( layout, "elm.swallow.bg", bg ); + } + + evas_object_show( layout ); + + return layout; +} + +static void _setting_theme_def_response_cb( void *data, Evas_Object *obj, void *event_info ) +{ + evas_object_del(obj); +} + +static void _block_clicked_cb(void *data, Evas_Object *obj, void *event_info) +{ + // Popup remove code...ex + /*if (conformant) { + evas_object_del(conformant); + conformant = NULL; + } + if (del_timer) { + ecore_timer_del(del_timer); + del_timer = NULL; + } + evas_object_del(obj);*/ +} + +static int _load_index_file(struct ug_data* ugd, struct ug_theme_info* selected_theme) +{ + FILE* fp = NULL; + Eina_Strbuf* temp_str_buf = eina_strbuf_new(); + Eina_List *index_list = NULL; + Eina_List *elist = NULL; + char* meta_theme = NULL; + + eina_strbuf_append_printf( temp_str_buf, "%s/%s/%s", DOWNLOAD_THEME_FOLDER_PATH, selected_theme->name, DOWNLOAD_THEME_INDEX_FILE_NAME); + + if( !( fp = fopen( eina_strbuf_string_steal( temp_str_buf ), "r" ) ) ) { + + //make error popup : file not found + Evas_Object *popup = elm_popup_add( ugd->base ); + + if( popup == NULL ) { + eina_strbuf_free(temp_str_buf); + return -1; + } + + //TODO: Apply Strings to Multi Languange + elm_object_text_set( popup, _("No Theme Contents") ); + evas_object_smart_callback_add(popup, "block,clicked", _block_clicked_cb, NULL); + + elm_popup_timeout_set( popup, POPUP_ALERT_TIMOUT_DURATION ); + evas_object_smart_callback_add( popup, "response", _setting_theme_def_response_cb, NULL ); + evas_object_show( popup ); + + eina_strbuf_free(temp_str_buf); + return -1; + } + + // Read File + while( !feof( fp ) ) { + char temp_buffer[ SETTING_THEME_NAME_MAX_LEN ] = {0,}; + fgets( temp_buffer, SETTING_THEME_NAME_MAX_LEN, fp ); + index_list = eina_list_append( index_list, strdup(temp_buffer)); + } + + fclose(fp); + + // Parsing + EINA_LIST_FOREACH( index_list, elist, meta_theme ) { + + char *ptr; + char *meta = strtok_r( meta_theme, "=", &ptr); + + if(meta) { + + char *theme = strtok_r( NULL, "\n", &ptr); + if( theme == NULL ) continue; + + if( !strncmp( DOWNLOAD_THEME_ICON_THEME_KEYWORD, + meta, + strlen( DOWNLOAD_THEME_ICON_THEME_KEYWORD)) ) { + + ugd->theme.icon_theme.ext = 1; + strncpy(ugd->theme.icon_theme.name,theme,strlen(theme)); + + } + else if( !strncmp( DOWNLOAD_THEME_BOOT_ANIMATOR_THEME_KEYWORD, + meta, + strlen( DOWNLOAD_THEME_BOOT_ANIMATOR_THEME_KEYWORD)) ) { + ugd->theme.boot_ani_theme.ext = 1; + strncpy(ugd->theme.boot_ani_theme.name,theme,strlen(theme)); + } + else if( !strncmp( DOWNLOAD_THEME_KEY_SOUND_THEME_KEYWORD, + meta, + strlen( DOWNLOAD_THEME_KEY_SOUND_THEME_KEYWORD )) ) { + ugd->theme.key_snd_theme.ext = 1; + strncpy(ugd->theme.key_snd_theme.name,theme,strlen(theme)); + + } + else if( !strncmp( DOWNLOAD_THEME_EFL_THEME_KEYWORD, + meta, + strlen( DOWNLOAD_THEME_EFL_THEME_KEYWORD ) ) ) { + ugd->theme.efl_theme.ext = 1; + strncpy(ugd->theme.efl_theme.name,theme,strlen(theme)); + + } + else if( !strncmp( DOWNLOAD_THEME_GTK_THEME_KEYWORD, + meta, + strlen( DOWNLOAD_THEME_GTK_THEME_KEYWORD ) ) ) { + ugd->theme.gtk_theme.ext = 1; + strncpy(ugd->theme.gtk_theme.name,theme,strlen(theme)); + } + else if( !strncmp( DOWNLOAD_THEME_SCREEN_IMG_THEME_KEYWORD, + meta, + strlen( DOWNLOAD_THEME_SCREEN_IMG_THEME_KEYWORD ) ) ) { + ugd->theme.screen_image_theme.ext = 1; + strncpy(ugd->theme.screen_image_theme.name,theme,strlen(theme)); + + } + else if( !strncmp( DOWNLOAD_THEME_FONT_THEME_KEYWORD, + meta, + strlen( DOWNLOAD_THEME_FONT_THEME_KEYWORD )) ) { + ugd->theme.font_theme.ext = 1; + strncpy(ugd->theme.font_theme.name,theme,strlen(theme)); + } + else if( !strncmp( DOWNLOAD_THEME_VIBRATION_THEME_KEYWORD, + meta, + strlen( DOWNLOAD_THEME_VIBRATION_THEME_KEYWORD )) ) { + ugd->theme.vibrate_theme.ext = 1; + strncpy(ugd->theme.vibrate_theme.name,theme,strlen(theme)); + } + } + } + + // clear + eina_strbuf_free(temp_str_buf); + + EINA_LIST_FOREACH( index_list, elist, meta_theme ) { + index_list = eina_list_remove( index_list, meta_theme ); + free( meta_theme ); + } + return 0; +} + +static Evas_Object* _create_naviframe( Evas_Object* parent ) +{ + if( parent == NULL ) return NULL; + + Evas_Object *nf = elm_naviframe_add( parent ); + evas_object_show( nf ); + + return nf; +} + +static void _remove_files_in_dir( const char *folder_path ) +{ + struct stat statbuf; + char path_buf[ PATH_MAX ]; + DIR* dp = NULL; + struct dirent *entry = NULL; + char *mime = NULL; + char *splitter = NULL; + char *env = getenv( "UI_IDLECAPTURE_IMG_TYPE" ); + + if( !env ) { + return ; + } + + dp = opendir( folder_path ); + + if( dp == 0 ) { + return ; + } + + if( chdir( folder_path ) != 0 ) { + fprintf( stderr, "Failed to change directory!\n" ); + } + + while( ( entry = readdir( dp ) ) != NULL ) { + + stat( entry->d_name, &statbuf ); + + strcpy( path_buf, folder_path ); + + if( path_buf[ strlen( path_buf ) - 1 ] != '/' ) { + strcat( path_buf, "/" ); + } + + strcat( path_buf, entry->d_name ); + + //case of directory + if( S_ISDIR( statbuf.st_mode ) ) { + + if( strcmp( ".", entry->d_name ) == 0 || strcmp( "..", entry->d_name ) == 0 ) { + continue; + } + + _remove_files_in_dir( path_buf ); + continue; + //case of file + }else { + //Check is it jpeg type. + mime = (char *) efreet_mime_type_get( path_buf ); + + if( mime == 0 ) { + continue; + } + + while( (splitter = strpbrk( mime, "/" )) ) { + if( strncmp( mime, env, splitter - mime ) == 0 ) { + unlink( path_buf ); + continue; + }else { + mime = ++splitter; + } + } + + if( strncmp( mime, env, strlen( mime ) ) == 0 ) { + unlink( path_buf ); + } + } + + } + + if( chdir( ".." ) != 0 ) { + fprintf( stderr, "Failed to change directory!\n" ); + } + + closedir( dp ); +} + +static int _strncmp( const char *s1, const char *s2) +{ + const char *longer = NULL; + const char *shorter = NULL; + + if( strlen( s1 ) > strlen ( s2 ) ) { + longer = s1; + shorter = s2; + } else { + longer = s2; + shorter = s1; + } + + return strncmp( longer, shorter, strlen( longer ) ); +} + +static void _get_default_theme_list( const char *folder_path, Eina_List **theme_list ) +{ + struct stat statbuf; + char path_buf[ PATH_MAX ]; + DIR* dp = NULL; + struct dirent *entry = NULL; + + dp = opendir( folder_path ); + + if( dp == 0 ) { + return ; + } + + if( chdir( folder_path ) != 0 ) { + fprintf( stderr, "Failed to change directory!\n" ); + } + + while( ( entry = readdir( dp ) ) != NULL ) { + + stat( entry->d_name, &statbuf ); + strcpy( path_buf, folder_path ); + + if( path_buf[ strlen( path_buf ) - 1 ] != '/' ) { + strcat( path_buf, "/" ); + } + + strcat( path_buf, entry->d_name ); + + //case of directory + if( S_ISDIR( statbuf.st_mode ) ) { + + if( strcmp( ".", entry->d_name ) == 0 || strcmp( "..", entry->d_name ) == 0 ) { + continue; + } + + _get_default_theme_list( path_buf, theme_list ); + continue; + + //case of file + }else { + //TODO: TEMPORARY COMPARE. SHOULD BE REMOVED! + if( !_strncmp( entry->d_name, "tizen.edj") || + !_strncmp( entry->d_name, "tizen-black.edj") || + !_strncmp( entry->d_name, "default.edj") || + !_strncmp( entry->d_name, "default-desktop.edj") ) { + continue; + } + + struct ug_theme_info *new_info = (struct ug_theme_info*)calloc(1,sizeof(struct ug_theme_info)); + new_info->type = THEME_TYPE_DEFAULT; + new_info->name = strndup(entry->d_name, strpbrk( entry->d_name, ".") - entry->d_name ); + + *theme_list = eina_list_append( *theme_list, new_info ); + + } + } + + if( chdir( ".." ) != 0 ) { + fprintf( stderr, "Failed to change directory!\n" ); + } + + closedir( dp ); +} + +static void _get_theme_list( const char *folder_path, Eina_List **theme_list ) +{ + struct stat statbuf; + char path_buf[ PATH_MAX ]; + DIR* dp = NULL; + struct dirent *entry = NULL; + + dp = opendir( folder_path ); + + if( dp == 0 ) { + return ; + } + + if( chdir( folder_path ) != 0 ) { + fprintf( stderr, "Failed to change directory!\n" ); + } + + while( ( entry = readdir( dp ) ) != NULL ) { + + stat( entry->d_name, &statbuf ); + + strcpy( path_buf, folder_path ); + + if( path_buf[ strlen( path_buf ) - 1 ] != '/' ) { + strcat( path_buf, "/" ); + } + + strcat( path_buf, entry->d_name ); + + //in case of directory, add folder name to list. + if( S_ISDIR( statbuf.st_mode ) ) { + + if( strcmp( ".", entry->d_name ) == 0 || strcmp( "..", entry->d_name ) == 0 ) { + continue; + } + + struct ug_theme_info *new_info = (struct ug_theme_info*)calloc(1,sizeof(struct ug_theme_info)); + new_info->type = THEME_TYPE_DOWNLOAD; + new_info->name = strdup(entry->d_name); + *theme_list = eina_list_append( *theme_list, new_info); + } + } + closedir( dp ); +} + +static int _delete_idle_imgs() +{ + int ret = 0; + char *env = getenv( "UI_IDLECAPTURE_PATH" ); + + if( efreet_mime_init() == 0 ) { + return ret; + } + + if(!env) { + _remove_files_in_dir( IDLE_IMG_PATH ); + }else { + _remove_files_in_dir( env ); + } + + efreet_mime_shutdown(); + + return ret; +} + +static int _selected_theme_idx_get() +{ + Eina_List *elist = NULL; + struct ug_theme_info *theme_info = NULL; + + // set selected theme + char *theme_name = vconf_get_str(SETTING_THEME_SELECTED_THEME); + int idx = 0; + + EINA_LIST_FOREACH( gtheme_list, elist, theme_info ) { + + if( _strncmp( theme_info->name, theme_name ) == 0 ) { + FREE(theme_name); + return idx; + } + idx++; + } + FREE(theme_name); + return -1; +} + +static int exit_apps_iterfunc( const aul_app_info *info, void *data ) +{ + if( !info || !info->pkg_name) return 0; + + char *except_pkgs = (char *) getenv("SETTING_THEME_EXCEPT_PKGS"); + + if( except_pkgs ) { + + //TODO: should remove pkgs here!! + //It can be skipped setting app by using aul with pid. + + }else { + char* curr_menu = vconf_get_str("db/menuscreen/pkgname"); + + //TODO: Temporary comparison. Please remove this and implement above. + if( !_strncmp(info->pkg_name, "com.samsung.menu-screen") || + !_strncmp(info->pkg_name, "com.samsung.setting") || + !_strncmp(info->pkg_name, "com.samsung.live-magazine") || + !_strncmp(info->pkg_name, "com.samsung.live-data-provider") || + !_strncmp(info->pkg_name, "com.samsung.quickpanel") || + !_strncmp(info->pkg_name, "com.samsung.vtmain") || + !_strncmp(info->pkg_name, "com.samsung.call") || + !_strncmp(info->pkg_name, curr_menu) ) { + FREE(curr_menu); + return 0; + } + + FREE(curr_menu); + } + + aul_terminate_pid( info->pid ); + + return 0; +} + +static void _popup_default_theme_response_no_cb( void *data, Evas_Object *obj, void *event_info ) +{ + return; +} + +static void _popup_default_theme_response_yes_cb( void *data, Evas_Object *obj, void *event_info ) +{ + Item_Data *item_data = (Item_Data *)data; + if(item_data == NULL) return; + + struct ug_theme_info *theme_info = NULL; + theme_info = eina_list_nth(gtheme_list, item_data->idx); + + View_Data *vd = (View_Data *)evas_object_data_get(elm_object_item_widget_get(item_data->it), "view_data"); + if(vd == NULL) return; + + elm_radio_value_set(rdg, item_data->idx); + + // Change EFL Theme + Eina_Strbuf* efl_path = eina_strbuf_new(); + eina_strbuf_append_printf( efl_path, "%s/%s.edj", + DEFAULT_THEME_FOLDER_PATH, + item_data->label); + elm_theme_set(NULL, eina_strbuf_string_get(efl_path)); + elm_config_all_flush(); + vconf_set_str(VCONFKEY_SETAPPL_WIDGET_THEME_STR, eina_strbuf_string_get(efl_path) ); + eina_strbuf_free(efl_path); + + // Change Selected Theme Value + vconf_set_str(SETTING_THEME_SELECTED_THEME, item_data->label); + + _delete_idle_imgs(); + aul_app_get_running_app_info( exit_apps_iterfunc, NULL ); + elm_exit(); +} + +static void _cancel_button_clicked(void *data, Evas_Object *obj, void *event_info) +{ + if (!data) return; + Evas_Object *nf = (Evas_Object *) data; + elm_naviframe_item_pop(nf); +} + +static void _done_button_clicked(void *data, Evas_Object *obj, void *event_info) +{ + Evas_Object *btn1, *btn2; + Item_Data *item_data = (Item_Data *)data; + if(item_data == NULL) return; + + struct ug_theme_info *theme_info = NULL; + theme_info = eina_list_nth(gtheme_list, item_data->idx); + + View_Data *vd = (View_Data *)evas_object_data_get(elm_object_item_widget_get(item_data->it), "view_data"); + if(vd == NULL) return; + + //TODO: Test Code Should be removed - View_Data and && item_data->idx <= vd->default_theme_count + if (item_data->idx != _selected_theme_idx_get() && item_data->idx < vd->default_theme_count) { + + if (THEME_TYPE_DEFAULT == theme_info->type){ + // Show popup + Evas_Object *popup = elm_popup_add( vd->nf ); + if( popup == NULL ) { + return ; + } + + //TODO: Apply Multi Lanaguage to this string. + elm_object_text_set( popup, _("All Apps will be closed<br> to change theme") ); + + btn1 = elm_button_add(popup); + elm_object_text_set(btn1, _("IDS_COM_POP_YES")); + elm_object_part_content_set(popup, "button1", btn1); + evas_object_smart_callback_add(btn1, "clicked", _popup_default_theme_response_yes_cb, popup); + + btn2 = elm_button_add(popup); + elm_object_text_set(btn2, _("IDS_COM_POP_NO")); + elm_object_part_content_set(popup, "button2", btn2); + evas_object_smart_callback_add(btn2, "clicked", _popup_default_theme_response_no_cb, popup); + + evas_object_show( popup ); + } + + //TODO: Download Winset Setting +#if 0 + else { + if (_load_index_file(ugd,theme_info) == 0) { + Eina_Strbuf* efl_path = eina_strbuf_new(); + eina_strbuf_append_printf( efl_path, "%s/%s/%s/%s.edj", + DOWNLOAD_THEME_FOLDER_PATH, + theme_info->name, + DOWNLOAD_THEME_EFL_FOLDER_NAME, + ugd->theme.efl_theme.name); + vconf_set_str(VCONFKEY_SETAPPL_WIDGET_THEME_STR, eina_strbuf_string_get(efl_path)); + elm_theme_set(NULL, eina_strbuf_string_get(efl_path)); + elm_config_all_flush(); + eina_strbuf_free(efl_path); + } + } +#endif + + } + +} + +// This is called when check box status is changed +static void _item_check_changed_cb(void *data, Evas_Object *obj, void *event_info) +{ + Item_Data *item_data = (Item_Data *)data; + View_Data *vd = (View_Data *)evas_object_data_get(elm_object_item_widget_get(item_data->it), "view_data"); + if (vd == NULL) return; + + if (item_data->checked) vd->checked_count++; + else vd->checked_count--; + + // update select all check button + if (vd->select_all_layout) { + if ((vd->total_count - vd->default_theme_count) == vd->checked_count) + vd->select_all_checked = EINA_TRUE; + else + vd->select_all_checked = EINA_FALSE; + + elm_check_state_pointer_set(vd->select_all_checkbox, &vd->select_all_checked); + } +} + +// FIXME: Need proper method. +// FIXME: This would be only available for our theme but not 3rd parties' +static char* _rename_theme(const char * origin) +{ + if ( !_strncmp(origin, "tizen-hd") ) { + return strdup("White"); + } else if ( !_strncmp(origin, "tizen-black-hd") ) { + return strdup("Black"); + } + else return strdup(origin); +} + +static void _reveal_button_clicked(void *data, Evas_Object *obj, void *event_info) +{ + char *nf_title; + Evas_Object *cbar; + Evas_Object *cancel_btn; + Evas_Object *done_btn; + Evas_Object *nf; + Evas_Object *box; + Elm_Object_Item *ti; + Item_Data *item_data = (Item_Data *)data; + if (item_data == NULL) return; + + View_Data *vd = (View_Data *)evas_object_data_get(elm_object_item_widget_get(item_data->it), "view_data"); + if (vd == NULL) return; + + nf = vd->nf; + + // Create Controlbar + cbar = elm_toolbar_add(nf); + if (cbar == NULL) return; + elm_object_style_set(cbar, "naviframe"); + + cancel_btn = elm_button_add(cbar); + elm_object_style_set(cancel_btn, "naviframe_control/default"); + evas_object_size_hint_align_set(cancel_btn, EVAS_HINT_FILL, 0.5); + elm_object_text_set(cancel_btn, _("Cancel")); + evas_object_show(cancel_btn); + evas_object_smart_callback_add(cancel_btn, "clicked", _cancel_button_clicked, nf); + + done_btn = elm_button_add(cbar); + elm_object_style_set(done_btn, "naviframe_control/default"); + evas_object_size_hint_align_set(done_btn, EVAS_HINT_FILL, 0.5); + elm_object_text_set(done_btn, _("Done")); + evas_object_show(done_btn); + evas_object_smart_callback_add(done_btn, "clicked", _done_button_clicked, item_data); + + // Disable Button, If Currently Set + char *theme_name = vconf_get_str(SETTING_THEME_SELECTED_THEME); + if( _strncmp( item_data->label, theme_name ) == 0 ) { + elm_object_disabled_set(done_btn, 1); + } + FREE(theme_name); + + // For Consistent Look + ti = elm_toolbar_item_append(cbar, NULL, NULL, NULL, NULL); + elm_object_item_part_content_set(ti, "object", cancel_btn); + ti = elm_toolbar_item_append(cbar, NULL, NULL, NULL, NULL); + elm_object_item_part_content_set(ti, "object", done_btn); + + nf_title = _rename_theme(item_data->label); + + box = elm_box_add(nf); + evas_object_show(box); + + // TODO: Preview Image Should Get From Theme + if (item_data->idx < vd->default_theme_count) { + + Evas_Object* icon; + icon = elm_icon_add(nf); + + char* fn; + if (!_strncmp(item_data->label, "tizen-hd")) + fn = "tizen"; + else if (!_strncmp(item_data->label, "tizen-black-hd")) + fn = "tizen-black"; + else + fn = item_data->label; + + Eina_Strbuf* efl_path = eina_strbuf_new(); + eina_strbuf_append_printf( efl_path, "%s/%s.png", + IMG_DIR, + fn); + + elm_icon_file_set(icon, eina_strbuf_string_get(efl_path), NULL); + elm_icon_resizable_set(icon, 0, 0); + evas_object_size_hint_align_set(icon, 0.5, 0.5); + elm_box_pack_end(box, icon); + evas_object_show(icon); + + eina_strbuf_free(efl_path); + } + + Elm_Object_Item *navi_it = elm_naviframe_item_push(nf, nf_title, NULL, NULL, box, NULL); + elm_object_item_part_content_set(navi_it, "optionheader", cbar); + FREE(nf_title); + + // Remove Prev Button + Evas_Object *prev_btn = elm_object_item_part_content_get(navi_it, "prev_btn"); + evas_object_del(prev_btn); +} + +static void _gl_sel( void *data, Evas_Object *obj, void *event_info) +{ + Item_Data *item_data; + Elm_Object_Item *genlist_item = (Elm_Object_Item *) event_info; + if( genlist_item == NULL ) return; + + elm_genlist_item_selected_set(genlist_item, EINA_FALSE); + item_data = elm_object_item_data_get(genlist_item); + _done_button_clicked(item_data, NULL, NULL); +} + +static char* _gl_label_get(void *data, Evas_Object *obj, const char *part) +{ + Item_Data *item_data = (Item_Data *) data; + if(item_data == NULL) return NULL; + + if( strcmp(part, "elm.text") == 0 ) { + return _rename_theme(item_data->label); + } + return NULL; +} + +Evas_Object *_load_edj(Evas_Object *parent, const char *file, const char *group) { + Evas_Object *eo; + int r; + + eo = elm_layout_add(parent); + if (eo) { + r = elm_layout_file_set(eo, file, group); + if (!r) { + evas_object_del(eo); + return NULL; + } + } + + return eo; +} + +static Evas_Object *_gl_icon_get(void *data, Evas_Object *obj, const char *part) +{ + if(obj == NULL) return NULL; + + Item_Data *item_data = (Item_Data *) data; + if(item_data == NULL) return NULL; + + Evas_Object *icon; + + if (!elm_genlist_decorate_mode_get(obj)) { + if ( !strncmp( part, "elm.icon.1", strlen(part) ) ) { + // radio button + icon = elm_radio_add(obj); + elm_radio_state_value_set(icon, (int) item_data->idx); + evas_object_size_hint_aspect_set(icon, EVAS_ASPECT_CONTROL_VERTICAL, 1, 1); + elm_radio_group_add( icon, rdg ); + + // For avoidng user click + Evas_Object* fake_icon = _load_edj(obj, SETTING_THEME_EDJ, "fake_icon"); + elm_object_part_content_set(fake_icon, "icon", icon); + + return fake_icon; + } else if ( !strncmp( part, "elm.icon.2", strlen(part) ) ) { + // preview button + icon = elm_button_add(obj); + elm_object_style_set(icon, "reveal"); + evas_object_smart_callback_add(icon, "clicked", _reveal_button_clicked, item_data); + evas_object_propagate_events_set(icon, EINA_FALSE); + return icon; + } + } else { + if (!strcmp(part, "elm.edit.icon.1")) { // swallow checkbox or radio button + icon = elm_check_add(obj); + elm_check_state_pointer_set(icon, &item_data->checked); + evas_object_smart_callback_add(icon, "changed", _item_check_changed_cb, item_data); + return icon; + } + } + return NULL; +} + +static void _clear_theme_list(Eina_List *theme_list) +{ + Eina_List *elist = NULL; + struct ug_theme_info *theme_info = NULL; + EINA_LIST_FOREACH( theme_list, elist, theme_info ) { + theme_list = eina_list_remove( theme_list, theme_info ); + free( theme_info->name ); + free( theme_info ); + } +} + +static void _base_object_del_cb(void * data, Evas *e, Evas_Object *obj, void *event_info) +{ + struct ug_data *ugd = (struct ug_data *) data; + ugd->base = NULL; +} + +static void _back_button_clicked( void *data, Evas_Object *obj, void *event_info ) +{ + struct ug_data * ugd = (struct ug_data *) data; + + ug_destroy_me(ugd->ug); +} + +static void _check_select_all(View_Data *vd) +{ + Item_Data *it_data; + Elm_Object_Item *it; + + if (vd->select_all_checked) vd->checked_count = (vd->total_count - vd->default_theme_count); + else vd->checked_count = 0; + + it = elm_genlist_first_item_get(vd->genlist); + while(it) { + it_data = elm_object_item_data_get(it); + if (it_data) it_data->checked = vd->select_all_checked; + it = elm_genlist_item_next_get(it); + } + // Update all realized items + elm_genlist_realized_items_update(vd->genlist); +} + +static void _select_all_check_changed_cb(void *data, Evas_Object *obj, void *event_info) +{ + _check_select_all(data); +} + +static void _genlist_to_normal(View_Data *data) +{ + if (!data) return; + View_Data *vd = data; + Item_Data *item_data; + Evas_Object *genlist = vd->genlist; + Evas_Object *delete_btn = vd->delete_btn, *more_btn = vd->more_btn; + Elm_Object_Item *it, *ti; + Eina_List *elist = NULL; + struct ug_theme_info *theme_info = NULL; + int idx = 0; + + // Change background color to default background color + elm_object_style_set(vd->bg, "group_list"); + + // Change button label + elm_object_text_set(delete_btn, _("Delete")); + elm_object_text_set(more_btn, _("More winsets")); + + // Remove 'Select All' layout. + elm_box_unpack(vd->box, vd->select_all_layout); + evas_object_del(vd->select_all_layout); + vd->select_all_layout = NULL; + + // Unset edit mode + elm_genlist_decorate_mode_set(genlist, EINA_FALSE); + elm_genlist_select_mode_set(genlist, ELM_OBJECT_SELECT_MODE_ALWAYS); + + // Add Default Theme + idx = 0; + it = elm_genlist_first_item_get(genlist); + EINA_LIST_FOREACH( gtheme_list, elist, theme_info ) { + item_data = calloc(1, sizeof(Item_Data)); + item_data->label = theme_info->name; + item_data->idx = idx; + if (it) + item_data->it = elm_genlist_item_insert_before(genlist, &itc, (void *) item_data, NULL, it, ELM_GENLIST_ITEM_NONE, _gl_sel, NULL); + else { + item_data->it = elm_genlist_item_append(genlist, &itc, (void *) item_data, NULL, ELM_GENLIST_ITEM_NONE, _gl_sel, NULL); + } + + idx++; + if (idx >= vd->default_theme_count) break; + } + + // Remove 'Delete' button + idx = 0; + it = elm_genlist_first_item_get(genlist); + while(it) { + idx++; + it = elm_genlist_item_next_get(it); + } + + if (idx <= vd->default_theme_count) { + elm_object_item_del(vd->del_btn_item); + ti = elm_toolbar_item_prepend(vd->cbar, NULL, NULL, NULL, NULL); + elm_object_item_part_content_set(ti, "object", NULL); + } + + // Change Genlist Item Class + idx = 0; + it = elm_genlist_item_prepend(genlist, &itc2, NULL, NULL, ELM_GENLIST_ITEM_NONE, NULL, NULL); + elm_genlist_item_select_mode_set(it, ELM_OBJECT_SELECT_MODE_DISPLAY_ONLY); + + it = elm_genlist_first_item_get(genlist); + while(it) { + if(idx != 0) { + elm_genlist_item_item_class_update(it, &itc); + } + it = elm_genlist_item_next_get(it); + ++idx; + } +} + +static void _delete_button_clicked(void *data, Evas_Object *obj, void *event_info) +{ + if (!data) return; + View_Data *vd = data; + Item_Data *item_data; + Evas_Object *genlist = vd->genlist, *layout, *check; + Evas_Object *delete_btn = vd->delete_btn, *more_btn = vd->more_btn; + Elm_Object_Item *it; + int idx = 0; + + if (!elm_genlist_decorate_mode_get(genlist)) { + // Genlist will be in Edit Mode + + // Change background color to edit_mode color + elm_object_style_set(vd->bg, "edit_mode"); + + // Change button label + elm_object_text_set(delete_btn, _("Cancel")); + elm_object_text_set(more_btn, _("Done")); + + // Append 'Select All' layout + layout = vd->select_all_layout = elm_layout_add(vd->box); + elm_layout_theme_set(layout, "genlist", "item", "select_all/default"); + evas_object_size_hint_weight_set(layout, EVAS_HINT_EXPAND, EVAS_HINT_FILL); + evas_object_size_hint_align_set(layout, EVAS_HINT_FILL, EVAS_HINT_FILL); + + check = vd->select_all_checkbox = elm_check_add(vd->select_all_layout); + elm_check_state_pointer_set(check, &vd->select_all_checked); + evas_object_smart_callback_add(check, "changed", _select_all_check_changed_cb, vd); + elm_check_state_set(check, EINA_FALSE); + vd->select_all_checked = EINA_FALSE; + evas_object_propagate_events_set(check, EINA_FALSE); + elm_object_part_content_set(layout, "elm.icon", check); + + elm_object_part_text_set(vd->select_all_layout, "elm.text", "Select All"); + elm_box_pack_start(vd->box, vd->select_all_layout); + evas_object_show(vd->select_all_layout); + + // Delete Seperator Item + it = elm_genlist_first_item_get(genlist); + elm_object_item_del(it); + + // Delete Default Theme Item + idx = vd->default_theme_count; + it = elm_genlist_first_item_get(genlist); + while(it && idx > 0) { + item_data = elm_object_item_data_get(it); + it = elm_genlist_item_next_get(it); + + if (item_data) { + elm_object_item_del(item_data->it); + idx--; + } + } + + // Change Genlist Item Class + it = elm_genlist_first_item_get(genlist); + while(it) { + elm_genlist_item_item_class_update(it, &edit_mode_itc); + item_data = elm_object_item_data_get(it); + item_data->checked = EINA_FALSE; + it = elm_genlist_item_next_get(it); + } + vd->checked_count = 0; + + elm_genlist_decorate_mode_set(genlist, EINA_TRUE); + } else { + // Genlist will be in Normal Mode + _genlist_to_normal(vd); + } +} + +static void response_cb(void *data, Evas_Object *obj, void *event_info) +{ + if (obj != NULL) + evas_object_del(obj); +} + +static void _more_button_clicked(void *data, Evas_Object *obj, void *event_info) +{ + struct ug_data *ugd = (struct ug_data *) data; + if (ugd == NULL) return; + + View_Data *vd = ugd->vd; + if (vd == NULL) return; + + Item_Data *it_data; + Elm_Object_Item *it; + Evas_Object *genlist = vd->genlist; + + if (!elm_genlist_decorate_mode_get(genlist)) { + if(aul_launch_app("com.samsung.samsungapps", NULL) < 0) { + // Error Handling, Cannot Launch Samsung Apps + Evas_Object *popup = elm_popup_add(vd->nf); + elm_object_text_set(popup, "Samsung Apps is not installed"); + evas_object_smart_callback_add(popup, "block,clicked", _block_clicked_cb, NULL); + elm_popup_timeout_set(popup, 3.0); + evas_object_smart_callback_add(popup, "response", response_cb, NULL); + evas_object_show(popup); + } + } else { + // Done - Delete Selected Winset + it = elm_genlist_first_item_get(genlist); + while (it) { + it_data = elm_object_item_data_get(it); + it = elm_genlist_item_next_get(it); + + if ((it_data) && (it_data->checked)) { + elm_object_item_del(it_data->it); + vd->total_count--; + vd->checked_count--; + } + } + _genlist_to_normal(vd); + } + +} + +static void _set_genlist_item_styles(View_Data *vd) +{ + itc.item_style = "dialogue/1text.2icon.2"; + itc.func.text_get = _gl_label_get; + itc.func.content_get = _gl_icon_get; + itc.func.state_get = NULL; + itc.func.del = NULL; + itc.decorate_item_style = "edit_default"; + + itc2.item_style = "dialogue/seperator"; + itc2.func.text_get = NULL; + itc2.func.content_get = NULL; + itc2.func.state_get = NULL; + itc2.func.del = NULL; + + edit_mode_itc.item_style = "1text"; + edit_mode_itc.func.text_get = _gl_label_get; + edit_mode_itc.func.content_get = _gl_icon_get; + edit_mode_itc.func.state_get = NULL; + edit_mode_itc.func.del = NULL; + edit_mode_itc.decorate_item_style = "edit_default"; +} + +// Create genlist and append items +static Evas_Object *_create_genlist(struct ug_data *ugd) +{ + if( ugd == NULL ) return NULL; + View_Data *vd = ugd->vd; + Item_Data *item_data; + Evas_Object *genlist; + + // Create genlist + genlist = elm_genlist_add(vd->nf); + evas_object_size_hint_weight_set(genlist, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); + evas_object_size_hint_align_set(genlist, EVAS_HINT_FILL, EVAS_HINT_FILL); + + // Get Default Theme + Eina_List *theme_list = ugd->theme_list; + _get_default_theme_list( DEFAULT_THEME_FOLDER_PATH, &theme_list); + vd->default_theme_count = eina_list_count(theme_list); + + // Get Download Theme + _get_theme_list( DOWNLOAD_THEME_FOLDER_PATH , &theme_list ); + + //TODO: Test Code - START, Should be removed +#if 0 + struct ug_theme_info *new_info_r = (struct ug_theme_info*)calloc(1,sizeof(struct ug_theme_info)); + new_info_r->type = THEME_TYPE_DOWNLOAD; + new_info_r->name = strndup("Red", strlen("Red")); + eina_list_append( theme_list, new_info_r ); + + struct ug_theme_info *new_info_g = (struct ug_theme_info*)calloc(1,sizeof(struct ug_theme_info)); + new_info_g->type = THEME_TYPE_DOWNLOAD; + new_info_g->name = strndup("Green", strlen("Green")); + eina_list_append( theme_list, new_info_g ); + + struct ug_theme_info *new_info_b = (struct ug_theme_info*)calloc(1,sizeof(struct ug_theme_info)); + new_info_b->type = THEME_TYPE_DOWNLOAD; + new_info_b->name = strndup("Blue", strlen("Blue")); + eina_list_append( theme_list, new_info_b ); +#endif + //TODO: Test Code - END, Should be removed + ugd->theme_list = theme_list; + gtheme_list = eina_list_clone( ugd->theme_list ); + + Eina_List *elist = NULL; + struct ug_theme_info *theme_info = NULL; + int idx = 0; + + item_data = calloc(1, sizeof(Item_Data)); + item_data->label = NULL; + item_data->idx = idx; + item_data->it = elm_genlist_item_append(genlist, &itc2, (void *) item_data, NULL, ELM_GENLIST_ITEM_NONE, NULL, NULL); + elm_genlist_item_select_mode_set(item_data->it, ELM_OBJECT_SELECT_MODE_DISPLAY_ONLY); + + EINA_LIST_FOREACH( gtheme_list, elist, theme_info ) { + item_data = calloc(1, sizeof(Item_Data)); + item_data->label = theme_info->name; + item_data->idx = idx; + item_data->it = elm_genlist_item_append(genlist, &itc, (void *) item_data, NULL, ELM_GENLIST_ITEM_NONE, _gl_sel, NULL); + idx++; + } + + evas_object_size_hint_weight_set(genlist, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); + evas_object_size_hint_align_set(genlist, EVAS_HINT_FILL, EVAS_HINT_FILL); + + vd->total_count = idx; + + // Check selected theme + idx = _selected_theme_idx_get(); + if (idx < 0) return genlist; + + // Create radio group + rdg = elm_radio_add( genlist ); + elm_radio_value_set( rdg, idx ); + + return genlist; +} + +static Evas_Object *create_fullview( Evas_Object *parent, struct ug_data *ugd ) +{ + Evas_Object *cbar; + Elm_Object_Item *ti; + + if(parent == NULL) return NULL; + + // Create layout data + View_Data *vd; + vd = calloc(1, sizeof(View_Data)); + ugd->vd = vd; + + // Create layout + Evas_Object *layout = _create_layout_main( parent, vd ); + if( layout == NULL ) return NULL; + + vd->nf = _create_naviframe( layout ); + if( vd->nf == NULL ) { + evas_object_del( layout ); + return NULL; + } + // Create Genlist + _set_genlist_item_styles(vd); + vd->genlist = _create_genlist(ugd); + + // Need by Item Check Changed Callback , Reveal Button Clicked Callback + evas_object_data_set(vd->genlist, "view_data", vd); + + // Create Box + vd->box = elm_box_add(vd->nf); + evas_object_size_hint_weight_set(vd->box, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); + evas_object_show(vd->box); + + elm_box_pack_end(vd->box, vd->genlist); + evas_object_show(vd->genlist); + + elm_object_part_content_set( layout, "elm.swallow.content", vd->nf ); + + // Create Controlbar + vd->cbar = cbar = elm_toolbar_add(vd->nf); + if (cbar == NULL) return NULL; + elm_object_style_set(cbar, "naviframe"); + + vd->more_btn = elm_button_add(cbar); + elm_object_style_set(vd->more_btn, "naviframe_control/default"); + evas_object_size_hint_align_set(vd->more_btn, EVAS_HINT_FILL, 0.5); + elm_object_text_set(vd->more_btn, _("More winsets")); + evas_object_show(vd->more_btn); + evas_object_smart_callback_add(vd->more_btn, "clicked", _more_button_clicked, ugd); + + //If there is download winset, then enable delete button + if(vd->default_theme_count < vd->total_count) + { + vd->delete_btn = elm_button_add(cbar); + elm_object_style_set(vd->delete_btn, "naviframe_control/default"); + evas_object_size_hint_align_set(vd->delete_btn, EVAS_HINT_FILL, 0.5); + elm_object_text_set(vd->delete_btn, _("Delete")); + evas_object_show(vd->delete_btn); + evas_object_smart_callback_add(vd->delete_btn, "clicked", _delete_button_clicked, vd); + vd->del_btn_item = elm_toolbar_item_append(cbar, NULL, NULL, NULL, NULL); + elm_object_item_part_content_set(vd->del_btn_item, "object", vd->delete_btn); + } + else + { + ti = elm_toolbar_item_append(cbar, NULL, NULL, NULL, NULL); + elm_object_item_part_content_set(ti, "object", NULL); + } + ti = elm_toolbar_item_append(cbar, NULL, NULL, NULL, NULL); + elm_object_item_part_content_set(ti, "object", vd->more_btn); + + Evas_Object *back_btn = elm_button_add( vd->nf ); + elm_object_style_set(back_btn, "naviframe/back_btn/default"); + evas_object_smart_callback_add( back_btn, "clicked", _back_button_clicked, ugd ); + Elm_Object_Item *navi_it = elm_naviframe_item_push( vd->nf, _("IDS_ST_BODY_THEME"), back_btn, NULL, vd->box, NULL ); + + // add controlbar to naviframe + elm_object_item_part_content_set(navi_it, "optionheader", cbar); + elm_object_item_signal_emit(navi_it, "elm,state,optionheader,instant_close", ""); + + evas_object_event_callback_add(layout, EVAS_CALLBACK_DEL, _base_object_del_cb, ugd); + + return layout; +} + +static Evas_Object *create_frameview(Evas_Object *parent, struct ug_data *ugd) +{ + Evas_Object *base = NULL; + + // Create Frame view + + return base; +} + +static void *on_create(struct ui_gadget *ug, enum ug_mode mode, bundle *data, void *priv) +{ + Evas_Object *parent; + struct ug_data *ugd; + if (!ug || !priv) + return NULL; + + ugd = priv; + ugd->ug = ug; + + bindtextdomain(PKGNAME, MO_FILE_PATH); + + parent = ug_get_parent_layout(ug); + if (!parent) + return NULL; + + if (mode == UG_MODE_FULLVIEW) + ugd->base = create_fullview(parent, ugd); + else + ugd->base = create_frameview(parent, ugd); + + _parent = parent; + + return ugd->base; +} + +static void on_start(struct ui_gadget *ug, bundle *data, void *priv) +{ +} + +static void on_pause(struct ui_gadget *ug, bundle *data, void *priv) +{ + +} + +static void on_resume(struct ui_gadget *ug, bundle *data, void *priv) +{ + +} + + +static void on_destroy(struct ui_gadget *ug, bundle *data, void *priv) +{ + struct ug_data *ugd; + + if (!ug || !priv) + return; + + ugd = priv; + + // Free View Data + if (ugd->vd) { + if (ugd->vd->bg) { + evas_object_del(ugd->vd->bg); + ugd->vd->bg = NULL; + } + evas_object_data_set(ugd->vd->genlist, "view_data", NULL); + free(ugd->vd); + ugd->vd = NULL; + } + + _clear_theme_list( ugd->theme_list ); + ugd->theme_list = NULL; + + if( ugd->base ) { + evas_object_del(ugd->base); + ugd->base = NULL; + } + + eina_list_free( gtheme_list ); + gtheme_list = NULL; + + if( rdg != NULL ) { + evas_object_del( rdg ); + rdg = NULL; + } +} + +static void on_message(struct ui_gadget *ug, bundle *msg, bundle *data, void *priv) +{ +} + +static void on_event(struct ui_gadget *ug, enum ug_event event, bundle *data, void *priv) +{ + switch (event) { + case UG_EVENT_LOW_MEMORY: + break; + case UG_EVENT_LOW_BATTERY: + break; + case UG_EVENT_LANG_CHANGE: + break; + case UG_EVENT_ROTATE_PORTRAIT: + break; + case UG_EVENT_ROTATE_PORTRAIT_UPSIDEDOWN: + break; + case UG_EVENT_ROTATE_LANDSCAPE: + break; + case UG_EVENT_ROTATE_LANDSCAPE_UPSIDEDOWN: + break; + default: + break; + } +} + +static void on_key_event(struct ui_gadget *ug, enum ug_key_event event, bundle *data, void *priv) +{ + if (!ug) + return; + + switch (event) { + case UG_KEY_EVENT_END: + ug_destroy_me(ug); + break; + default: + break; + } +} + +UG_MODULE_API int UG_MODULE_INIT(struct ug_module_ops *ops) +{ + struct ug_data *ugd; + + if (!ops) + return -1; + + ugd = calloc(1, sizeof(struct ug_data)); + if (!ugd) + return -1; + + ops->create = on_create; + ops->start = on_start; + ops->pause = on_pause; + ops->resume = on_resume; + ops->destroy = on_destroy; + ops->message = on_message; + ops->event = on_event; + ops->key_event = on_key_event; + ops->priv = ugd; + ops->opt = UG_OPT_INDICATOR_ENABLE; + + return 0; +} + +UG_MODULE_API void UG_MODULE_EXIT(struct ug_module_ops *ops) +{ + struct ug_data *ugd; + + if (!ops) + return; + + ugd = ops->priv; + if (ugd) + free(ugd); +} + +// For Reset Operation +UG_MODULE_API int setting_plugin_reset(bundle *data, void *priv) +{ + //FIXME: Need to avoid hard coding for default theme name + char *value = vconf_get_str(SETTING_THEME_SELECTED_THEME); + + if (value && !strcmp(value, "tizen-black-hd")) + { + vconf_set_bool(SETTING_THEME_IS_THEME_CHANGED, 0); + } + else + { + vconf_set_bool(SETTING_THEME_IS_THEME_CHANGED, 1); + } + + FREE(value); + + // Change Selected Theme Value + vconf_set_str(SETTING_THEME_SELECTED_THEME, "tizen-black-hd"); + + // Change EFL Theme + Eina_Strbuf* efl_path = eina_strbuf_new(); + eina_strbuf_append_printf( efl_path, "%s/tizen-black-hd.edj", + DEFAULT_THEME_FOLDER_PATH); + vconf_set_str(VCONFKEY_SETAPPL_WIDGET_THEME_STR, eina_strbuf_string_get(efl_path) ); + eina_strbuf_free(efl_path); + + _delete_idle_imgs(); + aul_app_get_running_app_info( exit_apps_iterfunc, NULL ); + + return 0; +} diff --git a/setting-theme-efl.edc b/setting-theme-efl.edc new file mode 100644 index 0000000..0de0b6a --- /dev/null +++ b/setting-theme-efl.edc @@ -0,0 +1,45 @@ +/* + * Copyright (c) 2011 Samsung Electronics Co., Ltd All Rights Reserved + * + * 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/licenses/LICENSE-2.0 + * + * 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 { + group { + name: "fake_icon"; + parts { + part { name: "icon"; + type: SWALLOW; + scale: 1; + description { + state: "default" 0.0; + fixed: 1 1; + min: 26 26; + align: 0.0 0.5; + } + } + part { name: "image"; + type: RECT; + scale: 1; + description { + state: "default" 0.0; + fixed: 1 1; + min: 100 50; + align: 0.5 0.5; + color: 0 0 0 0; + } + } + } + } +} diff --git a/setting-theme-efl.h b/setting-theme-efl.h new file mode 100755 index 0000000..dfff969 --- /dev/null +++ b/setting-theme-efl.h @@ -0,0 +1,84 @@ +/* + + Copyright (c) 2000-2012 Samsung Electronics Co., Ltd All Rights Reserved + + This file is part of libug-setting-theme-efl + Written by Shinwoo Kim <cinoo.kim@samsung.com>, + ChunEon Park <chuneon.park@samsung.com>, + Woohyun Jung <wh0705.jung@samsung.com>, + Jaehwan Kim <jae.hwan.kim@samsung.com>, + Juyung Seo <juyung.seo@samsung.com>, + + PROPRIETARY/CONFIDENTIAL + + This software is the confidential and proprietary information of + SAMSUNG ELECTRONICS ("Confidential Information"). You shall not + disclose such Confidential Information and shall use it only in + accordance with the terms of the license agreement you entered + into with SAMSUNG ELECTRONICS. + + SAMSUNG make no representations or warranties about the suitability + of the software, either express or implied, including but not limited + to the implied warranties of merchantability, fitness for a particular + purpose, or non-infringement. SAMSUNG shall not be liable for any + damages suffered by licensee as a result of using, modifying or + distributing this software or its derivatives. + +*/ + +#ifndef __setting_theme_efl_H__ +#define __setting_theme_efl_H__ + +#include <Elementary.h> +#include <libintl.h> + +#define PKGNAME "ug-setting-theme-efl" + +#define _EDJ(o) elm_layout_edje_get(o) +#define _(s) dgettext(PKGNAME, s) +#define dgettext_noop(s) (s) +#define N_(s) dgettext_noop(s) +#define FREE(arg) {free(arg); arg = NULL;} + +#define IDLE_IMG_PATH "/opt/etc/idle_image" +#define MO_FILE_PATH "/opt/ug/res/locale" +#define POPUP_ALERT_TIMOUT_DURATION 2 + +#define EDJ_PATH "/opt/ug/res/edje/ug-setting-theme-efl" +#define SETTING_THEME_EDJ EDJ_PATH"/setting-theme-efl.edj" + +#define IMG_DIR "/opt/ug/res/images/ug-setting-theme-efl" + +// platform theme definition +#define DEFAULT_THEME_ICON_PATH "/usr/share/icons" +#define DEFAULT_THEME_FOLDER_PATH "/usr/share/elementary/themes" +#define DEFAULT_THEME_ICON_NAME "default" +#define DEFAULT_THEME_SCREEN_IMAGE_HOME_PATH "/opt/media/Images and videos/Wallpapers/Home_default.png" +#define DEFAULT_THEME_SCREEN_IMAGE_LOCK_PATH "/opt/media/Images and videos/Wallpapers/Home_default.png" + +// Downloadable theme definition +#define DOWNLOAD_THEME_FOLDER_PATH "/opt/share/theme" +#define DOWNLOAD_THEME_INDEX_FILE_NAME "index.theme" +#define DOWNLOAD_THEME_EFL_FOLDER_NAME "elementary" +#define DOWNLOAD_THEME_SCREEN_IMAGE_FOLDER_NAME "screenimages" + +#define DOWNLOAD_THEME_ICON_THEME_KEYWORD "IconTheme" +#define DOWNLOAD_THEME_KEY_SOUND_THEME_KEYWORD "KeySoundTheme" +#define DOWNLOAD_THEME_EFL_THEME_KEYWORD "EFLTheme" +#define DOWNLOAD_THEME_GTK_THEME_KEYWORD "GTKTheme" +#define DOWNLOAD_THEME_SCREEN_IMG_THEME_KEYWORD "ScreenImageTheme" +#define DOWNLOAD_THEME_FONT_THEME_KEYWORD "FontTheme" +#define DOWNLOAD_THEME_VIBRATION_THEME_KEYWORD "VibrationTheme" +#define DOWNLOAD_THEME_BOOT_ANIMATOR_THEME_KEYWORD "BootAnimationTheme" + +// + +#define VCONKEY_SETTING_THEME_ICON_PATH "db/setting/theme" +#define SETTING_THEME_SELECTED_THEME "db/setting/selected_theme" +#define SETTING_THEME_SCREEN_IMAGE_HOME_FILE_NAME "home.png" +#define SETTING_THEME_SCREEN_IMAGE_LOCK_FILE_NAME "lock.png" +#define SETTING_THEME_IS_THEME_CHANGED "memory/mobile_hotspot/skin_changed" + +#define SETTING_THEME_NAME_MAX_LEN 255 + +#endif /* __setting_theme_efl_H__ */ |