diff options
author | jk7744.park <jk7744.park@samsung.com> | 2015-10-24 15:45:54 +0900 |
---|---|---|
committer | jk7744.park <jk7744.park@samsung.com> | 2015-10-24 15:45:54 +0900 |
commit | f5b2937589fc5a8fa903066610d73c464b36c6f7 (patch) | |
tree | 75ff9a6c27fbb3b41ed94f98d69c398128839e57 | |
parent | 9148856fd3adaaef7f2c719e8d3e97ff181e89cc (diff) | |
download | ug-myfile-efl-submit/tizen_2.4/20151028.062727.tar.gz ug-myfile-efl-submit/tizen_2.4/20151028.062727.tar.bz2 ug-myfile-efl-submit/tizen_2.4/20151028.062727.zip |
tizen 2.4 releasetizen_2.4_mobile_releasesubmit/tizen_2.4/20151028.062727accepted/tizen/2.4/mobile/20151029.041100accepted/tizen_2.4_mobile
316 files changed, 25306 insertions, 29857 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt index a047249..7f13355 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,3 +1,8 @@ +IF("${CMAKE_BUILD_TYPE}" STREQUAL "") + SET(CMAKE_BUILD_TYPE "Release") +ENDIF("${CMAKE_BUILD_TYPE}" STREQUAL "") +MESSAGE("Build type: ${CMAKE_BUILD_TYPE}") + CMAKE_MINIMUM_REQUIRED(VERSION 2.6) PROJECT(ug-myfile-efl C) @@ -7,67 +12,84 @@ PROJECT(ug-myfile-efl C) #################################### SET(MFUGNAME ug-myfile-efl) SET(UGINCLUDE ${CMAKE_CURRENT_SOURCE_DIR}/src/include) +SET(UGLIBINCLUDE ${CMAKE_CURRENT_SOURCE_DIR}/src/lib/include) SET(UG-SRC-DIR ${CMAKE_CURRENT_SOURCE_DIR}/src) SET(UG-UTILITY-DIR ${UG-SRC-DIR}/common) SET(UG-FS-DIR ${UG-UTILITY-DIR}/file-system) SET(UG-WIDGET-DIR ${UG-SRC-DIR}/widget) +SET(UG-MEDIADB-DIR ${UG-SRC-DIR}/media-db) SET(PREFIX "/usr/ug") SET(LIBDIR "${PREFIX}/lib") SET(RESDIR "${PREFIX}/res") -SET(LOCALEDIR "${RESDIR}/locale") +SET(LOCALEDIR "${RESDIR}/${MFUGNAME}/locale") SET(IMAGEDIR "${RESDIR}/images/${MFUGNAME}") SET(EDJDIR "${RESDIR}/edje/${MFUGNAME}") SET(SRCS - ${UG-SRC-DIR}/mf-ug-main.c - ${UG-UTILITY-DIR}/mf-ug-util.c - ${UG-UTILITY-DIR}/mf-ug-cb.c - ${UG-UTILITY-DIR}/mf-ug-fm-svc-wapper.c - ${UG-UTILITY-DIR}/mf-ug-inotify-handle.c - ${UG-UTILITY-DIR}/mf-ug-list-play.c - ${UG-UTILITY-DIR}/mf-ug-search-internal.c - ${UG-UTILITY-DIR}/mf-ug-search.c -########### winset wrap ########## - ${UG-WIDGET-DIR}/mf-ug-navi-bar.c - ${UG-WIDGET-DIR}/mf-ug-genlist.c - ${UG-WIDGET-DIR}/mf-ug-popup.c - ${UG-WIDGET-DIR}/mf-ug-ctrl-bar.c -# ${UG-WIDGET-DIR}/mf-ug-tab-bar.c - ${UG-WIDGET-DIR}/mf-ug-search-view.c + ${UG-SRC-DIR}/mf-ug-main.c + ${UG-UTILITY-DIR}/mf-ug-util.c + ${UG-UTILITY-DIR}/mf-ug-file-util.c + ${UG-UTILITY-DIR}/mf-ug-cb.c + ${UG-UTILITY-DIR}/mf-ug-music.c + ${UG-UTILITY-DIR}/mf-ug-fm-svc-wapper.c + ${UG-UTILITY-DIR}/mf-ug-inotify-handle.c + ${UG-UTILITY-DIR}/mf-ug-list-play.c + ${UG-UTILITY-DIR}/mf-ug-search-internal.c + ${UG-UTILITY-DIR}/mf-ug-search.c + ${UG-UTILITY-DIR}/mf-ug-db-handle.c +########### winset wrap ########## + ${UG-WIDGET-DIR}/mf-ug-navi-bar.c + ${UG-WIDGET-DIR}/mf-ug-genlist.c + ${UG-WIDGET-DIR}/mf-ug-popup.c + ${UG-WIDGET-DIR}/mf-ug-widget.c + ${UG-WIDGET-DIR}/mf-ug-search-view.c + ${UG-WIDGET-DIR}/mf-ug-ringtone-view.c ################ file system ######### - ${UG-FS-DIR}/mf-ug-file-attr.c - ${UG-FS-DIR}/mf-ug-fs-oper.c - ) + ${UG-FS-DIR}/mf-ug-file-attr.c + ${UG-FS-DIR}/mf-ug-fs-oper.c +#################### media db ###################### + ${UG-MEDIADB-DIR}/mf-ug-media.c + ${UG-MEDIADB-DIR}/mf-ug-media-db.c + ) +#START_PUBLIC_REMOVED_FILE +# Debian +#END_START_PUBLIC_REMOVED_FILE INCLUDE_DIRECTORIES(${UGINCLUDE}) - +INCLUDE_DIRECTORIES(${UGLIBINCLUDE}) INCLUDE(FindPkgConfig) pkg_check_modules(ug_pkgs REQUIRED -ecore-x ecore-evas elementary -vconf glib-2.0 -drm-client ui-gadget-1 capi-appfw-application +capi-media-metadata-extractor +capi-system-system-settings capi-content-media-content dlog capi-media-sound-manager capi-media-player -capi-system-power +capi-system-device +#START_PUBLIC_REMOVED_STRING +#END_START_PUBLIC_REMOVED_STRING notification -utilX +appsvc +sqlite3 +storage +capi-content-mime-type +efl-extension ) FOREACH(flag ${ug_pkgs_CFLAGS}) - SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} ${flag}") + SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} ${flag}") ENDFOREACH(flag) SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${EXTRA_CFLAGS}") +SET(CMAKE_EXE_LINKER_FLAGS "-Wl,--as-needed -pie") ADD_DEFINITIONS("-DPREFIX=\"${CMAKE_INSTALL_PREFIX}\"") ADD_DEFINITIONS("-DFACTORYFS=\"$ENV{FACTORYFS}\"") @@ -82,10 +104,42 @@ ADD_DEFINITIONS("-DUG_OPERATION_SELECT_MODE") ADD_LIBRARY(${MFUGNAME} SHARED ${SRCS}) TARGET_LINK_LIBRARIES(${MFUGNAME} ${ug_pkgs_LDFLAGS} dl) +message("MFUGNAME="${MFUGNAME} "LIBDIR"=${LIBDIR}) INSTALL(TARGETS ${MFUGNAME} LIBRARY DESTINATION ${LIBDIR}) -INSTALL(FILES ${CMAKE_BINARY_DIR}/${MFUGNAME}.xml DESTINATION /usr/share/packages) +# edje +ADD_CUSTOM_TARGET(ug_navibar_layout.edj + COMMAND edje_cc -no-save -id ${CMAKE_CURRENT_SOURCE_DIR}/image + ${EDJE_CFLAGS} -sd ${CMAKE_CURRENT_SOURCE_DIR}/sounds + ${CMAKE_CURRENT_SOURCE_DIR}/ug_navibar_layout.edc + ${CMAKE_BINARY_DIR}/ug_navibar_layout.edj + DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/ug_navibar_layout.edc +) + +ADD_DEPENDENCIES(${PROJECT_NAME} ug_navibar_layout.edj) + +INSTALL(FILES ${CMAKE_BINARY_DIR}/ug_navibar_layout.edj DESTINATION ${EDJDIR}) + +ADD_CUSTOM_TARGET(ug_edc_image_macro.edj + COMMAND edje_cc -no-save -id ${CMAKE_CURRENT_SOURCE_DIR}/icons -id ${CMAKE_CURRENT_SOURCE_DIR}/image + ${CMAKE_CURRENT_SOURCE_DIR}/ug_edc_image_macro.edc + ${CMAKE_BINARY_DIR}/ug_edc_image_macro.edj + DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/ug_edc_image_macro.edc +) + +ADD_DEPENDENCIES(${PROJECT_NAME} ug_edc_image_macro.edj) + +INSTALL(FILES ${CMAKE_BINARY_DIR}/ug_edc_image_macro.edj DESTINATION ${EDJDIR}) + +# smat lib 608 + +# Install file + +INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/ug-myfile-efl.xml DESTINATION /usr/share/packages) +# Appcontrl icon +INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/ug-myfile-efl.png DESTINATION /usr/share/icons/default/small) -ADD_SUBDIRECTORY(data) +# i18n +ADD_SUBDIRECTORY(res/po) @@ -0,0 +1,204 @@ +Copyright (c) 2000 - 2015 Samsung Electronics Co., Ltd. All rights reserved. + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + 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. + diff --git a/LICENSE.Flora b/LICENSE.Flora deleted file mode 100644 index ee51c0c..0000000 --- a/LICENSE.Flora +++ /dev/null @@ -1,206 +0,0 @@ -Flora License - -Version 1.1, May, 2012 - -http://floralicense.org/license/ - -TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - -1. Definitions. - -"License" shall mean the terms and conditions for use, reproduction, -and distribution as defined by Sections 1 through 9 of this document. - -"Licensor" shall mean the copyright owner or entity authorized by -the copyright owner that is granting the License. - -"Legal Entity" shall mean the union of the acting entity and -all other entities that control, are controlled by, or are -under common control with that entity. For the purposes of -this definition, "control" means (i) the power, direct or indirect, -to cause the direction or management of such entity, -whether by contract or otherwise, or (ii) ownership of fifty percent (50%) -or more of the outstanding shares, or (iii) beneficial ownership of -such entity. - -"You" (or "Your") shall mean an individual or Legal Entity -exercising permissions granted by this License. - -"Source" form shall mean the preferred form for making modifications, -including but not limited to software source code, documentation source, -and configuration files. - -"Object" form shall mean any form resulting from mechanical -transformation or translation of a Source form, including but -not limited to compiled object code, generated documentation, -and conversions to other media types. - -"Work" shall mean the work of authorship, whether in Source or Object form, -made available under the License, as indicated by a copyright notice -that is included in or attached to the work (an example is provided -in the Appendix below). - -"Derivative Works" shall mean any work, whether in Source or Object form, -that is based on (or derived from) the Work and for which the editorial -revisions, annotations, elaborations, or other modifications represent, -as a whole, an original work of authorship. For the purposes of this License, -Derivative Works shall not include works that remain separable from, -or merely link (or bind by name) to the interfaces of, the Work and -Derivative Works thereof. - -"Contribution" shall mean any work of authorship, including the original -version of the Work and any modifications or additions to that Work or -Derivative Works thereof, that is intentionally submitted to Licensor -for inclusion in the Work by the copyright owner or by an individual or -Legal Entity authorized to submit on behalf of the copyright owner. -For the purposes of this definition, "submitted" means any form of -electronic, verbal, or written communication sent to the Licensor or -its representatives, including but not limited to communication on -electronic mailing lists, source code control systems, and issue -tracking systems that are managed by, or on behalf of, the Licensor -for the purpose of discussing and improving the Work, but excluding -communication that is conspicuously marked or otherwise designated -in writing by the copyright owner as "Not a Contribution." - -"Contributor" shall mean Licensor and any individual or Legal Entity -on behalf of whom a Contribution has been received by Licensor and -subsequently incorporated within the Work. - -"Tizen Certified Platform" shall mean a software platform that complies -with the standards set forth in the Tizen Compliance Specification -and passes the Tizen Compliance Tests as defined from time to time -by the Tizen Technical Steering Group and certified by the Tizen -Association or its designated agent. - -2. Grant of Copyright License. Subject to the terms and conditions of -this License, each Contributor hereby grants to You a perpetual, -worldwide, non-exclusive, no-charge, royalty-free, irrevocable -copyright license to reproduce, prepare Derivative Works of, -publicly display, publicly perform, sublicense, and distribute the -Work and such Derivative Works in Source or Object form. - -3. Grant of Patent License. Subject to the terms and conditions of -this License, each Contributor hereby grants to You a perpetual, -worldwide, non-exclusive, no-charge, royalty-free, irrevocable -(except as stated in this section) patent license to make, have made, -use, offer to sell, sell, import, and otherwise transfer the Work -solely as incorporated into a Tizen Certified Platform, where such -license applies only to those patent claims licensable by such -Contributor that are necessarily infringed by their Contribution(s) -alone or by combination of their Contribution(s) with the Work solely -as incorporated into a Tizen Certified Platform to which such -Contribution(s) was submitted. If You institute patent litigation -against any entity (including a cross-claim or counterclaim -in a lawsuit) alleging that the Work or a Contribution incorporated -within the Work constitutes direct or contributory patent infringement, -then any patent licenses granted to You under this License for that -Work shall terminate as of the date such litigation is filed. - -4. Redistribution. You may reproduce and distribute copies of the -Work or Derivative Works thereof pursuant to the copyright license -above, in any medium, with or without modifications, and in Source or -Object form, provided that You meet the following conditions: - - 1. You must give any other recipients of the Work or Derivative Works - a copy of this License; and - 2. You must cause any modified files to carry prominent notices stating - that You changed the files; and - 3. You must retain, in the Source form of any Derivative Works that - You distribute, all copyright, patent, trademark, and attribution - notices from the Source form of the Work, excluding those notices - that do not pertain to any part of the Derivative Works; and - 4. If the Work includes a "NOTICE" text file as part of its distribution, - then any Derivative Works that You distribute must include a readable - copy of the attribution notices contained within such NOTICE file, - excluding those notices that do not pertain to any part of - the Derivative Works, in at least one of the following places: - within a NOTICE text file distributed as part of the Derivative Works; - within the Source form or documentation, if provided along with the - Derivative Works; or, within a display generated by the Derivative Works, - if and wherever such third-party notices normally appear. - The contents of the NOTICE file are for informational purposes only - and do not modify the License. - -You may add Your own attribution notices within Derivative Works -that You distribute, alongside or as an addendum to the NOTICE text -from the Work, provided that such additional attribution notices -cannot be construed as modifying the License. You may add Your own -copyright statement to Your modifications and may provide additional or -different license terms and conditions for use, reproduction, or -distribution of Your modifications, or for any such Derivative Works -as a whole, provided Your use, reproduction, and distribution of -the Work otherwise complies with the conditions stated in this License. - -5. Submission of Contributions. Unless You explicitly state otherwise, -any Contribution intentionally submitted for inclusion in the Work -by You to the Licensor shall be under the terms and conditions of -this License, without any additional terms or conditions. -Notwithstanding the above, nothing herein shall supersede or modify -the terms of any separate license agreement you may have executed -with Licensor regarding such Contributions. - -6. Trademarks. This License does not grant permission to use the trade -names, trademarks, service marks, or product names of the Licensor, -except as required for reasonable and customary use in describing the -origin of the Work and reproducing the content of the NOTICE file. - -7. Disclaimer of Warranty. Unless required by applicable law or -agreed to in writing, Licensor provides the Work (and each -Contributor provides its Contributions) on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or -implied, including, without limitation, any warranties or conditions -of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A -PARTICULAR PURPOSE. You are solely responsible for determining the -appropriateness of using or redistributing the Work and assume any -risks associated with Your exercise of permissions under this License. - -8. Limitation of Liability. In no event and under no legal theory, -whether in tort (including negligence), contract, or otherwise, -unless required by applicable law (such as deliberate and grossly -negligent acts) or agreed to in writing, shall any Contributor be -liable to You for damages, including any direct, indirect, special, -incidental, or consequential damages of any character arising as a -result of this License or out of the use or inability to use the -Work (including but not limited to damages for loss of goodwill, -work stoppage, computer failure or malfunction, or any and all -other commercial damages or losses), even if such Contributor -has been advised of the possibility of such damages. - -9. Accepting Warranty or Additional Liability. While redistributing -the Work or Derivative Works thereof, You may choose to offer, -and charge a fee for, acceptance of support, warranty, indemnity, -or other liability obligations and/or rights consistent with this -License. However, in accepting such obligations, You may act only -on Your own behalf and on Your sole responsibility, not on behalf -of any other Contributor, and only if You agree to indemnify, -defend, and hold each Contributor harmless for any liability -incurred by, or claims asserted against, such Contributor by reason -of your accepting any such warranty or additional liability. - -END OF TERMS AND CONDITIONS - -APPENDIX: How to apply the Flora License to your work - -To apply the Flora License to your work, attach the following -boilerplate notice, with the fields enclosed by brackets "[]" -replaced with your own identifying information. (Don't include -the brackets!) The text should be enclosed in the appropriate -comment syntax for the file format. We also recommend that a -file or class name and description of purpose be included on the -same "printed page" as the copyright notice for easier -identification within third-party archives. - - Copyright [yyyy] [name of copyright owner] - - 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. - diff --git a/NOTICE.Flora b/NOTICE.Flora deleted file mode 100644 index 73f7581..0000000 --- a/NOTICE.Flora +++ /dev/null @@ -1,4 +0,0 @@ -Copyright (c) Samsung Electronics Co., Ltd. All rights reserved. -Except as noted, this software is licensed under Flora License, Version 1.1 -Please, see the LICENSE file for Flora License, Version 1.1 terms and conditions. - diff --git a/build_run.sh b/build_run.sh deleted file mode 100755 index 01c5dea..0000000 --- a/build_run.sh +++ /dev/null @@ -1,65 +0,0 @@ -#!/bin/bash - -BUILD="0" -INSTALL="0" -RUN="0" -RUN_TEST="0" -RUN_TEST_AND_APP="0" -TESTAPP_FILE=~/GBS-ROOT/local/repos/tizen/i586/RPMS/org.tizen.ugmyfiletestapp-0.0.1-1.i586.rpm - -while : ; do - case "$1" in - --b) - BUILD="1" - shift ;; - --i) - INSTALL="1" - shift ;; - --r) - RUN="1" - shift ;; - *) - break ;; - esac -done - - -if [ $BUILD == "1" ]; then - echo "Build" - cd tests/ugmyfiletestapp/ - set -e - ./build.sh - if [ $? == 1 ]; then - echo "Build ugmyfiletestapp was fail" - exit 1; - fi - cd .. - cd .. - gbs build -A i586 -R https://download.tizen.org/snapshots/2.2-emul/common/latest/repos/tizen-main/ia32/packages -R https://download.tizen.org/snapshots/2.2-emul/common/latest/repos/tizen-base/ia32/packages --buildroot=~/GBS-ROOT --extra-packs=zypper,gdb,gdb-server --skip-conf-repos --include-all --keep-packs - if [ $? == 1 ]; then - grep "error:" ~/GBS-ROOT/local/repos/tizen/i586/logs/fail/ug-myfile-efl-0.0.48-1/log - exit 1; - fi - -fi - -if [ $INSTALL == "1" ]; then - ~/tizen-sdk/tools/sdb root on - ~/tizen-sdk/tools/sdb shell rm -rf /tmp/rpm - ~/tizen-sdk/tools/sdb shell mkdir /tmp/rpm - - ~/tizen-sdk/tools/sdb push ~/GBS-ROOT/local/repos/tizen/i586/RPMS/ug-myfile-efl-0.0.48-1.i586.rpm /tmp/rpm - - ~/tizen-sdk/tools/sdb shell pkgcmd --install --quiet --package-type rpm --package-path /tmp/rpm/ug-myfile-efl-0.0.48-1.i586.rpm - if [ -e $TESTAPP_FILE ]; then - ~/tizen-sdk/tools/sdb push $TESTAPP_FILE /tmp/rpm - ~/tizen-sdk/tools/sdb shell pkgcmd --install --quiet --package-type rpm --package-path /tmp/rpm/org.tizen.ugmyfiletestapp-0.0.1-1.i586.rpm - else - echo "$UG_FILE not found" - fi -fi - -if [ $RUN == "1" ]; then - echo "run" - ~/tizen-sdk/tools/sdb shell /opt/apps/org.tizen.ugmyfiletestapp/bin/ugmyfiletestapp -fi diff --git a/data/CMakeLists.txt b/data/CMakeLists.txt deleted file mode 100644 index d3224f2..0000000 --- a/data/CMakeLists.txt +++ /dev/null @@ -1,18 +0,0 @@ -# edje -ADD_CUSTOM_TARGET(ug_navibar_layout.edj - COMMAND edje_cc -id ${CMAKE_CURRENT_SOURCE_DIR}/image - ${CMAKE_SOURCE_DIR}/data/ug_navibar_layout.edc - ${CMAKE_BINARY_DIR}/ug_navibar_layout.edj - DEPENDS ${CMAKE_SOURCE_DIR}/data/ug_navibar_layout.edc -) - -ADD_DEPENDENCIES(${PROJECT_NAME} ug_navibar_layout.edj) - -INSTALL(FILES ${CMAKE_BINARY_DIR}/ug_navibar_layout.edj DESTINATION ${EDJDIR}) -# images -INSTALL(DIRECTORY ${CMAKE_SOURCE_DIR}/data/icons/ DESTINATION ${IMAGEDIR} FILES_MATCHING PATTERN "*.png" -PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_WRITE GROUP_EXECUTE WORLD_READ WORLD_WRITE WORLD_EXECUTE) - -# i18n -ADD_SUBDIRECTORY(po) - diff --git a/data/ctrlbar_layout.edc b/data/ctrlbar_layout.edc deleted file mode 100644 index 8f9d94e..0000000 --- a/data/ctrlbar_layout.edc +++ /dev/null @@ -1,44 +0,0 @@ -group -{ - name: UG_GRP_CTRL_BAR; - parts - { - part - { - name: "base"; - type: RECT; - repeat_events: 0; - scale: 1; - description - { - state: "default" 0.0; - min: 0 100; - color: 0 0 0 0; - fixed: 0 1; - } - } - - part - { - name: "content"; - type: SWALLOW; - repeat_events: 0; - //scale: 1; - description - { - state: "default" 0.0; - fixed: 1 0; - align: 0 0; - min: 0 100; - rel1 - { - relative: 0.0 0.0; - } - rel2 - { - relative: 1.0 1.0; - } - } - } - } -} diff --git a/data/effect_model_list.edc b/data/effect_model_list.edc deleted file mode 100644 index 9e30657..0000000 --- a/data/effect_model_list.edc +++ /dev/null @@ -1,114 +0,0 @@ -group -{ - name: UG_GRP_LIST; - parts - { - part - { - name: "icon"; - type: RECT; - mouse_events: 0; - scale: 1; - description - { - state: "default" 0.0; - max : UG_THUMBNAIL_W UG_THUMBNAIL_H; - fixed: 1 1; - align: 0.5 0.5; - aspect: 1.0 1.0; - rel1 - { - relative: 0.0 0.0; - } - rel2 - { - relative: 1.0 1.0; - } - visible: 0; - color: 0 0 0 255; - } - description - { - state: "min" 0.0; - inherit: "default" 0.0; - max: 0 0; - } - description - { - state: "level1" 0.0; - inherit: "default" 0.0; - rel1 - { - relative: 0.0 0.0; - } - rel2 - { - relative: 1.0 1.0; - } - } - } - - part - { - name: "swallow_thumb"; - type: SWALLOW; - mouse_events: 0; - - scale: 1; - description - { - state: "default" 0.0; - align: 0.5 0.5; - rel1 - { - to: "icon"; - } - rel2 - { - to: "icon"; - } - } - } - part - { - name: "myfile.memory_icon.sub"; - type: SWALLOW; - scale: 1; - description - { - state: "default" 0.0; - max : UG_MEMORY_SUB_THUMB_W UG_MEMORY_SUB_THUMB_H; - min : UG_MEMORY_SUB_THUMB_W UG_MEMORY_SUB_THUMB_H; - fixed: 1 1; - rel1 - { - relative:0.5 0.5; to:"icon"; - } - rel2 - { - relative:1.0 1.0;to:"icon"; - } - } - } - } - programs - { - program - { - name: "effect_gen"; - signal: "effect.gen"; - source: "thumb"; - action: STATE_SET "min" 0.0; - target: "icon"; - after: "thumb_gen_1"; - } - EFFECT_PROGRAMS("thumb_gen_1", "level1", "thumb_gen_2"); - program - { - name: "thumb_gen_2"; - action: STATE_SET "default" 0.0; - target: "icon"; - transition: SINUSOIDAL 0.1; - } - } -} diff --git a/data/icons/Controlbar/U01_controlbar_cion_home.png b/data/icons/Controlbar/U01_controlbar_cion_home.png Binary files differdeleted file mode 100644 index f521c9e..0000000 --- a/data/icons/Controlbar/U01_controlbar_cion_home.png +++ /dev/null diff --git a/data/icons/Controlbar/U01_controlbar_cion_home_press.png b/data/icons/Controlbar/U01_controlbar_cion_home_press.png Binary files differdeleted file mode 100644 index ca24783..0000000 --- a/data/icons/Controlbar/U01_controlbar_cion_home_press.png +++ /dev/null diff --git a/data/icons/Controlbar/U01_controlbar_cion_up_folder_press.png b/data/icons/Controlbar/U01_controlbar_cion_up_folder_press.png Binary files differdeleted file mode 100644 index b2fdb69..0000000 --- a/data/icons/Controlbar/U01_controlbar_cion_up_folder_press.png +++ /dev/null diff --git a/data/icons/U01_1st_icon_memory_card.png b/data/icons/U01_1st_icon_memory_card.png Binary files differdeleted file mode 100644 index 277e976..0000000 --- a/data/icons/U01_1st_icon_memory_card.png +++ /dev/null diff --git a/data/icons/U01_1st_icon_phone.png b/data/icons/U01_1st_icon_phone.png Binary files differdeleted file mode 100644 index 647b42b..0000000 --- a/data/icons/U01_1st_icon_phone.png +++ /dev/null diff --git a/data/icons/myfile_icon_control_play.png b/data/icons/myfile_icon_control_play.png Binary files differdeleted file mode 100644 index cca0393..0000000 --- a/data/icons/myfile_icon_control_play.png +++ /dev/null diff --git a/data/icons/myfile_icon_control_play_press.png b/data/icons/myfile_icon_control_play_press.png Binary files differdeleted file mode 100644 index 315cb44..0000000 --- a/data/icons/myfile_icon_control_play_press.png +++ /dev/null diff --git a/data/icons/myfile_icon_copy.png b/data/icons/myfile_icon_copy.png Binary files differdeleted file mode 100644 index 13c40bb..0000000 --- a/data/icons/myfile_icon_copy.png +++ /dev/null diff --git a/data/icons/myfile_icon_create_folder.png b/data/icons/myfile_icon_create_folder.png Binary files differdeleted file mode 100644 index d74811f..0000000 --- a/data/icons/myfile_icon_create_folder.png +++ /dev/null diff --git a/data/icons/myfile_icon_delete.png b/data/icons/myfile_icon_delete.png Binary files differdeleted file mode 100644 index faaa0d3..0000000 --- a/data/icons/myfile_icon_delete.png +++ /dev/null diff --git a/data/icons/myfile_icon_edit.png b/data/icons/myfile_icon_edit.png Binary files differdeleted file mode 100644 index 4ddc598..0000000 --- a/data/icons/myfile_icon_edit.png +++ /dev/null diff --git a/data/icons/myfile_icon_etc.png b/data/icons/myfile_icon_etc.png Binary files differdeleted file mode 100644 index 0cc767d..0000000 --- a/data/icons/myfile_icon_etc.png +++ /dev/null diff --git a/data/icons/myfile_icon_excel.png b/data/icons/myfile_icon_excel.png Binary files differdeleted file mode 100644 index 109b7de..0000000 --- a/data/icons/myfile_icon_excel.png +++ /dev/null diff --git a/data/icons/myfile_icon_folder.png b/data/icons/myfile_icon_folder.png Binary files differdeleted file mode 100644 index d53be43..0000000 --- a/data/icons/myfile_icon_folder.png +++ /dev/null diff --git a/data/icons/myfile_icon_folder_open.png b/data/icons/myfile_icon_folder_open.png Binary files differdeleted file mode 100644 index 85e0f19..0000000 --- a/data/icons/myfile_icon_folder_open.png +++ /dev/null diff --git a/data/icons/myfile_icon_html.png b/data/icons/myfile_icon_html.png Binary files differdeleted file mode 100644 index 78646b4..0000000 --- a/data/icons/myfile_icon_html.png +++ /dev/null diff --git a/data/icons/myfile_icon_images.png b/data/icons/myfile_icon_images.png Binary files differdeleted file mode 100644 index 4dd3be3..0000000 --- a/data/icons/myfile_icon_images.png +++ /dev/null diff --git a/data/icons/myfile_icon_list_by.png b/data/icons/myfile_icon_list_by.png Binary files differdeleted file mode 100644 index 0c17352..0000000 --- a/data/icons/myfile_icon_list_by.png +++ /dev/null diff --git a/data/icons/myfile_icon_mmc_sub.png b/data/icons/myfile_icon_mmc_sub.png Binary files differdeleted file mode 100644 index faced52..0000000 --- a/data/icons/myfile_icon_mmc_sub.png +++ /dev/null diff --git a/data/icons/myfile_icon_move.png b/data/icons/myfile_icon_move.png Binary files differdeleted file mode 100644 index fdc8c8a..0000000 --- a/data/icons/myfile_icon_move.png +++ /dev/null diff --git a/data/icons/myfile_icon_move_here.png b/data/icons/myfile_icon_move_here.png Binary files differdeleted file mode 100644 index 06e7946..0000000 --- a/data/icons/myfile_icon_move_here.png +++ /dev/null diff --git a/data/icons/myfile_icon_music.png b/data/icons/myfile_icon_music.png Binary files differdeleted file mode 100644 index 9909d9c..0000000 --- a/data/icons/myfile_icon_music.png +++ /dev/null diff --git a/data/icons/myfile_icon_paste_here.png b/data/icons/myfile_icon_paste_here.png Binary files differdeleted file mode 100644 index 13c40bb..0000000 --- a/data/icons/myfile_icon_paste_here.png +++ /dev/null diff --git a/data/icons/myfile_icon_pdf.png b/data/icons/myfile_icon_pdf.png Binary files differdeleted file mode 100644 index 2480d81..0000000 --- a/data/icons/myfile_icon_pdf.png +++ /dev/null diff --git a/data/icons/myfile_icon_phone.png b/data/icons/myfile_icon_phone.png Binary files differdeleted file mode 100644 index 1c92369..0000000 --- a/data/icons/myfile_icon_phone.png +++ /dev/null diff --git a/data/icons/myfile_icon_ppt.png b/data/icons/myfile_icon_ppt.png Binary files differdeleted file mode 100644 index 42c1100..0000000 --- a/data/icons/myfile_icon_ppt.png +++ /dev/null diff --git a/data/icons/myfile_icon_rss.png b/data/icons/myfile_icon_rss.png Binary files differdeleted file mode 100644 index 1b566e2..0000000 --- a/data/icons/myfile_icon_rss.png +++ /dev/null diff --git a/data/icons/myfile_icon_search.png b/data/icons/myfile_icon_search.png Binary files differdeleted file mode 100644 index ff46fa3..0000000 --- a/data/icons/myfile_icon_search.png +++ /dev/null diff --git a/data/icons/myfile_icon_share.png b/data/icons/myfile_icon_share.png Binary files differdeleted file mode 100644 index c1a20b5..0000000 --- a/data/icons/myfile_icon_share.png +++ /dev/null diff --git a/data/icons/myfile_icon_store_here.png b/data/icons/myfile_icon_store_here.png Binary files differdeleted file mode 100644 index 65290d8..0000000 --- a/data/icons/myfile_icon_store_here.png +++ /dev/null diff --git a/data/icons/myfile_icon_svg.png b/data/icons/myfile_icon_svg.png Binary files differdeleted file mode 100644 index 64a841c..0000000 --- a/data/icons/myfile_icon_svg.png +++ /dev/null diff --git a/data/icons/myfile_icon_swf.png b/data/icons/myfile_icon_swf.png Binary files differdeleted file mode 100644 index ee50e85..0000000 --- a/data/icons/myfile_icon_swf.png +++ /dev/null diff --git a/data/icons/myfile_icon_text.png b/data/icons/myfile_icon_text.png Binary files differdeleted file mode 100644 index c937ef8..0000000 --- a/data/icons/myfile_icon_text.png +++ /dev/null diff --git a/data/icons/myfile_icon_upper_folder_black_theme.png b/data/icons/myfile_icon_upper_folder_black_theme.png Binary files differdeleted file mode 100644 index 050c295..0000000 --- a/data/icons/myfile_icon_upper_folder_black_theme.png +++ /dev/null diff --git a/data/icons/myfile_icon_upper_folder_focus.png b/data/icons/myfile_icon_upper_folder_focus.png Binary files differdeleted file mode 100644 index d8dd048..0000000 --- a/data/icons/myfile_icon_upper_folder_focus.png +++ /dev/null diff --git a/data/icons/myfile_icon_upper_folder_white_theme.png b/data/icons/myfile_icon_upper_folder_white_theme.png Binary files differdeleted file mode 100644 index e3853c1..0000000 --- a/data/icons/myfile_icon_upper_folder_white_theme.png +++ /dev/null diff --git a/data/icons/myfile_icon_video.png b/data/icons/myfile_icon_video.png Binary files differdeleted file mode 100644 index a8e832a..0000000 --- a/data/icons/myfile_icon_video.png +++ /dev/null diff --git a/data/icons/myfile_icon_video_play.png b/data/icons/myfile_icon_video_play.png Binary files differdeleted file mode 100644 index bbde433..0000000 --- a/data/icons/myfile_icon_video_play.png +++ /dev/null diff --git a/data/icons/myfile_icon_word.png b/data/icons/myfile_icon_word.png Binary files differdeleted file mode 100644 index b399bad..0000000 --- a/data/icons/myfile_icon_word.png +++ /dev/null diff --git a/data/icons/myfile_thumbnail_icon_excel.png b/data/icons/myfile_thumbnail_icon_excel.png Binary files differdeleted file mode 100644 index c5ff6e6..0000000 --- a/data/icons/myfile_thumbnail_icon_excel.png +++ /dev/null diff --git a/data/icons/myfile_thumbnail_icon_folder.png b/data/icons/myfile_thumbnail_icon_folder.png Binary files differdeleted file mode 100644 index c4b91e1..0000000 --- a/data/icons/myfile_thumbnail_icon_folder.png +++ /dev/null diff --git a/data/icons/myfile_thumbnail_icon_folder_open.png b/data/icons/myfile_thumbnail_icon_folder_open.png Binary files differdeleted file mode 100644 index d928ea2..0000000 --- a/data/icons/myfile_thumbnail_icon_folder_open.png +++ /dev/null diff --git a/data/icons/myfile_thumbnail_icon_html.png b/data/icons/myfile_thumbnail_icon_html.png Binary files differdeleted file mode 100644 index 2e99180..0000000 --- a/data/icons/myfile_thumbnail_icon_html.png +++ /dev/null diff --git a/data/icons/myfile_thumbnail_icon_music.png b/data/icons/myfile_thumbnail_icon_music.png Binary files differdeleted file mode 100644 index 54c18e7..0000000 --- a/data/icons/myfile_thumbnail_icon_music.png +++ /dev/null diff --git a/data/icons/myfile_thumbnail_icon_pdf.png b/data/icons/myfile_thumbnail_icon_pdf.png Binary files differdeleted file mode 100644 index 30ea8e9..0000000 --- a/data/icons/myfile_thumbnail_icon_pdf.png +++ /dev/null diff --git a/data/icons/myfile_thumbnail_icon_ppt.png b/data/icons/myfile_thumbnail_icon_ppt.png Binary files differdeleted file mode 100644 index bb97df2..0000000 --- a/data/icons/myfile_thumbnail_icon_ppt.png +++ /dev/null diff --git a/data/icons/myfile_thumbnail_icon_rss.png b/data/icons/myfile_thumbnail_icon_rss.png Binary files differdeleted file mode 100644 index 8fc1384..0000000 --- a/data/icons/myfile_thumbnail_icon_rss.png +++ /dev/null diff --git a/data/icons/myfile_thumbnail_icon_svg.png b/data/icons/myfile_thumbnail_icon_svg.png Binary files differdeleted file mode 100644 index 92b89e0..0000000 --- a/data/icons/myfile_thumbnail_icon_svg.png +++ /dev/null diff --git a/data/icons/myfile_thumbnail_icon_swf.png b/data/icons/myfile_thumbnail_icon_swf.png Binary files differdeleted file mode 100644 index 8d1278d..0000000 --- a/data/icons/myfile_thumbnail_icon_swf.png +++ /dev/null diff --git a/data/icons/myfile_thumbnail_icon_text.png b/data/icons/myfile_thumbnail_icon_text.png Binary files differdeleted file mode 100644 index 39cdc23..0000000 --- a/data/icons/myfile_thumbnail_icon_text.png +++ /dev/null diff --git a/data/icons/myfile_thumbnail_icon_unkown.png b/data/icons/myfile_thumbnail_icon_unkown.png Binary files differdeleted file mode 100644 index 37a22ec..0000000 --- a/data/icons/myfile_thumbnail_icon_unkown.png +++ /dev/null diff --git a/data/icons/myfile_thumbnail_icon_video.png b/data/icons/myfile_thumbnail_icon_video.png Binary files differdeleted file mode 100644 index b4c1c66..0000000 --- a/data/icons/myfile_thumbnail_icon_video.png +++ /dev/null diff --git a/data/icons/myfile_thumbnail_icon_video_play.png b/data/icons/myfile_thumbnail_icon_video_play.png Binary files differdeleted file mode 100644 index 4fe90b2..0000000 --- a/data/icons/myfile_thumbnail_icon_video_play.png +++ /dev/null diff --git a/data/icons/myfile_thumbnail_icon_word.png b/data/icons/myfile_thumbnail_icon_word.png Binary files differdeleted file mode 100644 index ef5b578..0000000 --- a/data/icons/myfile_thumbnail_icon_word.png +++ /dev/null diff --git a/data/image/No_ex_stor.png b/data/image/No_ex_stor.png Binary files differdeleted file mode 100644 index 248bd36..0000000 --- a/data/image/No_ex_stor.png +++ /dev/null diff --git a/data/image/myfile_nocontent.png b/data/image/myfile_nocontent.png Binary files differdeleted file mode 100644 index 0c4a33b..0000000 --- a/data/image/myfile_nocontent.png +++ /dev/null diff --git a/data/navigation_view.edc b/data/navigation_view.edc deleted file mode 100644 index 38cc952..0000000 --- a/data/navigation_view.edc +++ /dev/null @@ -1,194 +0,0 @@ -group -{ - name: UG_GRP_NAVI_VIEW; - parts - { - part - { - name: "background"; - type: RECT; - mouse_events: 0; - description - { - state: "default" 0.0; - rel1 { relative: 0.0 0.0; } - rel2 { relative: 1.0 1.0; } - color: 0 0 0 0; - } - } - part - { - name: "part1"; - type: SWALLOW; - repeat_events: 1; - description - { - state: "default" 0.0; - align: 0.5 0.0; - rel1 - { - relative: 0.0 0.0; - } - rel2 - { - relative: 1.0 0.9; - } - } - description - { - state: "short" 0.0; - align: 0.5 0.0; - rel1 - { - relative: 0.0 0.1; - } - rel2 - { - relative: 1.0 0.9; - } - } - - } - - part - { - name: "title"; - type: SWALLOW; - repeat_events: 1; - description - { - state: "default" 0.0; - align: 0.5 0.0; - rel1 - { - relative: 0.0 0.0; - } - rel2 - { - relative: 1.0 0.1; - } - } - description - { - state: "hide" 0.0; - inherit: "default" 0.0; - visible: 0; - } - - } - - part - { - name: "sel_contents"; - type: SWALLOW; - description - { - state: "default" 0.0; - fixed: 0 1; - align: 0.5 1.0; - rel1 - { - relative: 0.0 0.85; - to:"part1"; - } - rel2 - { - relative: 1.0 1.0; - offset: 1 1; - to:"part1"; - } - - } - description - { - state: "hide" 0.0; - inherit: "default" 0.0; - visible: 0; - } - } - part - { - name: "toolbar_button"; - type: SWALLOW; - scale: 1; - description - { - state: "default" 0.0; - fixed: 1 0; - align: 0 0; - rel1 - { - relative: 0.0 0.90; - } - rel2 - { - relative: 1.0 1.0; - } - } - description - { - state: "hide" 0.0; - inherit: "default" 0.0; - visible: 0; - } - - } - } - programs - { - program - { - name: "show"; - signal: "show,selection,info"; - source: "elm"; - action: STATE_SET "default" 0.0; - target: "sel_contents"; - } - program - { - name: "hide"; - signal: "hide,selection,info"; - source: "elm"; - action: STATE_SET "hide" 0.0; - target: "sel_contents"; - } - program - { - name: "show_toolbar"; - signal: "show,toolbar,button"; - source: "elm"; - action: STATE_SET "default" 0.0; - target: "toolbar_button"; - } - program - { - name: "hide_toolbar"; - signal: "hide,toolbar,button"; - source: "elm"; - action: STATE_SET "hide" 0.0; - target: "toolbar_button"; - } - program - { - name: "show_title"; - signal: "show,title,button"; - source: "elm"; - action: STATE_SET "default" 0.0; - target: "title"; - action: STATE_SET "short" 0.0; - target: "part1"; - } - program - { - name: "hide_title"; - signal: "hide,title,button"; - source: "elm"; - action: STATE_SET "hide" 0.0; - target: "title"; - action: STATE_SET "default" 0.0; - target: "part1"; - - } - - } -} diff --git a/data/no_storage.edc b/data/no_storage.edc deleted file mode 100644 index a9408c4..0000000 --- a/data/no_storage.edc +++ /dev/null @@ -1,178 +0,0 @@ -group -{ - name: UG_GRP_NO_CONTENT; - images - { - image: "myfile_nocontent.png" COMP; - image: "No_ex_stor.png" COMP; - } - parts - { - part - { - name: "background"; - type: RECT; - mouse_events: 0; - description - { - state: "default" 0.0; - rel1 - { - relative: 0.0 0.0; - offset: CTRLBAR_PADDING_X CTRLBAR_PADDING_Y; - } - rel2 - { - relative: 1.0 1.0; - offset: -CTRLBAR_PADDING_X -CTRLBAR_PADDING_Y; - } - color: COLOR_BLACK; - } - } - part - { - name: "nocontents.image"; - description - { - state: "default" 0.0; - visible: 1; - align: 0.5 0.5; - min: 200 235; - max: 200 235; - rel1 - { - relative: NOCONTENT_IMAGE_REL1_WIDTH_HEIGHT_INC; - to: "background"; - } - rel2 - { - relative: NOCONTENT_IMAGE_REL2_WIDTH_HEIGHT_INC; - to: "background"; - } - image - { - normal: "myfile_nocontent.png"; - border: 1 1 1 1; - border_scale: 1; - } - aspect: 1.0 1.0; - aspect_preference: BOTH; - color: COLOR_WHITE; - } - description - { - state: "hide" 0.0; - inherit: "default" 0.0; - visible: 0; - } - - description - { - state: "no_ext" 0.0; - visible: 1; - align: 0.5 0.5; - min: 200 235; - max: 200 235; - rel1 - { - relative: NOCONTENT_IMAGE_REL1_WIDTH_HEIGHT_INC; - to: "background"; - } - rel2 - { - relative: NOCONTENT_IMAGE_REL2_WIDTH_HEIGHT_INC; - to: "background"; - } - image - { - normal: "No_ex_stor.png"; - border: 1 1 1 1; - border_scale: 1; - } - aspect: 1.0 1.0; - aspect_preference: BOTH; - color: COLOR_WHITE; - } - description - { - state: "hide_ext" 0.0; - inherit: "no_ext" 0.0; - visible: 0; - } - - } - - part - { - name: "middle.padding"; - type: RECT; - scale: 1; - description - { - state: "default" 0.0; - visible: 0; - min: 1 NOCONTENT_MIDDLE_PADDING_INC; - max: 1 NOCONTENT_MIDDLE_PADDING_INC; - align: 0.5 0.0; - rel1 - { - relative: 0.0 1.0; - to_y: "nocontents.image"; - } - } - } - - part - { - name: "message"; - type: TEXT; - repeat_events: 0; - description - { - state: "default" 0.0; - align: 0.5 0.5; - rel1 - { - relative: 0.0 1.0; - to_x: "background"; - to_y: "middle.padding"; - } - rel2 - { - relative: 1.0 1.0; - to_x: "background"; - to_y: "middle.padding"; - } - text - { - text: " "; - align: 0.5 0.5; - size: 40; - font: "sans"; - min: 1 1; - } - } - } - } - programs - { - program - { - name: "show_no_mem"; - signal: "show,no,memcard"; - source: "elm"; - action: STATE_SET "hide_ext" 0.0; - action: STATE_SET "default" 0.0; - target: "nocontents.image"; - } - program - { - name: "hide"; - signal: "show,no,ext"; - source: "elm"; - action: STATE_SET "hide" 0.0; - action: STATE_SET "no_ext" 0.0; - target: "nocontents.image"; - } - } -} diff --git a/data/pathinfo.edc b/data/pathinfo.edc deleted file mode 100644 index 9a6fc60..0000000 --- a/data/pathinfo.edc +++ /dev/null @@ -1,112 +0,0 @@ -group -{ - name: UG_GRP_PATH_INFO; - parts - { - #if 0 - part - { - name: "info"; - type: SWALLOW; - repeat_events: 0; - scale: 1; - description - { - state: "default" 0.0; - min: 0 PATH_INFO_H; - } - } - #endif - - part - { - name: "base"; - type: RECT; - repeat_events: 0; - scale: 1; - description - { - state: "default" 0.0; - min: UG_MAIN_W PATH_INFO_H; - color: PATH_INFO_BG_COLOR; - } - } - part - { - name: "bg"; - type: RECT; - clip_to: "disclip"; - repeat_events: 0; - mouse_events: 0; - description - { - state: "default" 0.0; - color: PATH_INFO_BG_COLOR; - } - } - MF_UG_PART_PADDING_TOP(0) - MF_UG_PART_PADDING_BOTTOM( 0 ) - MF_UG_PART_PADDING_LEFT( 10 ) - part - { - name: "bottom_line"; - type: RECT; - mouse_events: 0; - description - { - state: "default" 0.0; - min: 0 1; - fixed: 0 1; - visible: 1; - color: BOTTOM_LINE_COLOR; - rel1 - { - relative: 0.0 1.0; - offset: 0 -1; - } - } - } - part - { - name: "info"; - type: TEXT; - scale: 1; - description - { - state: "default" 0.0; - align: 0.0 0.5; - rel1 - { - relative: 1.0 1.0; - offset: 0 0; - to_x: "elm.padding.left"; - to_y: "elm.padding.top"; - } - rel2 - { - relative: 1.0 0.0; - offset: 0 0; - to_x: "elm.padding.left"; - to_y: "elm.padding.bottom"; - } - color: 255 255 255 255; - text - { - font: "SLP:style=Medium"; - size: 32; - min: 1 1; - align: 0.0 0.5; - } - } - } - part - { - name: "disclip"; - type: RECT; - description - { - state: "default" 0.0; - } - } - } -} diff --git a/data/po/CMakeLists.txt b/data/po/CMakeLists.txt deleted file mode 100644 index 828e3a5..0000000 --- a/data/po/CMakeLists.txt +++ /dev/null @@ -1,25 +0,0 @@ -# for i18n - -SET(POFILES bg.po cs.po el_GR.po en_US.po et.po fr_CA.po gl.po hu.po it_IT.po kk.po -es_MX.po lv.po nb.po ro.po sl.po tr_TR.po uz.po zh_SG.po az.po de_DE.po en.po fi.po ga.po hr.po is.po ka.po lt.po pl.po pt_PT.po sk.po sv.po zh_HK.po ar.po ca.po da.po en_PH.po es_ES.po eu.po fr_FR.po hi.po hy.po ja_JP.po ko_KR.po mk.po nl_NL.po pt_BR.po ru_RU.po sr.po uk.po zh_CN.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 /usr/ug/res/locale/${lang}/LC_MESSAGES RENAME ${MFUGNAME}.mo) - SET(moFiles ${moFiles} ${moFile}) -ENDFOREACH(pofile) - -MESSAGE(".mo files: ${moFiles}") -ADD_CUSTOM_TARGET(po ALL DEPENDS ${moFiles}) diff --git a/data/po/POTFILES.in b/data/po/POTFILES.in deleted file mode 100644 index 92bd4d0..0000000 --- a/data/po/POTFILES.in +++ /dev/null @@ -1,17 +0,0 @@ -# List of source files containing translatable strings. -src_ug/myfile_sg_lib.c -src_ug/ug/myfile_lib_ug.c -src_ug/ug/myfileCallBack.c -src_ug/ug/myfileUtil.c -src_ug/libraries/platform-wrapper/myfile_filemanagerservice_wrapper.c -src_ug/libraries/winset-wrapper/myfileContent.c -src_ug/libraries/winset-wrapper/myfileContextPopup.c -src_ug/libraries/winset-wrapper/myfileControlBar.c -src_ug/libraries/winset-wrapper/myfileInput.c -src_ug/libraries/winset-wrapper/myfileLayout.c -src_ug/libraries/winset-wrapper/myfileListPlay.c -src_ug/libraries/winset-wrapper/myfileListView.c -src_ug/libraries/winset-wrapper/myfileNavigationBar.c -src_ug/libraries/winset-wrapper/myfilePopup.c -src_ug/launch/myfileGadgetImageViewer.c -src_ug/launch/myfileLaunch.c diff --git a/data/po/ar.po b/data/po/ar.po deleted file mode 100644 index d74d85b..0000000 --- a/data/po/ar.po +++ /dev/null @@ -1,317 +0,0 @@ -msgid "IDS_MF_TAB_UP" -msgstr "لأعلى" - -msgid "IDS_MF_BUTTON_HOME" -msgstr "الرئيسية" - -msgid "IDS_MF_OPT_VIEW_BY_LIST" -msgstr "عرض عبر اللائحة" - -msgid "IDS_MF_OPT_VIEW_BY_THUMBNAIL" -msgstr "عرض عبر المختصرات" - -msgid "IDS_MF_POP_DELETE_FAILED" -msgstr "فشل المسح" - -msgid "IDS_MF_POP_DRM_FILE_CANNOT_SEND" -msgstr "ملف DRM. يتعذر الإرسال" - -msgid "IDS_MF_POP_INVALID_FILE_NAME" -msgstr "اسم الملف غير صالح" - -msgid "IDS_MF_POP_MAXIMUM_FOLDER_REACHED" -msgstr "تجاوز الحد الأقصى لعدد المجلدات" - -msgid "IDS_MF_POP_PERMISSION_DENIED" -msgstr "تم رفض الإذن" - -msgid "IDS_MF_POP_SEND_FAILED" -msgstr "فشل الإرسال" - -msgid "IDS_MF_POP_THE_DESTINATION_FOLDER_IS_A_SUBFOLDER_OF_THE_SOURCE_FOLDER" -msgstr "مجلد الوجهة هو مجلد فرعي من مجلد المصدر" - -msgid "IDS_MF_POP_THIS_FILE_DOES_NOT_EXIST" -msgstr "هذا الملف غير موجود" - -msgid "IDS_MF_POP_UNABLE_TO_COPY" -msgstr "يتعذر النسخ" - -msgid "IDS_MF_POP_UNABLE_TO_MOVE" -msgstr "يتعذر النقل" - -msgid "IDS_MF_BODY_NOT_ENOUGH_MEMORY_IN_PHONE_MEMORY_DELETE_SOME_ITEMS_AND_TRY_AGAIN" -msgstr "لا توجد مساحة كافية بذاكرة الهاتف. احذف بعض العناصر وحاول مرة أخرى" - -msgid "IDS_MF_POP_COPYING_FAILED" -msgstr "فشل النسخ" - -msgid "IDS_MF_POP_MOVING_FAILED" -msgstr "فشل النقل" - -msgid "IDS_MF_POP_NOT_ENOUGH_MEMORY_PS_AVAILABLE" -msgstr "الذاكرة لا تكفي. متوفر %s" - -msgid "IDS_MF_POP_SAME_NAME_ALREADY_IN_USE" -msgstr "نفس الاسم مستخدم مسبقا" - -msgid "IDS_MF_POP_UNABLE_TO_MOVE_DESTINATION_FOLDER_SAME_AS_SOURCE_FOLDER" -msgstr "يتعذر النقل. المجلد الوجهة نفس المجلد المصدر" - -msgid "IDS_MF_SK3_CREATE_FOLDER" -msgstr "إنشاء مجلد" - -msgid "IDS_MF_SK3_PASTE_HERE" -msgstr "لصق هنا" - -msgid "IDS_MF_BODY_ALERTS" -msgstr "تنبيهات" - -msgid "IDS_MF_BODY_WALLPAPERS" -msgstr "خلفيات الشاشة" - -msgid "IDS_MF_TAB_PHONE" -msgstr "الهاتف" - -msgid "IDS_MF_BODY_IMAGES" -msgstr "الصور" - -msgid "IDS_MF_BODY_VIDEOS" -msgstr "الفيديو" - -msgid "IDS_MF_BODY_SOUNDS" -msgstr "الأصوات" - -msgid "IDS_MF_BODY_DOWNLOADS" -msgstr "ملفات محملة" - -msgid "IDS_MF_TAB_MEMORY_CARD" -msgstr "بطاقة الذاكرة" - -msgid "IDS_MF_TAB_EXTERNAL_STORAGE" -msgstr "التخزين الخارجي" - -msgid "IDS_MF_SK3_EDIT" -msgstr "تعديل" - -msgid "IDS_MF_SK3_DELETE" -msgstr "مسح" - -msgid "IDS_MF_SK3_MOVE" -msgstr "نقل" - -msgid "IDS_MF_BODY_UP" -msgstr "أعلى" - -msgid "IDS_MF_SK3_MOVE_HERE" -msgstr "نقل إلى هنا" - -msgid "IDS_MF_SK3_COPY" -msgstr "نسخ" - -msgid "IDS_MF_SK3_SORT_BY" -msgstr "فرز حسب" - -msgid "IDS_MF_SK3_SEARCH" -msgstr "بحث" - -msgid "IDS_MF_SK3_MORE" -msgstr "المزيد" - -msgid "IDS_MF_OPT_CREATE_FOLDER" -msgstr "إنشاء مجلد" - -msgid "IDS_MF_BODY_FOLDER_NAME" -msgstr "اسم المجلد" - -msgid "IDS_MF_BODY_ACCESS_MORE_MY_ALBUM" -msgstr "ألبومي" - -msgid "IDS_MF_OPT_VIEW_AS" -msgstr "عرض ﻜ" - -msgid "IDS_MF_SK3_BACK" -msgstr "رجوع" - -msgid "IDS_MF_BODY_MY_VIDEO_CLIPS" -msgstr "مشاهد الفيديو الخاصة" - -msgid "IDS_MF_BODY_RIGHT_STATUS" -msgstr "حالة الحقوق" - -msgid "IDS_MF_BODY_VENDOR" -msgstr "التاجر" - -msgid "IDS_MF_HEADER_COUNT" -msgstr "العدد" - -msgid "IDS_MF_BODY_CONTAINS" -msgstr "يحتوي على" - -msgid "IDS_MF_BODY_INDIVIDUAL" -msgstr "فردي" - -msgid "IDS_MF_BODY_INTERVAL" -msgstr "الفترة" - -msgid "IDS_MF_BODY_RENAME_ABB" -msgstr "إعادة تسمية" - -msgid "IDS_MF_BODY_TIME" -msgstr "التوقيت" - -msgid "IDS_MF_BODY_TIMED_COUNT" -msgstr "عداد محدد زمنيا" - -msgid "IDS_MF_BODY_TYPE" -msgstr "النوع" - -msgid "IDS_MF_BODY_UNLIMITED" -msgstr "غير محدود" - -msgid "IDS_MF_BUTTON_REPLACE_ABB" -msgstr "استبدال" - -msgid "IDS_MF_OPT_CALLER_RINGTONE" -msgstr "نغمة رنين المتصل" - -msgid "IDS_MF_OPT_LISTBY_NAME" -msgstr "الاسم" - -msgid "IDS_MF_POP_COPIED" -msgstr "تم النسخ" - -msgid "IDS_MF_POP_NOTHING_SELECTED" -msgstr "لا شيء محدد" - -msgid "IDS_MF_POP_NOT_ENOUGH_HEAP_MEMORY" -msgstr "الذاكرة لا تكفي" - -msgid "IDS_MF_POP_NOT_ENOUGH_MEMORY_DELETE_SOME_ITEMS" -msgstr "لا يوجد ذاكرة كافية. امسح بعض العناصر" - -msgid "IDS_MF_BODY_CREATED_DATE" -msgstr "تاريخ الإنشاء" - -msgid "IDS_MF_BODY_GPS_INFORMATION" -msgstr "معلومات GPS" - -msgid "IDS_MF_BODY_GPS_LATITUDE" -msgstr "خط عرض GPS" - -msgid "IDS_MF_BODY_GPS_LONGITUDE" -msgstr "خط طول GPS" - -msgid "IDS_MF_BODY_GPS_VERSION" -msgstr "إصدار GPS" - -msgid "IDS_MF_SK_DETAILS" -msgstr "التفاصيل" - -msgid "IDS_MF_BODY_ANY" -msgstr "أي" - -msgid "IDS_MF_BODY_AVAILABLE_USES" -msgstr "الاستخدامات المتوفرة" - -msgid "IDS_MF_BODY_EXECUTE" -msgstr "تنفيذ" - -msgid "IDS_MF_BODY_FORWARDING" -msgstr "التحويل" - -msgid "IDS_MF_BODY_IMPOSSIBLE" -msgstr "غير ممكن" - -msgid "IDS_MF_BODY_MMC_DATA_IS_INITIALIZING_ING" -msgstr "يتم الآن تهيئة بيانات MMC..." - -msgid "IDS_MF_BODY_POSSIBLE" -msgstr "ممكن" - -msgid "IDS_MF_BODY_PRINT" -msgstr "طباعة" - -msgid "IDS_MF_BODY_VALIDITY" -msgstr "الصلاحية" - -msgid "IDS_MF_HEADER_NEW_FOLDER" -msgstr "مجلد جديد" - -msgid "IDS_MF_OPT_EDIT" -msgstr "تعديل" - -msgid "IDS_MF_OPT_LIST_BY" -msgstr "فرز بواسطة" - -msgid "IDS_MF_OPT_MOVE_HERE" -msgstr "نقل إلى هنا" - -msgid "IDS_MF_POP_CONTINUE" -msgstr "متابعة" - -msgid "IDS_MF_POP_COPYING" -msgstr "جاري النسخ..." - -msgid "IDS_MF_POP_PASTE_HERE" -msgstr "لصق هنا" - -msgid "IDS_MF_POP_UNSUPPORTED_FILE_TYPE" -msgstr "نوع ملف غير مدعوم" - -msgid "IDS_MF_OPT_DETAIL_VIEW" -msgstr "عرض مفصل" - -msgid "IDS_MF_POP_ASCENDING" -msgstr "تصاعديا" - -msgid "IDS_MF_POP_DESCENDING" -msgstr "تنازليا" - -msgid "IDS_MF_TAB_ALL" -msgstr "الكل" - -msgid "IDS_MF_BODY_UP_M_BACK" -msgstr "أعلى" - -msgid "IDS_MF_BUTTON_SEARCH_ALL_FOLDERS" -msgstr "بحث في جميع المجلدات" - -msgid "IDS_MF_OPT_THUMBNAIL_VIEW" -msgstr "عرض مختصر" - -msgid "IDS_MF_OPT_SHOW_FILE_EXTENSION" -msgstr "إظهار امتداد الملفات" - -msgid "IDS_MF_OPT_SORT_BY" -msgstr "فرز بواسطة" - -msgid "IDS_MF_BODY_LIST_AND_DETAILS_ABB" -msgstr "القائمة والتفاصيل" - -msgid "IDS_MF_OPT_HIDE_FILE_EXTENSION_ABB" -msgstr "إخفاء امتداد الملفات" - -msgid "IDS_MF_OPT_NAME_HA_TO_Z" -msgstr "الاسم (من أ إلى ي)" - -msgid "IDS_MF_OPT_NAME_HZ_TO_A" -msgstr "الاسم (من ي إلى أ)" - -msgid "IDS_MF_OPT_DATE_HMOST_RECENT" -msgstr "التاريخ (الأحدث)" - -msgid "IDS_MF_OPT_DATE_HOLDEST" -msgstr "التاريخ (الأقدم)" - -msgid "IDS_MF_BUTTON_GO_TO_MY_FILES" -msgstr "ذهاب إلى ملفاتي" - -msgid "IDS_MF_BODY_RINGTONES" -msgstr "نغمات الرنين" -msgid "IDS_MF_BUTTON_EXPORT_HERE" -msgstr "تصدير هنا" - -msgid "IDS_MF_POP_UNABLE_TO_SET_DRM_PROTECTED_CONTENT_AS_RINGTONE_OR_NOTIFICATION_ALERT" -msgstr "يتعذر تعيين محتوى محمي بـ DRM كنغمة رنين أو كتنبيه إخطار" - diff --git a/data/po/az.po b/data/po/az.po deleted file mode 100644 index 0a8983c..0000000 --- a/data/po/az.po +++ /dev/null @@ -1,318 +0,0 @@ -msgid "IDS_MF_TAB_UP" -msgstr "Yuxarı" - -msgid "IDS_MF_BUTTON_HOME" -msgstr "Ev" - -msgid "IDS_MF_OPT_VIEW_BY_LIST" -msgstr "Siyahı ilə görüntülə" - -msgid "IDS_MF_OPT_VIEW_BY_THUMBNAIL" -msgstr "Miniatur goruntusu ile gozden kecir" - -msgid "IDS_MF_POP_DELETE_FAILED" -msgstr "Silmək mümkün olmadı" - -msgid "IDS_MF_POP_DRM_FILE_CANNOT_SEND" -msgstr "DRM faylı. Göndərmək mümkün deyil" - -msgid "IDS_MF_POP_INVALID_FILE_NAME" -msgstr "Yanlış fayl adı" - -msgid "IDS_MF_POP_MAXIMUM_FOLDER_REACHED" -msgstr "Maksimum qovluq sayına çatıldı" - -msgid "IDS_MF_POP_PERMISSION_DENIED" -msgstr "İcazə rədd edildi" - -msgid "IDS_MF_POP_SEND_FAILED" -msgstr "Göndərmə alınmadı" - -msgid "IDS_MF_POP_THE_DESTINATION_FOLDER_IS_A_SUBFOLDER_OF_THE_SOURCE_FOLDER" -msgstr "Təyin edilmiş yer üçün qovluq mənbə qovluğunun alt qovluğudur" - -msgid "IDS_MF_POP_THIS_FILE_DOES_NOT_EXIST" -msgstr "Bu fayl mövcud deyil" - -msgid "IDS_MF_POP_UNABLE_TO_COPY" -msgstr "Surətini köçürmək mümkün deyildir" - -msgid "IDS_MF_POP_UNABLE_TO_MOVE" -msgstr "Yerini dəyişdirmək mümkün deyil" - -msgid "IDS_MF_BODY_NOT_ENOUGH_MEMORY_IN_PHONE_MEMORY_DELETE_SOME_ITEMS_AND_TRY_AGAIN" -msgstr "Telefon yaddaşında kifayət qədər yaddaş yoxdur. Bəzi elementləri silin və yenidən cəhd edin" - -msgid "IDS_MF_POP_COPYING_FAILED" -msgstr "Köçürülmə baş tutmadı" - -msgid "IDS_MF_POP_MOVING_FAILED" -msgstr "Keçmə alınmadı" - -msgid "IDS_MF_POP_NOT_ENOUGH_MEMORY_PS_AVAILABLE" -msgstr "Yaddaş yetərsizdir. %s yerləşdirmək mümkündür" - -msgid "IDS_MF_POP_SAME_NAME_ALREADY_IN_USE" -msgstr "Eyni ad hazırda istifadə edilir" - -msgid "IDS_MF_POP_UNABLE_TO_MOVE_DESTINATION_FOLDER_SAME_AS_SOURCE_FOLDER" -msgstr " Yerini dəyişmək mümkün deyildir. Hədəf qovluq mənbə qovluğu ilə eynidir" - -msgid "IDS_MF_SK3_CREATE_FOLDER" -msgstr "Qovluq yaradın" - -msgid "IDS_MF_SK3_PASTE_HERE" -msgstr "Buraya yapışdırın" - -msgid "IDS_MF_BODY_ALERTS" -msgstr "Siqnallar" - -msgid "IDS_MF_BODY_WALLPAPERS" -msgstr "Divar kağızları" - -msgid "IDS_MF_TAB_PHONE" -msgstr "Telefon" - -msgid "IDS_MF_BODY_IMAGES" -msgstr "Təsvirlər" - -msgid "IDS_MF_BODY_VIDEOS" -msgstr "Video" - -msgid "IDS_MF_BODY_SOUNDS" -msgstr "Səslər" - -msgid "IDS_MF_BODY_DOWNLOADS" -msgstr "Yükləmələr" - -msgid "IDS_MF_TAB_MEMORY_CARD" -msgstr "Yaddaş kartı" - -msgid "IDS_MF_TAB_EXTERNAL_STORAGE" -msgstr "Xarici yaddaş" - -msgid "IDS_MF_SK3_EDIT" -msgstr "Redaktə et" - -msgid "IDS_MF_SK3_DELETE" -msgstr "Sil" - -msgid "IDS_MF_SK3_MOVE" -msgstr "Apar" - -msgid "IDS_MF_BODY_UP" -msgstr "Yuxarı" - -msgid "IDS_MF_SK3_MOVE_HERE" -msgstr "Buraya keçin" - -msgid "IDS_MF_SK3_COPY" -msgstr "Köçür" - -msgid "IDS_MF_SK3_SORT_BY" -msgstr "Nizamla" - -msgid "IDS_MF_SK3_SEARCH" -msgstr "Axtar" - -msgid "IDS_MF_SK3_MORE" -msgstr "Daha çox" - -msgid "IDS_MF_OPT_CREATE_FOLDER" -msgstr "Qovluq yarat" - -msgid "IDS_MF_BODY_FOLDER_NAME" -msgstr "Qovluğun adı" - -msgid "IDS_MF_BODY_ACCESS_MORE_MY_ALBUM" -msgstr "Mənim albomum" - -msgid "IDS_MF_OPT_VIEW_AS" -msgstr "...kimi nəzərdən keçir" - -msgid "IDS_MF_SK3_BACK" -msgstr "Geriyə" - -msgid "IDS_MF_BODY_MY_VIDEO_CLIPS" -msgstr "Mənim səsli kliplərim" - -msgid "IDS_MF_BODY_RIGHT_STATUS" -msgstr "Düzgün status" - -msgid "IDS_MF_BODY_VENDOR" -msgstr "Tədarükçü" - -msgid "IDS_MF_HEADER_COUNT" -msgstr "Say" - -msgid "IDS_MF_BODY_CONTAINS" -msgstr "Tərkibi" - -msgid "IDS_MF_BODY_INDIVIDUAL" -msgstr "Fərdi" - -msgid "IDS_MF_BODY_INTERVAL" -msgstr "İnterval" - -msgid "IDS_MF_BODY_RENAME_ABB" -msgstr "Ad.dyş" - -msgid "IDS_MF_BODY_TIME" -msgstr "Vaxt" - -msgid "IDS_MF_BODY_TIMED_COUNT" -msgstr "Məhdud say" - -msgid "IDS_MF_BODY_TYPE" -msgstr "Tip" - -msgid "IDS_MF_BODY_UNLIMITED" -msgstr "Limitsiz" - -msgid "IDS_MF_BUTTON_REPLACE_ABB" -msgstr "Əvəz et" - -msgid "IDS_MF_OPT_CALLER_RINGTONE" -msgstr "Zəng egənin zəng tonu" - -msgid "IDS_MF_OPT_LISTBY_NAME" -msgstr "Ad" - -msgid "IDS_MF_POP_COPIED" -msgstr "Surəti saxlanıldı" - -msgid "IDS_MF_POP_NOTHING_SELECTED" -msgstr "He nə seçilməmişdir" - -msgid "IDS_MF_POP_NOT_ENOUGH_HEAP_MEMORY" -msgstr "Hip yaddaşda kifayət qədər yer yoxdur" - -msgid "IDS_MF_POP_NOT_ENOUGH_MEMORY_DELETE_SOME_ITEMS" -msgstr "Yaddaş kifayət etmir. Xahiş olunur bəzi elementləri silin" - -msgid "IDS_MF_BODY_CREATED_DATE" -msgstr "Yaradılmış tarix" - -msgid "IDS_MF_BODY_GPS_INFORMATION" -msgstr "GPS məlumatı" - -msgid "IDS_MF_BODY_GPS_LATITUDE" -msgstr "GPS en dairəsi" - -msgid "IDS_MF_BODY_GPS_LONGITUDE" -msgstr "GPS uzunluq dairəsi" - -msgid "IDS_MF_BODY_GPS_VERSION" -msgstr "GPS versiyası" - -msgid "IDS_MF_SK_DETAILS" -msgstr "Təfsilatlar" - -msgid "IDS_MF_BODY_ANY" -msgstr "Hər hansı" - -msgid "IDS_MF_BODY_AVAILABLE_USES" -msgstr "İstifadəsi mümkün olanlar" - -msgid "IDS_MF_BODY_EXECUTE" -msgstr "İcra et" - -msgid "IDS_MF_BODY_FORWARDING" -msgstr "Göndərilir" - -msgid "IDS_MF_BODY_IMPOSSIBLE" -msgstr "Mümkün deyil" - -msgid "IDS_MF_BODY_MMC_DATA_IS_INITIALIZING_ING" -msgstr "MMC məlumatı başladılır..." - -msgid "IDS_MF_BODY_POSSIBLE" -msgstr "Mümkündür" - -msgid "IDS_MF_BODY_PRINT" -msgstr "Çap et" - -msgid "IDS_MF_BODY_VALIDITY" -msgstr "Etibarlılıq" - -msgid "IDS_MF_HEADER_NEW_FOLDER" -msgstr "Yeni qovluq" - -msgid "IDS_MF_OPT_EDIT" -msgstr "Redaktə et" - -msgid "IDS_MF_OPT_LIST_BY" -msgstr "Sıralama qaydası" - -msgid "IDS_MF_OPT_MOVE_HERE" -msgstr "Buraya keç" - -msgid "IDS_MF_POP_CONTINUE" -msgstr "Davam et" - -msgid "IDS_MF_POP_COPYING" -msgstr "Köçürülmə..." - -msgid "IDS_MF_POP_PASTE_HERE" -msgstr "Buraya yapışdır" - -msgid "IDS_MF_POP_UNSUPPORTED_FILE_TYPE" -msgstr "Dəstəklənməyən fayl tipi" - -msgid "IDS_MF_OPT_DETAIL_VIEW" -msgstr "Təfərrüat görünüşü" - -msgid "IDS_MF_POP_ASCENDING" -msgstr "Çoxalan" - -msgid "IDS_MF_POP_DESCENDING" -msgstr "Azalan" - -msgid "IDS_MF_TAB_ALL" -msgstr "Hamısını" - -msgid "IDS_MF_BODY_UP_M_BACK" -msgstr "Yuxarı" - -msgid "IDS_MF_BUTTON_SEARCH_ALL_FOLDERS" -msgstr "Bütün qovluqları axtar" - -msgid "IDS_MF_OPT_THUMBNAIL_VIEW" -msgstr "Miniatür görüntüsü" - -msgid "IDS_MF_OPT_SHOW_FILE_EXTENSION" -msgstr "Fayl genişlənməsini göstər" - -msgid "IDS_MF_OPT_SORT_BY" -msgstr "Sıralama qaydası" - -msgid "IDS_MF_BODY_LIST_AND_DETAILS_ABB" -msgstr "Siyahı və təfərrüatlar" - -msgid "IDS_MF_OPT_HIDE_FILE_EXTENSION_ABB" -msgstr "Fayl uzantısını gizlət" - -msgid "IDS_MF_OPT_NAME_HA_TO_Z" -msgstr "Ad (A-dan Z-yə)" - -msgid "IDS_MF_OPT_NAME_HZ_TO_A" -msgstr "Ad (Z-dən A-ya)" - -msgid "IDS_MF_OPT_DATE_HMOST_RECENT" -msgstr "Tarix (Ən son)" - -msgid "IDS_MF_OPT_DATE_HOLDEST" -msgstr "Tarix (Ən köhnə)" - -msgid "IDS_MF_BUTTON_GO_TO_MY_FILES" -msgstr "Fayllarıma daxil ol" - -msgid "IDS_MF_BODY_RINGTONES" -msgstr "Zəng tonu" - -msgid "IDS_MF_BUTTON_EXPORT_HERE" -msgstr "Çıxış buradan" - -msgid "IDS_MF_POP_UNABLE_TO_SET_DRM_PROTECTED_CONTENT_AS_RINGTONE_OR_NOTIFICATION_ALERT" -msgstr "DRM ilə qorunan məzmunu zəng melodiyası və ya bildiriş xəbərdarlığı kimi qurmaq mümkün deyil" - diff --git a/data/po/bg.po b/data/po/bg.po deleted file mode 100644 index c642bef..0000000 --- a/data/po/bg.po +++ /dev/null @@ -1,318 +0,0 @@ -msgid "IDS_MF_TAB_UP" -msgstr "Нагоре" - -msgid "IDS_MF_BUTTON_HOME" -msgstr "Начало" - -msgid "IDS_MF_OPT_VIEW_BY_LIST" -msgstr "Изглед в списък" - -msgid "IDS_MF_OPT_VIEW_BY_THUMBNAIL" -msgstr "Изглед с миниатюри" - -msgid "IDS_MF_POP_DELETE_FAILED" -msgstr "Неуспешно изтриване" - -msgid "IDS_MF_POP_DRM_FILE_CANNOT_SEND" -msgstr "DRM файл. Не може да се изпрати" - -msgid "IDS_MF_POP_INVALID_FILE_NAME" -msgstr "Невалидно име на файл" - -msgid "IDS_MF_POP_MAXIMUM_FOLDER_REACHED" -msgstr "Максималният брой папки достигнат" - -msgid "IDS_MF_POP_PERMISSION_DENIED" -msgstr "Отказано разрешение" - -msgid "IDS_MF_POP_SEND_FAILED" -msgstr "Неуспешно изпращане" - -msgid "IDS_MF_POP_THE_DESTINATION_FOLDER_IS_A_SUBFOLDER_OF_THE_SOURCE_FOLDER" -msgstr "Папката – назначение е подпапка на папката - източник" - -msgid "IDS_MF_POP_THIS_FILE_DOES_NOT_EXIST" -msgstr "Файлът не съществува" - -msgid "IDS_MF_POP_UNABLE_TO_COPY" -msgstr "Не може да се копира" - -msgid "IDS_MF_POP_UNABLE_TO_MOVE" -msgstr "Не може да се премести" - -msgid "IDS_MF_BODY_NOT_ENOUGH_MEMORY_IN_PHONE_MEMORY_DELETE_SOME_ITEMS_AND_TRY_AGAIN" -msgstr "Няма достатъчно памет в паметта на телефона. Изтрийте някои елементи и опитайте отново" - -msgid "IDS_MF_POP_COPYING_FAILED" -msgstr "Копиране неуспешно" - -msgid "IDS_MF_POP_MOVING_FAILED" -msgstr "Неуспешно преместване" - -msgid "IDS_MF_POP_NOT_ENOUGH_MEMORY_PS_AVAILABLE" -msgstr "Няма достатъчно памет. %s свободни" - -msgid "IDS_MF_POP_SAME_NAME_ALREADY_IN_USE" -msgstr "Такова име вече се използва" - -msgid "IDS_MF_POP_UNABLE_TO_MOVE_DESTINATION_FOLDER_SAME_AS_SOURCE_FOLDER" -msgstr "Не може да се премести. Папката – назначение е същата като папката - източник" - -msgid "IDS_MF_SK3_CREATE_FOLDER" -msgstr "Създай папка" - -msgid "IDS_MF_SK3_PASTE_HERE" -msgstr "Постави тук" - -msgid "IDS_MF_BODY_ALERTS" -msgstr "Автоматичен запис" - -msgid "IDS_MF_BODY_WALLPAPERS" -msgstr "Тапети" - -msgid "IDS_MF_TAB_PHONE" -msgstr "Телефон" - -msgid "IDS_MF_BODY_IMAGES" -msgstr "Изображения" - -msgid "IDS_MF_BODY_VIDEOS" -msgstr "Видеоклипове" - -msgid "IDS_MF_BODY_SOUNDS" -msgstr "Звуци" - -msgid "IDS_MF_BODY_DOWNLOADS" -msgstr "Изтеглени файлове" - -msgid "IDS_MF_TAB_MEMORY_CARD" -msgstr "Карта с памет" - -msgid "IDS_MF_TAB_EXTERNAL_STORAGE" -msgstr "Външна памет за съхр." - -msgid "IDS_MF_SK3_EDIT" -msgstr "Редактиране" - -msgid "IDS_MF_SK3_DELETE" -msgstr "Изтрий" - -msgid "IDS_MF_SK3_MOVE" -msgstr "Мести" - -msgid "IDS_MF_BODY_UP" -msgstr "Нагоре" - -msgid "IDS_MF_SK3_MOVE_HERE" -msgstr "Преместване тук" - -msgid "IDS_MF_SK3_COPY" -msgstr "Копирай" - -msgid "IDS_MF_SK3_SORT_BY" -msgstr "Сортирай по" - -msgid "IDS_MF_SK3_SEARCH" -msgstr "Търсене" - -msgid "IDS_MF_SK3_MORE" -msgstr "Още" - -msgid "IDS_MF_OPT_CREATE_FOLDER" -msgstr "Създаване на папка" - -msgid "IDS_MF_BODY_FOLDER_NAME" -msgstr "Име на папка" - -msgid "IDS_MF_BODY_ACCESS_MORE_MY_ALBUM" -msgstr "Моят албум" - -msgid "IDS_MF_OPT_VIEW_AS" -msgstr "Виж като" - -msgid "IDS_MF_SK3_BACK" -msgstr "НАЗАД" - -msgid "IDS_MF_BODY_MY_VIDEO_CLIPS" -msgstr "Моите видеоклипове" - -msgid "IDS_MF_BODY_RIGHT_STATUS" -msgstr "Състояние на правата" - -msgid "IDS_MF_BODY_VENDOR" -msgstr "Доставчик" - -msgid "IDS_MF_HEADER_COUNT" -msgstr "Броене" - -msgid "IDS_MF_BODY_CONTAINS" -msgstr "Съдържа" - -msgid "IDS_MF_BODY_INDIVIDUAL" -msgstr "Индивидуален" - -msgid "IDS_MF_BODY_INTERVAL" -msgstr "Интервал" - -msgid "IDS_MF_BODY_RENAME_ABB" -msgstr "Преим." - -msgid "IDS_MF_BODY_TIME" -msgstr "Час" - -msgid "IDS_MF_BODY_TIMED_COUNT" -msgstr "Отброяване по време" - -msgid "IDS_MF_BODY_TYPE" -msgstr "Тип" - -msgid "IDS_MF_BODY_UNLIMITED" -msgstr "Неограничен" - -msgid "IDS_MF_BUTTON_REPLACE_ABB" -msgstr "Замени" - -msgid "IDS_MF_OPT_CALLER_RINGTONE" -msgstr "Тон за звънене за повикващ" - -msgid "IDS_MF_OPT_LISTBY_NAME" -msgstr "Име" - -msgid "IDS_MF_POP_COPIED" -msgstr "Копирано" - -msgid "IDS_MF_POP_NOTHING_SELECTED" -msgstr "Нищо не е избрано" - -msgid "IDS_MF_POP_NOT_ENOUGH_HEAP_MEMORY" -msgstr "Няма достатъчно динамична памет" - -msgid "IDS_MF_POP_NOT_ENOUGH_MEMORY_DELETE_SOME_ITEMS" -msgstr "Няма достатъчно памет. Изтрийте някои елементи" - -msgid "IDS_MF_BODY_CREATED_DATE" -msgstr "Дата на създаване" - -msgid "IDS_MF_BODY_GPS_INFORMATION" -msgstr "Данни от GPS" - -msgid "IDS_MF_BODY_GPS_LATITUDE" -msgstr "Географска ширина от GPS" - -msgid "IDS_MF_BODY_GPS_LONGITUDE" -msgstr "Географска дължина от GPS" - -msgid "IDS_MF_BODY_GPS_VERSION" -msgstr "GPS версия" - -msgid "IDS_MF_SK_DETAILS" -msgstr "Детайли" - -msgid "IDS_MF_BODY_ANY" -msgstr "Всеки" - -msgid "IDS_MF_BODY_AVAILABLE_USES" -msgstr "Налични употреби" - -msgid "IDS_MF_BODY_EXECUTE" -msgstr "Изпълни" - -msgid "IDS_MF_BODY_FORWARDING" -msgstr "Препращане" - -msgid "IDS_MF_BODY_IMPOSSIBLE" -msgstr "Невъзможно" - -msgid "IDS_MF_BODY_MMC_DATA_IS_INITIALIZING_ING" -msgstr "MMC данните се инициализират..." - -msgid "IDS_MF_BODY_POSSIBLE" -msgstr "Lъзможно" - -msgid "IDS_MF_BODY_PRINT" -msgstr "Отпечатаване" - -msgid "IDS_MF_BODY_VALIDITY" -msgstr "Валидност" - -msgid "IDS_MF_HEADER_NEW_FOLDER" -msgstr "Ръчно" - -msgid "IDS_MF_OPT_EDIT" -msgstr "Редактиране" - -msgid "IDS_MF_OPT_LIST_BY" -msgstr "Подреждане по" - -msgid "IDS_MF_OPT_MOVE_HERE" -msgstr "Преместване тук" - -msgid "IDS_MF_POP_CONTINUE" -msgstr "Продължи" - -msgid "IDS_MF_POP_COPYING" -msgstr "Копиране..." - -msgid "IDS_MF_POP_PASTE_HERE" -msgstr "Постави тук" - -msgid "IDS_MF_POP_UNSUPPORTED_FILE_TYPE" -msgstr "Неподдържан тип файл" - -msgid "IDS_MF_OPT_DETAIL_VIEW" -msgstr "Подробен изглед" - -msgid "IDS_MF_POP_ASCENDING" -msgstr "Във възходящ ред" - -msgid "IDS_MF_POP_DESCENDING" -msgstr "В низходящ ред" - -msgid "IDS_MF_TAB_ALL" -msgstr "Всички" - -msgid "IDS_MF_BODY_UP_M_BACK" -msgstr "Нагоре" - -msgid "IDS_MF_BUTTON_SEARCH_ALL_FOLDERS" -msgstr "Търс. във всички папки" - -msgid "IDS_MF_OPT_THUMBNAIL_VIEW" -msgstr "Екран миниатюри" - -msgid "IDS_MF_OPT_SHOW_FILE_EXTENSION" -msgstr "Покажи разширението на файл" - -msgid "IDS_MF_OPT_SORT_BY" -msgstr "Сортиране по" - -msgid "IDS_MF_BODY_LIST_AND_DETAILS_ABB" -msgstr "Списък и подробни данни" - -msgid "IDS_MF_OPT_HIDE_FILE_EXTENSION_ABB" -msgstr "Скрий разшир. на файл" - -msgid "IDS_MF_OPT_NAME_HA_TO_Z" -msgstr "Име (A до Я)" - -msgid "IDS_MF_OPT_NAME_HZ_TO_A" -msgstr "Име (Я до А)" - -msgid "IDS_MF_OPT_DATE_HMOST_RECENT" -msgstr "Дата (най-нови)" - -msgid "IDS_MF_OPT_DATE_HOLDEST" -msgstr "Дата (най-стари)" - -msgid "IDS_MF_BUTTON_GO_TO_MY_FILES" -msgstr "Отиди Моите файлове" - -msgid "IDS_MF_BODY_RINGTONES" -msgstr "Мелодии" - -msgid "IDS_MF_BUTTON_EXPORT_HERE" -msgstr "Експортиране тук" - -msgid "IDS_MF_POP_UNABLE_TO_SET_DRM_PROTECTED_CONTENT_AS_RINGTONE_OR_NOTIFICATION_ALERT" -msgstr "Защитеното с DRM съдържание не може да се задава като тон на звънене или предупреждение за уведомяване" - diff --git a/data/po/ca.po b/data/po/ca.po deleted file mode 100644 index 2ca2d04..0000000 --- a/data/po/ca.po +++ /dev/null @@ -1,318 +0,0 @@ -msgid "IDS_MF_TAB_UP" -msgstr "Amunt" - -msgid "IDS_MF_BUTTON_HOME" -msgstr "Pers." - -msgid "IDS_MF_OPT_VIEW_BY_LIST" -msgstr "Veure per llista" - -msgid "IDS_MF_OPT_VIEW_BY_THUMBNAIL" -msgstr "Veure per miniatura" - -msgid "IDS_MF_POP_DELETE_FAILED" -msgstr "Error en esborrar" - -msgid "IDS_MF_POP_DRM_FILE_CANNOT_SEND" -msgstr "Arxiu DRM. No es pot enviar" - -msgid "IDS_MF_POP_INVALID_FILE_NAME" -msgstr "Nom de fitxer no vàlid" - -msgid "IDS_MF_POP_MAXIMUM_FOLDER_REACHED" -msgstr "S'ha assolit el nombre màxim de carpetes" - -msgid "IDS_MF_POP_PERMISSION_DENIED" -msgstr "Permís denegat" - -msgid "IDS_MF_POP_SEND_FAILED" -msgstr "Error en enviar" - -msgid "IDS_MF_POP_THE_DESTINATION_FOLDER_IS_A_SUBFOLDER_OF_THE_SOURCE_FOLDER" -msgstr "La carpeta de destinació és una subcarpeta de la d'origen" - -msgid "IDS_MF_POP_THIS_FILE_DOES_NOT_EXIST" -msgstr "Aquest fitxer no existeix" - -msgid "IDS_MF_POP_UNABLE_TO_COPY" -msgstr "No es pot copiar" - -msgid "IDS_MF_POP_UNABLE_TO_MOVE" -msgstr "No es pot moure" - -msgid "IDS_MF_BODY_NOT_ENOUGH_MEMORY_IN_PHONE_MEMORY_DELETE_SOME_ITEMS_AND_TRY_AGAIN" -msgstr "No hi ha prou espai a la memòria del telèfon. Esborri'n alguns elements i torni-ho a intentar" - -msgid "IDS_MF_POP_COPYING_FAILED" -msgstr "Error en copiar" - -msgid "IDS_MF_POP_MOVING_FAILED" -msgstr "Error en moure" - -msgid "IDS_MF_POP_NOT_ENOUGH_MEMORY_PS_AVAILABLE" -msgstr "No hi ha prou memòria. %s disponible" - -msgid "IDS_MF_POP_SAME_NAME_ALREADY_IN_USE" -msgstr "El mateix nom ja està en ús" - -msgid "IDS_MF_POP_UNABLE_TO_MOVE_DESTINATION_FOLDER_SAME_AS_SOURCE_FOLDER" -msgstr "No es pot moure. La carpeta de destinació és la mateixa que la d'origen" - -msgid "IDS_MF_SK3_CREATE_FOLDER" -msgstr "Crear carpeta" - -msgid "IDS_MF_SK3_PASTE_HERE" -msgstr "Enganxar aquí" - -msgid "IDS_MF_BODY_ALERTS" -msgstr "Avisos" - -msgid "IDS_MF_BODY_WALLPAPERS" -msgstr "Fons de pantalla" - -msgid "IDS_MF_TAB_PHONE" -msgstr "Telèfon" - -msgid "IDS_MF_BODY_IMAGES" -msgstr "Imatges" - -msgid "IDS_MF_BODY_VIDEOS" -msgstr "Vídeos" - -msgid "IDS_MF_BODY_SOUNDS" -msgstr "Sons" - -msgid "IDS_MF_BODY_DOWNLOADS" -msgstr "Descàrregues" - -msgid "IDS_MF_TAB_MEMORY_CARD" -msgstr "Targeta memòria" - -msgid "IDS_MF_TAB_EXTERNAL_STORAGE" -msgstr "Emmagatzematge extern" - -msgid "IDS_MF_SK3_EDIT" -msgstr "Editar" - -msgid "IDS_MF_SK3_DELETE" -msgstr "Esborrar" - -msgid "IDS_MF_SK3_MOVE" -msgstr "Moure" - -msgid "IDS_MF_BODY_UP" -msgstr "Amunt" - -msgid "IDS_MF_SK3_MOVE_HERE" -msgstr "Moure aquí" - -msgid "IDS_MF_SK3_COPY" -msgstr "Copiar" - -msgid "IDS_MF_SK3_SORT_BY" -msgstr "Ordenar per" - -msgid "IDS_MF_SK3_SEARCH" -msgstr "Cercar" - -msgid "IDS_MF_SK3_MORE" -msgstr "Més" - -msgid "IDS_MF_OPT_CREATE_FOLDER" -msgstr "Crear carpeta" - -msgid "IDS_MF_BODY_FOLDER_NAME" -msgstr "Nom carpeta" - -msgid "IDS_MF_BODY_ACCESS_MORE_MY_ALBUM" -msgstr "El meu àlbum" - -msgid "IDS_MF_OPT_VIEW_AS" -msgstr "Veure com a" - -msgid "IDS_MF_SK3_BACK" -msgstr "Enrere" - -msgid "IDS_MF_BODY_MY_VIDEO_CLIPS" -msgstr "Els meus videoclips" - -msgid "IDS_MF_BODY_RIGHT_STATUS" -msgstr "Estat correcte" - -msgid "IDS_MF_BODY_VENDOR" -msgstr "Proveïdor" - -msgid "IDS_MF_HEADER_COUNT" -msgstr "Comptatge" - -msgid "IDS_MF_BODY_CONTAINS" -msgstr "Conté" - -msgid "IDS_MF_BODY_INDIVIDUAL" -msgstr "Individual" - -msgid "IDS_MF_BODY_INTERVAL" -msgstr "Interval" - -msgid "IDS_MF_BODY_RENAME_ABB" -msgstr "Reanom" - -msgid "IDS_MF_BODY_TIME" -msgstr "Hora" - -msgid "IDS_MF_BODY_TIMED_COUNT" -msgstr "Compte contrarellotge" - -msgid "IDS_MF_BODY_TYPE" -msgstr "Tipus" - -msgid "IDS_MF_BODY_UNLIMITED" -msgstr "Il·limitat" - -msgid "IDS_MF_BUTTON_REPLACE_ABB" -msgstr "Substit" - -msgid "IDS_MF_OPT_CALLER_RINGTONE" -msgstr "Melodia de la persona que truca" - -msgid "IDS_MF_OPT_LISTBY_NAME" -msgstr "Nom" - -msgid "IDS_MF_POP_COPIED" -msgstr "Copiat" - -msgid "IDS_MF_POP_NOTHING_SELECTED" -msgstr "No s'ha seleccionat res" - -msgid "IDS_MF_POP_NOT_ENOUGH_HEAP_MEMORY" -msgstr "No hi ha prou memòria dinàmica" - -msgid "IDS_MF_POP_NOT_ENOUGH_MEMORY_DELETE_SOME_ITEMS" -msgstr "No hi ha prou memòria. Esborrar-ne alguns elements" - -msgid "IDS_MF_BODY_CREATED_DATE" -msgstr "Data de creació" - -msgid "IDS_MF_BODY_GPS_INFORMATION" -msgstr "Informació de GPS" - -msgid "IDS_MF_BODY_GPS_LATITUDE" -msgstr "Latitud GPS" - -msgid "IDS_MF_BODY_GPS_LONGITUDE" -msgstr "Longitud GPS" - -msgid "IDS_MF_BODY_GPS_VERSION" -msgstr "Versió GPS" - -msgid "IDS_MF_SK_DETAILS" -msgstr "Detalls" - -msgid "IDS_MF_BODY_ANY" -msgstr "Qualsevol" - -msgid "IDS_MF_BODY_AVAILABLE_USES" -msgstr "Usos disponibles" - -msgid "IDS_MF_BODY_EXECUTE" -msgstr "Executar" - -msgid "IDS_MF_BODY_FORWARDING" -msgstr "Reenviant" - -msgid "IDS_MF_BODY_IMPOSSIBLE" -msgstr "No és possible" - -msgid "IDS_MF_BODY_MMC_DATA_IS_INITIALIZING_ING" -msgstr "S'estan inicialitzant les dades MMC..." - -msgid "IDS_MF_BODY_POSSIBLE" -msgstr "Possible" - -msgid "IDS_MF_BODY_PRINT" -msgstr "Imprimir" - -msgid "IDS_MF_BODY_VALIDITY" -msgstr "Validesa" - -msgid "IDS_MF_HEADER_NEW_FOLDER" -msgstr "Carpeta nova" - -msgid "IDS_MF_OPT_EDIT" -msgstr "Editar" - -msgid "IDS_MF_OPT_LIST_BY" -msgstr "Llistar per" - -msgid "IDS_MF_OPT_MOVE_HERE" -msgstr "Moure aquí" - -msgid "IDS_MF_POP_CONTINUE" -msgstr "Continuar" - -msgid "IDS_MF_POP_COPYING" -msgstr "Copiant..." - -msgid "IDS_MF_POP_PASTE_HERE" -msgstr "Enganxar aquí" - -msgid "IDS_MF_POP_UNSUPPORTED_FILE_TYPE" -msgstr "No s'admet el tipus de fitxer" - -msgid "IDS_MF_OPT_DETAIL_VIEW" -msgstr "Vista de detall" - -msgid "IDS_MF_POP_ASCENDING" -msgstr "Ascendent" - -msgid "IDS_MF_POP_DESCENDING" -msgstr "Descendent" - -msgid "IDS_MF_TAB_ALL" -msgstr "Tot" - -msgid "IDS_MF_BODY_UP_M_BACK" -msgstr "Amunt" - -msgid "IDS_MF_BUTTON_SEARCH_ALL_FOLDERS" -msgstr "Cercar totes les carp." - -msgid "IDS_MF_OPT_THUMBNAIL_VIEW" -msgstr "Vista de miniatura" - -msgid "IDS_MF_OPT_SHOW_FILE_EXTENSION" -msgstr "Mostrar extensió de fitxer" - -msgid "IDS_MF_OPT_SORT_BY" -msgstr "Ordenar per" - -msgid "IDS_MF_BODY_LIST_AND_DETAILS_ABB" -msgstr "Llista i detalls" - -msgid "IDS_MF_OPT_HIDE_FILE_EXTENSION_ABB" -msgstr "Ocultar exten fitxer" - -msgid "IDS_MF_OPT_NAME_HA_TO_Z" -msgstr "Nom (A a Z)" - -msgid "IDS_MF_OPT_NAME_HZ_TO_A" -msgstr "Nom (Z a A)" - -msgid "IDS_MF_OPT_DATE_HMOST_RECENT" -msgstr "Data (més recents)" - -msgid "IDS_MF_OPT_DATE_HOLDEST" -msgstr "Data (més antics)" - -msgid "IDS_MF_BUTTON_GO_TO_MY_FILES" -msgstr "Anar a Els meus fitxers" - -msgid "IDS_MF_BODY_RINGTONES" -msgstr "Melodies" - -msgid "IDS_MF_BUTTON_EXPORT_HERE" -msgstr "Exportar aquí" - -msgid "IDS_MF_POP_UNABLE_TO_SET_DRM_PROTECTED_CONTENT_AS_RINGTONE_OR_NOTIFICATION_ALERT" -msgstr "No es pot definir contingut protegit per DRM com a melodia o avís de notificació" - diff --git a/data/po/cs.po b/data/po/cs.po deleted file mode 100644 index d6eb8c8..0000000 --- a/data/po/cs.po +++ /dev/null @@ -1,318 +0,0 @@ -msgid "IDS_MF_TAB_UP" -msgstr "Nahoru" - -msgid "IDS_MF_BUTTON_HOME" -msgstr "Domů" - -msgid "IDS_MF_OPT_VIEW_BY_LIST" -msgstr "Zobrazit podle seznamu" - -msgid "IDS_MF_OPT_VIEW_BY_THUMBNAIL" -msgstr "Zobrazit podle miniatur" - -msgid "IDS_MF_POP_DELETE_FAILED" -msgstr "Odstranění se nezdařilo" - -msgid "IDS_MF_POP_DRM_FILE_CANNOT_SEND" -msgstr "Soubor DRM. Nelze odeslat" - -msgid "IDS_MF_POP_INVALID_FILE_NAME" -msgstr "Neplatný název souboru" - -msgid "IDS_MF_POP_MAXIMUM_FOLDER_REACHED" -msgstr "Bylo dosaženo maximálního počtu složek" - -msgid "IDS_MF_POP_PERMISSION_DENIED" -msgstr "Povolení bylo odepřeno" - -msgid "IDS_MF_POP_SEND_FAILED" -msgstr "Chyba odeslání" - -msgid "IDS_MF_POP_THE_DESTINATION_FOLDER_IS_A_SUBFOLDER_OF_THE_SOURCE_FOLDER" -msgstr "Cílová složka je podsložkou zdrojové složky" - -msgid "IDS_MF_POP_THIS_FILE_DOES_NOT_EXIST" -msgstr "Soubor neexistuje" - -msgid "IDS_MF_POP_UNABLE_TO_COPY" -msgstr "Nelze zkopírovat" - -msgid "IDS_MF_POP_UNABLE_TO_MOVE" -msgstr "Nelze přesunout" - -msgid "IDS_MF_BODY_NOT_ENOUGH_MEMORY_IN_PHONE_MEMORY_DELETE_SOME_ITEMS_AND_TRY_AGAIN" -msgstr "Nedostatek paměti v paměti telefonu. Odstraňte některé položky a opakujte akci" - -msgid "IDS_MF_POP_COPYING_FAILED" -msgstr "Kopírování se nezdařilo" - -msgid "IDS_MF_POP_MOVING_FAILED" -msgstr "Přesunutí se nezdařilo" - -msgid "IDS_MF_POP_NOT_ENOUGH_MEMORY_PS_AVAILABLE" -msgstr "Nedostatek paměti. Zbývá: %s" - -msgid "IDS_MF_POP_SAME_NAME_ALREADY_IN_USE" -msgstr "Stejný název je již použit" - -msgid "IDS_MF_POP_UNABLE_TO_MOVE_DESTINATION_FOLDER_SAME_AS_SOURCE_FOLDER" -msgstr "Nelze přesunout. Cílová složka je shodná se zdrojovou složkou" - -msgid "IDS_MF_SK3_CREATE_FOLDER" -msgstr "Vytvořit složku" - -msgid "IDS_MF_SK3_PASTE_HERE" -msgstr "Vložit sem" - -msgid "IDS_MF_BODY_ALERTS" -msgstr "Výstrahy" - -msgid "IDS_MF_BODY_WALLPAPERS" -msgstr "Pozadí" - -msgid "IDS_MF_TAB_PHONE" -msgstr "Telefon" - -msgid "IDS_MF_BODY_IMAGES" -msgstr "Obrázky" - -msgid "IDS_MF_BODY_VIDEOS" -msgstr "Videa" - -msgid "IDS_MF_BODY_SOUNDS" -msgstr "Zvuky" - -msgid "IDS_MF_BODY_DOWNLOADS" -msgstr "Stažené položky" - -msgid "IDS_MF_TAB_MEMORY_CARD" -msgstr "Paměťová karta" - -msgid "IDS_MF_TAB_EXTERNAL_STORAGE" -msgstr "Externí úložiště" - -msgid "IDS_MF_SK3_EDIT" -msgstr "Upravit" - -msgid "IDS_MF_SK3_DELETE" -msgstr "Odstranit" - -msgid "IDS_MF_SK3_MOVE" -msgstr "Přesun" - -msgid "IDS_MF_BODY_UP" -msgstr "Nahoru" - -msgid "IDS_MF_SK3_MOVE_HERE" -msgstr "Přesunout sem" - -msgid "IDS_MF_SK3_COPY" -msgstr "Kopírovat" - -msgid "IDS_MF_SK3_SORT_BY" -msgstr "Seřadit podle" - -msgid "IDS_MF_SK3_SEARCH" -msgstr "Hledat" - -msgid "IDS_MF_SK3_MORE" -msgstr "Další" - -msgid "IDS_MF_OPT_CREATE_FOLDER" -msgstr "Vytvořit složku" - -msgid "IDS_MF_BODY_FOLDER_NAME" -msgstr "Název složky" - -msgid "IDS_MF_BODY_ACCESS_MORE_MY_ALBUM" -msgstr "Moje album" - -msgid "IDS_MF_OPT_VIEW_AS" -msgstr "Zobrazit jako" - -msgid "IDS_MF_SK3_BACK" -msgstr "Zpět" - -msgid "IDS_MF_BODY_MY_VIDEO_CLIPS" -msgstr "Moje videoklipy" - -msgid "IDS_MF_BODY_RIGHT_STATUS" -msgstr "Stav práv" - -msgid "IDS_MF_BODY_VENDOR" -msgstr "Dodavatel" - -msgid "IDS_MF_HEADER_COUNT" -msgstr "Počet" - -msgid "IDS_MF_BODY_CONTAINS" -msgstr "Obsahuje" - -msgid "IDS_MF_BODY_INDIVIDUAL" -msgstr "Individuální" - -msgid "IDS_MF_BODY_INTERVAL" -msgstr "Interval" - -msgid "IDS_MF_BODY_RENAME_ABB" -msgstr "Přejm." - -msgid "IDS_MF_BODY_TIME" -msgstr "Čas" - -msgid "IDS_MF_BODY_TIMED_COUNT" -msgstr "Násobek času" - -msgid "IDS_MF_BODY_TYPE" -msgstr "Typ" - -msgid "IDS_MF_BODY_UNLIMITED" -msgstr "Neomezeno" - -msgid "IDS_MF_BUTTON_REPLACE_ABB" -msgstr "Nahradit" - -msgid "IDS_MF_OPT_CALLER_RINGTONE" -msgstr "Zvonění volajícího" - -msgid "IDS_MF_OPT_LISTBY_NAME" -msgstr "Jméno" - -msgid "IDS_MF_POP_COPIED" -msgstr "Zkopírováno" - -msgid "IDS_MF_POP_NOTHING_SELECTED" -msgstr "Není nic vybráno" - -msgid "IDS_MF_POP_NOT_ENOUGH_HEAP_MEMORY" -msgstr "Nedostatek zásobníkové paměti" - -msgid "IDS_MF_POP_NOT_ENOUGH_MEMORY_DELETE_SOME_ITEMS" -msgstr "Nedostatek paměti. Odstraňte některé položky" - -msgid "IDS_MF_BODY_CREATED_DATE" -msgstr "Datum vytvoření" - -msgid "IDS_MF_BODY_GPS_INFORMATION" -msgstr "Informace GPS" - -msgid "IDS_MF_BODY_GPS_LATITUDE" -msgstr "Zeměpisná šířka GPS" - -msgid "IDS_MF_BODY_GPS_LONGITUDE" -msgstr "Zeměpisná délka GPS" - -msgid "IDS_MF_BODY_GPS_VERSION" -msgstr "Verze GPS" - -msgid "IDS_MF_SK_DETAILS" -msgstr "Podrobnosti" - -msgid "IDS_MF_BODY_ANY" -msgstr "Vše" - -msgid "IDS_MF_BODY_AVAILABLE_USES" -msgstr "Počet použití k dispozici" - -msgid "IDS_MF_BODY_EXECUTE" -msgstr "Provést" - -msgid "IDS_MF_BODY_FORWARDING" -msgstr "Předání" - -msgid "IDS_MF_BODY_IMPOSSIBLE" -msgstr "Nemožné" - -msgid "IDS_MF_BODY_MMC_DATA_IS_INITIALIZING_ING" -msgstr "Probíhá inicializace dat MMC..." - -msgid "IDS_MF_BODY_POSSIBLE" -msgstr "Možné" - -msgid "IDS_MF_BODY_PRINT" -msgstr "Tisk" - -msgid "IDS_MF_BODY_VALIDITY" -msgstr "Platnost" - -msgid "IDS_MF_HEADER_NEW_FOLDER" -msgstr "Nová složka" - -msgid "IDS_MF_OPT_EDIT" -msgstr "Upravit" - -msgid "IDS_MF_OPT_LIST_BY" -msgstr "Seřadit podle" - -msgid "IDS_MF_OPT_MOVE_HERE" -msgstr "Přesunout sem" - -msgid "IDS_MF_POP_CONTINUE" -msgstr "Pokračovat" - -msgid "IDS_MF_POP_COPYING" -msgstr "Kopírování..." - -msgid "IDS_MF_POP_PASTE_HERE" -msgstr "Vložit sem" - -msgid "IDS_MF_POP_UNSUPPORTED_FILE_TYPE" -msgstr "Nepodporovaný typ souboru" - -msgid "IDS_MF_OPT_DETAIL_VIEW" -msgstr "Podrobnosti" - -msgid "IDS_MF_POP_ASCENDING" -msgstr "Vzestupně" - -msgid "IDS_MF_POP_DESCENDING" -msgstr "Sestupně" - -msgid "IDS_MF_TAB_ALL" -msgstr "Vše" - -msgid "IDS_MF_BODY_UP_M_BACK" -msgstr "Nahoru" - -msgid "IDS_MF_BUTTON_SEARCH_ALL_FOLDERS" -msgstr "Hledat ve všech složk." - -msgid "IDS_MF_OPT_THUMBNAIL_VIEW" -msgstr "Zobrazení miniatur" - -msgid "IDS_MF_OPT_SHOW_FILE_EXTENSION" -msgstr "Zobrazit příponu souborů" - -msgid "IDS_MF_OPT_SORT_BY" -msgstr "Seřadit podle" - -msgid "IDS_MF_BODY_LIST_AND_DETAILS_ABB" -msgstr "Seznam a detaily" - -msgid "IDS_MF_OPT_HIDE_FILE_EXTENSION_ABB" -msgstr "Skrýt příponu souborů" - -msgid "IDS_MF_OPT_NAME_HA_TO_Z" -msgstr "Název (od A do Z)" - -msgid "IDS_MF_OPT_NAME_HZ_TO_A" -msgstr "Název (od Z do A)" - -msgid "IDS_MF_OPT_DATE_HMOST_RECENT" -msgstr "Datum (nejnovější)" - -msgid "IDS_MF_OPT_DATE_HOLDEST" -msgstr "Datum (nejstarší)" - -msgid "IDS_MF_BUTTON_GO_TO_MY_FILES" -msgstr "Jít do Moje soubory" - -msgid "IDS_MF_BODY_RINGTONES" -msgstr "Zvonění" - -msgid "IDS_MF_BUTTON_EXPORT_HERE" -msgstr "Exportovat sem" - -msgid "IDS_MF_POP_UNABLE_TO_SET_DRM_PROTECTED_CONTENT_AS_RINGTONE_OR_NOTIFICATION_ALERT" -msgstr "Obsah chráněný DRM není možné nastavit jako vyzváněcí tón nebo upozornění" - diff --git a/data/po/da.po b/data/po/da.po deleted file mode 100644 index 0160efa..0000000 --- a/data/po/da.po +++ /dev/null @@ -1,318 +0,0 @@ -msgid "IDS_MF_TAB_UP" -msgstr "Op" - -msgid "IDS_MF_BUTTON_HOME" -msgstr "Hjem" - -msgid "IDS_MF_OPT_VIEW_BY_LIST" -msgstr "Vis efter liste" - -msgid "IDS_MF_OPT_VIEW_BY_THUMBNAIL" -msgstr "Vis efter miniature" - -msgid "IDS_MF_POP_DELETE_FAILED" -msgstr "Sletning mislykkedes" - -msgid "IDS_MF_POP_DRM_FILE_CANNOT_SEND" -msgstr "DRM-fil. Kan ikke sende" - -msgid "IDS_MF_POP_INVALID_FILE_NAME" -msgstr "Ugyldigt filnavn" - -msgid "IDS_MF_POP_MAXIMUM_FOLDER_REACHED" -msgstr "Det maksimale antal mapper er nået" - -msgid "IDS_MF_POP_PERMISSION_DENIED" -msgstr "Tilladelse afslået" - -msgid "IDS_MF_POP_SEND_FAILED" -msgstr "Afsendelsen mislykkedes" - -msgid "IDS_MF_POP_THE_DESTINATION_FOLDER_IS_A_SUBFOLDER_OF_THE_SOURCE_FOLDER" -msgstr "Destinationsmappen er en undermappe til kildemappen" - -msgid "IDS_MF_POP_THIS_FILE_DOES_NOT_EXIST" -msgstr "Fil findes ikke" - -msgid "IDS_MF_POP_UNABLE_TO_COPY" -msgstr "Kunne ikke kopiere" - -msgid "IDS_MF_POP_UNABLE_TO_MOVE" -msgstr "Kunne ikke flytte" - -msgid "IDS_MF_BODY_NOT_ENOUGH_MEMORY_IN_PHONE_MEMORY_DELETE_SOME_ITEMS_AND_TRY_AGAIN" -msgstr "Ikke tilstrækkelig telefonhukommelse. Slet nogle elementer, og prøv igen" - -msgid "IDS_MF_POP_COPYING_FAILED" -msgstr "Kopiering mislykkedes" - -msgid "IDS_MF_POP_MOVING_FAILED" -msgstr "Flytning mislykkedes" - -msgid "IDS_MF_POP_NOT_ENOUGH_MEMORY_PS_AVAILABLE" -msgstr "Ikke tilstrækkelig hukommelse. %s er tilgængelig" - -msgid "IDS_MF_POP_SAME_NAME_ALREADY_IN_USE" -msgstr "Det samme navn er allerede i brug" - -msgid "IDS_MF_POP_UNABLE_TO_MOVE_DESTINATION_FOLDER_SAME_AS_SOURCE_FOLDER" -msgstr "Kunne ikke flytte. Destinationsmappen er den samme som kildemappen" - -msgid "IDS_MF_SK3_CREATE_FOLDER" -msgstr "Opret mappe" - -msgid "IDS_MF_SK3_PASTE_HERE" -msgstr "Sæt ind her" - -msgid "IDS_MF_BODY_ALERTS" -msgstr "Advarsler" - -msgid "IDS_MF_BODY_WALLPAPERS" -msgstr "Baggrunde" - -msgid "IDS_MF_TAB_PHONE" -msgstr "Telefon" - -msgid "IDS_MF_BODY_IMAGES" -msgstr "Billeder" - -msgid "IDS_MF_BODY_VIDEOS" -msgstr "Videoklip" - -msgid "IDS_MF_BODY_SOUNDS" -msgstr "Lyde" - -msgid "IDS_MF_BODY_DOWNLOADS" -msgstr "Downloads" - -msgid "IDS_MF_TAB_MEMORY_CARD" -msgstr "Hukommelseskort" - -msgid "IDS_MF_TAB_EXTERNAL_STORAGE" -msgstr "Eksternt lager" - -msgid "IDS_MF_SK3_EDIT" -msgstr "Redigér" - -msgid "IDS_MF_SK3_DELETE" -msgstr "Slet" - -msgid "IDS_MF_SK3_MOVE" -msgstr "Flyt" - -msgid "IDS_MF_BODY_UP" -msgstr "Op" - -msgid "IDS_MF_SK3_MOVE_HERE" -msgstr "Flyt hertil" - -msgid "IDS_MF_SK3_COPY" -msgstr "Kopiér" - -msgid "IDS_MF_SK3_SORT_BY" -msgstr "Sortér efter" - -msgid "IDS_MF_SK3_SEARCH" -msgstr "Søg" - -msgid "IDS_MF_SK3_MORE" -msgstr "Mere" - -msgid "IDS_MF_OPT_CREATE_FOLDER" -msgstr "Opret mappe" - -msgid "IDS_MF_BODY_FOLDER_NAME" -msgstr "Mappenavn" - -msgid "IDS_MF_BODY_ACCESS_MORE_MY_ALBUM" -msgstr "Mit album" - -msgid "IDS_MF_OPT_VIEW_AS" -msgstr "Vis som" - -msgid "IDS_MF_SK3_BACK" -msgstr "Tilbage" - -msgid "IDS_MF_BODY_MY_VIDEO_CLIPS" -msgstr "Mine videoklip" - -msgid "IDS_MF_BODY_RIGHT_STATUS" -msgstr "Status for rettigheder" - -msgid "IDS_MF_BODY_VENDOR" -msgstr "Sælger" - -msgid "IDS_MF_HEADER_COUNT" -msgstr "Antal" - -msgid "IDS_MF_BODY_CONTAINS" -msgstr "Indeholder" - -msgid "IDS_MF_BODY_INDIVIDUAL" -msgstr "Individuel" - -msgid "IDS_MF_BODY_INTERVAL" -msgstr "Interval" - -msgid "IDS_MF_BODY_RENAME_ABB" -msgstr "Omdøb" - -msgid "IDS_MF_BODY_TIME" -msgstr "Tid" - -msgid "IDS_MF_BODY_TIMED_COUNT" -msgstr "Tidsforbrug" - -msgid "IDS_MF_BODY_TYPE" -msgstr "Type" - -msgid "IDS_MF_BODY_UNLIMITED" -msgstr "Ubegrænset" - -msgid "IDS_MF_BUTTON_REPLACE_ABB" -msgstr "Erstat" - -msgid "IDS_MF_OPT_CALLER_RINGTONE" -msgstr "Kontakt ringetone" - -msgid "IDS_MF_OPT_LISTBY_NAME" -msgstr "Navn" - -msgid "IDS_MF_POP_COPIED" -msgstr "Kopieret" - -msgid "IDS_MF_POP_NOTHING_SELECTED" -msgstr "Intet er valgt" - -msgid "IDS_MF_POP_NOT_ENOUGH_HEAP_MEMORY" -msgstr "Der er ikke tilstrækkelig heap-hukommelse" - -msgid "IDS_MF_POP_NOT_ENOUGH_MEMORY_DELETE_SOME_ITEMS" -msgstr "Der er ikke tilstrækkelig hukommelse. Slet nogle elementer" - -msgid "IDS_MF_BODY_CREATED_DATE" -msgstr "Oprettelsesdato" - -msgid "IDS_MF_BODY_GPS_INFORMATION" -msgstr "GPS-oplysninger" - -msgid "IDS_MF_BODY_GPS_LATITUDE" -msgstr "GPS-breddegrad" - -msgid "IDS_MF_BODY_GPS_LONGITUDE" -msgstr "GPS-længdegrad" - -msgid "IDS_MF_BODY_GPS_VERSION" -msgstr "GPS Version" - -msgid "IDS_MF_SK_DETAILS" -msgstr "Detaljer" - -msgid "IDS_MF_BODY_ANY" -msgstr "Vilkårlig" - -msgid "IDS_MF_BODY_AVAILABLE_USES" -msgstr "Gange tilbage" - -msgid "IDS_MF_BODY_EXECUTE" -msgstr "Udfør" - -msgid "IDS_MF_BODY_FORWARDING" -msgstr "Viderestiller" - -msgid "IDS_MF_BODY_IMPOSSIBLE" -msgstr "Ikke mulig" - -msgid "IDS_MF_BODY_MMC_DATA_IS_INITIALIZING_ING" -msgstr "MMC-data initialiserer..." - -msgid "IDS_MF_BODY_POSSIBLE" -msgstr "Muligt" - -msgid "IDS_MF_BODY_PRINT" -msgstr "Udskriv" - -msgid "IDS_MF_BODY_VALIDITY" -msgstr "Gyldighed" - -msgid "IDS_MF_HEADER_NEW_FOLDER" -msgstr "Ny mappe" - -msgid "IDS_MF_OPT_EDIT" -msgstr "Redigér" - -msgid "IDS_MF_OPT_LIST_BY" -msgstr "Sortér efter" - -msgid "IDS_MF_OPT_MOVE_HERE" -msgstr "Flyt hertil" - -msgid "IDS_MF_POP_CONTINUE" -msgstr "Fortsæt" - -msgid "IDS_MF_POP_COPYING" -msgstr "Kopierer ..." - -msgid "IDS_MF_POP_PASTE_HERE" -msgstr "Indsæt her" - -msgid "IDS_MF_POP_UNSUPPORTED_FILE_TYPE" -msgstr "Filtype understøttes ikke" - -msgid "IDS_MF_OPT_DETAIL_VIEW" -msgstr "Detaljeret visning" - -msgid "IDS_MF_POP_ASCENDING" -msgstr "Stigende" - -msgid "IDS_MF_POP_DESCENDING" -msgstr "Faldende" - -msgid "IDS_MF_TAB_ALL" -msgstr "Alle" - -msgid "IDS_MF_BODY_UP_M_BACK" -msgstr "Op" - -msgid "IDS_MF_BUTTON_SEARCH_ALL_FOLDERS" -msgstr "Søg i alle mapper" - -msgid "IDS_MF_OPT_THUMBNAIL_VIEW" -msgstr "Miniaturevisning" - -msgid "IDS_MF_OPT_SHOW_FILE_EXTENSION" -msgstr "Vis filtypenavn" - -msgid "IDS_MF_OPT_SORT_BY" -msgstr "Sortér efter" - -msgid "IDS_MF_BODY_LIST_AND_DETAILS_ABB" -msgstr "Liste og detaljer" - -msgid "IDS_MF_OPT_HIDE_FILE_EXTENSION_ABB" -msgstr "Skjul filtypenavn" - -msgid "IDS_MF_OPT_NAME_HA_TO_Z" -msgstr "Navn (A til Z)" - -msgid "IDS_MF_OPT_NAME_HZ_TO_A" -msgstr "Navn (Z til A)" - -msgid "IDS_MF_OPT_DATE_HMOST_RECENT" -msgstr "Dato (nyeste)" - -msgid "IDS_MF_OPT_DATE_HOLDEST" -msgstr "Dato (ældste)" - -msgid "IDS_MF_BUTTON_GO_TO_MY_FILES" -msgstr "Gå til Mine filer" - -msgid "IDS_MF_BODY_RINGTONES" -msgstr "Ringetoner" - -msgid "IDS_MF_BUTTON_EXPORT_HERE" -msgstr "Eksportér her" - -msgid "IDS_MF_POP_UNABLE_TO_SET_DRM_PROTECTED_CONTENT_AS_RINGTONE_OR_NOTIFICATION_ALERT" -msgstr "DRM-beskyttet indhold kunne ikke indstilles som ringetone eller meddelelsesalarm" - diff --git a/data/po/de_DE.po b/data/po/de_DE.po deleted file mode 100644 index 348cacf..0000000 --- a/data/po/de_DE.po +++ /dev/null @@ -1,318 +0,0 @@ -msgid "IDS_MF_TAB_UP" -msgstr "Hoch" - -msgid "IDS_MF_BUTTON_HOME" -msgstr "Home" - -msgid "IDS_MF_OPT_VIEW_BY_LIST" -msgstr "Nach Liste anzeigen" - -msgid "IDS_MF_OPT_VIEW_BY_THUMBNAIL" -msgstr "In Miniaturansicht anzeigen" - -msgid "IDS_MF_POP_DELETE_FAILED" -msgstr "Löschen fehlgeschlagen" - -msgid "IDS_MF_POP_DRM_FILE_CANNOT_SEND" -msgstr "DRM-Datei. Kann nicht gesendet werden" - -msgid "IDS_MF_POP_INVALID_FILE_NAME" -msgstr "Dateiname ungültig" - -msgid "IDS_MF_POP_MAXIMUM_FOLDER_REACHED" -msgstr "Maximale Ordneranzahl erreicht" - -msgid "IDS_MF_POP_PERMISSION_DENIED" -msgstr "Berechtigung abgelehnt" - -msgid "IDS_MF_POP_SEND_FAILED" -msgstr "Senden fehlgeschlagen" - -msgid "IDS_MF_POP_THE_DESTINATION_FOLDER_IS_A_SUBFOLDER_OF_THE_SOURCE_FOLDER" -msgstr "Der Zielordner ist ein Unterordner des Quellordners" - -msgid "IDS_MF_POP_THIS_FILE_DOES_NOT_EXIST" -msgstr "Datei nicht vorhanden" - -msgid "IDS_MF_POP_UNABLE_TO_COPY" -msgstr "Kopieren nicht möglich" - -msgid "IDS_MF_POP_UNABLE_TO_MOVE" -msgstr "Verschieben nicht möglich" - -msgid "IDS_MF_BODY_NOT_ENOUGH_MEMORY_IN_PHONE_MEMORY_DELETE_SOME_ITEMS_AND_TRY_AGAIN" -msgstr "Nicht genügend Platz im Telefonspeicher. Löschen Sie einige Elemente und versuchen Sie es erneut." - -msgid "IDS_MF_POP_COPYING_FAILED" -msgstr "Kopieren fehlgeschlagen" - -msgid "IDS_MF_POP_MOVING_FAILED" -msgstr "Verschieben fehlgeschlagen" - -msgid "IDS_MF_POP_NOT_ENOUGH_MEMORY_PS_AVAILABLE" -msgstr "Nicht genügend Speicher. %s verfügbar" - -msgid "IDS_MF_POP_SAME_NAME_ALREADY_IN_USE" -msgstr "Derselbe Name wird bereits verwendet" - -msgid "IDS_MF_POP_UNABLE_TO_MOVE_DESTINATION_FOLDER_SAME_AS_SOURCE_FOLDER" -msgstr "Verschieben nicht möglich. Ziel- und Quellordner sind gleich" - -msgid "IDS_MF_SK3_CREATE_FOLDER" -msgstr "Ordner erstellen" - -msgid "IDS_MF_SK3_PASTE_HERE" -msgstr "Hier einfügen" - -msgid "IDS_MF_BODY_ALERTS" -msgstr "Signale" - -msgid "IDS_MF_BODY_WALLPAPERS" -msgstr "Hintergrund" - -msgid "IDS_MF_TAB_PHONE" -msgstr "Telefon" - -msgid "IDS_MF_BODY_IMAGES" -msgstr "Eigene Bilder" - -msgid "IDS_MF_BODY_VIDEOS" -msgstr "Videos" - -msgid "IDS_MF_BODY_SOUNDS" -msgstr "Töne" - -msgid "IDS_MF_BODY_DOWNLOADS" -msgstr "Downloads" - -msgid "IDS_MF_TAB_MEMORY_CARD" -msgstr "Speicher-\nkarte" - -msgid "IDS_MF_TAB_EXTERNAL_STORAGE" -msgstr "Externer Speicher" - -msgid "IDS_MF_SK3_EDIT" -msgstr "Bearbeiten" - -msgid "IDS_MF_SK3_DELETE" -msgstr "Löschen" - -msgid "IDS_MF_SK3_MOVE" -msgstr "Verschieben" - -msgid "IDS_MF_BODY_UP" -msgstr "Hoch" - -msgid "IDS_MF_SK3_MOVE_HERE" -msgstr "Hierher verschieben" - -msgid "IDS_MF_SK3_COPY" -msgstr "Kopieren" - -msgid "IDS_MF_SK3_SORT_BY" -msgstr "Sortieren nach" - -msgid "IDS_MF_SK3_SEARCH" -msgstr "Suche" - -msgid "IDS_MF_SK3_MORE" -msgstr "Optionen" - -msgid "IDS_MF_OPT_CREATE_FOLDER" -msgstr "Ordner erstellen" - -msgid "IDS_MF_BODY_FOLDER_NAME" -msgstr "Ordnername" - -msgid "IDS_MF_BODY_ACCESS_MORE_MY_ALBUM" -msgstr "Eigenes Album" - -msgid "IDS_MF_OPT_VIEW_AS" -msgstr "Anzeigen als" - -msgid "IDS_MF_SK3_BACK" -msgstr "Zurück" - -msgid "IDS_MF_BODY_MY_VIDEO_CLIPS" -msgstr "Eigene Videos" - -msgid "IDS_MF_BODY_RIGHT_STATUS" -msgstr "Copyright-Status" - -msgid "IDS_MF_BODY_VENDOR" -msgstr "Anbieter" - -msgid "IDS_MF_HEADER_COUNT" -msgstr "Anzahl" - -msgid "IDS_MF_BODY_CONTAINS" -msgstr "Enthält" - -msgid "IDS_MF_BODY_INDIVIDUAL" -msgstr "Individuell" - -msgid "IDS_MF_BODY_INTERVAL" -msgstr "Intervall" - -msgid "IDS_MF_BODY_RENAME_ABB" -msgstr "Umben." - -msgid "IDS_MF_BODY_TIME" -msgstr "Zeit" - -msgid "IDS_MF_BODY_TIMED_COUNT" -msgstr "Zeitzählung" - -msgid "IDS_MF_BODY_TYPE" -msgstr "Typ" - -msgid "IDS_MF_BODY_UNLIMITED" -msgstr "Unbegrenzt" - -msgid "IDS_MF_BUTTON_REPLACE_ABB" -msgstr "Ersetzen" - -msgid "IDS_MF_OPT_CALLER_RINGTONE" -msgstr "Anruferklingelton" - -msgid "IDS_MF_OPT_LISTBY_NAME" -msgstr "Name" - -msgid "IDS_MF_POP_COPIED" -msgstr "Kopiert" - -msgid "IDS_MF_POP_NOTHING_SELECTED" -msgstr "Nichts ausgewählt" - -msgid "IDS_MF_POP_NOT_ENOUGH_HEAP_MEMORY" -msgstr "Nicht genügend dynamischer Speicher" - -msgid "IDS_MF_POP_NOT_ENOUGH_MEMORY_DELETE_SOME_ITEMS" -msgstr "Nicht genügend Speicher. Löschen Sie einige Elemente" - -msgid "IDS_MF_BODY_CREATED_DATE" -msgstr "Erstellungsdatum" - -msgid "IDS_MF_BODY_GPS_INFORMATION" -msgstr "GPS-Informationen" - -msgid "IDS_MF_BODY_GPS_LATITUDE" -msgstr "GPS-Breite" - -msgid "IDS_MF_BODY_GPS_LONGITUDE" -msgstr "GPS-Länge" - -msgid "IDS_MF_BODY_GPS_VERSION" -msgstr "GPS-Version" - -msgid "IDS_MF_SK_DETAILS" -msgstr "Details" - -msgid "IDS_MF_BODY_ANY" -msgstr "Jede" - -msgid "IDS_MF_BODY_AVAILABLE_USES" -msgstr "Verfügbare Nutzungen" - -msgid "IDS_MF_BODY_EXECUTE" -msgstr "Ausführen" - -msgid "IDS_MF_BODY_FORWARDING" -msgstr "Weiterleitung" - -msgid "IDS_MF_BODY_IMPOSSIBLE" -msgstr "Nicht möglich" - -msgid "IDS_MF_BODY_MMC_DATA_IS_INITIALIZING_ING" -msgstr "MMC-Daten werden initialisiert..." - -msgid "IDS_MF_BODY_POSSIBLE" -msgstr "Möglich" - -msgid "IDS_MF_BODY_PRINT" -msgstr "Drucken" - -msgid "IDS_MF_BODY_VALIDITY" -msgstr "Gültigkeit" - -msgid "IDS_MF_HEADER_NEW_FOLDER" -msgstr "Neuer Ordner" - -msgid "IDS_MF_OPT_EDIT" -msgstr "Bearbeiten" - -msgid "IDS_MF_OPT_LIST_BY" -msgstr "Sortieren" - -msgid "IDS_MF_OPT_MOVE_HERE" -msgstr "Hierher verschieben" - -msgid "IDS_MF_POP_CONTINUE" -msgstr "Weiter" - -msgid "IDS_MF_POP_COPYING" -msgstr "Wird kopiert..." - -msgid "IDS_MF_POP_PASTE_HERE" -msgstr "Hier einfügen" - -msgid "IDS_MF_POP_UNSUPPORTED_FILE_TYPE" -msgstr "Nicht unterstützter Dateityp" - -msgid "IDS_MF_OPT_DETAIL_VIEW" -msgstr "Detailansicht" - -msgid "IDS_MF_POP_ASCENDING" -msgstr "Aufsteigend" - -msgid "IDS_MF_POP_DESCENDING" -msgstr "Absteigend" - -msgid "IDS_MF_TAB_ALL" -msgstr "Alle" - -msgid "IDS_MF_BODY_UP_M_BACK" -msgstr "Hoch" - -msgid "IDS_MF_BUTTON_SEARCH_ALL_FOLDERS" -msgstr "Alle Ordner durchsuchen" - -msgid "IDS_MF_OPT_THUMBNAIL_VIEW" -msgstr "Miniaturansicht" - -msgid "IDS_MF_OPT_SHOW_FILE_EXTENSION" -msgstr "Dateierweiterung anzeigen" - -msgid "IDS_MF_OPT_SORT_BY" -msgstr "Sortieren nach" - -msgid "IDS_MF_BODY_LIST_AND_DETAILS_ABB" -msgstr "Liste und Details" - -msgid "IDS_MF_OPT_HIDE_FILE_EXTENSION_ABB" -msgstr "Dateierweit. ausbl." - -msgid "IDS_MF_OPT_NAME_HA_TO_Z" -msgstr "Name (A bis Z)" - -msgid "IDS_MF_OPT_NAME_HZ_TO_A" -msgstr "Name (Z bis A)" - -msgid "IDS_MF_OPT_DATE_HMOST_RECENT" -msgstr "Datum (neueste)" - -msgid "IDS_MF_OPT_DATE_HOLDEST" -msgstr "Datum (älteste)" - -msgid "IDS_MF_BUTTON_GO_TO_MY_FILES" -msgstr "Eigene Dateien öffnen" - -msgid "IDS_MF_BODY_RINGTONES" -msgstr "Klingeltöne" - -msgid "IDS_MF_BUTTON_EXPORT_HERE" -msgstr "Hier exportieren" - -msgid "IDS_MF_POP_UNABLE_TO_SET_DRM_PROTECTED_CONTENT_AS_RINGTONE_OR_NOTIFICATION_ALERT" -msgstr "DRM-geschützter Inhalt kann nicht als Klingelton oder Benachrichtigungston festgelegt werden." - diff --git a/data/po/el_GR.po b/data/po/el_GR.po deleted file mode 100644 index 737c103..0000000 --- a/data/po/el_GR.po +++ /dev/null @@ -1,317 +0,0 @@ -msgid "IDS_MF_TAB_UP" -msgstr "Πάνω" - -msgid "IDS_MF_BUTTON_HOME" -msgstr "Home" - -msgid "IDS_MF_OPT_VIEW_BY_LIST" -msgstr "Προβολή ανά λίστα" - -msgid "IDS_MF_OPT_VIEW_BY_THUMBNAIL" -msgstr "Προβολή μικρογραφιών" - -msgid "IDS_MF_POP_DELETE_FAILED" -msgstr "Αποτυχία διαγραφής" - -msgid "IDS_MF_POP_DRM_FILE_CANNOT_SEND" -msgstr "Αδύνατη αποστολή αρχείου DRM" - -msgid "IDS_MF_POP_INVALID_FILE_NAME" -msgstr "Μη έγκυρο όνομα αρχείου" - -msgid "IDS_MF_POP_MAXIMUM_FOLDER_REACHED" -msgstr "Μέγιστος" - -msgid "IDS_MF_POP_PERMISSION_DENIED" -msgstr "Δεν έχετε δικαίωμα πρόσβασης" - -msgid "IDS_MF_POP_SEND_FAILED" -msgstr "Αποτυχία αποστολής" - -msgid "IDS_MF_POP_THE_DESTINATION_FOLDER_IS_A_SUBFOLDER_OF_THE_SOURCE_FOLDER" -msgstr "Ο φάκελος προορισμού είναι υποφάκελος του φακέλου προέλευσης" - -msgid "IDS_MF_POP_THIS_FILE_DOES_NOT_EXIST" -msgstr "Δεν υπάρχει αρχείο" - -msgid "IDS_MF_POP_UNABLE_TO_COPY" -msgstr "Δεν είναι δυνατή η αντιγραφή" - -msgid "IDS_MF_POP_UNABLE_TO_MOVE" -msgstr "Δεν είναι δυνατή η μετακίνηση" - -msgid "IDS_MF_BODY_NOT_ENOUGH_MEMORY_IN_PHONE_MEMORY_DELETE_SOME_ITEMS_AND_TRY_AGAIN" -msgstr "Η μνήμη του τηλεφώνου δεν επαρκεί. Διαγράψτε ορισμένα στοιχεία και προσπαθήστε ξανά" - -msgid "IDS_MF_POP_COPYING_FAILED" -msgstr "Αποτυχία αντιγραφής" - -msgid "IDS_MF_POP_MOVING_FAILED" -msgstr "Αποτυχία μετακίνησης" - -msgid "IDS_MF_POP_NOT_ENOUGH_MEMORY_PS_AVAILABLE" -msgstr "Δεν υπάρχει αρκετή μνήμη. Το στοιχείο %s είναι διαθέσιμο" - -msgid "IDS_MF_POP_SAME_NAME_ALREADY_IN_USE" -msgstr "Το όνομα χρησιμοποιείται ήδη" - -msgid "IDS_MF_POP_UNABLE_TO_MOVE_DESTINATION_FOLDER_SAME_AS_SOURCE_FOLDER" -msgstr "Δεν είναι δυνατή η μετακίνηση. Ο φάκελος προορισμού είναι ο ίδιος με το φάκελο προέλευσης" - -msgid "IDS_MF_SK3_CREATE_FOLDER" -msgstr "Δημ/ργία φακέλου" - -msgid "IDS_MF_SK3_PASTE_HERE" -msgstr "Επικόλληση εδώ" - -msgid "IDS_MF_BODY_ALERTS" -msgstr "Ειδοποιήσεις" - -msgid "IDS_MF_BODY_WALLPAPERS" -msgstr "Θέματα φόντου" - -msgid "IDS_MF_TAB_PHONE" -msgstr "Τηλέφωνο" - -msgid "IDS_MF_BODY_IMAGES" -msgstr "Εικόνες" - -msgid "IDS_MF_BODY_VIDEOS" -msgstr "Βίντεο" - -msgid "IDS_MF_BODY_SOUNDS" -msgstr "Ήχοι" - -msgid "IDS_MF_BODY_DOWNLOADS" -msgstr "Λήψεις" - -msgid "IDS_MF_TAB_MEMORY_CARD" -msgstr "Κάρτα μνήμης" - -msgid "IDS_MF_TAB_EXTERNAL_STORAGE" -msgstr "Εξωτ. χώρος αποθήκ." - -msgid "IDS_MF_SK3_EDIT" -msgstr "Επεξεργ." - -msgid "IDS_MF_SK3_DELETE" -msgstr "Διαγραφή" - -msgid "IDS_MF_SK3_MOVE" -msgstr "Μετακίνηση" - -msgid "IDS_MF_BODY_UP" -msgstr "Πάνω" - -msgid "IDS_MF_SK3_MOVE_HERE" -msgstr "Μετακίνηση εδώ" - -msgid "IDS_MF_SK3_COPY" -msgstr "Αντιγραφή" - -msgid "IDS_MF_SK3_SORT_BY" -msgstr "Ταξινόμ. κατά" - -msgid "IDS_MF_SK3_SEARCH" -msgstr "Αναζήτηση" - -msgid "IDS_MF_SK3_MORE" -msgstr "Περισσότ." - -msgid "IDS_MF_OPT_CREATE_FOLDER" -msgstr "Δημ/ργία φακέλου" - -msgid "IDS_MF_BODY_FOLDER_NAME" -msgstr "Όνομα φακέλου" - -msgid "IDS_MF_BODY_ACCESS_MORE_MY_ALBUM" -msgstr "Το άλμπουμ μου" - -msgid "IDS_MF_OPT_VIEW_AS" -msgstr "Προβολή ως" - -msgid "IDS_MF_SK3_BACK" -msgstr "Πίσω" - -msgid "IDS_MF_BODY_MY_VIDEO_CLIPS" -msgstr "Τα βίντεο κλιπ μου" - -msgid "IDS_MF_BODY_RIGHT_STATUS" -msgstr "Κατάσταση δικαιώματος" - -msgid "IDS_MF_BODY_VENDOR" -msgstr "Προμηθευτής" - -msgid "IDS_MF_HEADER_COUNT" -msgstr "Πλήθος αρχείων" - -msgid "IDS_MF_BODY_CONTAINS" -msgstr "Περιέχει" - -msgid "IDS_MF_BODY_INDIVIDUAL" -msgstr "Μεμονωμένο" - -msgid "IDS_MF_BODY_INTERVAL" -msgstr "Διάστημα" - -msgid "IDS_MF_BODY_RENAME_ABB" -msgstr "Μετον." - -msgid "IDS_MF_BODY_TIME" -msgstr "Ώρα" - -msgid "IDS_MF_BODY_TIMED_COUNT" -msgstr "Χρονομετρημένη μέτρηση" - -msgid "IDS_MF_BODY_TYPE" -msgstr "Τύπος" - -msgid "IDS_MF_BODY_UNLIMITED" -msgstr "Απεριόριστες" - -msgid "IDS_MF_BUTTON_REPLACE_ABB" -msgstr "Αντικατ." - -msgid "IDS_MF_OPT_CALLER_RINGTONE" -msgstr "Ήχος κλήσης καλούντος" - -msgid "IDS_MF_OPT_LISTBY_NAME" -msgstr "Όνομα" - -msgid "IDS_MF_POP_COPIED" -msgstr "Αντιγράφηκε" - -msgid "IDS_MF_POP_NOTHING_SELECTED" -msgstr "Δεν έχει γίνει καμία επιλογή" - -msgid "IDS_MF_POP_NOT_ENOUGH_HEAP_MEMORY" -msgstr "Ο σωρός μνήμης δεν επαρκεί" - -msgid "IDS_MF_POP_NOT_ENOUGH_MEMORY_DELETE_SOME_ITEMS" -msgstr "Δεν υπάρχει αρκετή μνήμη. Διαγράψτε ορισμένα στοιχεία" - -msgid "IDS_MF_BODY_CREATED_DATE" -msgstr "Ημερομηνία δημιουργίας" - -msgid "IDS_MF_BODY_GPS_INFORMATION" -msgstr "Πληροφορίες GPS" - -msgid "IDS_MF_BODY_GPS_LATITUDE" -msgstr "Γεωγραφικό πλάτος GPS" - -msgid "IDS_MF_BODY_GPS_LONGITUDE" -msgstr "Γεωγραφικό μήκος GPS" - -msgid "IDS_MF_BODY_GPS_VERSION" -msgstr "Έκδοση GPS" - -msgid "IDS_MF_SK_DETAILS" -msgstr "Λεπτομ." - -msgid "IDS_MF_BODY_ANY" -msgstr "Οποιοδήποτε" - -msgid "IDS_MF_BODY_AVAILABLE_USES" -msgstr "Διαθέσιμες χρήσεις" - -msgid "IDS_MF_BODY_EXECUTE" -msgstr "Εκτέλεση" - -msgid "IDS_MF_BODY_FORWARDING" -msgstr "Προώθηση" - -msgid "IDS_MF_BODY_IMPOSSIBLE" -msgstr "Αδύνατο" - -msgid "IDS_MF_BODY_MMC_DATA_IS_INITIALIZING_ING" -msgstr "Προετοιμασία των δεδομένων MMC..." - -msgid "IDS_MF_BODY_POSSIBLE" -msgstr "Δυνατό" - -msgid "IDS_MF_BODY_PRINT" -msgstr "Εκτύπωση" - -msgid "IDS_MF_BODY_VALIDITY" -msgstr "Ισχύς" - -msgid "IDS_MF_HEADER_NEW_FOLDER" -msgstr "Νέος φάκελος" - -msgid "IDS_MF_OPT_EDIT" -msgstr "Επεξεργασία" - -msgid "IDS_MF_OPT_LIST_BY" -msgstr "Εμφάνιση ανά" - -msgid "IDS_MF_OPT_MOVE_HERE" -msgstr "Μετακίνηση εδώ" - -msgid "IDS_MF_POP_CONTINUE" -msgstr "Συνέχεια;" - -msgid "IDS_MF_POP_COPYING" -msgstr "Αντιγραφή..." - -msgid "IDS_MF_POP_PASTE_HERE" -msgstr "Επικόλληση εδώ" - -msgid "IDS_MF_POP_UNSUPPORTED_FILE_TYPE" -msgstr "Μη υποστηριζόμενος τύπος αρχείου" - -msgid "IDS_MF_OPT_DETAIL_VIEW" -msgstr "Προβολή λεπτομερειών" - -msgid "IDS_MF_POP_ASCENDING" -msgstr "Αύξουσα" - -msgid "IDS_MF_POP_DESCENDING" -msgstr "Φθίνουσα" - -msgid "IDS_MF_TAB_ALL" -msgstr "Όλα" - -msgid "IDS_MF_BODY_UP_M_BACK" -msgstr "Πάνω" - -msgid "IDS_MF_BUTTON_SEARCH_ALL_FOLDERS" -msgstr "Αναζ.σε όλους τους φακ." - -msgid "IDS_MF_OPT_THUMBNAIL_VIEW" -msgstr "Προβολή μικρογραφιών" - -msgid "IDS_MF_OPT_SHOW_FILE_EXTENSION" -msgstr "Προβολή επέκτασης αρχείου" - -msgid "IDS_MF_OPT_SORT_BY" -msgstr "Ταξινόμηση κατά" - -msgid "IDS_MF_BODY_LIST_AND_DETAILS_ABB" -msgstr "Λίστα και λεπτομέρειες" - -msgid "IDS_MF_OPT_HIDE_FILE_EXTENSION_ABB" -msgstr "Απόκρ. επέκτασης αρχ." - -msgid "IDS_MF_OPT_NAME_HA_TO_Z" -msgstr "Όνομα (Α προς Ω)" - -msgid "IDS_MF_OPT_NAME_HZ_TO_A" -msgstr "Όνομα (Ω προς Α)" - -msgid "IDS_MF_OPT_DATE_HMOST_RECENT" -msgstr "Ημερομηνία (Πιο πρόσφατο)" - -msgid "IDS_MF_OPT_DATE_HOLDEST" -msgstr "Ημερομηνία (Παλαιότερο)" - -msgid "IDS_MF_BUTTON_GO_TO_MY_FILES" -msgstr "Μετ. στα Αρχεία Μου" - -msgid "IDS_MF_BODY_RINGTONES" -msgstr "Ήχοι κλήσης" -msgid "IDS_MF_BUTTON_EXPORT_HERE" -msgstr "Εξαγωγή εδώ" - -msgid "IDS_MF_POP_UNABLE_TO_SET_DRM_PROTECTED_CONTENT_AS_RINGTONE_OR_NOTIFICATION_ALERT" -msgstr "Δεν είναι δυνατή η αποστολή περιεχομένου που προστατεύεται από DRM, ως ήχου κλήσης ή ειδοποίησης" - diff --git a/data/po/en.po b/data/po/en.po deleted file mode 100644 index 46b7e74..0000000 --- a/data/po/en.po +++ /dev/null @@ -1,318 +0,0 @@ -msgid "IDS_MF_TAB_UP" -msgstr "Up" - -msgid "IDS_MF_BUTTON_HOME" -msgstr "Home" - -msgid "IDS_MF_OPT_VIEW_BY_LIST" -msgstr "View by list" - -msgid "IDS_MF_OPT_VIEW_BY_THUMBNAIL" -msgstr "View by thumbnail" - -msgid "IDS_MF_POP_DELETE_FAILED" -msgstr "Delete failed" - -msgid "IDS_MF_POP_DRM_FILE_CANNOT_SEND" -msgstr "DRM file. Cannot send" - -msgid "IDS_MF_POP_INVALID_FILE_NAME" -msgstr "Invalid file name" - -msgid "IDS_MF_POP_MAXIMUM_FOLDER_REACHED" -msgstr "Maximum folder reached" - -msgid "IDS_MF_POP_PERMISSION_DENIED" -msgstr "Permission denied" - -msgid "IDS_MF_POP_SEND_FAILED" -msgstr "Send failed" - -msgid "IDS_MF_POP_THE_DESTINATION_FOLDER_IS_A_SUBFOLDER_OF_THE_SOURCE_FOLDER" -msgstr "The destination folder is a subfolder of the source folder" - -msgid "IDS_MF_POP_THIS_FILE_DOES_NOT_EXIST" -msgstr "This file does not exist" - -msgid "IDS_MF_POP_UNABLE_TO_COPY" -msgstr "Unable to copy" - -msgid "IDS_MF_POP_UNABLE_TO_MOVE" -msgstr "Unable to move" - -msgid "IDS_MF_BODY_NOT_ENOUGH_MEMORY_IN_PHONE_MEMORY_DELETE_SOME_ITEMS_AND_TRY_AGAIN" -msgstr "Not enough memory in phone memory. Delete some items and try again" - -msgid "IDS_MF_POP_COPYING_FAILED" -msgstr "Copying failed" - -msgid "IDS_MF_POP_MOVING_FAILED" -msgstr "Moving failed" - -msgid "IDS_MF_POP_NOT_ENOUGH_MEMORY_PS_AVAILABLE" -msgstr "Not enough memory. %s available" - -msgid "IDS_MF_POP_SAME_NAME_ALREADY_IN_USE" -msgstr "Same name already in use" - -msgid "IDS_MF_POP_UNABLE_TO_MOVE_DESTINATION_FOLDER_SAME_AS_SOURCE_FOLDER" -msgstr "Unable to move. Destination folder same as source folder" - -msgid "IDS_MF_SK3_CREATE_FOLDER" -msgstr "Create folder" - -msgid "IDS_MF_SK3_PASTE_HERE" -msgstr "Paste here" - -msgid "IDS_MF_BODY_ALERTS" -msgstr "Alerts" - -msgid "IDS_MF_BODY_WALLPAPERS" -msgstr "Wallpapers" - -msgid "IDS_MF_TAB_PHONE" -msgstr "Phone" - -msgid "IDS_MF_BODY_IMAGES" -msgstr "Images" - -msgid "IDS_MF_BODY_VIDEOS" -msgstr "Videos" - -msgid "IDS_MF_BODY_SOUNDS" -msgstr "Sounds" - -msgid "IDS_MF_BODY_DOWNLOADS" -msgstr "Downloads" - -msgid "IDS_MF_TAB_MEMORY_CARD" -msgstr "Memory card" - -msgid "IDS_MF_TAB_EXTERNAL_STORAGE" -msgstr "External storage" - -msgid "IDS_MF_SK3_EDIT" -msgstr "Edit" - -msgid "IDS_MF_SK3_DELETE" -msgstr "Delete" - -msgid "IDS_MF_SK3_MOVE" -msgstr "Move" - -msgid "IDS_MF_BODY_UP" -msgstr "Up" - -msgid "IDS_MF_SK3_MOVE_HERE" -msgstr "Move here" - -msgid "IDS_MF_SK3_COPY" -msgstr "Copy" - -msgid "IDS_MF_SK3_SORT_BY" -msgstr "Sort by" - -msgid "IDS_MF_SK3_SEARCH" -msgstr "Search" - -msgid "IDS_MF_SK3_MORE" -msgstr "More" - -msgid "IDS_MF_OPT_CREATE_FOLDER" -msgstr "Create folder" - -msgid "IDS_MF_BODY_FOLDER_NAME" -msgstr "Folder name" - -msgid "IDS_MF_BODY_ACCESS_MORE_MY_ALBUM" -msgstr "My album" - -msgid "IDS_MF_OPT_VIEW_AS" -msgstr "View as" - -msgid "IDS_MF_SK3_BACK" -msgstr "Back" - -msgid "IDS_MF_BODY_MY_VIDEO_CLIPS" -msgstr "My video clips" - -msgid "IDS_MF_BODY_RIGHT_STATUS" -msgstr "Right status" - -msgid "IDS_MF_BODY_VENDOR" -msgstr "Vendor" - -msgid "IDS_MF_HEADER_COUNT" -msgstr "Count" - -msgid "IDS_MF_BODY_CONTAINS" -msgstr "Contains" - -msgid "IDS_MF_BODY_INDIVIDUAL" -msgstr "Individual" - -msgid "IDS_MF_BODY_INTERVAL" -msgstr "Interval" - -msgid "IDS_MF_BODY_RENAME_ABB" -msgstr "Rename" - -msgid "IDS_MF_BODY_TIME" -msgstr "Time" - -msgid "IDS_MF_BODY_TIMED_COUNT" -msgstr "Timed count" - -msgid "IDS_MF_BODY_TYPE" -msgstr "Type" - -msgid "IDS_MF_BODY_UNLIMITED" -msgstr "Unlimited" - -msgid "IDS_MF_BUTTON_REPLACE_ABB" -msgstr "Replace" - -msgid "IDS_MF_OPT_CALLER_RINGTONE" -msgstr "Caller ringtone" - -msgid "IDS_MF_OPT_LISTBY_NAME" -msgstr "Name" - -msgid "IDS_MF_POP_COPIED" -msgstr "Copied" - -msgid "IDS_MF_POP_NOTHING_SELECTED" -msgstr "Nothing selected" - -msgid "IDS_MF_POP_NOT_ENOUGH_HEAP_MEMORY" -msgstr "Not enough heap memory" - -msgid "IDS_MF_POP_NOT_ENOUGH_MEMORY_DELETE_SOME_ITEMS" -msgstr "Not enough memory. Delete some items" - -msgid "IDS_MF_BODY_CREATED_DATE" -msgstr "Created date" - -msgid "IDS_MF_BODY_GPS_INFORMATION" -msgstr "GPS information" - -msgid "IDS_MF_BODY_GPS_LATITUDE" -msgstr "GPS latitude" - -msgid "IDS_MF_BODY_GPS_LONGITUDE" -msgstr "GPS longitude" - -msgid "IDS_MF_BODY_GPS_VERSION" -msgstr "GPS version" - -msgid "IDS_MF_SK_DETAILS" -msgstr "Details" - -msgid "IDS_MF_BODY_ANY" -msgstr "Any" - -msgid "IDS_MF_BODY_AVAILABLE_USES" -msgstr "Available uses" - -msgid "IDS_MF_BODY_EXECUTE" -msgstr "Execute" - -msgid "IDS_MF_BODY_FORWARDING" -msgstr "Forwarding" - -msgid "IDS_MF_BODY_IMPOSSIBLE" -msgstr "Impossible" - -msgid "IDS_MF_BODY_MMC_DATA_IS_INITIALIZING_ING" -msgstr "MMC data is initialising..." - -msgid "IDS_MF_BODY_POSSIBLE" -msgstr "Possible" - -msgid "IDS_MF_BODY_PRINT" -msgstr "Print" - -msgid "IDS_MF_BODY_VALIDITY" -msgstr "Validity" - -msgid "IDS_MF_HEADER_NEW_FOLDER" -msgstr "New folder" - -msgid "IDS_MF_OPT_EDIT" -msgstr "Edit" - -msgid "IDS_MF_OPT_LIST_BY" -msgstr "List by" - -msgid "IDS_MF_OPT_MOVE_HERE" -msgstr "Move here" - -msgid "IDS_MF_POP_CONTINUE" -msgstr "Continue" - -msgid "IDS_MF_POP_COPYING" -msgstr "Copying..." - -msgid "IDS_MF_POP_PASTE_HERE" -msgstr "Paste here" - -msgid "IDS_MF_POP_UNSUPPORTED_FILE_TYPE" -msgstr "Unsupported file type" - -msgid "IDS_MF_OPT_DETAIL_VIEW" -msgstr "Detail view" - -msgid "IDS_MF_POP_ASCENDING" -msgstr "Ascending" - -msgid "IDS_MF_POP_DESCENDING" -msgstr "Descending" - -msgid "IDS_MF_TAB_ALL" -msgstr "All" - -msgid "IDS_MF_BODY_UP_M_BACK" -msgstr "Up" - -msgid "IDS_MF_BUTTON_SEARCH_ALL_FOLDERS" -msgstr "Search all folders" - -msgid "IDS_MF_OPT_THUMBNAIL_VIEW" -msgstr "Thumbnail view" - -msgid "IDS_MF_OPT_SHOW_FILE_EXTENSION" -msgstr "Show file extension" - -msgid "IDS_MF_OPT_SORT_BY" -msgstr "Sort by" - -msgid "IDS_MF_BODY_LIST_AND_DETAILS_ABB" -msgstr "List and details" - -msgid "IDS_MF_OPT_HIDE_FILE_EXTENSION_ABB" -msgstr "Hide file extension" - -msgid "IDS_MF_OPT_NAME_HA_TO_Z" -msgstr "Name (A to Z)" - -msgid "IDS_MF_OPT_NAME_HZ_TO_A" -msgstr "Name (Z to A)" - -msgid "IDS_MF_OPT_DATE_HMOST_RECENT" -msgstr "Date (most recent)" - -msgid "IDS_MF_OPT_DATE_HOLDEST" -msgstr "Date (oldest)" - -msgid "IDS_MF_BUTTON_GO_TO_MY_FILES" -msgstr "Go to My Files" - -msgid "IDS_MF_BODY_RINGTONES" -msgstr "Ringtones" - -msgid "IDS_MF_BUTTON_EXPORT_HERE" -msgstr "Export here" - -msgid "IDS_MF_POP_UNABLE_TO_SET_DRM_PROTECTED_CONTENT_AS_RINGTONE_OR_NOTIFICATION_ALERT" -msgstr "Unable to set DRM protected content as ringtone or notification alert" - diff --git a/data/po/en_PH.po b/data/po/en_PH.po deleted file mode 100644 index db6a617..0000000 --- a/data/po/en_PH.po +++ /dev/null @@ -1,318 +0,0 @@ -msgid "IDS_MF_TAB_UP" -msgstr "Up" - -msgid "IDS_MF_BUTTON_HOME" -msgstr "Home" - -msgid "IDS_MF_OPT_VIEW_BY_LIST" -msgstr "View by list" - -msgid "IDS_MF_OPT_VIEW_BY_THUMBNAIL" -msgstr "View by thumbnail" - -msgid "IDS_MF_POP_DELETE_FAILED" -msgstr "Delete failed" - -msgid "IDS_MF_POP_DRM_FILE_CANNOT_SEND" -msgstr "DRM file. Cannot send" - -msgid "IDS_MF_POP_INVALID_FILE_NAME" -msgstr "Invalid file name" - -msgid "IDS_MF_POP_MAXIMUM_FOLDER_REACHED" -msgstr "Maximum folder reached" - -msgid "IDS_MF_POP_PERMISSION_DENIED" -msgstr "Permission denied" - -msgid "IDS_MF_POP_SEND_FAILED" -msgstr "Send failed" - -msgid "IDS_MF_POP_THE_DESTINATION_FOLDER_IS_A_SUBFOLDER_OF_THE_SOURCE_FOLDER" -msgstr "The destination folder is a subfolder of the source folder" - -msgid "IDS_MF_POP_THIS_FILE_DOES_NOT_EXIST" -msgstr "This file does not exist" - -msgid "IDS_MF_POP_UNABLE_TO_COPY" -msgstr "Unable to copy" - -msgid "IDS_MF_POP_UNABLE_TO_MOVE" -msgstr "Unable to move" - -msgid "IDS_MF_BODY_NOT_ENOUGH_MEMORY_IN_PHONE_MEMORY_DELETE_SOME_ITEMS_AND_TRY_AGAIN" -msgstr "Not enough memory in phone memory. Delete some items and try again" - -msgid "IDS_MF_POP_COPYING_FAILED" -msgstr "Copying failed" - -msgid "IDS_MF_POP_MOVING_FAILED" -msgstr "Moving failed" - -msgid "IDS_MF_POP_NOT_ENOUGH_MEMORY_PS_AVAILABLE" -msgstr "Not enough memory. %s available" - -msgid "IDS_MF_POP_SAME_NAME_ALREADY_IN_USE" -msgstr "Same name already in use" - -msgid "IDS_MF_POP_UNABLE_TO_MOVE_DESTINATION_FOLDER_SAME_AS_SOURCE_FOLDER" -msgstr "Unable to move. Destination folder same as source folder" - -msgid "IDS_MF_SK3_CREATE_FOLDER" -msgstr "Create folder" - -msgid "IDS_MF_SK3_PASTE_HERE" -msgstr "Paste here" - -msgid "IDS_MF_BODY_ALERTS" -msgstr "Alerts" - -msgid "IDS_MF_BODY_WALLPAPERS" -msgstr "Wallpapers" - -msgid "IDS_MF_TAB_PHONE" -msgstr "Phone" - -msgid "IDS_MF_BODY_IMAGES" -msgstr "Images" - -msgid "IDS_MF_BODY_VIDEOS" -msgstr "Videos" - -msgid "IDS_MF_BODY_SOUNDS" -msgstr "Sounds" - -msgid "IDS_MF_BODY_DOWNLOADS" -msgstr "Downloads" - -msgid "IDS_MF_TAB_MEMORY_CARD" -msgstr "Memory card" - -msgid "IDS_MF_TAB_EXTERNAL_STORAGE" -msgstr "External storage" - -msgid "IDS_MF_SK3_EDIT" -msgstr "Edit" - -msgid "IDS_MF_SK3_DELETE" -msgstr "Delete" - -msgid "IDS_MF_SK3_MOVE" -msgstr "Move" - -msgid "IDS_MF_BODY_UP" -msgstr "Up" - -msgid "IDS_MF_SK3_MOVE_HERE" -msgstr "Move here" - -msgid "IDS_MF_SK3_COPY" -msgstr "Copy" - -msgid "IDS_MF_SK3_SORT_BY" -msgstr "Sort by" - -msgid "IDS_MF_SK3_SEARCH" -msgstr "Search" - -msgid "IDS_MF_SK3_MORE" -msgstr "More" - -msgid "IDS_MF_OPT_CREATE_FOLDER" -msgstr "Create folder" - -msgid "IDS_MF_BODY_FOLDER_NAME" -msgstr "Folder name" - -msgid "IDS_MF_BODY_ACCESS_MORE_MY_ALBUM" -msgstr "My album" - -msgid "IDS_MF_OPT_VIEW_AS" -msgstr "View as" - -msgid "IDS_MF_SK3_BACK" -msgstr "Back" - -msgid "IDS_MF_BODY_MY_VIDEO_CLIPS" -msgstr "My video clips" - -msgid "IDS_MF_BODY_RIGHT_STATUS" -msgstr "Right status" - -msgid "IDS_MF_BODY_VENDOR" -msgstr "Vendor" - -msgid "IDS_MF_HEADER_COUNT" -msgstr "Count" - -msgid "IDS_MF_BODY_CONTAINS" -msgstr "Contains" - -msgid "IDS_MF_BODY_INDIVIDUAL" -msgstr "Individual" - -msgid "IDS_MF_BODY_INTERVAL" -msgstr "Interval" - -msgid "IDS_MF_BODY_RENAME_ABB" -msgstr "Rename" - -msgid "IDS_MF_BODY_TIME" -msgstr "Time" - -msgid "IDS_MF_BODY_TIMED_COUNT" -msgstr "Timed count" - -msgid "IDS_MF_BODY_TYPE" -msgstr "Type" - -msgid "IDS_MF_BODY_UNLIMITED" -msgstr "Unlimited" - -msgid "IDS_MF_BUTTON_REPLACE_ABB" -msgstr "Replace" - -msgid "IDS_MF_OPT_CALLER_RINGTONE" -msgstr "Caller ringtone" - -msgid "IDS_MF_OPT_LISTBY_NAME" -msgstr "Name" - -msgid "IDS_MF_POP_COPIED" -msgstr "Copied" - -msgid "IDS_MF_POP_NOTHING_SELECTED" -msgstr "Nothing selected" - -msgid "IDS_MF_POP_NOT_ENOUGH_HEAP_MEMORY" -msgstr "Not enough heap memory" - -msgid "IDS_MF_POP_NOT_ENOUGH_MEMORY_DELETE_SOME_ITEMS" -msgstr "Not enough memory. Delete some items" - -msgid "IDS_MF_BODY_CREATED_DATE" -msgstr "Created date" - -msgid "IDS_MF_BODY_GPS_INFORMATION" -msgstr "GPS information" - -msgid "IDS_MF_BODY_GPS_LATITUDE" -msgstr "GPS latitude" - -msgid "IDS_MF_BODY_GPS_LONGITUDE" -msgstr "GPS longitude" - -msgid "IDS_MF_BODY_GPS_VERSION" -msgstr "GPS version" - -msgid "IDS_MF_SK_DETAILS" -msgstr "Details" - -msgid "IDS_MF_BODY_ANY" -msgstr "Any" - -msgid "IDS_MF_BODY_AVAILABLE_USES" -msgstr "Available uses" - -msgid "IDS_MF_BODY_EXECUTE" -msgstr "Execute" - -msgid "IDS_MF_BODY_FORWARDING" -msgstr "Forwarding" - -msgid "IDS_MF_BODY_IMPOSSIBLE" -msgstr "Impossible" - -msgid "IDS_MF_BODY_MMC_DATA_IS_INITIALIZING_ING" -msgstr "MMC data is initializing…" - -msgid "IDS_MF_BODY_POSSIBLE" -msgstr "Possible" - -msgid "IDS_MF_BODY_PRINT" -msgstr "Print" - -msgid "IDS_MF_BODY_VALIDITY" -msgstr "Validity" - -msgid "IDS_MF_HEADER_NEW_FOLDER" -msgstr "New folder" - -msgid "IDS_MF_OPT_EDIT" -msgstr "Edit" - -msgid "IDS_MF_OPT_LIST_BY" -msgstr "List by" - -msgid "IDS_MF_OPT_MOVE_HERE" -msgstr "Move here" - -msgid "IDS_MF_POP_CONTINUE" -msgstr "Continue" - -msgid "IDS_MF_POP_COPYING" -msgstr "Copying..." - -msgid "IDS_MF_POP_PASTE_HERE" -msgstr "Paste here" - -msgid "IDS_MF_POP_UNSUPPORTED_FILE_TYPE" -msgstr "Unsupported file type" - -msgid "IDS_MF_OPT_DETAIL_VIEW" -msgstr "Detail view" - -msgid "IDS_MF_POP_ASCENDING" -msgstr "Ascending" - -msgid "IDS_MF_POP_DESCENDING" -msgstr "Descending" - -msgid "IDS_MF_TAB_ALL" -msgstr "All" - -msgid "IDS_MF_BODY_UP_M_BACK" -msgstr "Up" - -msgid "IDS_MF_BUTTON_SEARCH_ALL_FOLDERS" -msgstr "Search all folders" - -msgid "IDS_MF_OPT_THUMBNAIL_VIEW" -msgstr "Thumbnail view" - -msgid "IDS_MF_OPT_SHOW_FILE_EXTENSION" -msgstr "Show file extension" - -msgid "IDS_MF_OPT_SORT_BY" -msgstr "Sort by" - -msgid "IDS_MF_BODY_LIST_AND_DETAILS_ABB" -msgstr "List and details" - -msgid "IDS_MF_OPT_HIDE_FILE_EXTENSION_ABB" -msgstr "Hide file extension" - -msgid "IDS_MF_OPT_NAME_HA_TO_Z" -msgstr "Name (A to Z)" - -msgid "IDS_MF_OPT_NAME_HZ_TO_A" -msgstr "Name (Z to A)" - -msgid "IDS_MF_OPT_DATE_HMOST_RECENT" -msgstr "Date (Most recent)" - -msgid "IDS_MF_OPT_DATE_HOLDEST" -msgstr "Date (Oldest)" - -msgid "IDS_MF_BUTTON_GO_TO_MY_FILES" -msgstr "Go to My Files" - -msgid "IDS_MF_BODY_RINGTONES" -msgstr "Ringtones" - -msgid "IDS_MF_BUTTON_EXPORT_HERE" -msgstr "Export here" - -msgid "IDS_MF_POP_UNABLE_TO_SET_DRM_PROTECTED_CONTENT_AS_RINGTONE_OR_NOTIFICATION_ALERT" -msgstr "Unable to set DRM protected content as ringtone or notification alert" - diff --git a/data/po/en_US.po b/data/po/en_US.po deleted file mode 100644 index 0b051b7..0000000 --- a/data/po/en_US.po +++ /dev/null @@ -1,318 +0,0 @@ -msgid "IDS_MF_TAB_UP" -msgstr "Up" - -msgid "IDS_MF_BUTTON_HOME" -msgstr "Home" - -msgid "IDS_MF_OPT_VIEW_BY_LIST" -msgstr "View by list" - -msgid "IDS_MF_OPT_VIEW_BY_THUMBNAIL" -msgstr "View by thumbnail" - -msgid "IDS_MF_POP_DELETE_FAILED" -msgstr "Delete failed" - -msgid "IDS_MF_POP_DRM_FILE_CANNOT_SEND" -msgstr "DRM file. Cannot send." - -msgid "IDS_MF_POP_INVALID_FILE_NAME" -msgstr "Invalid file name" - -msgid "IDS_MF_POP_MAXIMUM_FOLDER_REACHED" -msgstr "Maximum folder reached" - -msgid "IDS_MF_POP_PERMISSION_DENIED" -msgstr "Permission denied" - -msgid "IDS_MF_POP_SEND_FAILED" -msgstr "Send failed" - -msgid "IDS_MF_POP_THE_DESTINATION_FOLDER_IS_A_SUBFOLDER_OF_THE_SOURCE_FOLDER" -msgstr "The destination folder is a subfolder of the source folder" - -msgid "IDS_MF_POP_THIS_FILE_DOES_NOT_EXIST" -msgstr "This file does not exist" - -msgid "IDS_MF_POP_UNABLE_TO_COPY" -msgstr "Unable to copy" - -msgid "IDS_MF_POP_UNABLE_TO_MOVE" -msgstr "Unable to move" - -msgid "IDS_MF_BODY_NOT_ENOUGH_MEMORY_IN_PHONE_MEMORY_DELETE_SOME_ITEMS_AND_TRY_AGAIN" -msgstr "Not enough memory in phone memory. Delete some items and try again." - -msgid "IDS_MF_POP_COPYING_FAILED" -msgstr "Copying failed" - -msgid "IDS_MF_POP_MOVING_FAILED" -msgstr "Moving failed" - -msgid "IDS_MF_POP_NOT_ENOUGH_MEMORY_PS_AVAILABLE" -msgstr "Not enough memory. %s available." - -msgid "IDS_MF_POP_SAME_NAME_ALREADY_IN_USE" -msgstr "Same name already in use" - -msgid "IDS_MF_POP_UNABLE_TO_MOVE_DESTINATION_FOLDER_SAME_AS_SOURCE_FOLDER" -msgstr "Unable to move. Destination folder same as source folder." - -msgid "IDS_MF_SK3_CREATE_FOLDER" -msgstr "Create folder" - -msgid "IDS_MF_SK3_PASTE_HERE" -msgstr "Paste here" - -msgid "IDS_MF_BODY_ALERTS" -msgstr "Alerts" - -msgid "IDS_MF_BODY_WALLPAPERS" -msgstr "Wallpapers" - -msgid "IDS_MF_TAB_PHONE" -msgstr "Phone" - -msgid "IDS_MF_BODY_IMAGES" -msgstr "Images" - -msgid "IDS_MF_BODY_VIDEOS" -msgstr "Videos" - -msgid "IDS_MF_BODY_SOUNDS" -msgstr "Sounds" - -msgid "IDS_MF_BODY_DOWNLOADS" -msgstr "Downloads" - -msgid "IDS_MF_TAB_MEMORY_CARD" -msgstr "Memory card" - -msgid "IDS_MF_TAB_EXTERNAL_STORAGE" -msgstr "External storage" - -msgid "IDS_MF_SK3_EDIT" -msgstr "Edit" - -msgid "IDS_MF_SK3_DELETE" -msgstr "Delete" - -msgid "IDS_MF_SK3_MOVE" -msgstr "Move" - -msgid "IDS_MF_BODY_UP" -msgstr "Up" - -msgid "IDS_MF_SK3_MOVE_HERE" -msgstr "Move here" - -msgid "IDS_MF_SK3_COPY" -msgstr "Copy" - -msgid "IDS_MF_SK3_SORT_BY" -msgstr "Sort by" - -msgid "IDS_MF_SK3_SEARCH" -msgstr "Search" - -msgid "IDS_MF_SK3_MORE" -msgstr "More" - -msgid "IDS_MF_OPT_CREATE_FOLDER" -msgstr "Create folder" - -msgid "IDS_MF_BODY_FOLDER_NAME" -msgstr "Folder name" - -msgid "IDS_MF_BODY_ACCESS_MORE_MY_ALBUM" -msgstr "My album" - -msgid "IDS_MF_OPT_VIEW_AS" -msgstr "View as" - -msgid "IDS_MF_SK3_BACK" -msgstr "Back" - -msgid "IDS_MF_BODY_MY_VIDEO_CLIPS" -msgstr "My video clips" - -msgid "IDS_MF_BODY_RIGHT_STATUS" -msgstr "Right status" - -msgid "IDS_MF_BODY_VENDOR" -msgstr "Vendor" - -msgid "IDS_MF_HEADER_COUNT" -msgstr "Count" - -msgid "IDS_MF_BODY_CONTAINS" -msgstr "Contains" - -msgid "IDS_MF_BODY_INDIVIDUAL" -msgstr "Individual" - -msgid "IDS_MF_BODY_INTERVAL" -msgstr "Interval" - -msgid "IDS_MF_BODY_RENAME_ABB" -msgstr "Rename" - -msgid "IDS_MF_BODY_TIME" -msgstr "Time" - -msgid "IDS_MF_BODY_TIMED_COUNT" -msgstr "Timed count" - -msgid "IDS_MF_BODY_TYPE" -msgstr "Type" - -msgid "IDS_MF_BODY_UNLIMITED" -msgstr "Unlimited" - -msgid "IDS_MF_BUTTON_REPLACE_ABB" -msgstr "Replace" - -msgid "IDS_MF_OPT_CALLER_RINGTONE" -msgstr "Caller ringtone" - -msgid "IDS_MF_OPT_LISTBY_NAME" -msgstr "Name" - -msgid "IDS_MF_POP_COPIED" -msgstr "Copied" - -msgid "IDS_MF_POP_NOTHING_SELECTED" -msgstr "Nothing selected" - -msgid "IDS_MF_POP_NOT_ENOUGH_HEAP_MEMORY" -msgstr "Not enough heap memory" - -msgid "IDS_MF_POP_NOT_ENOUGH_MEMORY_DELETE_SOME_ITEMS" -msgstr "Not enough memory. Delete some items." - -msgid "IDS_MF_BODY_CREATED_DATE" -msgstr "Created date" - -msgid "IDS_MF_BODY_GPS_INFORMATION" -msgstr "GPS information" - -msgid "IDS_MF_BODY_GPS_LATITUDE" -msgstr "GPS latitude" - -msgid "IDS_MF_BODY_GPS_LONGITUDE" -msgstr "GPS longitude" - -msgid "IDS_MF_BODY_GPS_VERSION" -msgstr "GPS version" - -msgid "IDS_MF_SK_DETAILS" -msgstr "Details" - -msgid "IDS_MF_BODY_ANY" -msgstr "Any" - -msgid "IDS_MF_BODY_AVAILABLE_USES" -msgstr "Available uses" - -msgid "IDS_MF_BODY_EXECUTE" -msgstr "Execute" - -msgid "IDS_MF_BODY_FORWARDING" -msgstr "Forwarding" - -msgid "IDS_MF_BODY_IMPOSSIBLE" -msgstr "Impossible" - -msgid "IDS_MF_BODY_MMC_DATA_IS_INITIALIZING_ING" -msgstr "MMC data is initializing..." - -msgid "IDS_MF_BODY_POSSIBLE" -msgstr "Possible" - -msgid "IDS_MF_BODY_PRINT" -msgstr "Print" - -msgid "IDS_MF_BODY_VALIDITY" -msgstr "Validity" - -msgid "IDS_MF_HEADER_NEW_FOLDER" -msgstr "New folder" - -msgid "IDS_MF_OPT_EDIT" -msgstr "Edit" - -msgid "IDS_MF_OPT_LIST_BY" -msgstr "List by" - -msgid "IDS_MF_OPT_MOVE_HERE" -msgstr "Move here" - -msgid "IDS_MF_POP_CONTINUE" -msgstr "Continue" - -msgid "IDS_MF_POP_COPYING" -msgstr "Copying..." - -msgid "IDS_MF_POP_PASTE_HERE" -msgstr "Paste here" - -msgid "IDS_MF_POP_UNSUPPORTED_FILE_TYPE" -msgstr "Unsupported file type" - -msgid "IDS_MF_OPT_DETAIL_VIEW" -msgstr "Detail view" - -msgid "IDS_MF_POP_ASCENDING" -msgstr "Ascending" - -msgid "IDS_MF_POP_DESCENDING" -msgstr "Descending" - -msgid "IDS_MF_TAB_ALL" -msgstr "All" - -msgid "IDS_MF_BODY_UP_M_BACK" -msgstr "Up" - -msgid "IDS_MF_BUTTON_SEARCH_ALL_FOLDERS" -msgstr "Search all folders" - -msgid "IDS_MF_OPT_THUMBNAIL_VIEW" -msgstr "Thumbnail view" - -msgid "IDS_MF_OPT_SHOW_FILE_EXTENSION" -msgstr "Show file extension" - -msgid "IDS_MF_OPT_SORT_BY" -msgstr "Sort by" - -msgid "IDS_MF_BODY_LIST_AND_DETAILS_ABB" -msgstr "List and details" - -msgid "IDS_MF_OPT_HIDE_FILE_EXTENSION_ABB" -msgstr "Hide file extension" - -msgid "IDS_MF_OPT_NAME_HA_TO_Z" -msgstr "Name (A to Z)" - -msgid "IDS_MF_OPT_NAME_HZ_TO_A" -msgstr "Name (Z to A)" - -msgid "IDS_MF_OPT_DATE_HMOST_RECENT" -msgstr "Date (Most recent)" - -msgid "IDS_MF_OPT_DATE_HOLDEST" -msgstr "Date (Oldest)" - -msgid "IDS_MF_BUTTON_GO_TO_MY_FILES" -msgstr "Go to My Files" - -msgid "IDS_MF_BODY_RINGTONES" -msgstr "Ringtones" - -msgid "IDS_MF_BUTTON_EXPORT_HERE" -msgstr "Export here" - -msgid "IDS_MF_POP_UNABLE_TO_SET_DRM_PROTECTED_CONTENT_AS_RINGTONE_OR_NOTIFICATION_ALERT" -msgstr "Unable to set DRM protected content as ringtone or notification alert" - diff --git a/data/po/es_ES.po b/data/po/es_ES.po deleted file mode 100644 index c8eb517..0000000 --- a/data/po/es_ES.po +++ /dev/null @@ -1,317 +0,0 @@ -msgid "IDS_MF_TAB_UP" -msgstr "Arriba" - -msgid "IDS_MF_BUTTON_HOME" -msgstr "Inicio" - -msgid "IDS_MF_OPT_VIEW_BY_LIST" -msgstr "Ver por lista" - -msgid "IDS_MF_OPT_VIEW_BY_THUMBNAIL" -msgstr "Ver en miniaturas" - -msgid "IDS_MF_POP_DELETE_FAILED" -msgstr "Error al borrar" - -msgid "IDS_MF_POP_DRM_FILE_CANNOT_SEND" -msgstr "Archivo DRM. No se puede enviar" - -msgid "IDS_MF_POP_INVALID_FILE_NAME" -msgstr "Nombre de archivo no válido" - -msgid "IDS_MF_POP_MAXIMUM_FOLDER_REACHED" -msgstr "Máximo" - -msgid "IDS_MF_POP_PERMISSION_DENIED" -msgstr "Permiso denegado" - -msgid "IDS_MF_POP_SEND_FAILED" -msgstr "Error de envío" - -msgid "IDS_MF_POP_THE_DESTINATION_FOLDER_IS_A_SUBFOLDER_OF_THE_SOURCE_FOLDER" -msgstr "La carpeta de destino es una subcarpeta de la carpeta de origen" - -msgid "IDS_MF_POP_THIS_FILE_DOES_NOT_EXIST" -msgstr "El archivo no existe" - -msgid "IDS_MF_POP_UNABLE_TO_COPY" -msgstr "No se puede copiar" - -msgid "IDS_MF_POP_UNABLE_TO_MOVE" -msgstr "No se puede mover" - -msgid "IDS_MF_BODY_NOT_ENOUGH_MEMORY_IN_PHONE_MEMORY_DELETE_SOME_ITEMS_AND_TRY_AGAIN" -msgstr "No hay espacio suficiente en la memoria del teléfono. Elimine algunos elementos y vuelva a intentarlo" - -msgid "IDS_MF_POP_COPYING_FAILED" -msgstr "Error al copiar" - -msgid "IDS_MF_POP_MOVING_FAILED" -msgstr "Error al mover" - -msgid "IDS_MF_POP_NOT_ENOUGH_MEMORY_PS_AVAILABLE" -msgstr "No hay memoria suficiente. %s disponible" - -msgid "IDS_MF_POP_SAME_NAME_ALREADY_IN_USE" -msgstr "El mismo nombre ya está en uso" - -msgid "IDS_MF_POP_UNABLE_TO_MOVE_DESTINATION_FOLDER_SAME_AS_SOURCE_FOLDER" -msgstr "No se puede mover. La carpeta de destino es la misma que la de origen" - -msgid "IDS_MF_SK3_CREATE_FOLDER" -msgstr "Crear carpeta" - -msgid "IDS_MF_SK3_PASTE_HERE" -msgstr "Pegar aquí" - -msgid "IDS_MF_BODY_ALERTS" -msgstr "Alertas" - -msgid "IDS_MF_BODY_WALLPAPERS" -msgstr "Fondos de pantalla" - -msgid "IDS_MF_TAB_PHONE" -msgstr "Teléfono" - -msgid "IDS_MF_BODY_IMAGES" -msgstr "Imágenes" - -msgid "IDS_MF_BODY_VIDEOS" -msgstr "Vídeos" - -msgid "IDS_MF_BODY_SOUNDS" -msgstr "Sonidos" - -msgid "IDS_MF_BODY_DOWNLOADS" -msgstr "Descargas" - -msgid "IDS_MF_TAB_MEMORY_CARD" -msgstr "Tarjeta memoria" - -msgid "IDS_MF_TAB_EXTERNAL_STORAGE" -msgstr "Almacenamiento externo" - -msgid "IDS_MF_SK3_EDIT" -msgstr "Editar" - -msgid "IDS_MF_SK3_DELETE" -msgstr "Eliminar" - -msgid "IDS_MF_SK3_MOVE" -msgstr "Mover" - -msgid "IDS_MF_BODY_UP" -msgstr "Arriba" - -msgid "IDS_MF_SK3_MOVE_HERE" -msgstr "Mover aquí" - -msgid "IDS_MF_SK3_COPY" -msgstr "Copiar" - -msgid "IDS_MF_SK3_SORT_BY" -msgstr "Ordenar por" - -msgid "IDS_MF_SK3_SEARCH" -msgstr "Buscar" - -msgid "IDS_MF_SK3_MORE" -msgstr "Más" - -msgid "IDS_MF_OPT_CREATE_FOLDER" -msgstr "Crear carpeta" - -msgid "IDS_MF_BODY_FOLDER_NAME" -msgstr "Nombre de carpeta" - -msgid "IDS_MF_BODY_ACCESS_MORE_MY_ALBUM" -msgstr "Mi álbum" - -msgid "IDS_MF_OPT_VIEW_AS" -msgstr "Ver como" - -msgid "IDS_MF_SK3_BACK" -msgstr "Atrás" - -msgid "IDS_MF_BODY_MY_VIDEO_CLIPS" -msgstr "Mis clips de vídeo" - -msgid "IDS_MF_BODY_RIGHT_STATUS" -msgstr "Estado correcto" - -msgid "IDS_MF_BODY_VENDOR" -msgstr "Proveedor" - -msgid "IDS_MF_HEADER_COUNT" -msgstr "Contar" - -msgid "IDS_MF_BODY_CONTAINS" -msgstr "Contiene" - -msgid "IDS_MF_BODY_INDIVIDUAL" -msgstr "Individual" - -msgid "IDS_MF_BODY_INTERVAL" -msgstr "Intervalo" - -msgid "IDS_MF_BODY_RENAME_ABB" -msgstr "Renomb" - -msgid "IDS_MF_BODY_TIME" -msgstr "Hora" - -msgid "IDS_MF_BODY_TIMED_COUNT" -msgstr "Recuento de tiempo" - -msgid "IDS_MF_BODY_TYPE" -msgstr "Tipo" - -msgid "IDS_MF_BODY_UNLIMITED" -msgstr "Ilimitado" - -msgid "IDS_MF_BUTTON_REPLACE_ABB" -msgstr "Reempl" - -msgid "IDS_MF_OPT_CALLER_RINGTONE" -msgstr "Melodía del llamante" - -msgid "IDS_MF_OPT_LISTBY_NAME" -msgstr "Nombre" - -msgid "IDS_MF_POP_COPIED" -msgstr "Copiado" - -msgid "IDS_MF_POP_NOTHING_SELECTED" -msgstr "No se ha seleccionado nada" - -msgid "IDS_MF_POP_NOT_ENOUGH_HEAP_MEMORY" -msgstr "No hay memoria de ejecución suficiente" - -msgid "IDS_MF_POP_NOT_ENOUGH_MEMORY_DELETE_SOME_ITEMS" -msgstr "No hay memoria suficiente. Elimine algunos elementos" - -msgid "IDS_MF_BODY_CREATED_DATE" -msgstr "Fecha creada" - -msgid "IDS_MF_BODY_GPS_INFORMATION" -msgstr "Información de GPS" - -msgid "IDS_MF_BODY_GPS_LATITUDE" -msgstr "Latitud GPS" - -msgid "IDS_MF_BODY_GPS_LONGITUDE" -msgstr "Longitud GPS" - -msgid "IDS_MF_BODY_GPS_VERSION" -msgstr "Versión GPS" - -msgid "IDS_MF_SK_DETAILS" -msgstr "Detalles" - -msgid "IDS_MF_BODY_ANY" -msgstr "Cualquiera" - -msgid "IDS_MF_BODY_AVAILABLE_USES" -msgstr "Usos disponibles" - -msgid "IDS_MF_BODY_EXECUTE" -msgstr "Ejecutar" - -msgid "IDS_MF_BODY_FORWARDING" -msgstr "Reenviando" - -msgid "IDS_MF_BODY_IMPOSSIBLE" -msgstr "Imposible" - -msgid "IDS_MF_BODY_MMC_DATA_IS_INITIALIZING_ING" -msgstr "Los datos MMC se están inicializando..." - -msgid "IDS_MF_BODY_POSSIBLE" -msgstr "Posible" - -msgid "IDS_MF_BODY_PRINT" -msgstr "Imprimir" - -msgid "IDS_MF_BODY_VALIDITY" -msgstr "Validez" - -msgid "IDS_MF_HEADER_NEW_FOLDER" -msgstr "Nueva carpeta" - -msgid "IDS_MF_OPT_EDIT" -msgstr "Editar" - -msgid "IDS_MF_OPT_LIST_BY" -msgstr "Mostrar por" - -msgid "IDS_MF_OPT_MOVE_HERE" -msgstr "Mover aquí" - -msgid "IDS_MF_POP_CONTINUE" -msgstr "Continuar" - -msgid "IDS_MF_POP_COPYING" -msgstr "Copiando..." - -msgid "IDS_MF_POP_PASTE_HERE" -msgstr "Pegar aquí" - -msgid "IDS_MF_POP_UNSUPPORTED_FILE_TYPE" -msgstr "Tipo de archivo no admitido" - -msgid "IDS_MF_OPT_DETAIL_VIEW" -msgstr "Vista de detalle" - -msgid "IDS_MF_POP_ASCENDING" -msgstr "Ascendente" - -msgid "IDS_MF_POP_DESCENDING" -msgstr "Descendente" - -msgid "IDS_MF_TAB_ALL" -msgstr "Todos" - -msgid "IDS_MF_BODY_UP_M_BACK" -msgstr "Arriba" - -msgid "IDS_MF_BUTTON_SEARCH_ALL_FOLDERS" -msgstr "Buscar todas las carp." - -msgid "IDS_MF_OPT_THUMBNAIL_VIEW" -msgstr "Vista en miniatura" - -msgid "IDS_MF_OPT_SHOW_FILE_EXTENSION" -msgstr "Mostrar extensiones de los archivos" - -msgid "IDS_MF_OPT_SORT_BY" -msgstr "Ordenar por" - -msgid "IDS_MF_BODY_LIST_AND_DETAILS_ABB" -msgstr "Lista y detalles" - -msgid "IDS_MF_OPT_HIDE_FILE_EXTENSION_ABB" -msgstr "Ocultar ext archivo" - -msgid "IDS_MF_OPT_NAME_HA_TO_Z" -msgstr "Nombre (A a Z)" - -msgid "IDS_MF_OPT_NAME_HZ_TO_A" -msgstr "Nombre (Z a A)" - -msgid "IDS_MF_OPT_DATE_HMOST_RECENT" -msgstr "Fecha (más reciente)" - -msgid "IDS_MF_OPT_DATE_HOLDEST" -msgstr "Fecha (más antiguo)" - -msgid "IDS_MF_BUTTON_GO_TO_MY_FILES" -msgstr "Ir a Mis archivos" - -msgid "IDS_MF_BODY_RINGTONES" -msgstr "Melodías" - -msgid "IDS_MF_BUTTON_EXPORT_HERE" -msgstr "Exportar aquí" - -msgid "IDS_MF_POP_UNABLE_TO_SET_DRM_PROTECTED_CONTENT_AS_RINGTONE_OR_NOTIFICATION_ALERT" -msgstr "No se puede definir contenido protegido por DRM como melodía o alerta de notificación" diff --git a/data/po/es_MX.po b/data/po/es_MX.po deleted file mode 100644 index 1a8e7f9..0000000 --- a/data/po/es_MX.po +++ /dev/null @@ -1,297 +0,0 @@ -msgid "IDS_MF_TAB_UP" -msgstr "Arriba" - -msgid "IDS_MF_BUTTON_HOME" -msgstr "Inicio" - -msgid "IDS_MF_OPT_VIEW_BY_LIST" -msgstr "Ver por lista" - -msgid "IDS_MF_OPT_VIEW_BY_THUMBNAIL" -msgstr "Ver como diapositiva" - -msgid "IDS_MF_POP_DELETE_FAILED" -msgstr "Error al eliminar" - -msgid "IDS_MF_POP_DRM_FILE_CANNOT_SEND" -msgstr "Archivo DRM. No se puede enviar" - -msgid "IDS_MF_POP_INVALID_FILE_NAME" -msgstr "Nombre de fichero incorrecto" - -msgid "IDS_MF_POP_MAXIMUM_FOLDER_REACHED" -msgstr "Máximo" - -msgid "IDS_MF_POP_PERMISSION_DENIED" -msgstr "Permiso denegado" - -msgid "IDS_MF_POP_SEND_FAILED" -msgstr "Error de envío" - -msgid "IDS_MF_POP_THE_DESTINATION_FOLDER_IS_A_SUBFOLDER_OF_THE_SOURCE_FOLDER" -msgstr "La carpeta de destino es una subcarpeta de la carpeta de origen" - -msgid "IDS_MF_POP_THIS_FILE_DOES_NOT_EXIST" -msgstr "El archivo no existe" - -msgid "IDS_MF_POP_UNABLE_TO_COPY" -msgstr "No se puede copiar" - -msgid "IDS_MF_POP_UNABLE_TO_MOVE" -msgstr "No se puede mover" - -msgid "IDS_MF_BODY_NOT_ENOUGH_MEMORY_IN_PHONE_MEMORY_DELETE_SOME_ITEMS_AND_TRY_AGAIN" -msgstr "Memoria insuficiente en la memoria del teléfono. Elimine algunos elementos e inténtelo de nuevo" - -msgid "IDS_MF_POP_COPYING_FAILED" -msgstr "Error al copiar" - -msgid "IDS_MF_POP_MOVING_FAILED" -msgstr "Error al mover" - -msgid "IDS_MF_POP_NOT_ENOUGH_MEMORY_PS_AVAILABLE" -msgstr "Memoria insuficiente. %s disponible" - -msgid "IDS_MF_POP_SAME_NAME_ALREADY_IN_USE" -msgstr "Ya existe ese nombre" - -msgid "IDS_MF_POP_UNABLE_TO_MOVE_DESTINATION_FOLDER_SAME_AS_SOURCE_FOLDER" -msgstr "No se puede mover. La carpeta de destino es la misma que la de origen" - -msgid "IDS_MF_SK3_CREATE_FOLDER" -msgstr "Crear carpeta" - -msgid "IDS_MF_SK3_PASTE_HERE" -msgstr "Pegar aquí" - -msgid "IDS_MF_BODY_ALERTS" -msgstr "Alertas" - -msgid "IDS_MF_BODY_WALLPAPERS" -msgstr "Fondos de pantalla" - -msgid "IDS_MF_TAB_PHONE" -msgstr "Teléfono" - -msgid "IDS_MF_BODY_IMAGES" -msgstr "Imágenes" - -msgid "IDS_MF_BODY_VIDEOS" -msgstr "Videos" - -msgid "IDS_MF_BODY_SOUNDS" -msgstr "Sonidos" - -msgid "IDS_MF_BODY_DOWNLOADS" -msgstr "Descargas" - -msgid "IDS_MF_TAB_MEMORY_CARD" -msgstr "Tarjeta de memoria" - -msgid "IDS_MF_TAB_EXTERNAL_STORAGE" -msgstr "Almacenamiento externo" - -msgid "IDS_MF_SK3_EDIT" -msgstr "Editar" - -msgid "IDS_MF_SK3_DELETE" -msgstr "Eliminar" - -msgid "IDS_MF_SK3_MOVE" -msgstr "Mover" - -msgid "IDS_MF_BODY_UP" -msgstr "Arriba" - -msgid "IDS_MF_SK3_MOVE_HERE" -msgstr "Mover aquí" - -msgid "IDS_MF_SK3_COPY" -msgstr "Copiar" - -msgid "IDS_MF_SK3_SORT_BY" -msgstr "Ordenar por" - -msgid "IDS_MF_SK3_SEARCH" -msgstr "Buscar" - -msgid "IDS_MF_SK3_MORE" -msgstr "Más" - -msgid "IDS_MF_OPT_CREATE_FOLDER" -msgstr "Crear carpeta" - -msgid "IDS_MF_BODY_FOLDER_NAME" -msgstr "Nombre de carpeta" - -msgid "IDS_MF_BODY_ACCESS_MORE_MY_ALBUM" -msgstr "Mi álbum" - -msgid "IDS_MF_OPT_VIEW_AS" -msgstr "Ver por" - -msgid "IDS_MF_SK3_BACK" -msgstr "Atrás" - -msgid "IDS_MF_BODY_MY_VIDEO_CLIPS" -msgstr "Mis videos" - -msgid "IDS_MF_BODY_RIGHT_STATUS" -msgstr "Estados de derechos" - -msgid "IDS_MF_BODY_VENDOR" -msgstr "Proveedor" - -msgid "IDS_MF_HEADER_COUNT" -msgstr "Recuento" - -msgid "IDS_MF_BODY_CONTAINS" -msgstr "Contenido" - -msgid "IDS_MF_BODY_INDIVIDUAL" -msgstr "Individual" - -msgid "IDS_MF_BODY_INTERVAL" -msgstr "Intervalo" - -msgid "IDS_MF_BODY_RENAME_ABB" -msgstr "Renomb" - -msgid "IDS_MF_BODY_TIME" -msgstr "Fecha" - -msgid "IDS_MF_BODY_TIMED_COUNT" -msgstr "Recuento de tiempo" - -msgid "IDS_MF_BODY_TYPE" -msgstr "Tipo" - -msgid "IDS_MF_BODY_UNLIMITED" -msgstr "Ilimitado" - -msgid "IDS_MF_BUTTON_REPLACE_ABB" -msgstr "Reempl." - -msgid "IDS_MF_OPT_CALLER_RINGTONE" -msgstr "ID del llamante" - -msgid "IDS_MF_OPT_LISTBY_NAME" -msgstr "Nombre" - -msgid "IDS_MF_POP_COPIED" -msgstr "Copiado" - -msgid "IDS_MF_POP_NOTHING_SELECTED" -msgstr "No se ha seleccionado nada" - -msgid "IDS_MF_POP_NOT_ENOUGH_HEAP_MEMORY" -msgstr "No hay suficiente área de memoria dinámica" - -msgid "IDS_MF_POP_NOT_ENOUGH_MEMORY_DELETE_SOME_ITEMS" -msgstr "Memoria insuficiente. Elimine algunos elementos" - -msgid "IDS_MF_BODY_CREATED_DATE" -msgstr "Crear fecha" - -msgid "IDS_MF_BODY_GPS_INFORMATION" -msgstr "Información de GPS" - -msgid "IDS_MF_BODY_GPS_LATITUDE" -msgstr "Latitud GPS" - -msgid "IDS_MF_BODY_GPS_LONGITUDE" -msgstr "Longitud GPS" - -msgid "IDS_MF_BODY_GPS_VERSION" -msgstr "Versión GPS" - -msgid "IDS_MF_SK_DETAILS" -msgstr "Detalles" - -msgid "IDS_MF_BODY_ANY" -msgstr "Cualquiera" - -msgid "IDS_MF_BODY_AVAILABLE_USES" -msgstr "Usos disponibles" - -msgid "IDS_MF_BODY_EXECUTE" -msgstr "Ejecutar" - -msgid "IDS_MF_BODY_FORWARDING" -msgstr "Reenvío" - -msgid "IDS_MF_BODY_IMPOSSIBLE" -msgstr "Imposible" - -msgid "IDS_MF_BODY_MMC_DATA_IS_INITIALIZING_ING" -msgstr "Los datos MMC se están inicializando..." - -msgid "IDS_MF_BODY_POSSIBLE" -msgstr "Posible" - -msgid "IDS_MF_BODY_PRINT" -msgstr "Imprimir" - -msgid "IDS_MF_BODY_VALIDITY" -msgstr "Validez" - -msgid "IDS_MF_HEADER_NEW_FOLDER" -msgstr "Nueva carpeta" - -msgid "IDS_MF_OPT_EDIT" -msgstr "Editar" - -msgid "IDS_MF_OPT_LIST_BY" -msgstr "Ordenar por" - -msgid "IDS_MF_OPT_MOVE_HERE" -msgstr "Mover aquí" - -msgid "IDS_MF_POP_CONTINUE" -msgstr "Continuar" - -msgid "IDS_MF_POP_COPYING" -msgstr "Copiando..." - -msgid "IDS_MF_POP_PASTE_HERE" -msgstr "Pegar aquí" - -msgid "IDS_MF_POP_UNSUPPORTED_FILE_TYPE" -msgstr "Tipo de archivo no admitido" - -msgid "IDS_MF_OPT_DETAIL_VIEW" -msgstr "Vista de detalle" - -msgid "IDS_MF_POP_ASCENDING" -msgstr "Ascendente" - -msgid "IDS_MF_POP_DESCENDING" -msgstr "Descendente" - -msgid "IDS_MF_TAB_ALL" -msgstr "Todo" - -msgid "IDS_MF_BODY_UP_M_BACK" -msgstr "Arriba" - -msgid "IDS_MF_BUTTON_SEARCH_ALL_FOLDERS" -msgstr "Buscar en todas carp." - -msgid "IDS_MF_OPT_THUMBNAIL_VIEW" -msgstr "Ver por miniatura" - -msgid "IDS_MF_OPT_SHOW_FILE_EXTENSION" -msgstr "Mostrar extensión del archivo" - -msgid "IDS_MF_OPT_SORT_BY" -msgstr "Ordenar por" - -msgid "IDS_MF_BODY_LIST_AND_DETAILS_ABB" -msgstr "Lista y detalles" - -msgid "IDS_MF_BUTTON_EXPORT_HERE" -msgstr "Exportar aquí" - -msgid "IDS_MF_POP_UNABLE_TO_SET_DRM_PROTECTED_CONTENT_AS_RINGTONE_OR_NOTIFICATION_ALERT" -msgstr "Imposible definir el contenido protegido de DRM como tono de timbre o alerta de notificación" - diff --git a/data/po/et.po b/data/po/et.po deleted file mode 100644 index e89ee6e..0000000 --- a/data/po/et.po +++ /dev/null @@ -1,318 +0,0 @@ -msgid "IDS_MF_TAB_UP" -msgstr "Üles" - -msgid "IDS_MF_BUTTON_HOME" -msgstr "Avaleht" - -msgid "IDS_MF_OPT_VIEW_BY_LIST" -msgstr "Kuva loendi järgi" - -msgid "IDS_MF_OPT_VIEW_BY_THUMBNAIL" -msgstr "Vaata pisipiltidena" - -msgid "IDS_MF_POP_DELETE_FAILED" -msgstr "BT-peakomplekt sees" - -msgid "IDS_MF_POP_DRM_FILE_CANNOT_SEND" -msgstr "DRM kaitsega fail. Ei saa saata" - -msgid "IDS_MF_POP_INVALID_FILE_NAME" -msgstr "Vigane failinimi" - -msgid "IDS_MF_POP_MAXIMUM_FOLDER_REACHED" -msgstr "Saavutatud on maksimaalne kaustade arv" - -msgid "IDS_MF_POP_PERMISSION_DENIED" -msgstr "Loast keelduti" - -msgid "IDS_MF_POP_SEND_FAILED" -msgstr "Saatmine nurjus" - -msgid "IDS_MF_POP_THE_DESTINATION_FOLDER_IS_A_SUBFOLDER_OF_THE_SOURCE_FOLDER" -msgstr "Sihtkaust on lähtekausta alamkaust" - -msgid "IDS_MF_POP_THIS_FILE_DOES_NOT_EXIST" -msgstr "Seda faili pole olemas" - -msgid "IDS_MF_POP_UNABLE_TO_COPY" -msgstr "Ei saa kopeerida" - -msgid "IDS_MF_POP_UNABLE_TO_MOVE" -msgstr "Ei saa teisaldada" - -msgid "IDS_MF_BODY_NOT_ENOUGH_MEMORY_IN_PHONE_MEMORY_DELETE_SOME_ITEMS_AND_TRY_AGAIN" -msgstr "Telefoni mälus pole piisavalt vaba ruumi. Kustutage mõned üksused ja proovige uuesti" - -msgid "IDS_MF_POP_COPYING_FAILED" -msgstr "Teisaldamine nurjus" - -msgid "IDS_MF_POP_MOVING_FAILED" -msgstr "Teisaldamine nurjus" - -msgid "IDS_MF_POP_NOT_ENOUGH_MEMORY_PS_AVAILABLE" -msgstr "Pole piisavalt mälu. %s saadaval" - -msgid "IDS_MF_POP_SAME_NAME_ALREADY_IN_USE" -msgstr "See nimi on juba kasutusel" - -msgid "IDS_MF_POP_UNABLE_TO_MOVE_DESTINATION_FOLDER_SAME_AS_SOURCE_FOLDER" -msgstr "Ei saa teisaldada. Sihtkaust ühtib allikaga" - -msgid "IDS_MF_SK3_CREATE_FOLDER" -msgstr "Loo kaust" - -msgid "IDS_MF_SK3_PASTE_HERE" -msgstr "Kleebi siia" - -msgid "IDS_MF_BODY_ALERTS" -msgstr "Automaatne salvestamine" - -msgid "IDS_MF_BODY_WALLPAPERS" -msgstr "Taustpildid" - -msgid "IDS_MF_TAB_PHONE" -msgstr "Telefon" - -msgid "IDS_MF_BODY_IMAGES" -msgstr "Pildid" - -msgid "IDS_MF_BODY_VIDEOS" -msgstr "Videod" - -msgid "IDS_MF_BODY_SOUNDS" -msgstr "Helid" - -msgid "IDS_MF_BODY_DOWNLOADS" -msgstr "Allalaet. failid" - -msgid "IDS_MF_TAB_MEMORY_CARD" -msgstr "Mälukaart" - -msgid "IDS_MF_TAB_EXTERNAL_STORAGE" -msgstr "Välismälu" - -msgid "IDS_MF_SK3_EDIT" -msgstr "Muuda" - -msgid "IDS_MF_SK3_DELETE" -msgstr "Kustuta" - -msgid "IDS_MF_SK3_MOVE" -msgstr "Teisalda" - -msgid "IDS_MF_BODY_UP" -msgstr "Üles" - -msgid "IDS_MF_SK3_MOVE_HERE" -msgstr "Teisalda siia" - -msgid "IDS_MF_SK3_COPY" -msgstr "Kopeeri" - -msgid "IDS_MF_SK3_SORT_BY" -msgstr "Sortimine:" - -msgid "IDS_MF_SK3_SEARCH" -msgstr "Otsi" - -msgid "IDS_MF_SK3_MORE" -msgstr "Veel" - -msgid "IDS_MF_OPT_CREATE_FOLDER" -msgstr "Loo kaust" - -msgid "IDS_MF_BODY_FOLDER_NAME" -msgstr "Kausta nimi" - -msgid "IDS_MF_BODY_ACCESS_MORE_MY_ALBUM" -msgstr "Minu album" - -msgid "IDS_MF_OPT_VIEW_AS" -msgstr "Kuvamisviis" - -msgid "IDS_MF_SK3_BACK" -msgstr "Tagasi" - -msgid "IDS_MF_BODY_MY_VIDEO_CLIPS" -msgstr "Minu videoklipid" - -msgid "IDS_MF_BODY_RIGHT_STATUS" -msgstr "Õiguse olek" - -msgid "IDS_MF_BODY_VENDOR" -msgstr "Tarnija" - -msgid "IDS_MF_HEADER_COUNT" -msgstr "Loendamine" - -msgid "IDS_MF_BODY_CONTAINS" -msgstr "Sisaldab" - -msgid "IDS_MF_BODY_INDIVIDUAL" -msgstr "Individuaalne" - -msgid "IDS_MF_BODY_INTERVAL" -msgstr "Intervall" - -msgid "IDS_MF_BODY_RENAME_ABB" -msgstr "Nim üm" - -msgid "IDS_MF_BODY_TIME" -msgstr "Kellaaeg" - -msgid "IDS_MF_BODY_TIMED_COUNT" -msgstr "Piiratud aeg" - -msgid "IDS_MF_BODY_TYPE" -msgstr "Tüüp" - -msgid "IDS_MF_BODY_UNLIMITED" -msgstr "Piiramatu" - -msgid "IDS_MF_BUTTON_REPLACE_ABB" -msgstr "Asenda" - -msgid "IDS_MF_OPT_CALLER_RINGTONE" -msgstr "Helistaja helin" - -msgid "IDS_MF_OPT_LISTBY_NAME" -msgstr "Nimi" - -msgid "IDS_MF_POP_COPIED" -msgstr "Kopeeritud" - -msgid "IDS_MF_POP_NOTHING_SELECTED" -msgstr "Valik tegemata" - -msgid "IDS_MF_POP_NOT_ENOUGH_HEAP_MEMORY" -msgstr "Ei ole piisavalt mälu" - -msgid "IDS_MF_POP_NOT_ENOUGH_MEMORY_DELETE_SOME_ITEMS" -msgstr "Mälu pole piisavalt. Kustutage mõned üksused" - -msgid "IDS_MF_BODY_CREATED_DATE" -msgstr "Loomise kuupäev" - -msgid "IDS_MF_BODY_GPS_INFORMATION" -msgstr "GPS-teave" - -msgid "IDS_MF_BODY_GPS_LATITUDE" -msgstr "GPS-laius" - -msgid "IDS_MF_BODY_GPS_LONGITUDE" -msgstr "GPS-pikkus" - -msgid "IDS_MF_BODY_GPS_VERSION" -msgstr "GPS-i versioon" - -msgid "IDS_MF_SK_DETAILS" -msgstr "Üksikasjad" - -msgid "IDS_MF_BODY_ANY" -msgstr "Ükskõik milline" - -msgid "IDS_MF_BODY_AVAILABLE_USES" -msgstr "Võimalikud kasutusviisid" - -msgid "IDS_MF_BODY_EXECUTE" -msgstr "Käivita" - -msgid "IDS_MF_BODY_FORWARDING" -msgstr "Edastamine" - -msgid "IDS_MF_BODY_IMPOSSIBLE" -msgstr "Võimatu" - -msgid "IDS_MF_BODY_MMC_DATA_IS_INITIALIZING_ING" -msgstr "MMC andmed lähtestatakse..." - -msgid "IDS_MF_BODY_POSSIBLE" -msgstr "Võimalik" - -msgid "IDS_MF_BODY_PRINT" -msgstr "Prindi" - -msgid "IDS_MF_BODY_VALIDITY" -msgstr "Kehtivus" - -msgid "IDS_MF_HEADER_NEW_FOLDER" -msgstr "Uus kaust" - -msgid "IDS_MF_OPT_EDIT" -msgstr "Muuda" - -msgid "IDS_MF_OPT_LIST_BY" -msgstr "Loendi järgi" - -msgid "IDS_MF_OPT_MOVE_HERE" -msgstr "Teisalda siia" - -msgid "IDS_MF_POP_CONTINUE" -msgstr "Jätka" - -msgid "IDS_MF_POP_COPYING" -msgstr "Kopeerimine..." - -msgid "IDS_MF_POP_PASTE_HERE" -msgstr "Kleebi siia" - -msgid "IDS_MF_POP_UNSUPPORTED_FILE_TYPE" -msgstr "Toetuseta failitüüp" - -msgid "IDS_MF_OPT_DETAIL_VIEW" -msgstr "Üksikasjalik vaade" - -msgid "IDS_MF_POP_ASCENDING" -msgstr "Tõusev" - -msgid "IDS_MF_POP_DESCENDING" -msgstr "Langev" - -msgid "IDS_MF_TAB_ALL" -msgstr "Kõik" - -msgid "IDS_MF_BODY_UP_M_BACK" -msgstr "Üles" - -msgid "IDS_MF_BUTTON_SEARCH_ALL_FOLDERS" -msgstr "Otsi kaustadest" - -msgid "IDS_MF_OPT_THUMBNAIL_VIEW" -msgstr "Pisipildivaade" - -msgid "IDS_MF_OPT_SHOW_FILE_EXTENSION" -msgstr "Kuva faililaiend" - -msgid "IDS_MF_OPT_SORT_BY" -msgstr "Sortimisalus" - -msgid "IDS_MF_BODY_LIST_AND_DETAILS_ABB" -msgstr "Loend ja üksikasjad" - -msgid "IDS_MF_OPT_HIDE_FILE_EXTENSION_ABB" -msgstr "Peida faililaiend" - -msgid "IDS_MF_OPT_NAME_HA_TO_Z" -msgstr "Nimi (A‒Z)" - -msgid "IDS_MF_OPT_NAME_HZ_TO_A" -msgstr "Nimi (Z‒A)" - -msgid "IDS_MF_OPT_DATE_HMOST_RECENT" -msgstr "Kuupäev (kõige hilisemast)" - -msgid "IDS_MF_OPT_DATE_HOLDEST" -msgstr "Kuupäev (kõige vanemast)" - -msgid "IDS_MF_BUTTON_GO_TO_MY_FILES" -msgstr "Mine Minu Failidesse" - -msgid "IDS_MF_BODY_RINGTONES" -msgstr "Helinad" - -msgid "IDS_MF_BUTTON_EXPORT_HERE" -msgstr "Ekspordi siia" - -msgid "IDS_MF_POP_UNABLE_TO_SET_DRM_PROTECTED_CONTENT_AS_RINGTONE_OR_NOTIFICATION_ALERT" -msgstr "DRM-kaitsega sisu ei saa määrata helinaks või teavituse märguandeks" - diff --git a/data/po/eu.po b/data/po/eu.po deleted file mode 100644 index ce87de9..0000000 --- a/data/po/eu.po +++ /dev/null @@ -1,318 +0,0 @@ -msgid "IDS_MF_TAB_UP" -msgstr "Gora" - -msgid "IDS_MF_BUTTON_HOME" -msgstr "Etxea" - -msgid "IDS_MF_OPT_VIEW_BY_LIST" -msgstr "Zerrenda bidez ikusi" - -msgid "IDS_MF_OPT_VIEW_BY_THUMBNAIL" -msgstr "Miniatura bidez ikusi" - -msgid "IDS_MF_POP_DELETE_FAILED" -msgstr "Akatsa ezabatzerakoan" - -msgid "IDS_MF_POP_DRM_FILE_CANNOT_SEND" -msgstr "DRM artxiboa. Ezin da bidali" - -msgid "IDS_MF_POP_INVALID_FILE_NAME" -msgstr "Fitxategi izen baliogabea" - -msgid "IDS_MF_POP_MAXIMUM_FOLDER_REACHED" -msgstr "Gehienezko karpeta kopurura heldu da" - -msgid "IDS_MF_POP_PERMISSION_DENIED" -msgstr "Baimena ukatuta" - -msgid "IDS_MF_POP_SEND_FAILED" -msgstr "Akatsa bidaltzerakoan" - -msgid "IDS_MF_POP_THE_DESTINATION_FOLDER_IS_A_SUBFOLDER_OF_THE_SOURCE_FOLDER" -msgstr "Helburu karpeta sorburu karpetaren azpi-karpeta bat da" - -msgid "IDS_MF_POP_THIS_FILE_DOES_NOT_EXIST" -msgstr "Fitxategia ez dago" - -msgid "IDS_MF_POP_UNABLE_TO_COPY" -msgstr "Ezin da kopiatu" - -msgid "IDS_MF_POP_UNABLE_TO_MOVE" -msgstr "Ezin da mugitu" - -msgid "IDS_MF_BODY_NOT_ENOUGH_MEMORY_IN_PHONE_MEMORY_DELETE_SOME_ITEMS_AND_TRY_AGAIN" -msgstr "Ez dago nahikoa memoria telefonoan. Ezabatu hainbat elementu eta saiatu berriz" - -msgid "IDS_MF_POP_COPYING_FAILED" -msgstr "Errorea kopiatzerakoan" - -msgid "IDS_MF_POP_MOVING_FAILED" -msgstr "Errorea mugitzerakoan" - -msgid "IDS_MF_POP_NOT_ENOUGH_MEMORY_PS_AVAILABLE" -msgstr "Ez dago memoria nahikorik. %s erabilgarri" - -msgid "IDS_MF_POP_SAME_NAME_ALREADY_IN_USE" -msgstr "Izen bera dagoeneko erabiltzen" - -msgid "IDS_MF_POP_UNABLE_TO_MOVE_DESTINATION_FOLDER_SAME_AS_SOURCE_FOLDER" -msgstr "Ezin da mugitu. Jomugako karpeta jatorrizkoa bera da" - -msgid "IDS_MF_SK3_CREATE_FOLDER" -msgstr "Sortu karpeta" - -msgid "IDS_MF_SK3_PASTE_HERE" -msgstr "Hemen erantsi" - -msgid "IDS_MF_BODY_ALERTS" -msgstr "Abisuak" - -msgid "IDS_MF_BODY_WALLPAPERS" -msgstr "Pantaila atzealdea" - -msgid "IDS_MF_TAB_PHONE" -msgstr "Telefonoa" - -msgid "IDS_MF_BODY_IMAGES" -msgstr "Irudiak" - -msgid "IDS_MF_BODY_VIDEOS" -msgstr "Bideoak" - -msgid "IDS_MF_BODY_SOUNDS" -msgstr "Soinuak" - -msgid "IDS_MF_BODY_DOWNLOADS" -msgstr "Deskargak" - -msgid "IDS_MF_TAB_MEMORY_CARD" -msgstr "Memoria txartela" - -msgid "IDS_MF_TAB_EXTERNAL_STORAGE" -msgstr "Kanpo memoria" - -msgid "IDS_MF_SK3_EDIT" -msgstr "Editatu" - -msgid "IDS_MF_SK3_DELETE" -msgstr "Ezabatu" - -msgid "IDS_MF_SK3_MOVE" -msgstr "Mugitu" - -msgid "IDS_MF_BODY_UP" -msgstr "Gora" - -msgid "IDS_MF_SK3_MOVE_HERE" -msgstr "Hona mugitu" - -msgid "IDS_MF_SK3_COPY" -msgstr "Kopiatu" - -msgid "IDS_MF_SK3_SORT_BY" -msgstr "Sailkatu honela" - -msgid "IDS_MF_SK3_SEARCH" -msgstr "Bilatu" - -msgid "IDS_MF_SK3_MORE" -msgstr "Gehiago" - -msgid "IDS_MF_OPT_CREATE_FOLDER" -msgstr "Karpeta sortu" - -msgid "IDS_MF_BODY_FOLDER_NAME" -msgstr "Karpetaren izena" - -msgid "IDS_MF_BODY_ACCESS_MORE_MY_ALBUM" -msgstr "Nire albuma" - -msgid "IDS_MF_OPT_VIEW_AS" -msgstr "Nola ikusi" - -msgid "IDS_MF_SK3_BACK" -msgstr "ATZERA" - -msgid "IDS_MF_BODY_MY_VIDEO_CLIPS" -msgstr "Nire bideo klipak" - -msgid "IDS_MF_BODY_RIGHT_STATUS" -msgstr "Egoera egokia" - -msgid "IDS_MF_BODY_VENDOR" -msgstr "Hornitzailea" - -msgid "IDS_MF_HEADER_COUNT" -msgstr "Kontatu" - -msgid "IDS_MF_BODY_CONTAINS" -msgstr "Edukiak" - -msgid "IDS_MF_BODY_INDIVIDUAL" -msgstr "Indibiduala" - -msgid "IDS_MF_BODY_INTERVAL" -msgstr "Tartea" - -msgid "IDS_MF_BODY_RENAME_ABB" -msgstr "Berrizend." - -msgid "IDS_MF_BODY_TIME" -msgstr "Ordua" - -msgid "IDS_MF_BODY_TIMED_COUNT" -msgstr "Mugatutako zenbaketa" - -msgid "IDS_MF_BODY_TYPE" -msgstr "Mota" - -msgid "IDS_MF_BODY_UNLIMITED" -msgstr "Mugagabea" - -msgid "IDS_MF_BUTTON_REPLACE_ABB" -msgstr "Ordeztu" - -msgid "IDS_MF_OPT_CALLER_RINGTONE" -msgstr "Dei egilearen dei doinua" - -msgid "IDS_MF_OPT_LISTBY_NAME" -msgstr "Izena" - -msgid "IDS_MF_POP_COPIED" -msgstr "Kopiatuta" - -msgid "IDS_MF_POP_NOTHING_SELECTED" -msgstr "Ez da ezer aukeratu" - -msgid "IDS_MF_POP_NOT_ENOUGH_HEAP_MEMORY" -msgstr "Ez dago pilatutako memoria nahikoa" - -msgid "IDS_MF_POP_NOT_ENOUGH_MEMORY_DELETE_SOME_ITEMS" -msgstr "Ez dago memoria nahikoa. Elementu batzuk ezabatu" - -msgid "IDS_MF_BODY_CREATED_DATE" -msgstr "Sortutako data" - -msgid "IDS_MF_BODY_GPS_INFORMATION" -msgstr "GPS informazioa" - -msgid "IDS_MF_BODY_GPS_LATITUDE" -msgstr "GPS latitudea" - -msgid "IDS_MF_BODY_GPS_LONGITUDE" -msgstr "GPS longitudea" - -msgid "IDS_MF_BODY_GPS_VERSION" -msgstr "GPS bertsioa" - -msgid "IDS_MF_SK_DETAILS" -msgstr "Xehetasunak" - -msgid "IDS_MF_BODY_ANY" -msgstr "Edozein" - -msgid "IDS_MF_BODY_AVAILABLE_USES" -msgstr "Erabilera eskuragarriak" - -msgid "IDS_MF_BODY_EXECUTE" -msgstr "Abiarazi" - -msgid "IDS_MF_BODY_FORWARDING" -msgstr "Birbidaltzea" - -msgid "IDS_MF_BODY_IMPOSSIBLE" -msgstr "Ezinezkoa" - -msgid "IDS_MF_BODY_MMC_DATA_IS_INITIALIZING_ING" -msgstr "MMC datuak abiarazten..." - -msgid "IDS_MF_BODY_POSSIBLE" -msgstr "Posible" - -msgid "IDS_MF_BODY_PRINT" -msgstr "Inprimatu" - -msgid "IDS_MF_BODY_VALIDITY" -msgstr "Baliozkotasuna" - -msgid "IDS_MF_HEADER_NEW_FOLDER" -msgstr "Karpeta berria" - -msgid "IDS_MF_OPT_EDIT" -msgstr "Editatu" - -msgid "IDS_MF_OPT_LIST_BY" -msgstr "Honen arabera zerrendatu" - -msgid "IDS_MF_OPT_MOVE_HERE" -msgstr "Hona mugitu" - -msgid "IDS_MF_POP_CONTINUE" -msgstr "Jarraitu" - -msgid "IDS_MF_POP_COPYING" -msgstr "Kopiatzen..." - -msgid "IDS_MF_POP_PASTE_HERE" -msgstr "Hemen erantsi" - -msgid "IDS_MF_POP_UNSUPPORTED_FILE_TYPE" -msgstr "Fitxategi mota ez bateragarria" - -msgid "IDS_MF_OPT_DETAIL_VIEW" -msgstr "Xehetasun ikuspegia" - -msgid "IDS_MF_POP_ASCENDING" -msgstr "Goranzkoa" - -msgid "IDS_MF_POP_DESCENDING" -msgstr "Beheranzkoa" - -msgid "IDS_MF_TAB_ALL" -msgstr "Guztia(k)" - -msgid "IDS_MF_BODY_UP_M_BACK" -msgstr "Gora" - -msgid "IDS_MF_BUTTON_SEARCH_ALL_FOLDERS" -msgstr "Bilatu karpeta guztiak" - -msgid "IDS_MF_OPT_THUMBNAIL_VIEW" -msgstr "Miniatura ikuspegia" - -msgid "IDS_MF_OPT_SHOW_FILE_EXTENSION" -msgstr "Erakutsi fitxategiaren luzapena" - -msgid "IDS_MF_OPT_SORT_BY" -msgstr "Honen bidez antolatu" - -msgid "IDS_MF_BODY_LIST_AND_DETAILS_ABB" -msgstr "Zerrenda eta xehetasunak" - -msgid "IDS_MF_OPT_HIDE_FILE_EXTENSION_ABB" -msgstr "Ezkutatu fitx. luzapena" - -msgid "IDS_MF_OPT_NAME_HA_TO_Z" -msgstr "Izena (Atik Zra)" - -msgid "IDS_MF_OPT_NAME_HZ_TO_A" -msgstr "Izena (Ztik Ara)" - -msgid "IDS_MF_OPT_DATE_HMOST_RECENT" -msgstr "Data (Berriena)" - -msgid "IDS_MF_OPT_DATE_HOLDEST" -msgstr "Data (Zaharrena)" - -msgid "IDS_MF_BUTTON_GO_TO_MY_FILES" -msgstr "Joan Nire Fitxat." - -msgid "IDS_MF_BODY_RINGTONES" -msgstr "Dei doinuak" - -msgid "IDS_MF_BUTTON_EXPORT_HERE" -msgstr "Esportatu hona" - -msgid "IDS_MF_POP_UNABLE_TO_SET_DRM_PROTECTED_CONTENT_AS_RINGTONE_OR_NOTIFICATION_ALERT" -msgstr "Ezin da babestutako DRM edukia ezarri dei tonu edo jakinarazpen alerta moduan" - diff --git a/data/po/fi.po b/data/po/fi.po deleted file mode 100644 index 2dbcc44..0000000 --- a/data/po/fi.po +++ /dev/null @@ -1,318 +0,0 @@ -msgid "IDS_MF_TAB_UP" -msgstr "Ylös" - -msgid "IDS_MF_BUTTON_HOME" -msgstr "Koti" - -msgid "IDS_MF_OPT_VIEW_BY_LIST" -msgstr "Katso luettelossa" - -msgid "IDS_MF_OPT_VIEW_BY_THUMBNAIL" -msgstr "Näytä pikkukuvina" - -msgid "IDS_MF_POP_DELETE_FAILED" -msgstr "Poisto epäonnistui" - -msgid "IDS_MF_POP_DRM_FILE_CANNOT_SEND" -msgstr "DRM-tiedosto. Ei voi lähettää" - -msgid "IDS_MF_POP_INVALID_FILE_NAME" -msgstr "Virheellinen tiedostonimi" - -msgid "IDS_MF_POP_MAXIMUM_FOLDER_REACHED" -msgstr "Kansioiden enimmäismäärä saavutettu" - -msgid "IDS_MF_POP_PERMISSION_DENIED" -msgstr "Lupa evätty" - -msgid "IDS_MF_POP_SEND_FAILED" -msgstr "Lähetys epäonnistui" - -msgid "IDS_MF_POP_THE_DESTINATION_FOLDER_IS_A_SUBFOLDER_OF_THE_SOURCE_FOLDER" -msgstr "Kohdekansio on lähdekansion alikansio" - -msgid "IDS_MF_POP_THIS_FILE_DOES_NOT_EXIST" -msgstr "Tiedostoa ei ole" - -msgid "IDS_MF_POP_UNABLE_TO_COPY" -msgstr "Ei voi kopioida" - -msgid "IDS_MF_POP_UNABLE_TO_MOVE" -msgstr "Ei voi siirtää" - -msgid "IDS_MF_BODY_NOT_ENOUGH_MEMORY_IN_PHONE_MEMORY_DELETE_SOME_ITEMS_AND_TRY_AGAIN" -msgstr "Puhelimen muisti ei riitä. Poista kohteita ja yritä uudelleen" - -msgid "IDS_MF_POP_COPYING_FAILED" -msgstr "Kopiointi epäonnistui" - -msgid "IDS_MF_POP_MOVING_FAILED" -msgstr "Siirto epäonnistui" - -msgid "IDS_MF_POP_NOT_ENOUGH_MEMORY_PS_AVAILABLE" -msgstr "Muisti ei riitä. %s käytettävissä" - -msgid "IDS_MF_POP_SAME_NAME_ALREADY_IN_USE" -msgstr "Sama nimi on jo käytössä" - -msgid "IDS_MF_POP_UNABLE_TO_MOVE_DESTINATION_FOLDER_SAME_AS_SOURCE_FOLDER" -msgstr "Ei voi siirtää. Kohdekansio on sama kuin lähdekansio" - -msgid "IDS_MF_SK3_CREATE_FOLDER" -msgstr "Luo kansio" - -msgid "IDS_MF_SK3_PASTE_HERE" -msgstr "Liitä tänne" - -msgid "IDS_MF_BODY_ALERTS" -msgstr "Hälytykset" - -msgid "IDS_MF_BODY_WALLPAPERS" -msgstr "Taustakuvat" - -msgid "IDS_MF_TAB_PHONE" -msgstr "Puhelin" - -msgid "IDS_MF_BODY_IMAGES" -msgstr "Kuvat" - -msgid "IDS_MF_BODY_VIDEOS" -msgstr "Videot" - -msgid "IDS_MF_BODY_SOUNDS" -msgstr "Äänet" - -msgid "IDS_MF_BODY_DOWNLOADS" -msgstr "Lataukset" - -msgid "IDS_MF_TAB_MEMORY_CARD" -msgstr "Muistik." - -msgid "IDS_MF_TAB_EXTERNAL_STORAGE" -msgstr "Ulk. tallennuslaite" - -msgid "IDS_MF_SK3_EDIT" -msgstr "Muokkaa" - -msgid "IDS_MF_SK3_DELETE" -msgstr "Poista" - -msgid "IDS_MF_SK3_MOVE" -msgstr "Siirrä" - -msgid "IDS_MF_BODY_UP" -msgstr "Ylös" - -msgid "IDS_MF_SK3_MOVE_HERE" -msgstr "Siirrä tänne" - -msgid "IDS_MF_SK3_COPY" -msgstr "Kopioi" - -msgid "IDS_MF_SK3_SORT_BY" -msgstr "Laj.per." - -msgid "IDS_MF_SK3_SEARCH" -msgstr "Etsi" - -msgid "IDS_MF_SK3_MORE" -msgstr "Lisää" - -msgid "IDS_MF_OPT_CREATE_FOLDER" -msgstr "Luo kansio" - -msgid "IDS_MF_BODY_FOLDER_NAME" -msgstr "Kansion nimi" - -msgid "IDS_MF_BODY_ACCESS_MORE_MY_ALBUM" -msgstr "Oma albumi" - -msgid "IDS_MF_OPT_VIEW_AS" -msgstr "Katsele muodossa" - -msgid "IDS_MF_SK3_BACK" -msgstr "Takaisin" - -msgid "IDS_MF_BODY_MY_VIDEO_CLIPS" -msgstr "Omat videoleikkeet" - -msgid "IDS_MF_BODY_RIGHT_STATUS" -msgstr "Oikeustila" - -msgid "IDS_MF_BODY_VENDOR" -msgstr "Toimittaja" - -msgid "IDS_MF_HEADER_COUNT" -msgstr "Määrä" - -msgid "IDS_MF_BODY_CONTAINS" -msgstr "Sisältää" - -msgid "IDS_MF_BODY_INDIVIDUAL" -msgstr "Yksittäinen" - -msgid "IDS_MF_BODY_INTERVAL" -msgstr "Väli" - -msgid "IDS_MF_BODY_RENAME_ABB" -msgstr "N.uud." - -msgid "IDS_MF_BODY_TIME" -msgstr "Aika" - -msgid "IDS_MF_BODY_TIMED_COUNT" -msgstr "Ajoitettu määrä" - -msgid "IDS_MF_BODY_TYPE" -msgstr "Tyyppi" - -msgid "IDS_MF_BODY_UNLIMITED" -msgstr "Rajoittamaton" - -msgid "IDS_MF_BUTTON_REPLACE_ABB" -msgstr "Korvaa" - -msgid "IDS_MF_OPT_CALLER_RINGTONE" -msgstr "Soittajan soittoääni" - -msgid "IDS_MF_OPT_LISTBY_NAME" -msgstr "Nimi" - -msgid "IDS_MF_POP_COPIED" -msgstr "Kopioitu" - -msgid "IDS_MF_POP_NOTHING_SELECTED" -msgstr "Mitään ei valittu" - -msgid "IDS_MF_POP_NOT_ENOUGH_HEAP_MEMORY" -msgstr "Kekomuisti ei riitä" - -msgid "IDS_MF_POP_NOT_ENOUGH_MEMORY_DELETE_SOME_ITEMS" -msgstr "Muisti ei riitä. Poista joitain kohteita" - -msgid "IDS_MF_BODY_CREATED_DATE" -msgstr "Luontipäivämäärä" - -msgid "IDS_MF_BODY_GPS_INFORMATION" -msgstr "GPS-tiedot" - -msgid "IDS_MF_BODY_GPS_LATITUDE" -msgstr "GPS-leveysaste" - -msgid "IDS_MF_BODY_GPS_LONGITUDE" -msgstr "GPS-pituusaste" - -msgid "IDS_MF_BODY_GPS_VERSION" -msgstr "GPS-versio" - -msgid "IDS_MF_SK_DETAILS" -msgstr "Lisätiedot" - -msgid "IDS_MF_BODY_ANY" -msgstr "Mikä tahansa" - -msgid "IDS_MF_BODY_AVAILABLE_USES" -msgstr "Jäljellä olevat käyttökerrat" - -msgid "IDS_MF_BODY_EXECUTE" -msgstr "Suorita" - -msgid "IDS_MF_BODY_FORWARDING" -msgstr "Edelleenlähetys" - -msgid "IDS_MF_BODY_IMPOSSIBLE" -msgstr "Mahdoton" - -msgid "IDS_MF_BODY_MMC_DATA_IS_INITIALIZING_ING" -msgstr "MMC-tietoja alustetaan..." - -msgid "IDS_MF_BODY_POSSIBLE" -msgstr "Mahdollinen" - -msgid "IDS_MF_BODY_PRINT" -msgstr "Tulosta" - -msgid "IDS_MF_BODY_VALIDITY" -msgstr "Kelpoisuus" - -msgid "IDS_MF_HEADER_NEW_FOLDER" -msgstr "Uusi kansio" - -msgid "IDS_MF_OPT_EDIT" -msgstr "Muokkaa" - -msgid "IDS_MF_OPT_LIST_BY" -msgstr "Lajitteluperuste" - -msgid "IDS_MF_OPT_MOVE_HERE" -msgstr "Siirrä tänne" - -msgid "IDS_MF_POP_CONTINUE" -msgstr "Jatka" - -msgid "IDS_MF_POP_COPYING" -msgstr "Kopioidaan..." - -msgid "IDS_MF_POP_PASTE_HERE" -msgstr "Liitä tänne" - -msgid "IDS_MF_POP_UNSUPPORTED_FILE_TYPE" -msgstr "Tiedostotyyppiä ei tueta" - -msgid "IDS_MF_OPT_DETAIL_VIEW" -msgstr "Tarkka näkymä" - -msgid "IDS_MF_POP_ASCENDING" -msgstr "Nouseva" - -msgid "IDS_MF_POP_DESCENDING" -msgstr "Laskeva" - -msgid "IDS_MF_TAB_ALL" -msgstr "Kaikki" - -msgid "IDS_MF_BODY_UP_M_BACK" -msgstr "Ylös" - -msgid "IDS_MF_BUTTON_SEARCH_ALL_FOLDERS" -msgstr "Hae kaikista kansioista" - -msgid "IDS_MF_OPT_THUMBNAIL_VIEW" -msgstr "Pikkukuvanäkymä" - -msgid "IDS_MF_OPT_SHOW_FILE_EXTENSION" -msgstr "Näytä tiedostotunniste" - -msgid "IDS_MF_OPT_SORT_BY" -msgstr "Lajitteluperuste" - -msgid "IDS_MF_BODY_LIST_AND_DETAILS_ABB" -msgstr "Luettelo ja tiedot" - -msgid "IDS_MF_OPT_HIDE_FILE_EXTENSION_ABB" -msgstr "Piilota tiedostotunn." - -msgid "IDS_MF_OPT_NAME_HA_TO_Z" -msgstr "Nimi (A–Ö)" - -msgid "IDS_MF_OPT_NAME_HZ_TO_A" -msgstr "Nimi (Ö–A)" - -msgid "IDS_MF_OPT_DATE_HMOST_RECENT" -msgstr "Päivämäärä (Uusimmat)" - -msgid "IDS_MF_OPT_DATE_HOLDEST" -msgstr "Päivämäärä (Vanhimmat)" - -msgid "IDS_MF_BUTTON_GO_TO_MY_FILES" -msgstr "Siirry Omiin tiedostoihin" - -msgid "IDS_MF_BODY_RINGTONES" -msgstr "Soittoäänet" - -msgid "IDS_MF_BUTTON_EXPORT_HERE" -msgstr "Vie tänne" - -msgid "IDS_MF_POP_UNABLE_TO_SET_DRM_PROTECTED_CONTENT_AS_RINGTONE_OR_NOTIFICATION_ALERT" -msgstr "DRM-suojattua sisältöä ei voi määrittää soittoääneksi tai ilmoitusääneksi" - diff --git a/data/po/fr_CA.po b/data/po/fr_CA.po deleted file mode 100644 index 0087b5c..0000000 --- a/data/po/fr_CA.po +++ /dev/null @@ -1,318 +0,0 @@ -msgid "IDS_MF_TAB_UP" -msgstr "Haut" - -msgid "IDS_MF_BUTTON_HOME" -msgstr "Accueil" - -msgid "IDS_MF_OPT_VIEW_BY_LIST" -msgstr "Afficher par liste" - -msgid "IDS_MF_OPT_VIEW_BY_THUMBNAIL" -msgstr "Afficher par miniature" - -msgid "IDS_MF_POP_DELETE_FAILED" -msgstr "Échec de suppression" - -msgid "IDS_MF_POP_DRM_FILE_CANNOT_SEND" -msgstr "Fichier GDN. Envoi impossible" - -msgid "IDS_MF_POP_INVALID_FILE_NAME" -msgstr "Nom de fichier incorrect" - -msgid "IDS_MF_POP_MAXIMUM_FOLDER_REACHED" -msgstr "Capacité maximum atteinte" - -msgid "IDS_MF_POP_PERMISSION_DENIED" -msgstr "Autorisation refusée" - -msgid "IDS_MF_POP_SEND_FAILED" -msgstr "Envoi échoué" - -msgid "IDS_MF_POP_THE_DESTINATION_FOLDER_IS_A_SUBFOLDER_OF_THE_SOURCE_FOLDER" -msgstr "Le dossier cible est un sous-dossier du dossier source" - -msgid "IDS_MF_POP_THIS_FILE_DOES_NOT_EXIST" -msgstr "Fichier inexistant" - -msgid "IDS_MF_POP_UNABLE_TO_COPY" -msgstr "Copie impossible" - -msgid "IDS_MF_POP_UNABLE_TO_MOVE" -msgstr "Déplacement impossible" - -msgid "IDS_MF_BODY_NOT_ENOUGH_MEMORY_IN_PHONE_MEMORY_DELETE_SOME_ITEMS_AND_TRY_AGAIN" -msgstr "Mémoire du téléphone insuffisante. Supprimez certains éléments et réessayez" - -msgid "IDS_MF_POP_COPYING_FAILED" -msgstr "Échec de copie" - -msgid "IDS_MF_POP_MOVING_FAILED" -msgstr "Échec du déplacement" - -msgid "IDS_MF_POP_NOT_ENOUGH_MEMORY_PS_AVAILABLE" -msgstr "Mémoire insuffisante. %s disponible(s)" - -msgid "IDS_MF_POP_SAME_NAME_ALREADY_IN_USE" -msgstr "Nom déjà utilisé" - -msgid "IDS_MF_POP_UNABLE_TO_MOVE_DESTINATION_FOLDER_SAME_AS_SOURCE_FOLDER" -msgstr "Déplacement impossible. Les dossiers source et cible sont identiques" - -msgid "IDS_MF_SK3_CREATE_FOLDER" -msgstr "Créer dossier" - -msgid "IDS_MF_SK3_PASTE_HERE" -msgstr "Coller ici" - -msgid "IDS_MF_BODY_ALERTS" -msgstr "Alertes" - -msgid "IDS_MF_BODY_WALLPAPERS" -msgstr "Fonds d'écran" - -msgid "IDS_MF_TAB_PHONE" -msgstr "Téléphone" - -msgid "IDS_MF_BODY_IMAGES" -msgstr "Images" - -msgid "IDS_MF_BODY_VIDEOS" -msgstr "Vidéos" - -msgid "IDS_MF_BODY_SOUNDS" -msgstr "Sons" - -msgid "IDS_MF_BODY_DOWNLOADS" -msgstr "Télécharg." - -msgid "IDS_MF_TAB_MEMORY_CARD" -msgstr "Carte mémoire" - -msgid "IDS_MF_TAB_EXTERNAL_STORAGE" -msgstr "Stockage externe" - -msgid "IDS_MF_SK3_EDIT" -msgstr "Modifier" - -msgid "IDS_MF_SK3_DELETE" -msgstr "Supprimer" - -msgid "IDS_MF_SK3_MOVE" -msgstr "Déplacer" - -msgid "IDS_MF_BODY_UP" -msgstr "Haut" - -msgid "IDS_MF_SK3_MOVE_HERE" -msgstr "Déplacer ici" - -msgid "IDS_MF_SK3_COPY" -msgstr "Copier" - -msgid "IDS_MF_SK3_SORT_BY" -msgstr "Trier par" - -msgid "IDS_MF_SK3_SEARCH" -msgstr "Rechercher" - -msgid "IDS_MF_SK3_MORE" -msgstr "Plus" - -msgid "IDS_MF_OPT_CREATE_FOLDER" -msgstr "Créer un dossier" - -msgid "IDS_MF_BODY_FOLDER_NAME" -msgstr "Nom de dossier" - -msgid "IDS_MF_BODY_ACCESS_MORE_MY_ALBUM" -msgstr "Mon album" - -msgid "IDS_MF_OPT_VIEW_AS" -msgstr "Afficher comme" - -msgid "IDS_MF_SK3_BACK" -msgstr "Retour" - -msgid "IDS_MF_BODY_MY_VIDEO_CLIPS" -msgstr "Mes clips vidéo" - -msgid "IDS_MF_BODY_RIGHT_STATUS" -msgstr "Information sur les droits" - -msgid "IDS_MF_BODY_VENDOR" -msgstr "Fournisseur" - -msgid "IDS_MF_HEADER_COUNT" -msgstr "Compte" - -msgid "IDS_MF_BODY_CONTAINS" -msgstr "Contient" - -msgid "IDS_MF_BODY_INDIVIDUAL" -msgstr "Individuel" - -msgid "IDS_MF_BODY_INTERVAL" -msgstr "Intervalle" - -msgid "IDS_MF_BODY_RENAME_ABB" -msgstr "Renom." - -msgid "IDS_MF_BODY_TIME" -msgstr "Heure" - -msgid "IDS_MF_BODY_TIMED_COUNT" -msgstr "Temps restant" - -msgid "IDS_MF_BODY_TYPE" -msgstr "Type" - -msgid "IDS_MF_BODY_UNLIMITED" -msgstr "Illimité" - -msgid "IDS_MF_BUTTON_REPLACE_ABB" -msgstr "Rempl." - -msgid "IDS_MF_OPT_CALLER_RINGTONE" -msgstr "Sonnerie de l'appelant" - -msgid "IDS_MF_OPT_LISTBY_NAME" -msgstr "Nom" - -msgid "IDS_MF_POP_COPIED" -msgstr "Copié" - -msgid "IDS_MF_POP_NOTHING_SELECTED" -msgstr "Aucune sélection" - -msgid "IDS_MF_POP_NOT_ENOUGH_HEAP_MEMORY" -msgstr "Mémoire de la pile insuffisante" - -msgid "IDS_MF_POP_NOT_ENOUGH_MEMORY_DELETE_SOME_ITEMS" -msgstr "Mémoire insuffisante. Supprimez certains éléments" - -msgid "IDS_MF_BODY_CREATED_DATE" -msgstr "Date de création" - -msgid "IDS_MF_BODY_GPS_INFORMATION" -msgstr "Informations GPS" - -msgid "IDS_MF_BODY_GPS_LATITUDE" -msgstr "Latitude GPS" - -msgid "IDS_MF_BODY_GPS_LONGITUDE" -msgstr "Longitude GPS" - -msgid "IDS_MF_BODY_GPS_VERSION" -msgstr "Version GPS" - -msgid "IDS_MF_SK_DETAILS" -msgstr "Détails" - -msgid "IDS_MF_BODY_ANY" -msgstr "N'importe" - -msgid "IDS_MF_BODY_AVAILABLE_USES" -msgstr "Utilisations disponibles" - -msgid "IDS_MF_BODY_EXECUTE" -msgstr "Exécuter" - -msgid "IDS_MF_BODY_FORWARDING" -msgstr "Transfert" - -msgid "IDS_MF_BODY_IMPOSSIBLE" -msgstr "Impossible" - -msgid "IDS_MF_BODY_MMC_DATA_IS_INITIALIZING_ING" -msgstr "Données MMC en cours d'initialisation..." - -msgid "IDS_MF_BODY_POSSIBLE" -msgstr "Possible" - -msgid "IDS_MF_BODY_PRINT" -msgstr "Imprimer" - -msgid "IDS_MF_BODY_VALIDITY" -msgstr "Validité" - -msgid "IDS_MF_HEADER_NEW_FOLDER" -msgstr "Nouveau dossier" - -msgid "IDS_MF_OPT_EDIT" -msgstr "Modifier" - -msgid "IDS_MF_OPT_LIST_BY" -msgstr "Trier par" - -msgid "IDS_MF_OPT_MOVE_HERE" -msgstr "Déplacer ici" - -msgid "IDS_MF_POP_CONTINUE" -msgstr "Continuer" - -msgid "IDS_MF_POP_COPYING" -msgstr "Copie ..." - -msgid "IDS_MF_POP_PASTE_HERE" -msgstr "Coller ici" - -msgid "IDS_MF_POP_UNSUPPORTED_FILE_TYPE" -msgstr "Type de fichier non pris en charge" - -msgid "IDS_MF_OPT_DETAIL_VIEW" -msgstr "Affichage détaillé" - -msgid "IDS_MF_POP_ASCENDING" -msgstr "Croissant" - -msgid "IDS_MF_POP_DESCENDING" -msgstr "Décroissant" - -msgid "IDS_MF_TAB_ALL" -msgstr "Tout" - -msgid "IDS_MF_BODY_UP_M_BACK" -msgstr "Haut" - -msgid "IDS_MF_BUTTON_SEARCH_ALL_FOLDERS" -msgstr "Rech. dans ts dossiers" - -msgid "IDS_MF_OPT_THUMBNAIL_VIEW" -msgstr "Affichage miniature" - -msgid "IDS_MF_OPT_SHOW_FILE_EXTENSION" -msgstr "Afficher l'extension du fichier" - -msgid "IDS_MF_OPT_SORT_BY" -msgstr "Trier par" - -msgid "IDS_MF_BODY_LIST_AND_DETAILS_ABB" -msgstr "Liste et détails" - -msgid "IDS_MF_OPT_HIDE_FILE_EXTENSION_ABB" -msgstr "Masq. extens. fichier" - -msgid "IDS_MF_OPT_NAME_HA_TO_Z" -msgstr "Nom (A à Z)" - -msgid "IDS_MF_OPT_NAME_HZ_TO_A" -msgstr "Nom (Z à A)" - -msgid "IDS_MF_OPT_DATE_HMOST_RECENT" -msgstr "Date (les plus récents)" - -msgid "IDS_MF_OPT_DATE_HOLDEST" -msgstr "Date (les plus anciens)" - -msgid "IDS_MF_BUTTON_GO_TO_MY_FILES" -msgstr "Accès à Mes fichiers" - -msgid "IDS_MF_BODY_RINGTONES" -msgstr "Sonneries" - -msgid "IDS_MF_BUTTON_EXPORT_HERE" -msgstr "Exporter ici" - -msgid "IDS_MF_POP_UNABLE_TO_SET_DRM_PROTECTED_CONTENT_AS_RINGTONE_OR_NOTIFICATION_ALERT" -msgstr "Impossible de définir un contenu protégé par GDN en tant que sonnerie ou alerte de notification" - diff --git a/data/po/fr_FR.po b/data/po/fr_FR.po deleted file mode 100644 index fc557f6..0000000 --- a/data/po/fr_FR.po +++ /dev/null @@ -1,318 +0,0 @@ -msgid "IDS_MF_TAB_UP" -msgstr "Haut" - -msgid "IDS_MF_BUTTON_HOME" -msgstr "Accueil" - -msgid "IDS_MF_OPT_VIEW_BY_LIST" -msgstr "Afficher par liste" - -msgid "IDS_MF_OPT_VIEW_BY_THUMBNAIL" -msgstr "Afficher par miniature" - -msgid "IDS_MF_POP_DELETE_FAILED" -msgstr "Échec de suppression" - -msgid "IDS_MF_POP_DRM_FILE_CANNOT_SEND" -msgstr "Fichier DRM. Envoi impossible" - -msgid "IDS_MF_POP_INVALID_FILE_NAME" -msgstr "Nom de fichier incorrect" - -msgid "IDS_MF_POP_MAXIMUM_FOLDER_REACHED" -msgstr "Capacité maximum atteinte" - -msgid "IDS_MF_POP_PERMISSION_DENIED" -msgstr "Autorisation refusée" - -msgid "IDS_MF_POP_SEND_FAILED" -msgstr "Envoi impossible" - -msgid "IDS_MF_POP_THE_DESTINATION_FOLDER_IS_A_SUBFOLDER_OF_THE_SOURCE_FOLDER" -msgstr "Le dossier cible est un sous-dossier du dossier source" - -msgid "IDS_MF_POP_THIS_FILE_DOES_NOT_EXIST" -msgstr "Fichier inexistant" - -msgid "IDS_MF_POP_UNABLE_TO_COPY" -msgstr "Copie impossible." - -msgid "IDS_MF_POP_UNABLE_TO_MOVE" -msgstr "Déplacement impossible" - -msgid "IDS_MF_BODY_NOT_ENOUGH_MEMORY_IN_PHONE_MEMORY_DELETE_SOME_ITEMS_AND_TRY_AGAIN" -msgstr "Mémoire du téléphone insuffisante. Supprimez certains éléments et réessayez" - -msgid "IDS_MF_POP_COPYING_FAILED" -msgstr "Échec copie" - -msgid "IDS_MF_POP_MOVING_FAILED" -msgstr "Échec du déplacement" - -msgid "IDS_MF_POP_NOT_ENOUGH_MEMORY_PS_AVAILABLE" -msgstr "Mémoire insuffisante. %s disponible(s)" - -msgid "IDS_MF_POP_SAME_NAME_ALREADY_IN_USE" -msgstr "Nom déjà utilisé" - -msgid "IDS_MF_POP_UNABLE_TO_MOVE_DESTINATION_FOLDER_SAME_AS_SOURCE_FOLDER" -msgstr "Déplacement impossible. Les dossiers source et cible sont identiques" - -msgid "IDS_MF_SK3_CREATE_FOLDER" -msgstr "Créer dossier" - -msgid "IDS_MF_SK3_PASTE_HERE" -msgstr "Coller ici" - -msgid "IDS_MF_BODY_ALERTS" -msgstr "Alertes" - -msgid "IDS_MF_BODY_WALLPAPERS" -msgstr "Fonds d'écran" - -msgid "IDS_MF_TAB_PHONE" -msgstr "Téléphone" - -msgid "IDS_MF_BODY_IMAGES" -msgstr "Images" - -msgid "IDS_MF_BODY_VIDEOS" -msgstr "Vidéos" - -msgid "IDS_MF_BODY_SOUNDS" -msgstr "Sons" - -msgid "IDS_MF_BODY_DOWNLOADS" -msgstr "Téléchargements" - -msgid "IDS_MF_TAB_MEMORY_CARD" -msgstr "Carte mémoire" - -msgid "IDS_MF_TAB_EXTERNAL_STORAGE" -msgstr "Stockage externe" - -msgid "IDS_MF_SK3_EDIT" -msgstr "Modifier" - -msgid "IDS_MF_SK3_DELETE" -msgstr "Supprimer" - -msgid "IDS_MF_SK3_MOVE" -msgstr "Déplacer" - -msgid "IDS_MF_BODY_UP" -msgstr "Haut" - -msgid "IDS_MF_SK3_MOVE_HERE" -msgstr "Déplacer ici" - -msgid "IDS_MF_SK3_COPY" -msgstr "Copier" - -msgid "IDS_MF_SK3_SORT_BY" -msgstr "Trier par" - -msgid "IDS_MF_SK3_SEARCH" -msgstr "Chercher" - -msgid "IDS_MF_SK3_MORE" -msgstr "Plus" - -msgid "IDS_MF_OPT_CREATE_FOLDER" -msgstr "Créer dossier" - -msgid "IDS_MF_BODY_FOLDER_NAME" -msgstr "Nom de dossier" - -msgid "IDS_MF_BODY_ACCESS_MORE_MY_ALBUM" -msgstr "Mon album" - -msgid "IDS_MF_OPT_VIEW_AS" -msgstr "Visualiser comme" - -msgid "IDS_MF_SK3_BACK" -msgstr "Retour" - -msgid "IDS_MF_BODY_MY_VIDEO_CLIPS" -msgstr "Mes clips vidéo" - -msgid "IDS_MF_BODY_RIGHT_STATUS" -msgstr "Information sur les droits" - -msgid "IDS_MF_BODY_VENDOR" -msgstr "Fournisseur" - -msgid "IDS_MF_HEADER_COUNT" -msgstr "Compte" - -msgid "IDS_MF_BODY_CONTAINS" -msgstr "Contenu" - -msgid "IDS_MF_BODY_INDIVIDUAL" -msgstr "Individuel" - -msgid "IDS_MF_BODY_INTERVAL" -msgstr "Intervalle" - -msgid "IDS_MF_BODY_RENAME_ABB" -msgstr "Nv nom" - -msgid "IDS_MF_BODY_TIME" -msgstr "Heure" - -msgid "IDS_MF_BODY_TIMED_COUNT" -msgstr "Temps restant" - -msgid "IDS_MF_BODY_TYPE" -msgstr "Type" - -msgid "IDS_MF_BODY_UNLIMITED" -msgstr "Illimité" - -msgid "IDS_MF_BUTTON_REPLACE_ABB" -msgstr "Rempl." - -msgid "IDS_MF_OPT_CALLER_RINGTONE" -msgstr "Sonnerie d'appelant" - -msgid "IDS_MF_OPT_LISTBY_NAME" -msgstr "Nom" - -msgid "IDS_MF_POP_COPIED" -msgstr "Copié" - -msgid "IDS_MF_POP_NOTHING_SELECTED" -msgstr "Aucune sélection" - -msgid "IDS_MF_POP_NOT_ENOUGH_HEAP_MEMORY" -msgstr "Mémoire de la pile insuffisante" - -msgid "IDS_MF_POP_NOT_ENOUGH_MEMORY_DELETE_SOME_ITEMS" -msgstr "Mémoire insuffisante. Supprimez certains éléments" - -msgid "IDS_MF_BODY_CREATED_DATE" -msgstr "Date de création" - -msgid "IDS_MF_BODY_GPS_INFORMATION" -msgstr "Informations GPS" - -msgid "IDS_MF_BODY_GPS_LATITUDE" -msgstr "Latitude GPS" - -msgid "IDS_MF_BODY_GPS_LONGITUDE" -msgstr "Longitude GPS" - -msgid "IDS_MF_BODY_GPS_VERSION" -msgstr "Version GPS" - -msgid "IDS_MF_SK_DETAILS" -msgstr "Détails" - -msgid "IDS_MF_BODY_ANY" -msgstr "N'importe" - -msgid "IDS_MF_BODY_AVAILABLE_USES" -msgstr "Utilisations disponibles" - -msgid "IDS_MF_BODY_EXECUTE" -msgstr "Exécuter" - -msgid "IDS_MF_BODY_FORWARDING" -msgstr "Transfert" - -msgid "IDS_MF_BODY_IMPOSSIBLE" -msgstr "Impossible" - -msgid "IDS_MF_BODY_MMC_DATA_IS_INITIALIZING_ING" -msgstr "Données MMC en cours d'initialisation..." - -msgid "IDS_MF_BODY_POSSIBLE" -msgstr "Possible" - -msgid "IDS_MF_BODY_PRINT" -msgstr "Imprimer" - -msgid "IDS_MF_BODY_VALIDITY" -msgstr "Validité" - -msgid "IDS_MF_HEADER_NEW_FOLDER" -msgstr "Nouveau dossier" - -msgid "IDS_MF_OPT_EDIT" -msgstr "Modifier" - -msgid "IDS_MF_OPT_LIST_BY" -msgstr "Trier par" - -msgid "IDS_MF_OPT_MOVE_HERE" -msgstr "Déplacer ici" - -msgid "IDS_MF_POP_CONTINUE" -msgstr "Continuer" - -msgid "IDS_MF_POP_COPYING" -msgstr "Copie..." - -msgid "IDS_MF_POP_PASTE_HERE" -msgstr "Coller ici" - -msgid "IDS_MF_POP_UNSUPPORTED_FILE_TYPE" -msgstr "Type de fichier non pris en charge" - -msgid "IDS_MF_OPT_DETAIL_VIEW" -msgstr "Affichage détaillé" - -msgid "IDS_MF_POP_ASCENDING" -msgstr "Croissant" - -msgid "IDS_MF_POP_DESCENDING" -msgstr "Décroissant" - -msgid "IDS_MF_TAB_ALL" -msgstr "Tout" - -msgid "IDS_MF_BODY_UP_M_BACK" -msgstr "Haut" - -msgid "IDS_MF_BUTTON_SEARCH_ALL_FOLDERS" -msgstr "Rech. dans ts dossiers" - -msgid "IDS_MF_OPT_THUMBNAIL_VIEW" -msgstr "Affichage miniature" - -msgid "IDS_MF_OPT_SHOW_FILE_EXTENSION" -msgstr "Afficher l'extension du fichier" - -msgid "IDS_MF_OPT_SORT_BY" -msgstr "Trier par" - -msgid "IDS_MF_BODY_LIST_AND_DETAILS_ABB" -msgstr "Liste et détails" - -msgid "IDS_MF_OPT_HIDE_FILE_EXTENSION_ABB" -msgstr "Masq. extens. fichier" - -msgid "IDS_MF_OPT_NAME_HA_TO_Z" -msgstr "Nom (A à Z)" - -msgid "IDS_MF_OPT_NAME_HZ_TO_A" -msgstr "Nom (Z à A)" - -msgid "IDS_MF_OPT_DATE_HMOST_RECENT" -msgstr "Date (Les plus récents)" - -msgid "IDS_MF_OPT_DATE_HOLDEST" -msgstr "Date (Les plus anciens)" - -msgid "IDS_MF_BUTTON_GO_TO_MY_FILES" -msgstr "Accès à Mes fichiers" - -msgid "IDS_MF_BODY_RINGTONES" -msgstr "Sonneries" - -msgid "IDS_MF_BUTTON_EXPORT_HERE" -msgstr "Exporter ici" - -msgid "IDS_MF_POP_UNABLE_TO_SET_DRM_PROTECTED_CONTENT_AS_RINGTONE_OR_NOTIFICATION_ALERT" -msgstr "Impossible de définir un contenu protégé par DRM en tant que sonnerie ou alerte de notification" - diff --git a/data/po/ga.po b/data/po/ga.po deleted file mode 100644 index 18bc3d4..0000000 --- a/data/po/ga.po +++ /dev/null @@ -1,318 +0,0 @@ -msgid "IDS_MF_TAB_UP" -msgstr "Suas" - -msgid "IDS_MF_BUTTON_HOME" -msgstr "Baile" - -msgid "IDS_MF_OPT_VIEW_BY_LIST" -msgstr "Amharc de réir liosta" - -msgid "IDS_MF_OPT_VIEW_BY_THUMBNAIL" -msgstr "Amharc de réir mionsamhla" - -msgid "IDS_MF_POP_DELETE_FAILED" -msgstr "Theip ar scriosadh" - -msgid "IDS_MF_POP_DRM_FILE_CANNOT_SEND" -msgstr "Comhad DRL. Ní féidir seoladh" - -msgid "IDS_MF_POP_INVALID_FILE_NAME" -msgstr "Comhadainm neamhbhailí" - -msgid "IDS_MF_POP_MAXIMUM_FOLDER_REACHED" -msgstr "Uaslíon na bhfillteán bainte amach" - -msgid "IDS_MF_POP_PERMISSION_DENIED" -msgstr "Cead séanta" - -msgid "IDS_MF_POP_SEND_FAILED" -msgstr "Theip ar sheoladh" - -msgid "IDS_MF_POP_THE_DESTINATION_FOLDER_IS_A_SUBFOLDER_OF_THE_SOURCE_FOLDER" -msgstr "Is fo-fhillteán de chuid an fhillteáin fhoinsigh é an fillteán sprice" - -msgid "IDS_MF_POP_THIS_FILE_DOES_NOT_EXIST" -msgstr "Níl an comhad seo ann" - -msgid "IDS_MF_POP_UNABLE_TO_COPY" -msgstr "Ní féidir cóipeáil" - -msgid "IDS_MF_POP_UNABLE_TO_MOVE" -msgstr "Ní féidir bogadh" - -msgid "IDS_MF_BODY_NOT_ENOUGH_MEMORY_IN_PHONE_MEMORY_DELETE_SOME_ITEMS_AND_TRY_AGAIN" -msgstr "Easpa cuimhne san fhón. Scrios roinnt míreanna agus triail arís" - -msgid "IDS_MF_POP_COPYING_FAILED" -msgstr "Theip ar chóipeáil" - -msgid "IDS_MF_POP_MOVING_FAILED" -msgstr "Theip ar bhogadh" - -msgid "IDS_MF_POP_NOT_ENOUGH_MEMORY_PS_AVAILABLE" -msgstr "Easpa cuimhne. %s ar fáil" - -msgid "IDS_MF_POP_SAME_NAME_ALREADY_IN_USE" -msgstr "Ainm céanna in úsáid cheana" - -msgid "IDS_MF_POP_UNABLE_TO_MOVE_DESTINATION_FOLDER_SAME_AS_SOURCE_FOLDER" -msgstr "Ní féidir bogadh. Is ionann an fillteán sprice agus an fillteán fuinseach" - -msgid "IDS_MF_SK3_CREATE_FOLDER" -msgstr "Déan fillteán" - -msgid "IDS_MF_SK3_PASTE_HERE" -msgstr "Greamaigh anseo" - -msgid "IDS_MF_BODY_ALERTS" -msgstr "Foláirimh" - -msgid "IDS_MF_BODY_WALLPAPERS" -msgstr "Cúlbhrait" - -msgid "IDS_MF_TAB_PHONE" -msgstr "Fón" - -msgid "IDS_MF_BODY_IMAGES" -msgstr "Íomhánna" - -msgid "IDS_MF_BODY_VIDEOS" -msgstr "Físeáin" - -msgid "IDS_MF_BODY_SOUNDS" -msgstr "Fuaimeanna" - -msgid "IDS_MF_BODY_DOWNLOADS" -msgstr "Ioslódálacha" - -msgid "IDS_MF_TAB_MEMORY_CARD" -msgstr "Cárta cuimhne" - -msgid "IDS_MF_TAB_EXTERNAL_STORAGE" -msgstr "Stóras seachtrach" - -msgid "IDS_MF_SK3_EDIT" -msgstr "Cuir in eagar" - -msgid "IDS_MF_SK3_DELETE" -msgstr "Scrios" - -msgid "IDS_MF_SK3_MOVE" -msgstr "Bog" - -msgid "IDS_MF_BODY_UP" -msgstr "Suas" - -msgid "IDS_MF_SK3_MOVE_HERE" -msgstr "Bog anseo" - -msgid "IDS_MF_SK3_COPY" -msgstr "Cóipeáil" - -msgid "IDS_MF_SK3_SORT_BY" -msgstr "Sórtáil de réir" - -msgid "IDS_MF_SK3_SEARCH" -msgstr "Cuardach" - -msgid "IDS_MF_SK3_MORE" -msgstr "Tuilleadh" - -msgid "IDS_MF_OPT_CREATE_FOLDER" -msgstr "Déan fillteán" - -msgid "IDS_MF_BODY_FOLDER_NAME" -msgstr "Ainm an fhillteáin" - -msgid "IDS_MF_BODY_ACCESS_MORE_MY_ALBUM" -msgstr "M'albam" - -msgid "IDS_MF_OPT_VIEW_AS" -msgstr "Amharc mar" - -msgid "IDS_MF_SK3_BACK" -msgstr "Siar" - -msgid "IDS_MF_BODY_MY_VIDEO_CLIPS" -msgstr "Mo ghearrthóga físe" - -msgid "IDS_MF_BODY_RIGHT_STATUS" -msgstr "Stádas ceart" - -msgid "IDS_MF_BODY_VENDOR" -msgstr "Díoltóir" - -msgid "IDS_MF_HEADER_COUNT" -msgstr "Áireamh" - -msgid "IDS_MF_BODY_CONTAINS" -msgstr "Istigh tá:" - -msgid "IDS_MF_BODY_INDIVIDUAL" -msgstr "Duine aonair" - -msgid "IDS_MF_BODY_INTERVAL" -msgstr "Eatramh" - -msgid "IDS_MF_BODY_RENAME_ABB" -msgstr "Athainm" - -msgid "IDS_MF_BODY_TIME" -msgstr "Am" - -msgid "IDS_MF_BODY_TIMED_COUNT" -msgstr "Áireamh amaithe" - -msgid "IDS_MF_BODY_TYPE" -msgstr "Cineál" - -msgid "IDS_MF_BODY_UNLIMITED" -msgstr "Gan teorainn" - -msgid "IDS_MF_BUTTON_REPLACE_ABB" -msgstr "Ionadú" - -msgid "IDS_MF_OPT_CALLER_RINGTONE" -msgstr "Clingthon glaoiteora" - -msgid "IDS_MF_OPT_LISTBY_NAME" -msgstr "Ainm" - -msgid "IDS_MF_POP_COPIED" -msgstr "Cóipeáilte" - -msgid "IDS_MF_POP_NOTHING_SELECTED" -msgstr "Dada roghnaithe" - -msgid "IDS_MF_POP_NOT_ENOUGH_HEAP_MEMORY" -msgstr "Easpa carnchuimhne" - -msgid "IDS_MF_POP_NOT_ENOUGH_MEMORY_DELETE_SOME_ITEMS" -msgstr "Easpa cuimhne. Scrios roinnt míreanna" - -msgid "IDS_MF_BODY_CREATED_DATE" -msgstr "Dáta cruthaithe" - -msgid "IDS_MF_BODY_GPS_INFORMATION" -msgstr "Faisnéis faoi GPS" - -msgid "IDS_MF_BODY_GPS_LATITUDE" -msgstr "Domhanleithead GPS" - -msgid "IDS_MF_BODY_GPS_LONGITUDE" -msgstr "Domhanfhad GPS" - -msgid "IDS_MF_BODY_GPS_VERSION" -msgstr "Leagan GPS" - -msgid "IDS_MF_SK_DETAILS" -msgstr "Sonraí" - -msgid "IDS_MF_BODY_ANY" -msgstr "Ceann ar bith" - -msgid "IDS_MF_BODY_AVAILABLE_USES" -msgstr "Úsáidí atá ar fáil" - -msgid "IDS_MF_BODY_EXECUTE" -msgstr "Rith" - -msgid "IDS_MF_BODY_FORWARDING" -msgstr "Seoladh ar aghaidh" - -msgid "IDS_MF_BODY_IMPOSSIBLE" -msgstr "Dodhéanta" - -msgid "IDS_MF_BODY_MMC_DATA_IS_INITIALIZING_ING" -msgstr "Sonraí MMC á dtúsú..." - -msgid "IDS_MF_BODY_POSSIBLE" -msgstr "Indéanta" - -msgid "IDS_MF_BODY_PRINT" -msgstr "Priontáil" - -msgid "IDS_MF_BODY_VALIDITY" -msgstr "Bailíocht" - -msgid "IDS_MF_HEADER_NEW_FOLDER" -msgstr "Fillteán nua" - -msgid "IDS_MF_OPT_EDIT" -msgstr "Cuir in eagar" - -msgid "IDS_MF_OPT_LIST_BY" -msgstr "Liostaigh de réir" - -msgid "IDS_MF_OPT_MOVE_HERE" -msgstr "Bog anseo" - -msgid "IDS_MF_POP_CONTINUE" -msgstr "Ar aghaidh" - -msgid "IDS_MF_POP_COPYING" -msgstr "Ag cóipeáil..." - -msgid "IDS_MF_POP_PASTE_HERE" -msgstr "Greamaigh anseo" - -msgid "IDS_MF_POP_UNSUPPORTED_FILE_TYPE" -msgstr "Cineál comhaid gan tacú" - -msgid "IDS_MF_OPT_DETAIL_VIEW" -msgstr "Amharc ar shonraí" - -msgid "IDS_MF_POP_ASCENDING" -msgstr "Ardaitheach" - -msgid "IDS_MF_POP_DESCENDING" -msgstr "In ord íslitheach" - -msgid "IDS_MF_TAB_ALL" -msgstr "Gach" - -msgid "IDS_MF_BODY_UP_M_BACK" -msgstr "Suas" - -msgid "IDS_MF_BUTTON_SEARCH_ALL_FOLDERS" -msgstr "Cuardaigh gach fillteán" - -msgid "IDS_MF_OPT_THUMBNAIL_VIEW" -msgstr "Radharc mionsamhla" - -msgid "IDS_MF_OPT_SHOW_FILE_EXTENSION" -msgstr "Taispeáin iarmhír chomhadainm" - -msgid "IDS_MF_OPT_SORT_BY" -msgstr "Sórtáil de réir" - -msgid "IDS_MF_BODY_LIST_AND_DETAILS_ABB" -msgstr "Liosta agus sonraí" - -msgid "IDS_MF_OPT_HIDE_FILE_EXTENSION_ABB" -msgstr "Fol. iarmhír comhaid" - -msgid "IDS_MF_OPT_NAME_HA_TO_Z" -msgstr "Ainm (A go Z)" - -msgid "IDS_MF_OPT_NAME_HZ_TO_A" -msgstr "Ainm (Z go A)" - -msgid "IDS_MF_OPT_DATE_HMOST_RECENT" -msgstr "Dáta (Cinn is déanaí)" - -msgid "IDS_MF_OPT_DATE_HOLDEST" -msgstr "Dáta (Cinn is sine)" - -msgid "IDS_MF_BUTTON_GO_TO_MY_FILES" -msgstr "Gabh go Mo Chomhaid" - -msgid "IDS_MF_BODY_RINGTONES" -msgstr "Clingthoin" - -msgid "IDS_MF_BUTTON_EXPORT_HERE" -msgstr "Easpórtáil anseo" - -msgid "IDS_MF_POP_UNABLE_TO_SET_DRM_PROTECTED_CONTENT_AS_RINGTONE_OR_NOTIFICATION_ALERT" -msgstr "Níorbh fhéidir inneachar faoi chosaint DRM a shocrú mar chlingthon nó mar fhógra foláirimh" - diff --git a/data/po/gl.po b/data/po/gl.po deleted file mode 100644 index 616a071..0000000 --- a/data/po/gl.po +++ /dev/null @@ -1,318 +0,0 @@ -msgid "IDS_MF_TAB_UP" -msgstr "Arriba" - -msgid "IDS_MF_BUTTON_HOME" -msgstr "Particular" - -msgid "IDS_MF_OPT_VIEW_BY_LIST" -msgstr "Ver por lista" - -msgid "IDS_MF_OPT_VIEW_BY_THUMBNAIL" -msgstr "Ver en miniatura" - -msgid "IDS_MF_POP_DELETE_FAILED" -msgstr "Erro ao eliminar" - -msgid "IDS_MF_POP_DRM_FILE_CANNOT_SEND" -msgstr "Arquivo DRM. Non se pode enviar" - -msgid "IDS_MF_POP_INVALID_FILE_NAME" -msgstr "Nome de arquivo non válido" - -msgid "IDS_MF_POP_MAXIMUM_FOLDER_REACHED" -msgstr "Número máximo de carpetas alcanzado" - -msgid "IDS_MF_POP_PERMISSION_DENIED" -msgstr "Permiso denegado" - -msgid "IDS_MF_POP_SEND_FAILED" -msgstr "Erro ao enviar" - -msgid "IDS_MF_POP_THE_DESTINATION_FOLDER_IS_A_SUBFOLDER_OF_THE_SOURCE_FOLDER" -msgstr "A carpeta de destino é unha subcarpeta da carpeta de orixe" - -msgid "IDS_MF_POP_THIS_FILE_DOES_NOT_EXIST" -msgstr "O arquivo non existe" - -msgid "IDS_MF_POP_UNABLE_TO_COPY" -msgstr "Non se pode copiar" - -msgid "IDS_MF_POP_UNABLE_TO_MOVE" -msgstr "Non se pode mover" - -msgid "IDS_MF_BODY_NOT_ENOUGH_MEMORY_IN_PHONE_MEMORY_DELETE_SOME_ITEMS_AND_TRY_AGAIN" -msgstr "Non hai suficiente memoria no teléfono. Elimina algúns elementos e inténtao de novo" - -msgid "IDS_MF_POP_COPYING_FAILED" -msgstr "Erro ao copiar" - -msgid "IDS_MF_POP_MOVING_FAILED" -msgstr "Erro ao mover" - -msgid "IDS_MF_POP_NOT_ENOUGH_MEMORY_PS_AVAILABLE" -msgstr "Non hai suficiente memoria. %s dispoñible" - -msgid "IDS_MF_POP_SAME_NAME_ALREADY_IN_USE" -msgstr "Este nome xa está en uso" - -msgid "IDS_MF_POP_UNABLE_TO_MOVE_DESTINATION_FOLDER_SAME_AS_SOURCE_FOLDER" -msgstr "Non se pode mover. Mesma carpeta de destino que de orixe" - -msgid "IDS_MF_SK3_CREATE_FOLDER" -msgstr "Crear carpeta" - -msgid "IDS_MF_SK3_PASTE_HERE" -msgstr "Pegar aquí" - -msgid "IDS_MF_BODY_ALERTS" -msgstr "Alertas" - -msgid "IDS_MF_BODY_WALLPAPERS" -msgstr "Fondos" - -msgid "IDS_MF_TAB_PHONE" -msgstr "Teléfono" - -msgid "IDS_MF_BODY_IMAGES" -msgstr "Imaxes" - -msgid "IDS_MF_BODY_VIDEOS" -msgstr "Vídeos" - -msgid "IDS_MF_BODY_SOUNDS" -msgstr "Sons" - -msgid "IDS_MF_BODY_DOWNLOADS" -msgstr "Descargas" - -msgid "IDS_MF_TAB_MEMORY_CARD" -msgstr "Tarx. de memoria" - -msgid "IDS_MF_TAB_EXTERNAL_STORAGE" -msgstr "Almacenamento externo" - -msgid "IDS_MF_SK3_EDIT" -msgstr "Editar" - -msgid "IDS_MF_SK3_DELETE" -msgstr "Eliminar" - -msgid "IDS_MF_SK3_MOVE" -msgstr "Mover" - -msgid "IDS_MF_BODY_UP" -msgstr "Arriba" - -msgid "IDS_MF_SK3_MOVE_HERE" -msgstr "Mover aquí" - -msgid "IDS_MF_SK3_COPY" -msgstr "Copiar" - -msgid "IDS_MF_SK3_SORT_BY" -msgstr "Ordenar por" - -msgid "IDS_MF_SK3_SEARCH" -msgstr "Buscar" - -msgid "IDS_MF_SK3_MORE" -msgstr "Máis" - -msgid "IDS_MF_OPT_CREATE_FOLDER" -msgstr "Crear carpeta" - -msgid "IDS_MF_BODY_FOLDER_NAME" -msgstr "Nome de carpeta" - -msgid "IDS_MF_BODY_ACCESS_MORE_MY_ALBUM" -msgstr "O meu Álbum" - -msgid "IDS_MF_OPT_VIEW_AS" -msgstr "Ver como" - -msgid "IDS_MF_SK3_BACK" -msgstr "Atrás" - -msgid "IDS_MF_BODY_MY_VIDEO_CLIPS" -msgstr "Os meus videoclips" - -msgid "IDS_MF_BODY_RIGHT_STATUS" -msgstr "Estado correcto" - -msgid "IDS_MF_BODY_VENDOR" -msgstr "Provedor" - -msgid "IDS_MF_HEADER_COUNT" -msgstr "Contar" - -msgid "IDS_MF_BODY_CONTAINS" -msgstr "Contén" - -msgid "IDS_MF_BODY_INDIVIDUAL" -msgstr "Individual" - -msgid "IDS_MF_BODY_INTERVAL" -msgstr "Intervalo" - -msgid "IDS_MF_BODY_RENAME_ABB" -msgstr "C nome" - -msgid "IDS_MF_BODY_TIME" -msgstr "Hora" - -msgid "IDS_MF_BODY_TIMED_COUNT" -msgstr "Conta restante" - -msgid "IDS_MF_BODY_TYPE" -msgstr "Tipo" - -msgid "IDS_MF_BODY_UNLIMITED" -msgstr "Ilimitada" - -msgid "IDS_MF_BUTTON_REPLACE_ABB" -msgstr "Substit" - -msgid "IDS_MF_OPT_CALLER_RINGTONE" -msgstr "Melodía do chamante" - -msgid "IDS_MF_OPT_LISTBY_NAME" -msgstr "Nome" - -msgid "IDS_MF_POP_COPIED" -msgstr "Copiado" - -msgid "IDS_MF_POP_NOTHING_SELECTED" -msgstr "Non se seleccionou nada" - -msgid "IDS_MF_POP_NOT_ENOUGH_HEAP_MEMORY" -msgstr "Non hai suficiente memoria dinámica" - -msgid "IDS_MF_POP_NOT_ENOUGH_MEMORY_DELETE_SOME_ITEMS" -msgstr "Non hai suficiente memoria. Elimine algúns elementos" - -msgid "IDS_MF_BODY_CREATED_DATE" -msgstr "Data de creación" - -msgid "IDS_MF_BODY_GPS_INFORMATION" -msgstr "Información GPS" - -msgid "IDS_MF_BODY_GPS_LATITUDE" -msgstr "Latitude GPS" - -msgid "IDS_MF_BODY_GPS_LONGITUDE" -msgstr "Lonxitude GPS" - -msgid "IDS_MF_BODY_GPS_VERSION" -msgstr "Versión GPS" - -msgid "IDS_MF_SK_DETAILS" -msgstr "Detalles" - -msgid "IDS_MF_BODY_ANY" -msgstr "Calquera" - -msgid "IDS_MF_BODY_AVAILABLE_USES" -msgstr "Usos dispoñibles" - -msgid "IDS_MF_BODY_EXECUTE" -msgstr "Executar" - -msgid "IDS_MF_BODY_FORWARDING" -msgstr "Reenviando" - -msgid "IDS_MF_BODY_IMPOSSIBLE" -msgstr "Non é posible" - -msgid "IDS_MF_BODY_MMC_DATA_IS_INITIALIZING_ING" -msgstr "Os datos MMC estanse inicializando..." - -msgid "IDS_MF_BODY_POSSIBLE" -msgstr "Posible" - -msgid "IDS_MF_BODY_PRINT" -msgstr "Imprimir" - -msgid "IDS_MF_BODY_VALIDITY" -msgstr "Validez" - -msgid "IDS_MF_HEADER_NEW_FOLDER" -msgstr "Nova carpeta" - -msgid "IDS_MF_OPT_EDIT" -msgstr "Editar" - -msgid "IDS_MF_OPT_LIST_BY" -msgstr "Ordenar por" - -msgid "IDS_MF_OPT_MOVE_HERE" -msgstr "Mover aquí" - -msgid "IDS_MF_POP_CONTINUE" -msgstr "Continuar" - -msgid "IDS_MF_POP_COPYING" -msgstr "Copiando..." - -msgid "IDS_MF_POP_PASTE_HERE" -msgstr "Pegar aquí" - -msgid "IDS_MF_POP_UNSUPPORTED_FILE_TYPE" -msgstr "Tipo de arquivo non admitido" - -msgid "IDS_MF_OPT_DETAIL_VIEW" -msgstr "Vista detallada" - -msgid "IDS_MF_POP_ASCENDING" -msgstr "Ascendente" - -msgid "IDS_MF_POP_DESCENDING" -msgstr "Descendente" - -msgid "IDS_MF_TAB_ALL" -msgstr "Todo" - -msgid "IDS_MF_BODY_UP_M_BACK" -msgstr "Arriba" - -msgid "IDS_MF_BUTTON_SEARCH_ALL_FOLDERS" -msgstr "Buscar todas carpetas" - -msgid "IDS_MF_OPT_THUMBNAIL_VIEW" -msgstr "Vista en miniatura" - -msgid "IDS_MF_OPT_SHOW_FILE_EXTENSION" -msgstr "Mostrar extensión do arquivo" - -msgid "IDS_MF_OPT_SORT_BY" -msgstr "Ordenar por" - -msgid "IDS_MF_BODY_LIST_AND_DETAILS_ABB" -msgstr "Lista e detalles" - -msgid "IDS_MF_OPT_HIDE_FILE_EXTENSION_ABB" -msgstr "Ocult. extens. arquivo" - -msgid "IDS_MF_OPT_NAME_HA_TO_Z" -msgstr "Nome (A-Z)" - -msgid "IDS_MF_OPT_NAME_HZ_TO_A" -msgstr "Nome (Z-A)" - -msgid "IDS_MF_OPT_DATE_HMOST_RECENT" -msgstr "Data (A máis recente)" - -msgid "IDS_MF_OPT_DATE_HOLDEST" -msgstr "Data (A máis antiga)" - -msgid "IDS_MF_BUTTON_GO_TO_MY_FILES" -msgstr "Ir a Os Meus Arquiv" - -msgid "IDS_MF_BODY_RINGTONES" -msgstr "Melodías" - -msgid "IDS_MF_BUTTON_EXPORT_HERE" -msgstr "Exportar aquí" - -msgid "IDS_MF_POP_UNABLE_TO_SET_DRM_PROTECTED_CONTENT_AS_RINGTONE_OR_NOTIFICATION_ALERT" -msgstr "Non se poden definir contidos protexidos mediante DRM como melodías ou alertas de notificación" - diff --git a/data/po/hi.po b/data/po/hi.po deleted file mode 100644 index 9b05a72..0000000 --- a/data/po/hi.po +++ /dev/null @@ -1,318 +0,0 @@ -msgid "IDS_MF_TAB_UP" -msgstr "ऊपर" - -msgid "IDS_MF_BUTTON_HOME" -msgstr "घर" - -msgid "IDS_MF_OPT_VIEW_BY_LIST" -msgstr "सूची से देखें" - -msgid "IDS_MF_OPT_VIEW_BY_THUMBNAIL" -msgstr "थंबनेल से देखें" - -msgid "IDS_MF_POP_DELETE_FAILED" -msgstr "हटाना विफल" - -msgid "IDS_MF_POP_DRM_FILE_CANNOT_SEND" -msgstr "DRM फाइल। भेज नहीं सकते" - -msgid "IDS_MF_POP_INVALID_FILE_NAME" -msgstr "फाइल नाम अवैध है" - -msgid "IDS_MF_POP_MAXIMUM_FOLDER_REACHED" -msgstr "अधिकतम फ़ोल्डर पहुँचे" - -msgid "IDS_MF_POP_PERMISSION_DENIED" -msgstr "अनुमति से इनकार" - -msgid "IDS_MF_POP_SEND_FAILED" -msgstr "भेजना असफल" - -msgid "IDS_MF_POP_THE_DESTINATION_FOLDER_IS_A_SUBFOLDER_OF_THE_SOURCE_FOLDER" -msgstr "गंतव्य फ़ोल्डर स्त्रोत फ़ोल्डर का उप फ़ोल्डर है" - -msgid "IDS_MF_POP_THIS_FILE_DOES_NOT_EXIST" -msgstr "यह फ़ाइल मौजूद नहीं है" - -msgid "IDS_MF_POP_UNABLE_TO_COPY" -msgstr "कॉपी करने में अक्षम" - -msgid "IDS_MF_POP_UNABLE_TO_MOVE" -msgstr "मूव करने में अक्षम" - -msgid "IDS_MF_BODY_NOT_ENOUGH_MEMORY_IN_PHONE_MEMORY_DELETE_SOME_ITEMS_AND_TRY_AGAIN" -msgstr "फ़ोन मेमोरी में पर्याप्त मेमोरी नहीं है। कुछ आइटम्स हटाएँ और फिर प्रयास करें" - -msgid "IDS_MF_POP_COPYING_FAILED" -msgstr "कॉपी करना विफल" - -msgid "IDS_MF_POP_MOVING_FAILED" -msgstr "ले जाना विफल हुआ" - -msgid "IDS_MF_POP_NOT_ENOUGH_MEMORY_PS_AVAILABLE" -msgstr "पर्याप्त मेमोरी नहीं है। %s उपल्ब्ध है" - -msgid "IDS_MF_POP_SAME_NAME_ALREADY_IN_USE" -msgstr "ऐसा ही नाम पहले से इस्तेमाल में है" - -msgid "IDS_MF_POP_UNABLE_TO_MOVE_DESTINATION_FOLDER_SAME_AS_SOURCE_FOLDER" -msgstr "मूव करने में असमर्थ। गंतव्य फोल्डर स्रोत फोल्डर की तरह है" - -msgid "IDS_MF_SK3_CREATE_FOLDER" -msgstr "फ़ोल्डर बनाएँ" - -msgid "IDS_MF_SK3_PASTE_HERE" -msgstr "यहाँ पेस्ट करें" - -msgid "IDS_MF_BODY_ALERTS" -msgstr "अलर्ट्स" - -msgid "IDS_MF_BODY_WALLPAPERS" -msgstr "वॉलपेपर्स" - -msgid "IDS_MF_TAB_PHONE" -msgstr "फोन" - -msgid "IDS_MF_BODY_IMAGES" -msgstr "छवियाँ" - -msgid "IDS_MF_BODY_VIDEOS" -msgstr "विडियो" - -msgid "IDS_MF_BODY_SOUNDS" -msgstr "ध्वनियाँ" - -msgid "IDS_MF_BODY_DOWNLOADS" -msgstr "डाउनलोड" - -msgid "IDS_MF_TAB_MEMORY_CARD" -msgstr "मेमोरी कार्ड" - -msgid "IDS_MF_TAB_EXTERNAL_STORAGE" -msgstr "बाह्य स्टोरेज" - -msgid "IDS_MF_SK3_EDIT" -msgstr "संपादन" - -msgid "IDS_MF_SK3_DELETE" -msgstr "हटाएँ" - -msgid "IDS_MF_SK3_MOVE" -msgstr "मूव" - -msgid "IDS_MF_BODY_UP" -msgstr "ऊपर" - -msgid "IDS_MF_SK3_MOVE_HERE" -msgstr "यहाँ मूव करें" - -msgid "IDS_MF_SK3_COPY" -msgstr "कॉपी" - -msgid "IDS_MF_SK3_SORT_BY" -msgstr "द्वारा छाँटें" - -msgid "IDS_MF_SK3_SEARCH" -msgstr "खोजें" - -msgid "IDS_MF_SK3_MORE" -msgstr "अधिक" - -msgid "IDS_MF_OPT_CREATE_FOLDER" -msgstr "फोल्डर बनाएँ" - -msgid "IDS_MF_BODY_FOLDER_NAME" -msgstr "फोल्डर का नाम" - -msgid "IDS_MF_BODY_ACCESS_MORE_MY_ALBUM" -msgstr "मेरी एल्बम" - -msgid "IDS_MF_OPT_VIEW_AS" -msgstr "के रूप में देखें" - -msgid "IDS_MF_SK3_BACK" -msgstr "पीछे" - -msgid "IDS_MF_BODY_MY_VIDEO_CLIPS" -msgstr "मेरे वीडियो क्लिप" - -msgid "IDS_MF_BODY_RIGHT_STATUS" -msgstr "सही स्थिति" - -msgid "IDS_MF_BODY_VENDOR" -msgstr "विक्रेता" - -msgid "IDS_MF_HEADER_COUNT" -msgstr "गणना" - -msgid "IDS_MF_BODY_CONTAINS" -msgstr "शामिल" - -msgid "IDS_MF_BODY_INDIVIDUAL" -msgstr "अलग" - -msgid "IDS_MF_BODY_INTERVAL" -msgstr "अन्तराल" - -msgid "IDS_MF_BODY_RENAME_ABB" -msgstr "रिनेम" - -msgid "IDS_MF_BODY_TIME" -msgstr "समय" - -msgid "IDS_MF_BODY_TIMED_COUNT" -msgstr "समय गणना" - -msgid "IDS_MF_BODY_TYPE" -msgstr "प्रकार" - -msgid "IDS_MF_BODY_UNLIMITED" -msgstr "असीमित" - -msgid "IDS_MF_BUTTON_REPLACE_ABB" -msgstr "बदलें" - -msgid "IDS_MF_OPT_CALLER_RINGTONE" -msgstr "कॉलर रिंगटोन" - -msgid "IDS_MF_OPT_LISTBY_NAME" -msgstr "नाम" - -msgid "IDS_MF_POP_COPIED" -msgstr "कॉपी हुआ" - -msgid "IDS_MF_POP_NOTHING_SELECTED" -msgstr "कुछ चयनित नहीं" - -msgid "IDS_MF_POP_NOT_ENOUGH_HEAP_MEMORY" -msgstr "पर्याप्त हीप मेमोरी नहीं है" - -msgid "IDS_MF_POP_NOT_ENOUGH_MEMORY_DELETE_SOME_ITEMS" -msgstr "पर्याप्त मेमोरी नहीं। कुछ मदें हटाएँ" - -msgid "IDS_MF_BODY_CREATED_DATE" -msgstr "बनाए जाने की तिथि" - -msgid "IDS_MF_BODY_GPS_INFORMATION" -msgstr "GPS जानकारी" - -msgid "IDS_MF_BODY_GPS_LATITUDE" -msgstr "GPS अक्षांश" - -msgid "IDS_MF_BODY_GPS_LONGITUDE" -msgstr "GPS रेखांश" - -msgid "IDS_MF_BODY_GPS_VERSION" -msgstr "GPS संस्करण" - -msgid "IDS_MF_SK_DETAILS" -msgstr "विवरण" - -msgid "IDS_MF_BODY_ANY" -msgstr "कोई" - -msgid "IDS_MF_BODY_AVAILABLE_USES" -msgstr "उपलब्ध उपयोग" - -msgid "IDS_MF_BODY_EXECUTE" -msgstr "निष्पादित करें" - -msgid "IDS_MF_BODY_FORWARDING" -msgstr "अग्रेषण" - -msgid "IDS_MF_BODY_IMPOSSIBLE" -msgstr "असंभव" - -msgid "IDS_MF_BODY_MMC_DATA_IS_INITIALIZING_ING" -msgstr "MMC डेटा आरंभ किया जा रहा है..." - -msgid "IDS_MF_BODY_POSSIBLE" -msgstr "संभव" - -msgid "IDS_MF_BODY_PRINT" -msgstr "प्रिंट करें" - -msgid "IDS_MF_BODY_VALIDITY" -msgstr "वैधता" - -msgid "IDS_MF_HEADER_NEW_FOLDER" -msgstr "नया फ़ोल्डर" - -msgid "IDS_MF_OPT_EDIT" -msgstr "संपादित करें" - -msgid "IDS_MF_OPT_LIST_BY" -msgstr "द्वारा सूची" - -msgid "IDS_MF_OPT_MOVE_HERE" -msgstr "यहाँ जाएँ" - -msgid "IDS_MF_POP_CONTINUE" -msgstr "जारी रखें" - -msgid "IDS_MF_POP_COPYING" -msgstr "कॉपी कर रहा है…" - -msgid "IDS_MF_POP_PASTE_HERE" -msgstr "यहाँ पेस्ट करें" - -msgid "IDS_MF_POP_UNSUPPORTED_FILE_TYPE" -msgstr "असमर्थित फाइल प्रकार" - -msgid "IDS_MF_OPT_DETAIL_VIEW" -msgstr "विवरण दृश्य" - -msgid "IDS_MF_POP_ASCENDING" -msgstr "आरोही क्रम" - -msgid "IDS_MF_POP_DESCENDING" -msgstr "अवरोही क्रम" - -msgid "IDS_MF_TAB_ALL" -msgstr "सभी" - -msgid "IDS_MF_BODY_UP_M_BACK" -msgstr "ऊपर" - -msgid "IDS_MF_BUTTON_SEARCH_ALL_FOLDERS" -msgstr "सभी फ़ोल्डर खोजें" - -msgid "IDS_MF_OPT_THUMBNAIL_VIEW" -msgstr "थम्बनेल दृश्य" - -msgid "IDS_MF_OPT_SHOW_FILE_EXTENSION" -msgstr "फ़ाइल एक्स्टेंशन दिखाएँ" - -msgid "IDS_MF_OPT_SORT_BY" -msgstr "से छाटें" - -msgid "IDS_MF_BODY_LIST_AND_DETAILS_ABB" -msgstr "सूची और विवरण" - -msgid "IDS_MF_OPT_HIDE_FILE_EXTENSION_ABB" -msgstr "फ़ाइल एक्सटेंशन छिपाएँ" - -msgid "IDS_MF_OPT_NAME_HA_TO_Z" -msgstr "नाम (A से Z)" - -msgid "IDS_MF_OPT_NAME_HZ_TO_A" -msgstr "नाम (Z से A)" - -msgid "IDS_MF_OPT_DATE_HMOST_RECENT" -msgstr "तारीख (हालही का सबसे नवीनतम)" - -msgid "IDS_MF_OPT_DATE_HOLDEST" -msgstr "तारीख (सबसे पुराने)" - -msgid "IDS_MF_BUTTON_GO_TO_MY_FILES" -msgstr "मेरी फाइल्स में जाएँ" - -msgid "IDS_MF_BODY_RINGTONES" -msgstr "रिंगटोन" - -msgid "IDS_MF_BUTTON_EXPORT_HERE" -msgstr "यहाँ निर्यात करें" - -msgid "IDS_MF_POP_UNABLE_TO_SET_DRM_PROTECTED_CONTENT_AS_RINGTONE_OR_NOTIFICATION_ALERT" -msgstr "DRM सुरक्षित सामग्री को रिंगटोन या अधिसूचना सतर्क के रूप में सेट करने में अक्षम" - diff --git a/data/po/hr.po b/data/po/hr.po deleted file mode 100644 index dd6b4d8..0000000 --- a/data/po/hr.po +++ /dev/null @@ -1,318 +0,0 @@ -msgid "IDS_MF_TAB_UP" -msgstr "Gore" - -msgid "IDS_MF_BUTTON_HOME" -msgstr "Početna" - -msgid "IDS_MF_OPT_VIEW_BY_LIST" -msgstr "Prikaz po popisu" - -msgid "IDS_MF_OPT_VIEW_BY_THUMBNAIL" -msgstr "Prikaži kao sličice" - -msgid "IDS_MF_POP_DELETE_FAILED" -msgstr "Brisanje neuspješno" - -msgid "IDS_MF_POP_DRM_FILE_CANNOT_SEND" -msgstr "Zaštićena datoteka. Nemoguće poslati" - -msgid "IDS_MF_POP_INVALID_FILE_NAME" -msgstr "Neispravno ime datoteke" - -msgid "IDS_MF_POP_MAXIMUM_FOLDER_REACHED" -msgstr "Dostignut maksimalan broj mapa" - -msgid "IDS_MF_POP_PERMISSION_DENIED" -msgstr "Dozvola odbijena" - -msgid "IDS_MF_POP_SEND_FAILED" -msgstr "Slanje neuspješno" - -msgid "IDS_MF_POP_THE_DESTINATION_FOLDER_IS_A_SUBFOLDER_OF_THE_SOURCE_FOLDER" -msgstr "Odredišna mapa je podmapa izvorišne mape" - -msgid "IDS_MF_POP_THIS_FILE_DOES_NOT_EXIST" -msgstr "Datoteka ne postoji" - -msgid "IDS_MF_POP_UNABLE_TO_COPY" -msgstr "Nemoguće kopirati" - -msgid "IDS_MF_POP_UNABLE_TO_MOVE" -msgstr "Nemoguće premjestiti" - -msgid "IDS_MF_BODY_NOT_ENOUGH_MEMORY_IN_PHONE_MEMORY_DELETE_SOME_ITEMS_AND_TRY_AGAIN" -msgstr "Nedovoljno memorije u telefonu. Obrišite stavke i ponovite" - -msgid "IDS_MF_POP_COPYING_FAILED" -msgstr "Kopiranje neuspješno" - -msgid "IDS_MF_POP_MOVING_FAILED" -msgstr "Premještanje neuspješno" - -msgid "IDS_MF_POP_NOT_ENOUGH_MEMORY_PS_AVAILABLE" -msgstr "Nedovoljno memorije. Dostupno %s" - -msgid "IDS_MF_POP_SAME_NAME_ALREADY_IN_USE" -msgstr "Već postoji isto ime" - -msgid "IDS_MF_POP_UNABLE_TO_MOVE_DESTINATION_FOLDER_SAME_AS_SOURCE_FOLDER" -msgstr "Nemoguće premjestiti. Odredišna mapa ista je kao i izvorna" - -msgid "IDS_MF_SK3_CREATE_FOLDER" -msgstr "Nova mapa" - -msgid "IDS_MF_SK3_PASTE_HERE" -msgstr "Zalijepi ovdje" - -msgid "IDS_MF_BODY_ALERTS" -msgstr "Upozorenja" - -msgid "IDS_MF_BODY_WALLPAPERS" -msgstr "Pozadine" - -msgid "IDS_MF_TAB_PHONE" -msgstr "Telefon" - -msgid "IDS_MF_BODY_IMAGES" -msgstr "Slike" - -msgid "IDS_MF_BODY_VIDEOS" -msgstr "Video" - -msgid "IDS_MF_BODY_SOUNDS" -msgstr "Zvukovi" - -msgid "IDS_MF_BODY_DOWNLOADS" -msgstr "Skidanja" - -msgid "IDS_MF_TAB_MEMORY_CARD" -msgstr "Mem. kartica" - -msgid "IDS_MF_TAB_EXTERNAL_STORAGE" -msgstr "Vanjska memorija" - -msgid "IDS_MF_SK3_EDIT" -msgstr "Uredi" - -msgid "IDS_MF_SK3_DELETE" -msgstr "Obriši" - -msgid "IDS_MF_SK3_MOVE" -msgstr "Premjesti" - -msgid "IDS_MF_BODY_UP" -msgstr "Gore" - -msgid "IDS_MF_SK3_MOVE_HERE" -msgstr "Premjesti ovdje" - -msgid "IDS_MF_SK3_COPY" -msgstr "Kopiraj" - -msgid "IDS_MF_SK3_SORT_BY" -msgstr "Poredaj po" - -msgid "IDS_MF_SK3_SEARCH" -msgstr "Traži" - -msgid "IDS_MF_SK3_MORE" -msgstr "Više" - -msgid "IDS_MF_OPT_CREATE_FOLDER" -msgstr "Nova mapa" - -msgid "IDS_MF_BODY_FOLDER_NAME" -msgstr "Ime mape" - -msgid "IDS_MF_BODY_ACCESS_MORE_MY_ALBUM" -msgstr "Moj album" - -msgid "IDS_MF_OPT_VIEW_AS" -msgstr "Pregled kao" - -msgid "IDS_MF_SK3_BACK" -msgstr "Nazad" - -msgid "IDS_MF_BODY_MY_VIDEO_CLIPS" -msgstr "Moj video" - -msgid "IDS_MF_BODY_RIGHT_STATUS" -msgstr "Prava" - -msgid "IDS_MF_BODY_VENDOR" -msgstr "Dobavljač" - -msgid "IDS_MF_HEADER_COUNT" -msgstr "Broj" - -msgid "IDS_MF_BODY_CONTAINS" -msgstr "Sadrži" - -msgid "IDS_MF_BODY_INDIVIDUAL" -msgstr "Individualno" - -msgid "IDS_MF_BODY_INTERVAL" -msgstr "Interval" - -msgid "IDS_MF_BODY_RENAME_ABB" -msgstr "Pr.ime" - -msgid "IDS_MF_BODY_TIME" -msgstr "Vrijeme" - -msgid "IDS_MF_BODY_TIMED_COUNT" -msgstr "Preostalo vrijeme" - -msgid "IDS_MF_BODY_TYPE" -msgstr "Vrsta" - -msgid "IDS_MF_BODY_UNLIMITED" -msgstr "Neograničeno" - -msgid "IDS_MF_BUTTON_REPLACE_ABB" -msgstr "Zamijeni" - -msgid "IDS_MF_OPT_CALLER_RINGTONE" -msgstr "Ton pozivatelja" - -msgid "IDS_MF_OPT_LISTBY_NAME" -msgstr "Naziv" - -msgid "IDS_MF_POP_COPIED" -msgstr "Kopirano" - -msgid "IDS_MF_POP_NOTHING_SELECTED" -msgstr "Ništa odabrano" - -msgid "IDS_MF_POP_NOT_ENOUGH_HEAP_MEMORY" -msgstr "Nedovoljno pričuvne memorije" - -msgid "IDS_MF_POP_NOT_ENOUGH_MEMORY_DELETE_SOME_ITEMS" -msgstr "Nedovoljno memorije. Obrišite neke datoteke" - -msgid "IDS_MF_BODY_CREATED_DATE" -msgstr "Datum izrade" - -msgid "IDS_MF_BODY_GPS_INFORMATION" -msgstr "GPS podaci" - -msgid "IDS_MF_BODY_GPS_LATITUDE" -msgstr "GPS zemljopisna širina" - -msgid "IDS_MF_BODY_GPS_LONGITUDE" -msgstr "GPS zemljopisna dužina" - -msgid "IDS_MF_BODY_GPS_VERSION" -msgstr "GPS inačica" - -msgid "IDS_MF_SK_DETAILS" -msgstr "Detalji" - -msgid "IDS_MF_BODY_ANY" -msgstr "Bilo koji" - -msgid "IDS_MF_BODY_AVAILABLE_USES" -msgstr "Preostalo upotreba" - -msgid "IDS_MF_BODY_EXECUTE" -msgstr "Pokreni" - -msgid "IDS_MF_BODY_FORWARDING" -msgstr "Prosljeđivanje" - -msgid "IDS_MF_BODY_IMPOSSIBLE" -msgstr "Nemoguće" - -msgid "IDS_MF_BODY_MMC_DATA_IS_INITIALIZING_ING" -msgstr "Učitavanje podataka mem. kartice..." - -msgid "IDS_MF_BODY_POSSIBLE" -msgstr "Moguće" - -msgid "IDS_MF_BODY_PRINT" -msgstr "Ispis" - -msgid "IDS_MF_BODY_VALIDITY" -msgstr "Valjanost" - -msgid "IDS_MF_HEADER_NEW_FOLDER" -msgstr "Nova mapa" - -msgid "IDS_MF_OPT_EDIT" -msgstr "Uredi" - -msgid "IDS_MF_OPT_LIST_BY" -msgstr "Sortiraj po" - -msgid "IDS_MF_OPT_MOVE_HERE" -msgstr "Premjesti ovdje" - -msgid "IDS_MF_POP_CONTINUE" -msgstr "Nastavak" - -msgid "IDS_MF_POP_COPYING" -msgstr "Kopiranje..." - -msgid "IDS_MF_POP_PASTE_HERE" -msgstr "Zalijepi ovdje" - -msgid "IDS_MF_POP_UNSUPPORTED_FILE_TYPE" -msgstr "Nepodržana datoteka" - -msgid "IDS_MF_OPT_DETAIL_VIEW" -msgstr "Detaljni prikaz" - -msgid "IDS_MF_POP_ASCENDING" -msgstr "A-Z" - -msgid "IDS_MF_POP_DESCENDING" -msgstr "Z-A" - -msgid "IDS_MF_TAB_ALL" -msgstr "Sve" - -msgid "IDS_MF_BODY_UP_M_BACK" -msgstr "Gore" - -msgid "IDS_MF_BUTTON_SEARCH_ALL_FOLDERS" -msgstr "Pretraži sve mape" - -msgid "IDS_MF_OPT_THUMBNAIL_VIEW" -msgstr "Sličice" - -msgid "IDS_MF_OPT_SHOW_FILE_EXTENSION" -msgstr "Prikaz ekstenzija datoteka" - -msgid "IDS_MF_OPT_SORT_BY" -msgstr "Sortiraj po" - -msgid "IDS_MF_BODY_LIST_AND_DETAILS_ABB" -msgstr "Popis i detalji" - -msgid "IDS_MF_OPT_HIDE_FILE_EXTENSION_ABB" -msgstr "Sakrij datotečni nast." - -msgid "IDS_MF_OPT_NAME_HA_TO_Z" -msgstr "Naziv (A do Z)" - -msgid "IDS_MF_OPT_NAME_HZ_TO_A" -msgstr "Naziv (Z do A)" - -msgid "IDS_MF_OPT_DATE_HMOST_RECENT" -msgstr "Datum (najnoviji)" - -msgid "IDS_MF_OPT_DATE_HOLDEST" -msgstr "Datum (najstariji)" - -msgid "IDS_MF_BUTTON_GO_TO_MY_FILES" -msgstr "Idi u Datoteke" - -msgid "IDS_MF_BODY_RINGTONES" -msgstr "Tonovi zvona" - -msgid "IDS_MF_BUTTON_EXPORT_HERE" -msgstr "Izvezi ovdje" - -msgid "IDS_MF_POP_UNABLE_TO_SET_DRM_PROTECTED_CONTENT_AS_RINGTONE_OR_NOTIFICATION_ALERT" -msgstr "Nemoguće postaviti DRM zaštićen sadržaj kao ton zvona ili ton obavijesti" - diff --git a/data/po/hu.po b/data/po/hu.po deleted file mode 100644 index 912e6a0..0000000 --- a/data/po/hu.po +++ /dev/null @@ -1,318 +0,0 @@ -msgid "IDS_MF_TAB_UP" -msgstr "Fel" - -msgid "IDS_MF_BUTTON_HOME" -msgstr "Kezdőkép." - -msgid "IDS_MF_OPT_VIEW_BY_LIST" -msgstr "Listanézet" - -msgid "IDS_MF_OPT_VIEW_BY_THUMBNAIL" -msgstr "Megtekintés miniatűr képként" - -msgid "IDS_MF_POP_DELETE_FAILED" -msgstr "Törlés sikertelen" - -msgid "IDS_MF_POP_DRM_FILE_CANNOT_SEND" -msgstr "DRM-fájl. Küldés nem lehetséges" - -msgid "IDS_MF_POP_INVALID_FILE_NAME" -msgstr "Érvénytelen fájlnév" - -msgid "IDS_MF_POP_MAXIMUM_FOLDER_REACHED" -msgstr "Maximum mappaszám elérve" - -msgid "IDS_MF_POP_PERMISSION_DENIED" -msgstr "Engedély megtagadva" - -msgid "IDS_MF_POP_SEND_FAILED" -msgstr "Sikertelen küldés" - -msgid "IDS_MF_POP_THE_DESTINATION_FOLDER_IS_A_SUBFOLDER_OF_THE_SOURCE_FOLDER" -msgstr "A célmappa a forrásmappa almappája" - -msgid "IDS_MF_POP_THIS_FILE_DOES_NOT_EXIST" -msgstr "A fájl nem létezik" - -msgid "IDS_MF_POP_UNABLE_TO_COPY" -msgstr "Nem lehet átmásolni" - -msgid "IDS_MF_POP_UNABLE_TO_MOVE" -msgstr "Nem helyezhető át" - -msgid "IDS_MF_BODY_NOT_ENOUGH_MEMORY_IN_PHONE_MEMORY_DELETE_SOME_ITEMS_AND_TRY_AGAIN" -msgstr "Kevés a memória a telefonban. Töröljön néhány tételt, és próbálja újra" - -msgid "IDS_MF_POP_COPYING_FAILED" -msgstr "A másolás sikertelen." - -msgid "IDS_MF_POP_MOVING_FAILED" -msgstr "Az áthelyezés sikertelen" - -msgid "IDS_MF_POP_NOT_ENOUGH_MEMORY_PS_AVAILABLE" -msgstr "Kevés a memória. A szabad memória %s" - -msgid "IDS_MF_POP_SAME_NAME_ALREADY_IN_USE" -msgstr "Már van ilyen név" - -msgid "IDS_MF_POP_UNABLE_TO_MOVE_DESTINATION_FOLDER_SAME_AS_SOURCE_FOLDER" -msgstr "Nem lehet áthelyezni. A célmappa azonos a forrásmappával" - -msgid "IDS_MF_SK3_CREATE_FOLDER" -msgstr "Mappát létrehoz" - -msgid "IDS_MF_SK3_PASTE_HERE" -msgstr "Beilleszt ide" - -msgid "IDS_MF_BODY_ALERTS" -msgstr "Jelzések" - -msgid "IDS_MF_BODY_WALLPAPERS" -msgstr "Háttérképek" - -msgid "IDS_MF_TAB_PHONE" -msgstr "Telefon" - -msgid "IDS_MF_BODY_IMAGES" -msgstr "Képek" - -msgid "IDS_MF_BODY_VIDEOS" -msgstr "Videók" - -msgid "IDS_MF_BODY_SOUNDS" -msgstr "Hangok" - -msgid "IDS_MF_BODY_DOWNLOADS" -msgstr "Letöltések" - -msgid "IDS_MF_TAB_MEMORY_CARD" -msgstr "Memória- kártya" - -msgid "IDS_MF_TAB_EXTERNAL_STORAGE" -msgstr "Külső tároló" - -msgid "IDS_MF_SK3_EDIT" -msgstr "Szerkeszt" - -msgid "IDS_MF_SK3_DELETE" -msgstr "Töröl" - -msgid "IDS_MF_SK3_MOVE" -msgstr "Áthelyez" - -msgid "IDS_MF_BODY_UP" -msgstr "Fel" - -msgid "IDS_MF_SK3_MOVE_HERE" -msgstr "Áthelyez ide" - -msgid "IDS_MF_SK3_COPY" -msgstr "Másol" - -msgid "IDS_MF_SK3_SORT_BY" -msgstr "Rendezés szemp." - -msgid "IDS_MF_SK3_SEARCH" -msgstr "Keres" - -msgid "IDS_MF_SK3_MORE" -msgstr "Egyebek" - -msgid "IDS_MF_OPT_CREATE_FOLDER" -msgstr "Mappa létrehozása" - -msgid "IDS_MF_BODY_FOLDER_NAME" -msgstr "Mappa neve" - -msgid "IDS_MF_BODY_ACCESS_MORE_MY_ALBUM" -msgstr "Saját album" - -msgid "IDS_MF_OPT_VIEW_AS" -msgstr "Megtekintés" - -msgid "IDS_MF_SK3_BACK" -msgstr "Vissza" - -msgid "IDS_MF_BODY_MY_VIDEO_CLIPS" -msgstr "Saját videofelvételek" - -msgid "IDS_MF_BODY_RIGHT_STATUS" -msgstr "Jogi státusz" - -msgid "IDS_MF_BODY_VENDOR" -msgstr "Szállító" - -msgid "IDS_MF_HEADER_COUNT" -msgstr "Számláló" - -msgid "IDS_MF_BODY_CONTAINS" -msgstr "Tartalmazott elem" - -msgid "IDS_MF_BODY_INDIVIDUAL" -msgstr "Egyéni" - -msgid "IDS_MF_BODY_INTERVAL" -msgstr "Intervallum" - -msgid "IDS_MF_BODY_RENAME_ABB" -msgstr "Átnev." - -msgid "IDS_MF_BODY_TIME" -msgstr "Idő" - -msgid "IDS_MF_BODY_TIMED_COUNT" -msgstr "Időszámláló" - -msgid "IDS_MF_BODY_TYPE" -msgstr "Típus" - -msgid "IDS_MF_BODY_UNLIMITED" -msgstr "Korlátlan" - -msgid "IDS_MF_BUTTON_REPLACE_ABB" -msgstr "Csere" - -msgid "IDS_MF_OPT_CALLER_RINGTONE" -msgstr "Hívó csengőhangja" - -msgid "IDS_MF_OPT_LISTBY_NAME" -msgstr "Név" - -msgid "IDS_MF_POP_COPIED" -msgstr "Átmásolva" - -msgid "IDS_MF_POP_NOTHING_SELECTED" -msgstr "Semmi nincs kiválasztva" - -msgid "IDS_MF_POP_NOT_ENOUGH_HEAP_MEMORY" -msgstr "Kevés a halommemória" - -msgid "IDS_MF_POP_NOT_ENOUGH_MEMORY_DELETE_SOME_ITEMS" -msgstr "Kevés a memória. Töröljön néhány tételt" - -msgid "IDS_MF_BODY_CREATED_DATE" -msgstr "Létrehozás dátuma" - -msgid "IDS_MF_BODY_GPS_INFORMATION" -msgstr "GPS-adatok" - -msgid "IDS_MF_BODY_GPS_LATITUDE" -msgstr "GPS-szélesség" - -msgid "IDS_MF_BODY_GPS_LONGITUDE" -msgstr "GPS-hosszúság" - -msgid "IDS_MF_BODY_GPS_VERSION" -msgstr "GPS-verzió" - -msgid "IDS_MF_SK_DETAILS" -msgstr "Részletek" - -msgid "IDS_MF_BODY_ANY" -msgstr "Bármely" - -msgid "IDS_MF_BODY_AVAILABLE_USES" -msgstr "Lehetséges felhasználás" - -msgid "IDS_MF_BODY_EXECUTE" -msgstr "Végrehajt" - -msgid "IDS_MF_BODY_FORWARDING" -msgstr "Továbbítás" - -msgid "IDS_MF_BODY_IMPOSSIBLE" -msgstr "Nem lehetséges" - -msgid "IDS_MF_BODY_MMC_DATA_IS_INITIALIZING_ING" -msgstr "MMC-adatok inicializálása..." - -msgid "IDS_MF_BODY_POSSIBLE" -msgstr "Lehetséges" - -msgid "IDS_MF_BODY_PRINT" -msgstr "Nyomtatás" - -msgid "IDS_MF_BODY_VALIDITY" -msgstr "Érvényesség" - -msgid "IDS_MF_HEADER_NEW_FOLDER" -msgstr "Új mappa" - -msgid "IDS_MF_OPT_EDIT" -msgstr "Szerkeszt" - -msgid "IDS_MF_OPT_LIST_BY" -msgstr "Rendezés" - -msgid "IDS_MF_OPT_MOVE_HERE" -msgstr "Áthelyezés ide" - -msgid "IDS_MF_POP_CONTINUE" -msgstr "Tovább" - -msgid "IDS_MF_POP_COPYING" -msgstr "Másolás..." - -msgid "IDS_MF_POP_PASTE_HERE" -msgstr "Beillesztés ide" - -msgid "IDS_MF_POP_UNSUPPORTED_FILE_TYPE" -msgstr "A fájltípus\nnem támogatott" - -msgid "IDS_MF_OPT_DETAIL_VIEW" -msgstr "Részletes nézet" - -msgid "IDS_MF_POP_ASCENDING" -msgstr "Növekvő" - -msgid "IDS_MF_POP_DESCENDING" -msgstr "Csökkenő" - -msgid "IDS_MF_TAB_ALL" -msgstr "Mind" - -msgid "IDS_MF_BODY_UP_M_BACK" -msgstr "Fel" - -msgid "IDS_MF_BUTTON_SEARCH_ALL_FOLDERS" -msgstr "Ker. az összes mappában" - -msgid "IDS_MF_OPT_THUMBNAIL_VIEW" -msgstr "Miniatűrnézet" - -msgid "IDS_MF_OPT_SHOW_FILE_EXTENSION" -msgstr "Fájlkiterjesztés megjelenítése" - -msgid "IDS_MF_OPT_SORT_BY" -msgstr "Rendezés" - -msgid "IDS_MF_BODY_LIST_AND_DETAILS_ABB" -msgstr "Lista és részletek" - -msgid "IDS_MF_OPT_HIDE_FILE_EXTENSION_ABB" -msgstr "Kiterjesztés elrejtése" - -msgid "IDS_MF_OPT_NAME_HA_TO_Z" -msgstr "Név (A-tól Z-ig)" - -msgid "IDS_MF_OPT_NAME_HZ_TO_A" -msgstr "Név (Z-től A-ig)" - -msgid "IDS_MF_OPT_DATE_HMOST_RECENT" -msgstr "Dátum (legújabb)" - -msgid "IDS_MF_OPT_DATE_HOLDEST" -msgstr "Dátum (legrégebbi)" - -msgid "IDS_MF_BUTTON_GO_TO_MY_FILES" -msgstr "Saját fájlok megny." - -msgid "IDS_MF_BODY_RINGTONES" -msgstr "Csengőhangok" - -msgid "IDS_MF_BUTTON_EXPORT_HERE" -msgstr "Exportálás ide" - -msgid "IDS_MF_POP_UNABLE_TO_SET_DRM_PROTECTED_CONTENT_AS_RINGTONE_OR_NOTIFICATION_ALERT" -msgstr "DRM-védett tartalom nem állítható be csengőhangként vagy értesítésként" - diff --git a/data/po/hy.po b/data/po/hy.po deleted file mode 100644 index 2714cd6..0000000 --- a/data/po/hy.po +++ /dev/null @@ -1,318 +0,0 @@ -msgid "IDS_MF_TAB_UP" -msgstr "Վեր" - -msgid "IDS_MF_BUTTON_HOME" -msgstr "Տուն" - -msgid "IDS_MF_OPT_VIEW_BY_LIST" -msgstr "Դիտել ըստ ցանկի" - -msgid "IDS_MF_OPT_VIEW_BY_THUMBNAIL" -msgstr "Դիտել ըստ մանրապատկերների" - -msgid "IDS_MF_POP_DELETE_FAILED" -msgstr "Ջնջումը ձախողվեց" - -msgid "IDS_MF_POP_DRM_FILE_CANNOT_SEND" -msgstr "DRM ֆայլ: Հնարավոր չէ ուղարկել" - -msgid "IDS_MF_POP_INVALID_FILE_NAME" -msgstr "Անվավեր ֆայլի անուն" - -msgid "IDS_MF_POP_MAXIMUM_FOLDER_REACHED" -msgstr "Հասել եք թղթապանակների առավելագույն քանակի" - -msgid "IDS_MF_POP_PERMISSION_DENIED" -msgstr "Թույլտվությունը մերժվեց" - -msgid "IDS_MF_POP_SEND_FAILED" -msgstr "Ուղարկման ձախողում" - -msgid "IDS_MF_POP_THE_DESTINATION_FOLDER_IS_A_SUBFOLDER_OF_THE_SOURCE_FOLDER" -msgstr "Նշանակման թղթապանակը հանդիսանում է սկզբնական թղթապանակի ենթաթղթապանակ" - -msgid "IDS_MF_POP_THIS_FILE_DOES_NOT_EXIST" -msgstr "Այս ֆայլը գոյություն չունի" - -msgid "IDS_MF_POP_UNABLE_TO_COPY" -msgstr "Հնարավոր չէ պատճենել" - -msgid "IDS_MF_POP_UNABLE_TO_MOVE" -msgstr "Անհնար է տեղափոխել" - -msgid "IDS_MF_BODY_NOT_ENOUGH_MEMORY_IN_PHONE_MEMORY_DELETE_SOME_ITEMS_AND_TRY_AGAIN" -msgstr "Բավարար տեղ չկա հեռախոսի հիշողության մեջ: Վերացրեք որոշ տարրեր և նորից փորձեք" - -msgid "IDS_MF_POP_COPYING_FAILED" -msgstr "Պատճենումը ձախողվեց" - -msgid "IDS_MF_POP_MOVING_FAILED" -msgstr "Տեղափոխումը ձախողվեց" - -msgid "IDS_MF_POP_NOT_ENOUGH_MEMORY_PS_AVAILABLE" -msgstr "Չկա բավական հիշողություն: %s-ը հասանելի է" - -msgid "IDS_MF_POP_SAME_NAME_ALREADY_IN_USE" -msgstr "Նույն անունն արդեն օգտագործվում է" - -msgid "IDS_MF_POP_UNABLE_TO_MOVE_DESTINATION_FOLDER_SAME_AS_SOURCE_FOLDER" -msgstr "Հնարավոր չէ տեղափոխել: Նշանակման թղթապանակը նույնն է, ինչ որ սկզբնական թղթապանակը" - -msgid "IDS_MF_SK3_CREATE_FOLDER" -msgstr "Ստեղծել թղթպանակ" - -msgid "IDS_MF_SK3_PASTE_HERE" -msgstr "Տեղադրել այստեղ" - -msgid "IDS_MF_BODY_ALERTS" -msgstr "Ազդանշաններ" - -msgid "IDS_MF_BODY_WALLPAPERS" -msgstr "Պաստառներ" - -msgid "IDS_MF_TAB_PHONE" -msgstr "Հեռախոս" - -msgid "IDS_MF_BODY_IMAGES" -msgstr "Պատկերներ" - -msgid "IDS_MF_BODY_VIDEOS" -msgstr "Տեսահոլովակներ" - -msgid "IDS_MF_BODY_SOUNDS" -msgstr "Ձայներ" - -msgid "IDS_MF_BODY_DOWNLOADS" -msgstr "Բեռնումներ" - -msgid "IDS_MF_TAB_MEMORY_CARD" -msgstr "Հիշաքարտ" - -msgid "IDS_MF_TAB_EXTERNAL_STORAGE" -msgstr "Արտաքին պահոց" - -msgid "IDS_MF_SK3_EDIT" -msgstr "Խմբագրել" - -msgid "IDS_MF_SK3_DELETE" -msgstr "Ջնջել" - -msgid "IDS_MF_SK3_MOVE" -msgstr "Տեղափխել" - -msgid "IDS_MF_BODY_UP" -msgstr "Վերև" - -msgid "IDS_MF_SK3_MOVE_HERE" -msgstr "Տեղափոխել այստեղ" - -msgid "IDS_MF_SK3_COPY" -msgstr "Պատճենել" - -msgid "IDS_MF_SK3_SORT_BY" -msgstr "Տեսակավորել ըստ" - -msgid "IDS_MF_SK3_SEARCH" -msgstr "Որոնում" - -msgid "IDS_MF_SK3_MORE" -msgstr "Ավելի" - -msgid "IDS_MF_OPT_CREATE_FOLDER" -msgstr "Ստեղծել թղթապանակ" - -msgid "IDS_MF_BODY_FOLDER_NAME" -msgstr "Թղթապանակի անունը" - -msgid "IDS_MF_BODY_ACCESS_MORE_MY_ALBUM" -msgstr "Իմ ալբոմը" - -msgid "IDS_MF_OPT_VIEW_AS" -msgstr "Դիտել որպեսշ" - -msgid "IDS_MF_SK3_BACK" -msgstr "ՀԵՏ" - -msgid "IDS_MF_BODY_MY_VIDEO_CLIPS" -msgstr "Իմ ձայնահոլովակները" - -msgid "IDS_MF_BODY_RIGHT_STATUS" -msgstr "Իրավունքի կարգավիճակ" - -msgid "IDS_MF_BODY_VENDOR" -msgstr "Մատակարար" - -msgid "IDS_MF_HEADER_COUNT" -msgstr "Քանակ" - -msgid "IDS_MF_BODY_CONTAINS" -msgstr "Պարունակում է" - -msgid "IDS_MF_BODY_INDIVIDUAL" -msgstr "Անհատ" - -msgid "IDS_MF_BODY_INTERVAL" -msgstr "Դադար" - -msgid "IDS_MF_BODY_RENAME_ABB" -msgstr "Վերանվ" - -msgid "IDS_MF_BODY_TIME" -msgstr "Ժամանակ" - -msgid "IDS_MF_BODY_TIMED_COUNT" -msgstr "Հաշվարկված հաշիվ" - -msgid "IDS_MF_BODY_TYPE" -msgstr "Տեսակ" - -msgid "IDS_MF_BODY_UNLIMITED" -msgstr "Անսահմանափակ" - -msgid "IDS_MF_BUTTON_REPLACE_ABB" -msgstr "Փխրնել" - -msgid "IDS_MF_OPT_CALLER_RINGTONE" -msgstr "Զանգահարողի զանգի մեղեդի" - -msgid "IDS_MF_OPT_LISTBY_NAME" -msgstr "Անուն" - -msgid "IDS_MF_POP_COPIED" -msgstr "Պատճենված է" - -msgid "IDS_MF_POP_NOTHING_SELECTED" -msgstr "Ոչինչ ընտրված չէ" - -msgid "IDS_MF_POP_NOT_ENOUGH_HEAP_MEMORY" -msgstr "Չկա բավական զանգվածային հիշողություն" - -msgid "IDS_MF_POP_NOT_ENOUGH_MEMORY_DELETE_SOME_ITEMS" -msgstr "Հիշողությունը չի բավարարում: Ջնջեք որոշ տարրեր" - -msgid "IDS_MF_BODY_CREATED_DATE" -msgstr "Ստեղծման ամսաթիվը" - -msgid "IDS_MF_BODY_GPS_INFORMATION" -msgstr "GPS տեղեկատվություն" - -msgid "IDS_MF_BODY_GPS_LATITUDE" -msgstr "GPS լայնություն" - -msgid "IDS_MF_BODY_GPS_LONGITUDE" -msgstr "GPS երկայնություն" - -msgid "IDS_MF_BODY_GPS_VERSION" -msgstr "GPS տարբերակ" - -msgid "IDS_MF_SK_DETAILS" -msgstr "Մանրամսն." - -msgid "IDS_MF_BODY_ANY" -msgstr "Ցանկացած" - -msgid "IDS_MF_BODY_AVAILABLE_USES" -msgstr "Հասանելի օգտվողներ" - -msgid "IDS_MF_BODY_EXECUTE" -msgstr "Կատարել" - -msgid "IDS_MF_BODY_FORWARDING" -msgstr "Փոխանցում" - -msgid "IDS_MF_BODY_IMPOSSIBLE" -msgstr "Անհնար է" - -msgid "IDS_MF_BODY_MMC_DATA_IS_INITIALIZING_ING" -msgstr "MMC տվյալներ են նախապատրաստվում..." - -msgid "IDS_MF_BODY_POSSIBLE" -msgstr "Հնարավոր" - -msgid "IDS_MF_BODY_PRINT" -msgstr "Տպել" - -msgid "IDS_MF_BODY_VALIDITY" -msgstr "Վավերականություն" - -msgid "IDS_MF_HEADER_NEW_FOLDER" -msgstr "Նոր թղթապանակ" - -msgid "IDS_MF_OPT_EDIT" -msgstr "Խմբագրել" - -msgid "IDS_MF_OPT_LIST_BY" -msgstr "Թվարկել ըստ" - -msgid "IDS_MF_OPT_MOVE_HERE" -msgstr "Տեղափոխել այստեղ" - -msgid "IDS_MF_POP_CONTINUE" -msgstr "Շարունակել" - -msgid "IDS_MF_POP_COPYING" -msgstr "Պատճենում է..." - -msgid "IDS_MF_POP_PASTE_HERE" -msgstr "Վերլուծել այստեղ" - -msgid "IDS_MF_POP_UNSUPPORTED_FILE_TYPE" -msgstr "Ֆայլի չսատարվող տեսակ" - -msgid "IDS_MF_OPT_DETAIL_VIEW" -msgstr "Մանրամասն դիտում" - -msgid "IDS_MF_POP_ASCENDING" -msgstr "Աճող" - -msgid "IDS_MF_POP_DESCENDING" -msgstr "Նվազող" - -msgid "IDS_MF_TAB_ALL" -msgstr "Բոլոր" - -msgid "IDS_MF_BODY_UP_M_BACK" -msgstr "Վերև" - -msgid "IDS_MF_BUTTON_SEARCH_ALL_FOLDERS" -msgstr "Որոնեք բոլոր թղթպնկները" - -msgid "IDS_MF_OPT_THUMBNAIL_VIEW" -msgstr "Փոքրացված պատկերների տեսք" - -msgid "IDS_MF_OPT_SHOW_FILE_EXTENSION" -msgstr "Ցույց տալ ֆայլի ընդլայնումը" - -msgid "IDS_MF_OPT_SORT_BY" -msgstr "Տեսակավորել ըստ" - -msgid "IDS_MF_BODY_LIST_AND_DETAILS_ABB" -msgstr "Ցուցակ և մանրամասներ" - -msgid "IDS_MF_OPT_HIDE_FILE_EXTENSION_ABB" -msgstr "Թքցնլ ֆայլի ընդլայնում" - -msgid "IDS_MF_OPT_NAME_HA_TO_Z" -msgstr "Անուն (Ա-ից Ֆ)" - -msgid "IDS_MF_OPT_NAME_HZ_TO_A" -msgstr "Անուն (Ֆ-ից Ա)" - -msgid "IDS_MF_OPT_DATE_HMOST_RECENT" -msgstr "Ամսաթիվ (առավել վերջին)" - -msgid "IDS_MF_OPT_DATE_HOLDEST" -msgstr "Ամսաթիվ (ամենահին)" - -msgid "IDS_MF_BUTTON_GO_TO_MY_FILES" -msgstr "Գնալ Իմ Ֆայլերը" - -msgid "IDS_MF_BODY_RINGTONES" -msgstr "Մեղեդիներ" - -msgid "IDS_MF_BUTTON_EXPORT_HERE" -msgstr "Արտահանել այստեղ" - -msgid "IDS_MF_POP_UNABLE_TO_SET_DRM_PROTECTED_CONTENT_AS_RINGTONE_OR_NOTIFICATION_ALERT" -msgstr "Անհնար է DRM-ով պաշտպանված բովանդակությունը դնել որպես զանգի հնչերանգ կամ ծանուցման զգուշացում" - diff --git a/data/po/is.po b/data/po/is.po deleted file mode 100644 index 5d46f8f..0000000 --- a/data/po/is.po +++ /dev/null @@ -1,318 +0,0 @@ -msgid "IDS_MF_TAB_UP" -msgstr "Upp" - -msgid "IDS_MF_BUTTON_HOME" -msgstr "Heima" - -msgid "IDS_MF_OPT_VIEW_BY_LIST" -msgstr "Birta lista" - -msgid "IDS_MF_OPT_VIEW_BY_THUMBNAIL" -msgstr "Birta eftir smámyndum" - -msgid "IDS_MF_POP_DELETE_FAILED" -msgstr "Ekki tókst að eyða" - -msgid "IDS_MF_POP_DRM_FILE_CANNOT_SEND" -msgstr "DRM skrá. Ekki hægt að senda" - -msgid "IDS_MF_POP_INVALID_FILE_NAME" -msgstr "Ógilt skráarheiti" - -msgid "IDS_MF_POP_MAXIMUM_FOLDER_REACHED" -msgstr "Komið að hámarki möppu" - -msgid "IDS_MF_POP_PERMISSION_DENIED" -msgstr "Leyfi var hafnað" - -msgid "IDS_MF_POP_SEND_FAILED" -msgstr "Sending mistókst" - -msgid "IDS_MF_POP_THE_DESTINATION_FOLDER_IS_A_SUBFOLDER_OF_THE_SOURCE_FOLDER" -msgstr "Áfangamappa er undirmappa í upprunamöppunni" - -msgid "IDS_MF_POP_THIS_FILE_DOES_NOT_EXIST" -msgstr "Skráin er ekki til" - -msgid "IDS_MF_POP_UNABLE_TO_COPY" -msgstr "Mistókst að afrita" - -msgid "IDS_MF_POP_UNABLE_TO_MOVE" -msgstr "Ekki hægt að flytja" - -msgid "IDS_MF_BODY_NOT_ENOUGH_MEMORY_IN_PHONE_MEMORY_DELETE_SOME_ITEMS_AND_TRY_AGAIN" -msgstr "Það er of lítið minni í símanum. Eyddu einhverjum hlutum og reyndu aftur" - -msgid "IDS_MF_POP_COPYING_FAILED" -msgstr "Afritun mistókst" - -msgid "IDS_MF_POP_MOVING_FAILED" -msgstr "Ekki tókst að flytja" - -msgid "IDS_MF_POP_NOT_ENOUGH_MEMORY_PS_AVAILABLE" -msgstr "Ekki er nægt minni. %s tiltækt" - -msgid "IDS_MF_POP_SAME_NAME_ALREADY_IN_USE" -msgstr "Þetta heiti er þegar í notkun" - -msgid "IDS_MF_POP_UNABLE_TO_MOVE_DESTINATION_FOLDER_SAME_AS_SOURCE_FOLDER" -msgstr "Ekki tókst að flytja. Áfangamappa sú sama og upprunamappa" - -msgid "IDS_MF_SK3_CREATE_FOLDER" -msgstr "Búa til möppu" - -msgid "IDS_MF_SK3_PASTE_HERE" -msgstr "Líma hér" - -msgid "IDS_MF_BODY_ALERTS" -msgstr "Áminningar" - -msgid "IDS_MF_BODY_WALLPAPERS" -msgstr "Veggfóður" - -msgid "IDS_MF_TAB_PHONE" -msgstr "Sími" - -msgid "IDS_MF_BODY_IMAGES" -msgstr "Myndir" - -msgid "IDS_MF_BODY_VIDEOS" -msgstr "Myndskeið" - -msgid "IDS_MF_BODY_SOUNDS" -msgstr "Hljóð" - -msgid "IDS_MF_BODY_DOWNLOADS" -msgstr "Niðurhal" - -msgid "IDS_MF_TAB_MEMORY_CARD" -msgstr "Minnisk." - -msgid "IDS_MF_TAB_EXTERNAL_STORAGE" -msgstr "Ytri geymsla" - -msgid "IDS_MF_SK3_EDIT" -msgstr "Breyta" - -msgid "IDS_MF_SK3_DELETE" -msgstr "Eyða" - -msgid "IDS_MF_SK3_MOVE" -msgstr "Flytja" - -msgid "IDS_MF_BODY_UP" -msgstr "Upp" - -msgid "IDS_MF_SK3_MOVE_HERE" -msgstr "Færa hingað" - -msgid "IDS_MF_SK3_COPY" -msgstr "Afrita" - -msgid "IDS_MF_SK3_SORT_BY" -msgstr "Raða eftir" - -msgid "IDS_MF_SK3_SEARCH" -msgstr "Leit" - -msgid "IDS_MF_SK3_MORE" -msgstr "Meira" - -msgid "IDS_MF_OPT_CREATE_FOLDER" -msgstr "Búa til möppu" - -msgid "IDS_MF_BODY_FOLDER_NAME" -msgstr "Heiti möppu" - -msgid "IDS_MF_BODY_ACCESS_MORE_MY_ALBUM" -msgstr "Albúm notanda" - -msgid "IDS_MF_OPT_VIEW_AS" -msgstr "Sjá sem" - -msgid "IDS_MF_SK3_BACK" -msgstr "BAKKA" - -msgid "IDS_MF_BODY_MY_VIDEO_CLIPS" -msgstr "Myndskeiðin mín" - -msgid "IDS_MF_BODY_RIGHT_STATUS" -msgstr "Rétt staða" - -msgid "IDS_MF_BODY_VENDOR" -msgstr "Seljandi" - -msgid "IDS_MF_HEADER_COUNT" -msgstr "Fjöldi" - -msgid "IDS_MF_BODY_CONTAINS" -msgstr "Inniheldur" - -msgid "IDS_MF_BODY_INDIVIDUAL" -msgstr "Stakt" - -msgid "IDS_MF_BODY_INTERVAL" -msgstr "Bil" - -msgid "IDS_MF_BODY_RENAME_ABB" -msgstr "Endurn" - -msgid "IDS_MF_BODY_TIME" -msgstr "Tími" - -msgid "IDS_MF_BODY_TIMED_COUNT" -msgstr "Tímasett" - -msgid "IDS_MF_BODY_TYPE" -msgstr "Tegund" - -msgid "IDS_MF_BODY_UNLIMITED" -msgstr "Án takmarkana" - -msgid "IDS_MF_BUTTON_REPLACE_ABB" -msgstr "Skip. út" - -msgid "IDS_MF_OPT_CALLER_RINGTONE" -msgstr "Hringitónn hringjanda" - -msgid "IDS_MF_OPT_LISTBY_NAME" -msgstr "Heiti" - -msgid "IDS_MF_POP_COPIED" -msgstr "Afritað" - -msgid "IDS_MF_POP_NOTHING_SELECTED" -msgstr "Ekkert er valið" - -msgid "IDS_MF_POP_NOT_ENOUGH_HEAP_MEMORY" -msgstr "Of lítið safnminni" - -msgid "IDS_MF_POP_NOT_ENOUGH_MEMORY_DELETE_SOME_ITEMS" -msgstr "Ekki er nægt minni. Eyðið nokkrum atriðum" - -msgid "IDS_MF_BODY_CREATED_DATE" -msgstr "Búið til" - -msgid "IDS_MF_BODY_GPS_INFORMATION" -msgstr "GPS-upplýsingar" - -msgid "IDS_MF_BODY_GPS_LATITUDE" -msgstr "GPS-breiddargráða" - -msgid "IDS_MF_BODY_GPS_LONGITUDE" -msgstr "GPS-lengdargráða" - -msgid "IDS_MF_BODY_GPS_VERSION" -msgstr "GPS-útgáfa" - -msgid "IDS_MF_SK_DETAILS" -msgstr "Upplýsingar" - -msgid "IDS_MF_BODY_ANY" -msgstr "Hvað sem er" - -msgid "IDS_MF_BODY_AVAILABLE_USES" -msgstr "Tiltæk notkun" - -msgid "IDS_MF_BODY_EXECUTE" -msgstr "Framkvæma" - -msgid "IDS_MF_BODY_FORWARDING" -msgstr "Framsending" - -msgid "IDS_MF_BODY_IMPOSSIBLE" -msgstr "Ekki hægt" - -msgid "IDS_MF_BODY_MMC_DATA_IS_INITIALIZING_ING" -msgstr "MMC-gögn ræsast..." - -msgid "IDS_MF_BODY_POSSIBLE" -msgstr "Mögulegt" - -msgid "IDS_MF_BODY_PRINT" -msgstr "Prenta" - -msgid "IDS_MF_BODY_VALIDITY" -msgstr "Gildistími" - -msgid "IDS_MF_HEADER_NEW_FOLDER" -msgstr "Ný mappa" - -msgid "IDS_MF_OPT_EDIT" -msgstr "Breyta" - -msgid "IDS_MF_OPT_LIST_BY" -msgstr "Raða eftir" - -msgid "IDS_MF_OPT_MOVE_HERE" -msgstr "Færa hingað" - -msgid "IDS_MF_POP_CONTINUE" -msgstr "Halda áfram" - -msgid "IDS_MF_POP_COPYING" -msgstr "Afritun stendur yfir..." - -msgid "IDS_MF_POP_PASTE_HERE" -msgstr "Líma hingað" - -msgid "IDS_MF_POP_UNSUPPORTED_FILE_TYPE" -msgstr "Óstutt skrársnið" - -msgid "IDS_MF_OPT_DETAIL_VIEW" -msgstr "Upplýsingaskjár" - -msgid "IDS_MF_POP_ASCENDING" -msgstr "Hækkandi" - -msgid "IDS_MF_POP_DESCENDING" -msgstr "Lækkandi" - -msgid "IDS_MF_TAB_ALL" -msgstr "Allt" - -msgid "IDS_MF_BODY_UP_M_BACK" -msgstr "Upp" - -msgid "IDS_MF_BUTTON_SEARCH_ALL_FOLDERS" -msgstr "Leita í öllum möppum" - -msgid "IDS_MF_OPT_THUMBNAIL_VIEW" -msgstr "Smámyndir" - -msgid "IDS_MF_OPT_SHOW_FILE_EXTENSION" -msgstr "Sýna skráargerð" - -msgid "IDS_MF_OPT_SORT_BY" -msgstr "Raða eftir" - -msgid "IDS_MF_BODY_LIST_AND_DETAILS_ABB" -msgstr "Listi og upplýsingar" - -msgid "IDS_MF_OPT_HIDE_FILE_EXTENSION_ABB" -msgstr "Fela skráarendingu" - -msgid "IDS_MF_OPT_NAME_HA_TO_Z" -msgstr "Heiti (A til Ö)" - -msgid "IDS_MF_OPT_NAME_HZ_TO_A" -msgstr "Heiti (Ö til A)" - -msgid "IDS_MF_OPT_DATE_HMOST_RECENT" -msgstr "Dagsetning (nýjasta)" - -msgid "IDS_MF_OPT_DATE_HOLDEST" -msgstr "Dagsetning (elsta)" - -msgid "IDS_MF_BUTTON_GO_TO_MY_FILES" -msgstr "Opna Skrárnar mínar" - -msgid "IDS_MF_BODY_RINGTONES" -msgstr "Hringitónar" - -msgid "IDS_MF_BUTTON_EXPORT_HERE" -msgstr "Flytja hingað" - -msgid "IDS_MF_POP_UNABLE_TO_SET_DRM_PROTECTED_CONTENT_AS_RINGTONE_OR_NOTIFICATION_ALERT" -msgstr "Ekki hægt að velja DRM-varið efni sem hringitón eða tilkynningu" - diff --git a/data/po/it_IT.po b/data/po/it_IT.po deleted file mode 100644 index ddbbb47..0000000 --- a/data/po/it_IT.po +++ /dev/null @@ -1,318 +0,0 @@ -msgid "IDS_MF_TAB_UP" -msgstr "Su" - -msgid "IDS_MF_BUTTON_HOME" -msgstr "Home" - -msgid "IDS_MF_OPT_VIEW_BY_LIST" -msgstr "Visualizza elenco" - -msgid "IDS_MF_OPT_VIEW_BY_THUMBNAIL" -msgstr "Visualizza miniature" - -msgid "IDS_MF_POP_DELETE_FAILED" -msgstr "Eliminazione non riuscita" - -msgid "IDS_MF_POP_DRM_FILE_CANNOT_SEND" -msgstr "File DRM. Impossibile inviare" - -msgid "IDS_MF_POP_INVALID_FILE_NAME" -msgstr "Nome file non valido" - -msgid "IDS_MF_POP_MAXIMUM_FOLDER_REACHED" -msgstr "Massimo cartella raggiunto" - -msgid "IDS_MF_POP_PERMISSION_DENIED" -msgstr "Permesso negato" - -msgid "IDS_MF_POP_SEND_FAILED" -msgstr "Impossibile inviare" - -msgid "IDS_MF_POP_THE_DESTINATION_FOLDER_IS_A_SUBFOLDER_OF_THE_SOURCE_FOLDER" -msgstr "La cartella di destinazione è una sottocartella della cartella di origine" - -msgid "IDS_MF_POP_THIS_FILE_DOES_NOT_EXIST" -msgstr "File inesistente" - -msgid "IDS_MF_POP_UNABLE_TO_COPY" -msgstr "Impossibile copiare" - -msgid "IDS_MF_POP_UNABLE_TO_MOVE" -msgstr "Impossibile spostare" - -msgid "IDS_MF_BODY_NOT_ENOUGH_MEMORY_IN_PHONE_MEMORY_DELETE_SOME_ITEMS_AND_TRY_AGAIN" -msgstr "Memoria insufficiente. Disinstallare alcuni elementi e riprovare" - -msgid "IDS_MF_POP_COPYING_FAILED" -msgstr "Copia non eseguita" - -msgid "IDS_MF_POP_MOVING_FAILED" -msgstr "Spostamento non riuscito" - -msgid "IDS_MF_POP_NOT_ENOUGH_MEMORY_PS_AVAILABLE" -msgstr "Spazio insufficiente in memoria. %s disponibili" - -msgid "IDS_MF_POP_SAME_NAME_ALREADY_IN_USE" -msgstr "Stesso nome già in uso" - -msgid "IDS_MF_POP_UNABLE_TO_MOVE_DESTINATION_FOLDER_SAME_AS_SOURCE_FOLDER" -msgstr "Impossibile spostare. La cartella di destinazione coincide con la cartella di origine" - -msgid "IDS_MF_SK3_CREATE_FOLDER" -msgstr "Crea cartella" - -msgid "IDS_MF_SK3_PASTE_HERE" -msgstr "Incolla qui" - -msgid "IDS_MF_BODY_ALERTS" -msgstr "Avvisi" - -msgid "IDS_MF_BODY_WALLPAPERS" -msgstr "Sfondi" - -msgid "IDS_MF_TAB_PHONE" -msgstr "Telefono" - -msgid "IDS_MF_BODY_IMAGES" -msgstr "Immagini" - -msgid "IDS_MF_BODY_VIDEOS" -msgstr "Video" - -msgid "IDS_MF_BODY_SOUNDS" -msgstr "Suoni" - -msgid "IDS_MF_BODY_DOWNLOADS" -msgstr "Download" - -msgid "IDS_MF_TAB_MEMORY_CARD" -msgstr "Scheda memoria" - -msgid "IDS_MF_TAB_EXTERNAL_STORAGE" -msgstr "Memoria esterna" - -msgid "IDS_MF_SK3_EDIT" -msgstr "Modifica" - -msgid "IDS_MF_SK3_DELETE" -msgstr "Elimina" - -msgid "IDS_MF_SK3_MOVE" -msgstr "Sposta" - -msgid "IDS_MF_BODY_UP" -msgstr "Su" - -msgid "IDS_MF_SK3_MOVE_HERE" -msgstr "Sposta qui" - -msgid "IDS_MF_SK3_COPY" -msgstr "Copia" - -msgid "IDS_MF_SK3_SORT_BY" -msgstr "Ordina per" - -msgid "IDS_MF_SK3_SEARCH" -msgstr "Cerca" - -msgid "IDS_MF_SK3_MORE" -msgstr "Altro" - -msgid "IDS_MF_OPT_CREATE_FOLDER" -msgstr "Crea cartella" - -msgid "IDS_MF_BODY_FOLDER_NAME" -msgstr "Nome cartella" - -msgid "IDS_MF_BODY_ACCESS_MORE_MY_ALBUM" -msgstr "Album" - -msgid "IDS_MF_OPT_VIEW_AS" -msgstr "Visualizza come" - -msgid "IDS_MF_SK3_BACK" -msgstr "Indietro" - -msgid "IDS_MF_BODY_MY_VIDEO_CLIPS" -msgstr "Video personali" - -msgid "IDS_MF_BODY_RIGHT_STATUS" -msgstr "Stato diritti" - -msgid "IDS_MF_BODY_VENDOR" -msgstr "Fornitore" - -msgid "IDS_MF_HEADER_COUNT" -msgstr "Conteggio" - -msgid "IDS_MF_BODY_CONTAINS" -msgstr "Contiene" - -msgid "IDS_MF_BODY_INDIVIDUAL" -msgstr "Individuale" - -msgid "IDS_MF_BODY_INTERVAL" -msgstr "Intervallo" - -msgid "IDS_MF_BODY_RENAME_ABB" -msgstr "Rinom." - -msgid "IDS_MF_BODY_TIME" -msgstr "Ora" - -msgid "IDS_MF_BODY_TIMED_COUNT" -msgstr "A termine" - -msgid "IDS_MF_BODY_TYPE" -msgstr "Tipo" - -msgid "IDS_MF_BODY_UNLIMITED" -msgstr "Senza limitazioni" - -msgid "IDS_MF_BUTTON_REPLACE_ABB" -msgstr "Sostit." - -msgid "IDS_MF_OPT_CALLER_RINGTONE" -msgstr "Suoneria chiamante" - -msgid "IDS_MF_OPT_LISTBY_NAME" -msgstr "Nome" - -msgid "IDS_MF_POP_COPIED" -msgstr "Copiato" - -msgid "IDS_MF_POP_NOTHING_SELECTED" -msgstr "Nessun elemento selezionato" - -msgid "IDS_MF_POP_NOT_ENOUGH_HEAP_MEMORY" -msgstr "Memoria heap insufficiente" - -msgid "IDS_MF_POP_NOT_ENOUGH_MEMORY_DELETE_SOME_ITEMS" -msgstr "Memoria insufficiente. Eliminare alcuni elementi" - -msgid "IDS_MF_BODY_CREATED_DATE" -msgstr "Data creazione" - -msgid "IDS_MF_BODY_GPS_INFORMATION" -msgstr "Informaz. GPS" - -msgid "IDS_MF_BODY_GPS_LATITUDE" -msgstr "Latitudine GPS" - -msgid "IDS_MF_BODY_GPS_LONGITUDE" -msgstr "Longitudine GPS" - -msgid "IDS_MF_BODY_GPS_VERSION" -msgstr "Versione GPS" - -msgid "IDS_MF_SK_DETAILS" -msgstr "Dettagli" - -msgid "IDS_MF_BODY_ANY" -msgstr "Qualsiasi" - -msgid "IDS_MF_BODY_AVAILABLE_USES" -msgstr "Usi disponibili" - -msgid "IDS_MF_BODY_EXECUTE" -msgstr "Esegui" - -msgid "IDS_MF_BODY_FORWARDING" -msgstr "Inoltro" - -msgid "IDS_MF_BODY_IMPOSSIBLE" -msgstr "Impossibile" - -msgid "IDS_MF_BODY_MMC_DATA_IS_INITIALIZING_ING" -msgstr "Inizializzazione dati MMC..." - -msgid "IDS_MF_BODY_POSSIBLE" -msgstr "Possibile" - -msgid "IDS_MF_BODY_PRINT" -msgstr "Stampa" - -msgid "IDS_MF_BODY_VALIDITY" -msgstr "Validità" - -msgid "IDS_MF_HEADER_NEW_FOLDER" -msgstr "Nuova cartella" - -msgid "IDS_MF_OPT_EDIT" -msgstr "Modifica" - -msgid "IDS_MF_OPT_LIST_BY" -msgstr "Elenca per" - -msgid "IDS_MF_OPT_MOVE_HERE" -msgstr "Sposta qui" - -msgid "IDS_MF_POP_CONTINUE" -msgstr "Continua" - -msgid "IDS_MF_POP_COPYING" -msgstr "Copia..." - -msgid "IDS_MF_POP_PASTE_HERE" -msgstr "Incolla qui" - -msgid "IDS_MF_POP_UNSUPPORTED_FILE_TYPE" -msgstr "Tipo file non supportato" - -msgid "IDS_MF_OPT_DETAIL_VIEW" -msgstr "Vista dettagli" - -msgid "IDS_MF_POP_ASCENDING" -msgstr "Crescente" - -msgid "IDS_MF_POP_DESCENDING" -msgstr "Decrescente" - -msgid "IDS_MF_TAB_ALL" -msgstr "Tutto" - -msgid "IDS_MF_BODY_UP_M_BACK" -msgstr "Su" - -msgid "IDS_MF_BUTTON_SEARCH_ALL_FOLDERS" -msgstr "Cerca in tutte le cartelle" - -msgid "IDS_MF_OPT_THUMBNAIL_VIEW" -msgstr "Vista miniature" - -msgid "IDS_MF_OPT_SHOW_FILE_EXTENSION" -msgstr "Mostra estensione file" - -msgid "IDS_MF_OPT_SORT_BY" -msgstr "Ordina per" - -msgid "IDS_MF_BODY_LIST_AND_DETAILS_ABB" -msgstr "Elenco e dettagli" - -msgid "IDS_MF_OPT_HIDE_FILE_EXTENSION_ABB" -msgstr "Nascondi esten. file" - -msgid "IDS_MF_OPT_NAME_HA_TO_Z" -msgstr "Nome (A - Z)" - -msgid "IDS_MF_OPT_NAME_HZ_TO_A" -msgstr "Nome (Z - A)" - -msgid "IDS_MF_OPT_DATE_HMOST_RECENT" -msgstr "Data (Più recente)" - -msgid "IDS_MF_OPT_DATE_HOLDEST" -msgstr "Data (Più vecchia)" - -msgid "IDS_MF_BUTTON_GO_TO_MY_FILES" -msgstr "Vai all'Archivio" - -msgid "IDS_MF_BODY_RINGTONES" -msgstr "Suonerie" - -msgid "IDS_MF_BUTTON_EXPORT_HERE" -msgstr "Esporta qui" - -msgid "IDS_MF_POP_UNABLE_TO_SET_DRM_PROTECTED_CONTENT_AS_RINGTONE_OR_NOTIFICATION_ALERT" -msgstr "Impossibile impostare il contenuto protetto di DRM come suoneria o avviso di notifica" - diff --git a/data/po/ja_JP.po b/data/po/ja_JP.po deleted file mode 100644 index 43b70c4..0000000 --- a/data/po/ja_JP.po +++ /dev/null @@ -1,318 +0,0 @@ -msgid "IDS_MF_TAB_UP" -msgstr "戻る" - -msgid "IDS_MF_BUTTON_HOME" -msgstr "ホーム" - -msgid "IDS_MF_OPT_VIEW_BY_LIST" -msgstr "リスト表示" - -msgid "IDS_MF_OPT_VIEW_BY_THUMBNAIL" -msgstr "サムネイル表示" - -msgid "IDS_MF_POP_DELETE_FAILED" -msgstr "削除できませんでした。" - -msgid "IDS_MF_POP_DRM_FILE_CANNOT_SEND" -msgstr "DRMファイルです。送信できません。" - -msgid "IDS_MF_POP_INVALID_FILE_NAME" -msgstr "ファイル名が正しくありません。" - -msgid "IDS_MF_POP_MAXIMUM_FOLDER_REACHED" -msgstr "最大フォルダ数に達しました。" - -msgid "IDS_MF_POP_PERMISSION_DENIED" -msgstr "承認が拒否されました。" - -msgid "IDS_MF_POP_SEND_FAILED" -msgstr "送信に失敗しました" - -msgid "IDS_MF_POP_THE_DESTINATION_FOLDER_IS_A_SUBFOLDER_OF_THE_SOURCE_FOLDER" -msgstr "移動元と移動先のフォルダが同じです。" - -msgid "IDS_MF_POP_THIS_FILE_DOES_NOT_EXIST" -msgstr "このファイルは存在しません。" - -msgid "IDS_MF_POP_UNABLE_TO_COPY" -msgstr "コピーできません。" - -msgid "IDS_MF_POP_UNABLE_TO_MOVE" -msgstr "移動できません。" - -msgid "IDS_MF_BODY_NOT_ENOUGH_MEMORY_IN_PHONE_MEMORY_DELETE_SOME_ITEMS_AND_TRY_AGAIN" -msgstr "システムメモリ(本体)が不足しています。不要なアイテムを削除し、再度実行してください。" - -msgid "IDS_MF_POP_COPYING_FAILED" -msgstr "コピーに失敗しました。" - -msgid "IDS_MF_POP_MOVING_FAILED" -msgstr "移動に失敗しました。" - -msgid "IDS_MF_POP_NOT_ENOUGH_MEMORY_PS_AVAILABLE" -msgstr "メモリ不足です。%s使用可能" - -msgid "IDS_MF_POP_SAME_NAME_ALREADY_IN_USE" -msgstr "同じ名前が既に使用されています" - -msgid "IDS_MF_POP_UNABLE_TO_MOVE_DESTINATION_FOLDER_SAME_AS_SOURCE_FOLDER" -msgstr "移動できません。移動元と移動先のフォルダが同じです。" - -msgid "IDS_MF_SK3_CREATE_FOLDER" -msgstr "フォルダ作成" - -msgid "IDS_MF_SK3_PASTE_HERE" -msgstr "ここに貼付" - -msgid "IDS_MF_BODY_ALERTS" -msgstr "通知" - -msgid "IDS_MF_BODY_WALLPAPERS" -msgstr "壁紙" - -msgid "IDS_MF_TAB_PHONE" -msgstr "本体" - -msgid "IDS_MF_BODY_IMAGES" -msgstr "画像" - -msgid "IDS_MF_BODY_VIDEOS" -msgstr "動画" - -msgid "IDS_MF_BODY_SOUNDS" -msgstr "サウンド" - -msgid "IDS_MF_BODY_DOWNLOADS" -msgstr "ダウンロード" - -msgid "IDS_MF_TAB_MEMORY_CARD" -msgstr "メモリカード" - -msgid "IDS_MF_TAB_EXTERNAL_STORAGE" -msgstr "外部ストレージ" - -msgid "IDS_MF_SK3_EDIT" -msgstr "編集" - -msgid "IDS_MF_SK3_DELETE" -msgstr "削除" - -msgid "IDS_MF_SK3_MOVE" -msgstr "移動" - -msgid "IDS_MF_BODY_UP" -msgstr "上" - -msgid "IDS_MF_SK3_MOVE_HERE" -msgstr "ここに移動" - -msgid "IDS_MF_SK3_COPY" -msgstr "コピー" - -msgid "IDS_MF_SK3_SORT_BY" -msgstr "並べ替え" - -msgid "IDS_MF_SK3_SEARCH" -msgstr "検索" - -msgid "IDS_MF_SK3_MORE" -msgstr "その他" - -msgid "IDS_MF_OPT_CREATE_FOLDER" -msgstr "フォルダ作成" - -msgid "IDS_MF_BODY_FOLDER_NAME" -msgstr "フォルダ名" - -msgid "IDS_MF_BODY_ACCESS_MORE_MY_ALBUM" -msgstr "マイアルバム" - -msgid "IDS_MF_OPT_VIEW_AS" -msgstr "表示形式" - -msgid "IDS_MF_SK3_BACK" -msgstr "戻る" - -msgid "IDS_MF_BODY_MY_VIDEO_CLIPS" -msgstr "マイビデオクリップ" - -msgid "IDS_MF_BODY_RIGHT_STATUS" -msgstr "権限の状態" - -msgid "IDS_MF_BODY_VENDOR" -msgstr "提供元" - -msgid "IDS_MF_HEADER_COUNT" -msgstr "回数" - -msgid "IDS_MF_BODY_CONTAINS" -msgstr "含む" - -msgid "IDS_MF_BODY_INDIVIDUAL" -msgstr "個人" - -msgid "IDS_MF_BODY_INTERVAL" -msgstr "間隔" - -msgid "IDS_MF_BODY_RENAME_ABB" -msgstr "名称変更" - -msgid "IDS_MF_BODY_TIME" -msgstr "時刻" - -msgid "IDS_MF_BODY_TIMED_COUNT" -msgstr "時間カウント" - -msgid "IDS_MF_BODY_TYPE" -msgstr "タイプ" - -msgid "IDS_MF_BODY_UNLIMITED" -msgstr "無制限" - -msgid "IDS_MF_BUTTON_REPLACE_ABB" -msgstr "上書き" - -msgid "IDS_MF_OPT_CALLER_RINGTONE" -msgstr "個別着信音" - -msgid "IDS_MF_OPT_LISTBY_NAME" -msgstr "名前" - -msgid "IDS_MF_POP_COPIED" -msgstr "コピーしました。" - -msgid "IDS_MF_POP_NOTHING_SELECTED" -msgstr "何も選択されていません。" - -msgid "IDS_MF_POP_NOT_ENOUGH_HEAP_MEMORY" -msgstr "ヒープメモリ不足です。" - -msgid "IDS_MF_POP_NOT_ENOUGH_MEMORY_DELETE_SOME_ITEMS" -msgstr "メモリが不足しています。不要なアイテムを削除してください。" - -msgid "IDS_MF_BODY_CREATED_DATE" -msgstr "作成されたデータ" - -msgid "IDS_MF_BODY_GPS_INFORMATION" -msgstr "GPS情報" - -msgid "IDS_MF_BODY_GPS_LATITUDE" -msgstr "GPS緯度" - -msgid "IDS_MF_BODY_GPS_LONGITUDE" -msgstr "GPS経度" - -msgid "IDS_MF_BODY_GPS_VERSION" -msgstr "GPSバージョン" - -msgid "IDS_MF_SK_DETAILS" -msgstr "詳細" - -msgid "IDS_MF_BODY_ANY" -msgstr "どれか" - -msgid "IDS_MF_BODY_AVAILABLE_USES" -msgstr "使用可能" - -msgid "IDS_MF_BODY_EXECUTE" -msgstr "実行" - -msgid "IDS_MF_BODY_FORWARDING" -msgstr "転送" - -msgid "IDS_MF_BODY_IMPOSSIBLE" -msgstr "不可" - -msgid "IDS_MF_BODY_MMC_DATA_IS_INITIALIZING_ING" -msgstr "MMCデータをインストール中..." - -msgid "IDS_MF_BODY_POSSIBLE" -msgstr "可能" - -msgid "IDS_MF_BODY_PRINT" -msgstr "印刷" - -msgid "IDS_MF_BODY_VALIDITY" -msgstr "有効回数" - -msgid "IDS_MF_HEADER_NEW_FOLDER" -msgstr "新規フォルダ" - -msgid "IDS_MF_OPT_EDIT" -msgstr "編集" - -msgid "IDS_MF_OPT_LIST_BY" -msgstr "ソート" - -msgid "IDS_MF_OPT_MOVE_HERE" -msgstr "ここに移動" - -msgid "IDS_MF_POP_CONTINUE" -msgstr "次へ" - -msgid "IDS_MF_POP_COPYING" -msgstr "コピー中..." - -msgid "IDS_MF_POP_PASTE_HERE" -msgstr "ここに貼付" - -msgid "IDS_MF_POP_UNSUPPORTED_FILE_TYPE" -msgstr "未対応のファイルです。" - -msgid "IDS_MF_OPT_DETAIL_VIEW" -msgstr "詳細表示" - -msgid "IDS_MF_POP_ASCENDING" -msgstr "昇順" - -msgid "IDS_MF_POP_DESCENDING" -msgstr "降順" - -msgid "IDS_MF_TAB_ALL" -msgstr "全て" - -msgid "IDS_MF_BODY_UP_M_BACK" -msgstr "戻る" - -msgid "IDS_MF_BUTTON_SEARCH_ALL_FOLDERS" -msgstr "全てのフォルダを検索" - -msgid "IDS_MF_OPT_THUMBNAIL_VIEW" -msgstr "サムネイル表示" - -msgid "IDS_MF_OPT_SHOW_FILE_EXTENSION" -msgstr "ファイル拡張子を表示" - -msgid "IDS_MF_OPT_SORT_BY" -msgstr "ソート" - -msgid "IDS_MF_BODY_LIST_AND_DETAILS_ABB" -msgstr "リストおよび詳細" - -msgid "IDS_MF_OPT_HIDE_FILE_EXTENSION_ABB" -msgstr "ファイル拡張子を非表示" - -msgid "IDS_MF_OPT_NAME_HA_TO_Z" -msgstr "名前(A~Z)" - -msgid "IDS_MF_OPT_NAME_HZ_TO_A" -msgstr "名前(Z~A)" - -msgid "IDS_MF_OPT_DATE_HMOST_RECENT" -msgstr "日付(新しい順)" - -msgid "IDS_MF_OPT_DATE_HOLDEST" -msgstr "日付(古い順)" - -msgid "IDS_MF_BUTTON_GO_TO_MY_FILES" -msgstr "マイファイルに移動" - -msgid "IDS_MF_BODY_RINGTONES" -msgstr "着信音" - -msgid "IDS_MF_BUTTON_EXPORT_HERE" -msgstr "ここにエクスポート" - -msgid "IDS_MF_POP_UNABLE_TO_SET_DRM_PROTECTED_CONTENT_AS_RINGTONE_OR_NOTIFICATION_ALERT" -msgstr "DRM保護コンテンツは、着信音または通知音に設定できません。" - diff --git a/data/po/ka.po b/data/po/ka.po deleted file mode 100644 index 8fce845..0000000 --- a/data/po/ka.po +++ /dev/null @@ -1,318 +0,0 @@ -msgid "IDS_MF_TAB_UP" -msgstr "ზევით" - -msgid "IDS_MF_BUTTON_HOME" -msgstr "საწყისი გვერდი" - -msgid "IDS_MF_OPT_VIEW_BY_LIST" -msgstr "დათვალიერება სიით" - -msgid "IDS_MF_OPT_VIEW_BY_THUMBNAIL" -msgstr "დათვალიერება პიქტოგრამებით" - -msgid "IDS_MF_POP_DELETE_FAILED" -msgstr "წაშლა არ მოხერხდა" - -msgid "IDS_MF_POP_DRM_FILE_CANNOT_SEND" -msgstr "DRM ფაილი. ვერ გაგზავნით" - -msgid "IDS_MF_POP_INVALID_FILE_NAME" -msgstr "ფაილის არასწორი დასახელება" - -msgid "IDS_MF_POP_MAXIMUM_FOLDER_REACHED" -msgstr "საქაღალდეების რაოდენობამ მაქსიმუმს მიაღწია" - -msgid "IDS_MF_POP_PERMISSION_DENIED" -msgstr "ნებართვა უარყოფილია" - -msgid "IDS_MF_POP_SEND_FAILED" -msgstr "ვერ გაიგზავნა" - -msgid "IDS_MF_POP_THE_DESTINATION_FOLDER_IS_A_SUBFOLDER_OF_THE_SOURCE_FOLDER" -msgstr "საბოლოო საქაღალდე დევს საწყის საქაღალდეში" - -msgid "IDS_MF_POP_THIS_FILE_DOES_NOT_EXIST" -msgstr "ფაილი არ არსებობს" - -msgid "IDS_MF_POP_UNABLE_TO_COPY" -msgstr "ვერ დაკოპირდება" - -msgid "IDS_MF_POP_UNABLE_TO_MOVE" -msgstr "ვერ გადაადგილდება" - -msgid "IDS_MF_BODY_NOT_ENOUGH_MEMORY_IN_PHONE_MEMORY_DELETE_SOME_ITEMS_AND_TRY_AGAIN" -msgstr "ტელეფონში არ არის საკმარისი მეხსიერება. წაშალეთ ზოგიერთი ელემენტი და ისევ ცადეთ" - -msgid "IDS_MF_POP_COPYING_FAILED" -msgstr "გადაწერა არ მოხერხდა" - -msgid "IDS_MF_POP_MOVING_FAILED" -msgstr "გადატანა ვერ შესრულდა" - -msgid "IDS_MF_POP_NOT_ENOUGH_MEMORY_PS_AVAILABLE" -msgstr "მეხსიერება არ არის საკმარისი. დარჩენილია %s" - -msgid "IDS_MF_POP_SAME_NAME_ALREADY_IN_USE" -msgstr "იგივე სახელი უკვე გამოყენებულია" - -msgid "IDS_MF_POP_UNABLE_TO_MOVE_DESTINATION_FOLDER_SAME_AS_SOURCE_FOLDER" -msgstr "ვერ გადაიტანთ. საბოლოო და საწყისი საქაღალდეები ერთიდაიგივეა" - -msgid "IDS_MF_SK3_CREATE_FOLDER" -msgstr "საქაღალდის შექმნა" - -msgid "IDS_MF_SK3_PASTE_HERE" -msgstr "ჩასვით აქ" - -msgid "IDS_MF_BODY_ALERTS" -msgstr "სიგნალები" - -msgid "IDS_MF_BODY_WALLPAPERS" -msgstr "ფონები" - -msgid "IDS_MF_TAB_PHONE" -msgstr "ტელეფონი" - -msgid "IDS_MF_BODY_IMAGES" -msgstr "გამოსახულებები" - -msgid "IDS_MF_BODY_VIDEOS" -msgstr "ვიდეოები" - -msgid "IDS_MF_BODY_SOUNDS" -msgstr "ხმები" - -msgid "IDS_MF_BODY_DOWNLOADS" -msgstr "გადმოწერილები" - -msgid "IDS_MF_TAB_MEMORY_CARD" -msgstr "მეხსიერ. ბარათი" - -msgid "IDS_MF_TAB_EXTERNAL_STORAGE" -msgstr "გარე მეხსიერება" - -msgid "IDS_MF_SK3_EDIT" -msgstr "რედაქტირება" - -msgid "IDS_MF_SK3_DELETE" -msgstr "წაშლა" - -msgid "IDS_MF_SK3_MOVE" -msgstr "გადატანა" - -msgid "IDS_MF_BODY_UP" -msgstr "ზემოთ" - -msgid "IDS_MF_SK3_MOVE_HERE" -msgstr "გადაიტანეთ აქ" - -msgid "IDS_MF_SK3_COPY" -msgstr "ასლი" - -msgid "IDS_MF_SK3_SORT_BY" -msgstr "დალაგება" - -msgid "IDS_MF_SK3_SEARCH" -msgstr "ძიება" - -msgid "IDS_MF_SK3_MORE" -msgstr "სხვა" - -msgid "IDS_MF_OPT_CREATE_FOLDER" -msgstr "შექმენი საქაღალდე" - -msgid "IDS_MF_BODY_FOLDER_NAME" -msgstr "საქაღალდის სახელი" - -msgid "IDS_MF_BODY_ACCESS_MORE_MY_ALBUM" -msgstr "ჩემი ალბომი" - -msgid "IDS_MF_OPT_VIEW_AS" -msgstr "დათვალიერება როგორც" - -msgid "IDS_MF_SK3_BACK" -msgstr "უკან" - -msgid "IDS_MF_BODY_MY_VIDEO_CLIPS" -msgstr "ჩემი ვიდეოკლიპები" - -msgid "IDS_MF_BODY_RIGHT_STATUS" -msgstr "ნამდვილი სტატუსი" - -msgid "IDS_MF_BODY_VENDOR" -msgstr "მომწოდებელი" - -msgid "IDS_MF_HEADER_COUNT" -msgstr "დათვლა" - -msgid "IDS_MF_BODY_CONTAINS" -msgstr "შეიცავს" - -msgid "IDS_MF_BODY_INDIVIDUAL" -msgstr "ინდივიდუალური" - -msgid "IDS_MF_BODY_INTERVAL" -msgstr "ინტერვალი" - -msgid "IDS_MF_BODY_RENAME_ABB" -msgstr "გდრქმ." - -msgid "IDS_MF_BODY_TIME" -msgstr "დრო" - -msgid "IDS_MF_BODY_TIMED_COUNT" -msgstr "შეყოვნებული დათვლა" - -msgid "IDS_MF_BODY_TYPE" -msgstr "ტიპი" - -msgid "IDS_MF_BODY_UNLIMITED" -msgstr "შეუზღუდავი" - -msgid "IDS_MF_BUTTON_REPLACE_ABB" -msgstr "შეცვლა" - -msgid "IDS_MF_OPT_CALLER_RINGTONE" -msgstr "აბონენტის ზარის მელოდია" - -msgid "IDS_MF_OPT_LISTBY_NAME" -msgstr "სახელი" - -msgid "IDS_MF_POP_COPIED" -msgstr "დაკოპირდა" - -msgid "IDS_MF_POP_NOTHING_SELECTED" -msgstr "არაფერია არჩეული" - -msgid "IDS_MF_POP_NOT_ENOUGH_HEAP_MEMORY" -msgstr "არ არის საკმარისი მასიური მეხსიერება" - -msgid "IDS_MF_POP_NOT_ENOUGH_MEMORY_DELETE_SOME_ITEMS" -msgstr "მეხსიერება საკმარისი არაა. წაშალეთ ზოგიერთი ელემენტი" - -msgid "IDS_MF_BODY_CREATED_DATE" -msgstr "შექმნილი მონაცემები" - -msgid "IDS_MF_BODY_GPS_INFORMATION" -msgstr "GPS ინფორმაცია" - -msgid "IDS_MF_BODY_GPS_LATITUDE" -msgstr "GPS განედი" - -msgid "IDS_MF_BODY_GPS_LONGITUDE" -msgstr "GPS გრძედი" - -msgid "IDS_MF_BODY_GPS_VERSION" -msgstr "GPS ვერსია" - -msgid "IDS_MF_SK_DETAILS" -msgstr "დეტალები" - -msgid "IDS_MF_BODY_ANY" -msgstr "ნებისმიერი" - -msgid "IDS_MF_BODY_AVAILABLE_USES" -msgstr "დასაშვები გამოყენება" - -msgid "IDS_MF_BODY_EXECUTE" -msgstr "შესრულება" - -msgid "IDS_MF_BODY_FORWARDING" -msgstr "გადამისამართება" - -msgid "IDS_MF_BODY_IMPOSSIBLE" -msgstr "შეუძლებელია" - -msgid "IDS_MF_BODY_MMC_DATA_IS_INITIALIZING_ING" -msgstr "სრულდება MMC მონაცემთა ინიციალიზაცია..." - -msgid "IDS_MF_BODY_POSSIBLE" -msgstr "შესაძლო" - -msgid "IDS_MF_BODY_PRINT" -msgstr "ამობეჭდვა" - -msgid "IDS_MF_BODY_VALIDITY" -msgstr "ქმედითობა" - -msgid "IDS_MF_HEADER_NEW_FOLDER" -msgstr "ახალი საქაღალდე" - -msgid "IDS_MF_OPT_EDIT" -msgstr "შეცვლა" - -msgid "IDS_MF_OPT_LIST_BY" -msgstr "ჩამონათვალი პარამეტრით" - -msgid "IDS_MF_OPT_MOVE_HERE" -msgstr "გადმოტანა" - -msgid "IDS_MF_POP_CONTINUE" -msgstr "გაგრძელება" - -msgid "IDS_MF_POP_COPYING" -msgstr "კოპირდება..." - -msgid "IDS_MF_POP_PASTE_HERE" -msgstr "აქ ჩასვით" - -msgid "IDS_MF_POP_UNSUPPORTED_FILE_TYPE" -msgstr "ფაილის ტიპი გაუთვალისწინებელია" - -msgid "IDS_MF_OPT_DETAIL_VIEW" -msgstr "დეტალური დათვალიერება" - -msgid "IDS_MF_POP_ASCENDING" -msgstr "ზრდადი" - -msgid "IDS_MF_POP_DESCENDING" -msgstr "კლებადი" - -msgid "IDS_MF_TAB_ALL" -msgstr "ყველა" - -msgid "IDS_MF_BODY_UP_M_BACK" -msgstr "ზევით" - -msgid "IDS_MF_BUTTON_SEARCH_ALL_FOLDERS" -msgstr "ყველა საქაღალდის ძებნა" - -msgid "IDS_MF_OPT_THUMBNAIL_VIEW" -msgstr "მიკროასლების ნახვა" - -msgid "IDS_MF_OPT_SHOW_FILE_EXTENSION" -msgstr "ჩანდეს ფაილის გაფართოება" - -msgid "IDS_MF_OPT_SORT_BY" -msgstr "გადარჩევა" - -msgid "IDS_MF_BODY_LIST_AND_DETAILS_ABB" -msgstr "სია და დეტალები" - -msgid "IDS_MF_OPT_HIDE_FILE_EXTENSION_ABB" -msgstr "გაფართოების დამალვა" - -msgid "IDS_MF_OPT_NAME_HA_TO_Z" -msgstr "სახელი (ა-დან ჰ-მდე)" - -msgid "IDS_MF_OPT_NAME_HZ_TO_A" -msgstr "სახელი (ჰ-დან ა-მდე)" - -msgid "IDS_MF_OPT_DATE_HMOST_RECENT" -msgstr "თარიღი (უახლესი)" - -msgid "IDS_MF_OPT_DATE_HOLDEST" -msgstr "თარიღი (ყველაზე ძველი)" - -msgid "IDS_MF_BUTTON_GO_TO_MY_FILES" -msgstr "ჩემს ფაილებზე გადას." - -msgid "IDS_MF_BODY_RINGTONES" -msgstr "ზარის მელოდიები" - -msgid "IDS_MF_BUTTON_EXPORT_HERE" -msgstr "შეასრულეთ ექსპორტი აქ" - -msgid "IDS_MF_POP_UNABLE_TO_SET_DRM_PROTECTED_CONTENT_AS_RINGTONE_OR_NOTIFICATION_ALERT" -msgstr "DRM-ით დაცული მასალის ზარის მელოდიად ან შეტყობინების სიგნალად დაყენება შეუძლებელია" - diff --git a/data/po/kk.po b/data/po/kk.po deleted file mode 100644 index 685c196..0000000 --- a/data/po/kk.po +++ /dev/null @@ -1,318 +0,0 @@ -msgid "IDS_MF_TAB_UP" -msgstr "Жоғары" - -msgid "IDS_MF_BUTTON_HOME" -msgstr "Үй парағы" - -msgid "IDS_MF_OPT_VIEW_BY_LIST" -msgstr "Тізімді қарап шығу" - -msgid "IDS_MF_OPT_VIEW_BY_THUMBNAIL" -msgstr "Нұсқадан көру" - -msgid "IDS_MF_POP_DELETE_FAILED" -msgstr "Жою үстінде үзіліп кетті" - -msgid "IDS_MF_POP_DRM_FILE_CANNOT_SEND" -msgstr "DRM файлы. Жіберу мүмкін емес" - -msgid "IDS_MF_POP_INVALID_FILE_NAME" -msgstr "Файлдың аты қате" - -msgid "IDS_MF_POP_MAXIMUM_FOLDER_REACHED" -msgstr "Қапшықтар ең көп саны артты" - -msgid "IDS_MF_POP_PERMISSION_DENIED" -msgstr "Рұқсаттан бас тартылды" - -msgid "IDS_MF_POP_SEND_FAILED" -msgstr "Жіберудің сәті түспеді" - -msgid "IDS_MF_POP_THE_DESTINATION_FOLDER_IS_A_SUBFOLDER_OF_THE_SOURCE_FOLDER" -msgstr "Тағайындау қалтасы кіріс қалтасына салынған болып табылады" - -msgid "IDS_MF_POP_THIS_FILE_DOES_NOT_EXIST" -msgstr "Файл жоқ" - -msgid "IDS_MF_POP_UNABLE_TO_COPY" -msgstr "Көшіру мүмкін емес" - -msgid "IDS_MF_POP_UNABLE_TO_MOVE" -msgstr "Жылжытуға мүмкіндік жоқ" - -msgid "IDS_MF_BODY_NOT_ENOUGH_MEMORY_IN_PHONE_MEMORY_DELETE_SOME_ITEMS_AND_TRY_AGAIN" -msgstr "Телефон жадында жад жеткілікті емес. Біраз элементті жойып, қайталап көріңіз" - -msgid "IDS_MF_POP_COPYING_FAILED" -msgstr "Көшірілу үзіліп кетті" - -msgid "IDS_MF_POP_MOVING_FAILED" -msgstr "Орналастырылмады" - -msgid "IDS_MF_POP_NOT_ENOUGH_MEMORY_PS_AVAILABLE" -msgstr "Жадында орын жетіспейді. %s бар" - -msgid "IDS_MF_POP_SAME_NAME_ALREADY_IN_USE" -msgstr "Мұндай атау қолданыста бар" - -msgid "IDS_MF_POP_UNABLE_TO_MOVE_DESTINATION_FOLDER_SAME_AS_SOURCE_FOLDER" -msgstr "Жылжытылмайды.Мақсатты қалта бастапқы қалтамен бірдей" - -msgid "IDS_MF_SK3_CREATE_FOLDER" -msgstr "Қалта жасау" - -msgid "IDS_MF_SK3_PASTE_HERE" -msgstr "Осында қою" - -msgid "IDS_MF_BODY_ALERTS" -msgstr "Дабыл қағу" - -msgid "IDS_MF_BODY_WALLPAPERS" -msgstr "Түсқағаз" - -msgid "IDS_MF_TAB_PHONE" -msgstr "Телефон" - -msgid "IDS_MF_BODY_IMAGES" -msgstr "Суреттер" - -msgid "IDS_MF_BODY_VIDEOS" -msgstr "Бейнежазбалар" - -msgid "IDS_MF_BODY_SOUNDS" -msgstr "Дыбыстар" - -msgid "IDS_MF_BODY_DOWNLOADS" -msgstr "Жазылған" - -msgid "IDS_MF_TAB_MEMORY_CARD" -msgstr "Жад картасы" - -msgid "IDS_MF_TAB_EXTERNAL_STORAGE" -msgstr "Сыртқы жад" - -msgid "IDS_MF_SK3_EDIT" -msgstr "Өзгер." - -msgid "IDS_MF_SK3_DELETE" -msgstr "Жою" - -msgid "IDS_MF_SK3_MOVE" -msgstr "Ауыстыру" - -msgid "IDS_MF_BODY_UP" -msgstr "Жоғары" - -msgid "IDS_MF_SK3_MOVE_HERE" -msgstr "Осында ауыстыру" - -msgid "IDS_MF_SK3_COPY" -msgstr "Көшіру" - -msgid "IDS_MF_SK3_SORT_BY" -msgstr "Сұрыптау" - -msgid "IDS_MF_SK3_SEARCH" -msgstr "Тізім" - -msgid "IDS_MF_SK3_MORE" -msgstr "Қосымша" - -msgid "IDS_MF_OPT_CREATE_FOLDER" -msgstr "Қалтаны құру" - -msgid "IDS_MF_BODY_FOLDER_NAME" -msgstr "Папка аты" - -msgid "IDS_MF_BODY_ACCESS_MORE_MY_ALBUM" -msgstr "Альбомым" - -msgid "IDS_MF_OPT_VIEW_AS" -msgstr "түрінде көру" - -msgid "IDS_MF_SK3_BACK" -msgstr "АРТҚА" - -msgid "IDS_MF_BODY_MY_VIDEO_CLIPS" -msgstr "Бейне жазбалар" - -msgid "IDS_MF_BODY_RIGHT_STATUS" -msgstr "Құқық мәртебесі" - -msgid "IDS_MF_BODY_VENDOR" -msgstr "Сатушы" - -msgid "IDS_MF_HEADER_COUNT" -msgstr "Санау" - -msgid "IDS_MF_BODY_CONTAINS" -msgstr "Мазмұны" - -msgid "IDS_MF_BODY_INDIVIDUAL" -msgstr "Жеке" - -msgid "IDS_MF_BODY_INTERVAL" -msgstr "Аралық" - -msgid "IDS_MF_BODY_RENAME_ABB" -msgstr "Ат өзг" - -msgid "IDS_MF_BODY_TIME" -msgstr "Уақыт" - -msgid "IDS_MF_BODY_TIMED_COUNT" -msgstr "Уақытпен санау" - -msgid "IDS_MF_BODY_TYPE" -msgstr "Түрі" - -msgid "IDS_MF_BODY_UNLIMITED" -msgstr "Шектеусіз" - -msgid "IDS_MF_BUTTON_REPLACE_ABB" -msgstr "Ауыстыру" - -msgid "IDS_MF_OPT_CALLER_RINGTONE" -msgstr "Телефон шалушы әуені" - -msgid "IDS_MF_OPT_LISTBY_NAME" -msgstr "Аты" - -msgid "IDS_MF_POP_COPIED" -msgstr "Хабар(лар) көшірілді" - -msgid "IDS_MF_POP_NOTHING_SELECTED" -msgstr "Ештенке таңдалмады" - -msgid "IDS_MF_POP_NOT_ENOUGH_HEAP_MEMORY" -msgstr "Динамикалық жадта орын жеткіліксіз" - -msgid "IDS_MF_POP_NOT_ENOUGH_MEMORY_DELETE_SOME_ITEMS" -msgstr "Жад жетыспейт.Көп арналы жою." - -msgid "IDS_MF_BODY_CREATED_DATE" -msgstr "Жасалған күн" - -msgid "IDS_MF_BODY_GPS_INFORMATION" -msgstr "GPS ақпараты" - -msgid "IDS_MF_BODY_GPS_LATITUDE" -msgstr "GPS ендігі" - -msgid "IDS_MF_BODY_GPS_LONGITUDE" -msgstr "GPS бойлығы" - -msgid "IDS_MF_BODY_GPS_VERSION" -msgstr "GPS түрі" - -msgid "IDS_MF_SK_DETAILS" -msgstr "Егж.-тег." - -msgid "IDS_MF_BODY_ANY" -msgstr "Кез келген" - -msgid "IDS_MF_BODY_AVAILABLE_USES" -msgstr "Пайдалануға жарамды" - -msgid "IDS_MF_BODY_EXECUTE" -msgstr "Орындау" - -msgid "IDS_MF_BODY_FORWARDING" -msgstr "Басқа біреуге жіберу" - -msgid "IDS_MF_BODY_IMPOSSIBLE" -msgstr "Мүмкін емес" - -msgid "IDS_MF_BODY_MMC_DATA_IS_INITIALIZING_ING" -msgstr "MMC деректері басталуда..." - -msgid "IDS_MF_BODY_POSSIBLE" -msgstr "Мүмкін" - -msgid "IDS_MF_BODY_PRINT" -msgstr "Басып шығару" - -msgid "IDS_MF_BODY_VALIDITY" -msgstr "Жарамдылық" - -msgid "IDS_MF_HEADER_NEW_FOLDER" -msgstr "Жаңа қалта" - -msgid "IDS_MF_OPT_EDIT" -msgstr "Өзгерту" - -msgid "IDS_MF_OPT_LIST_BY" -msgstr "Іріктеу" - -msgid "IDS_MF_OPT_MOVE_HERE" -msgstr "Осында ауыстыру" - -msgid "IDS_MF_POP_CONTINUE" -msgstr "Жалғастыру" - -msgid "IDS_MF_POP_COPYING" -msgstr "Көшірілуде..." - -msgid "IDS_MF_POP_PASTE_HERE" -msgstr "Осында енгізу" - -msgid "IDS_MF_POP_UNSUPPORTED_FILE_TYPE" -msgstr "Қолдаусыз файл түрі" - -msgid "IDS_MF_OPT_DETAIL_VIEW" -msgstr "Мәліметтер көрінісі" - -msgid "IDS_MF_POP_ASCENDING" -msgstr "Өсу" - -msgid "IDS_MF_POP_DESCENDING" -msgstr "Кему" - -msgid "IDS_MF_TAB_ALL" -msgstr "Барлығы" - -msgid "IDS_MF_BODY_UP_M_BACK" -msgstr "Жоғары" - -msgid "IDS_MF_BUTTON_SEARCH_ALL_FOLDERS" -msgstr "Барлық қалталарды іздеу" - -msgid "IDS_MF_OPT_THUMBNAIL_VIEW" -msgstr "Нобай көрінісі" - -msgid "IDS_MF_OPT_SHOW_FILE_EXTENSION" -msgstr "Файл кеңейтімін көрсету" - -msgid "IDS_MF_OPT_SORT_BY" -msgstr "Бойынша сұрыптау" - -msgid "IDS_MF_BODY_LIST_AND_DETAILS_ABB" -msgstr "Тізім және мәліметтер" - -msgid "IDS_MF_OPT_HIDE_FILE_EXTENSION_ABB" -msgstr "Файл кеңейтімін жасыру" - -msgid "IDS_MF_OPT_NAME_HA_TO_Z" -msgstr "Аты (A-дан Я-ға дейін)" - -msgid "IDS_MF_OPT_NAME_HZ_TO_A" -msgstr "Аты (Я-дан А-ға дейін)" - -msgid "IDS_MF_OPT_DATE_HMOST_RECENT" -msgstr "Күні (Ең соңғы)" - -msgid "IDS_MF_OPT_DATE_HOLDEST" -msgstr "Күні (Ең алдыңғы)" - -msgid "IDS_MF_BUTTON_GO_TO_MY_FILES" -msgstr "Менің файлдарыма өту" - -msgid "IDS_MF_BODY_RINGTONES" -msgstr "Әуендер" - -msgid "IDS_MF_BUTTON_EXPORT_HERE" -msgstr "Мұнда экспорттау" - -msgid "IDS_MF_POP_UNABLE_TO_SET_DRM_PROTECTED_CONTENT_AS_RINGTONE_OR_NOTIFICATION_ALERT" -msgstr "DRM арқылы қорғалған мазмұнды рингтон не ескерту сигналы ретінде қою мүмкін емес" - diff --git a/data/po/ko_KR.po b/data/po/ko_KR.po deleted file mode 100644 index a3bd6ca..0000000 --- a/data/po/ko_KR.po +++ /dev/null @@ -1,318 +0,0 @@ -msgid "IDS_MF_TAB_UP" -msgstr "위로" - -msgid "IDS_MF_BUTTON_HOME" -msgstr "홈" - -msgid "IDS_MF_OPT_VIEW_BY_LIST" -msgstr "목록 보기" - -msgid "IDS_MF_OPT_VIEW_BY_THUMBNAIL" -msgstr "썸네일 보기" - -msgid "IDS_MF_POP_DELETE_FAILED" -msgstr "삭제하지 못하였습니다" - -msgid "IDS_MF_POP_DRM_FILE_CANNOT_SEND" -msgstr "DRM 파일은 전송할 수 없습니다" - -msgid "IDS_MF_POP_INVALID_FILE_NAME" -msgstr "파일 이름이 바르지 않습니다" - -msgid "IDS_MF_POP_MAXIMUM_FOLDER_REACHED" -msgstr "최대 폴더 수를 초과하였습니다" - -msgid "IDS_MF_POP_PERMISSION_DENIED" -msgstr "허가가 거부되었습니다" - -msgid "IDS_MF_POP_SEND_FAILED" -msgstr "전송하지 못하였습니다" - -msgid "IDS_MF_POP_THE_DESTINATION_FOLDER_IS_A_SUBFOLDER_OF_THE_SOURCE_FOLDER" -msgstr "대상 폴더가 현재 폴더의 하위 폴더입니다" - -msgid "IDS_MF_POP_THIS_FILE_DOES_NOT_EXIST" -msgstr "파일이 존재하지 않습니다" - -msgid "IDS_MF_POP_UNABLE_TO_COPY" -msgstr "복사할 수 없습니다" - -msgid "IDS_MF_POP_UNABLE_TO_MOVE" -msgstr "이동시킬 수 없습니다" - -msgid "IDS_MF_BODY_NOT_ENOUGH_MEMORY_IN_PHONE_MEMORY_DELETE_SOME_ITEMS_AND_TRY_AGAIN" -msgstr "내장 메모리에 저장 공간이 부족합니다. 일부 항목을 삭제한 후 다시 시도하세요." - -msgid "IDS_MF_POP_COPYING_FAILED" -msgstr "복사하지 못하였습니다" - -msgid "IDS_MF_POP_MOVING_FAILED" -msgstr "이동하지 못하였습니다" - -msgid "IDS_MF_POP_NOT_ENOUGH_MEMORY_PS_AVAILABLE" -msgstr "메모리가 부족합니다. %s을(를) 사용할 수 있습니다." - -msgid "IDS_MF_POP_SAME_NAME_ALREADY_IN_USE" -msgstr "사용 중인 이름입니다" - -msgid "IDS_MF_POP_UNABLE_TO_MOVE_DESTINATION_FOLDER_SAME_AS_SOURCE_FOLDER" -msgstr "이동시킬 수 없습니다. 소스 폴더와 이름이 같습니다." - -msgid "IDS_MF_SK3_CREATE_FOLDER" -msgstr "폴더 추가" - -msgid "IDS_MF_SK3_PASTE_HERE" -msgstr "여기로 복사" - -msgid "IDS_MF_BODY_ALERTS" -msgstr "알림" - -msgid "IDS_MF_BODY_WALLPAPERS" -msgstr "배경화면" - -msgid "IDS_MF_TAB_PHONE" -msgstr "휴대폰" - -msgid "IDS_MF_BODY_IMAGES" -msgstr "이미지" - -msgid "IDS_MF_BODY_VIDEOS" -msgstr "동영상" - -msgid "IDS_MF_BODY_SOUNDS" -msgstr "사운드" - -msgid "IDS_MF_BODY_DOWNLOADS" -msgstr "다운로드 관리" - -msgid "IDS_MF_TAB_MEMORY_CARD" -msgstr "메모리 카드" - -msgid "IDS_MF_TAB_EXTERNAL_STORAGE" -msgstr "외장 메모리" - -msgid "IDS_MF_SK3_EDIT" -msgstr "편집" - -msgid "IDS_MF_SK3_DELETE" -msgstr "삭제" - -msgid "IDS_MF_SK3_MOVE" -msgstr "이동" - -msgid "IDS_MF_BODY_UP" -msgstr "상위" - -msgid "IDS_MF_SK3_MOVE_HERE" -msgstr "여기로 이동" - -msgid "IDS_MF_SK3_COPY" -msgstr "복사" - -msgid "IDS_MF_SK3_SORT_BY" -msgstr "정렬" - -msgid "IDS_MF_SK3_SEARCH" -msgstr "검색" - -msgid "IDS_MF_SK3_MORE" -msgstr "더보기" - -msgid "IDS_MF_OPT_CREATE_FOLDER" -msgstr "폴더 추가" - -msgid "IDS_MF_BODY_FOLDER_NAME" -msgstr "폴더 이름" - -msgid "IDS_MF_BODY_ACCESS_MORE_MY_ALBUM" -msgstr "내 앨범" - -msgid "IDS_MF_OPT_VIEW_AS" -msgstr "보기 방식" - -msgid "IDS_MF_SK3_BACK" -msgstr "이전" - -msgid "IDS_MF_BODY_MY_VIDEO_CLIPS" -msgstr "내 동영상" - -msgid "IDS_MF_BODY_RIGHT_STATUS" -msgstr "권한 유효 상태" - -msgid "IDS_MF_BODY_VENDOR" -msgstr "판매자" - -msgid "IDS_MF_HEADER_COUNT" -msgstr "횟수" - -msgid "IDS_MF_BODY_CONTAINS" -msgstr "포함" - -msgid "IDS_MF_BODY_INDIVIDUAL" -msgstr "개인" - -msgid "IDS_MF_BODY_INTERVAL" -msgstr "간격" - -msgid "IDS_MF_BODY_RENAME_ABB" -msgstr "이름 변경" - -msgid "IDS_MF_BODY_TIME" -msgstr "시간" - -msgid "IDS_MF_BODY_TIMED_COUNT" -msgstr "시간 경과 후 횟수 계산" - -msgid "IDS_MF_BODY_TYPE" -msgstr "형식" - -msgid "IDS_MF_BODY_UNLIMITED" -msgstr "제한 없음" - -msgid "IDS_MF_BUTTON_REPLACE_ABB" -msgstr "교체" - -msgid "IDS_MF_OPT_CALLER_RINGTONE" -msgstr "개인 벨소리" - -msgid "IDS_MF_OPT_LISTBY_NAME" -msgstr "이름" - -msgid "IDS_MF_POP_COPIED" -msgstr "복사되었습니다" - -msgid "IDS_MF_POP_NOTHING_SELECTED" -msgstr "선택된 것이 없습니다" - -msgid "IDS_MF_POP_NOT_ENOUGH_HEAP_MEMORY" -msgstr "힙메모리가 부족합니다" - -msgid "IDS_MF_POP_NOT_ENOUGH_MEMORY_DELETE_SOME_ITEMS" -msgstr "저장 공간이 없습니다. 필요 없는 파일을 삭제하세요." - -msgid "IDS_MF_BODY_CREATED_DATE" -msgstr "생성 날짜" - -msgid "IDS_MF_BODY_GPS_INFORMATION" -msgstr "GPS 정보" - -msgid "IDS_MF_BODY_GPS_LATITUDE" -msgstr "GPS 위도" - -msgid "IDS_MF_BODY_GPS_LONGITUDE" -msgstr "GPS 경도" - -msgid "IDS_MF_BODY_GPS_VERSION" -msgstr "GPS 버전" - -msgid "IDS_MF_SK_DETAILS" -msgstr "상세 정보" - -msgid "IDS_MF_BODY_ANY" -msgstr "모든 종류" - -msgid "IDS_MF_BODY_AVAILABLE_USES" -msgstr "사용 가능" - -msgid "IDS_MF_BODY_EXECUTE" -msgstr "실행" - -msgid "IDS_MF_BODY_FORWARDING" -msgstr "전송" - -msgid "IDS_MF_BODY_IMPOSSIBLE" -msgstr "불가능" - -msgid "IDS_MF_BODY_MMC_DATA_IS_INITIALIZING_ING" -msgstr "메모리 카드 데이터 초기화 중..." - -msgid "IDS_MF_BODY_POSSIBLE" -msgstr "가능" - -msgid "IDS_MF_BODY_PRINT" -msgstr "인쇄" - -msgid "IDS_MF_BODY_VALIDITY" -msgstr "유효 횟수" - -msgid "IDS_MF_HEADER_NEW_FOLDER" -msgstr "새 폴더" - -msgid "IDS_MF_OPT_EDIT" -msgstr "편집" - -msgid "IDS_MF_OPT_LIST_BY" -msgstr "정렬" - -msgid "IDS_MF_OPT_MOVE_HERE" -msgstr "여기로 이동" - -msgid "IDS_MF_POP_CONTINUE" -msgstr "계속" - -msgid "IDS_MF_POP_COPYING" -msgstr "복사 중..." - -msgid "IDS_MF_POP_PASTE_HERE" -msgstr "여기로 복사" - -msgid "IDS_MF_POP_UNSUPPORTED_FILE_TYPE" -msgstr "지원되지 않는 파일 형식입니다" - -msgid "IDS_MF_OPT_DETAIL_VIEW" -msgstr "상세정보 보기" - -msgid "IDS_MF_POP_ASCENDING" -msgstr "오름차순" - -msgid "IDS_MF_POP_DESCENDING" -msgstr "내림차순" - -msgid "IDS_MF_TAB_ALL" -msgstr "모두" - -msgid "IDS_MF_BODY_UP_M_BACK" -msgstr "상위" - -msgid "IDS_MF_BUTTON_SEARCH_ALL_FOLDERS" -msgstr "모든 폴더 검색" - -msgid "IDS_MF_OPT_THUMBNAIL_VIEW" -msgstr "썸네일 보기" - -msgid "IDS_MF_OPT_SHOW_FILE_EXTENSION" -msgstr "파일 확장자 표시" - -msgid "IDS_MF_OPT_SORT_BY" -msgstr "정렬" - -msgid "IDS_MF_BODY_LIST_AND_DETAILS_ABB" -msgstr "목록 및 상세 정보" - -msgid "IDS_MF_OPT_HIDE_FILE_EXTENSION_ABB" -msgstr "파일 확장자 숨기기" - -msgid "IDS_MF_OPT_NAME_HA_TO_Z" -msgstr "이름(가나다순)" - -msgid "IDS_MF_OPT_NAME_HZ_TO_A" -msgstr "이름(가나다역순)" - -msgid "IDS_MF_OPT_DATE_HMOST_RECENT" -msgstr "날짜(최신순)" - -msgid "IDS_MF_OPT_DATE_HOLDEST" -msgstr "날짜(오래된순)" - -msgid "IDS_MF_BUTTON_GO_TO_MY_FILES" -msgstr "내 파일로 이동" - -msgid "IDS_MF_BODY_RINGTONES" -msgstr "벨소리" - -msgid "IDS_MF_BUTTON_EXPORT_HERE" -msgstr "여기로 내보내기" - -msgid "IDS_MF_POP_UNABLE_TO_SET_DRM_PROTECTED_CONTENT_AS_RINGTONE_OR_NOTIFICATION_ALERT" -msgstr "DRM 컨텐츠를 벨소리 또는 알림 메시지로 설정할 수 없습니다" - diff --git a/data/po/lt.po b/data/po/lt.po deleted file mode 100644 index da5ad4e..0000000 --- a/data/po/lt.po +++ /dev/null @@ -1,318 +0,0 @@ -msgid "IDS_MF_TAB_UP" -msgstr "Į viršų" - -msgid "IDS_MF_BUTTON_HOME" -msgstr "Pradž." - -msgid "IDS_MF_OPT_VIEW_BY_LIST" -msgstr "Peržiūrėti pagal sąrašą" - -msgid "IDS_MF_OPT_VIEW_BY_THUMBNAIL" -msgstr "Žiūrėti miniatiūras" - -msgid "IDS_MF_POP_DELETE_FAILED" -msgstr "Ištrinti nepavyko" - -msgid "IDS_MF_POP_DRM_FILE_CANNOT_SEND" -msgstr "DRM failas. Negalima siųsti" - -msgid "IDS_MF_POP_INVALID_FILE_NAME" -msgstr "Neleistinas failo pavadinimas" - -msgid "IDS_MF_POP_MAXIMUM_FOLDER_REACHED" -msgstr "Pasiektas maksimalus aplankų skaičius" - -msgid "IDS_MF_POP_PERMISSION_DENIED" -msgstr "Leidimas atmestas" - -msgid "IDS_MF_POP_SEND_FAILED" -msgstr "Išsiųsti nepavyko" - -msgid "IDS_MF_POP_THE_DESTINATION_FOLDER_IS_A_SUBFOLDER_OF_THE_SOURCE_FOLDER" -msgstr "Paskirties aplankas yra vidinis originaliojo aplanko aplankas" - -msgid "IDS_MF_POP_THIS_FILE_DOES_NOT_EXIST" -msgstr "Tokio failo nėra" - -msgid "IDS_MF_POP_UNABLE_TO_COPY" -msgstr "Negalima kopijuoti" - -msgid "IDS_MF_POP_UNABLE_TO_MOVE" -msgstr "Negalima perkelti" - -msgid "IDS_MF_BODY_NOT_ENOUGH_MEMORY_IN_PHONE_MEMORY_DELETE_SOME_ITEMS_AND_TRY_AGAIN" -msgstr "Nepakanka atminties telefone. Ištrinkite kai kuriuos elementus ir bandykite dar kartą" - -msgid "IDS_MF_POP_COPYING_FAILED" -msgstr "Perkelti nepavyko" - -msgid "IDS_MF_POP_MOVING_FAILED" -msgstr "Perkelti nepavyko" - -msgid "IDS_MF_POP_NOT_ENOUGH_MEMORY_PS_AVAILABLE" -msgstr "Nepakanka atminties. Liko %s" - -msgid "IDS_MF_POP_SAME_NAME_ALREADY_IN_USE" -msgstr "Toks pavadinimas jau yra" - -msgid "IDS_MF_POP_UNABLE_TO_MOVE_DESTINATION_FOLDER_SAME_AS_SOURCE_FOLDER" -msgstr "Neįmanoma perkelti. Paskirties aplankas yra toks pat kaip ir originalus aplankas" - -msgid "IDS_MF_SK3_CREATE_FOLDER" -msgstr "Kurti aplanką" - -msgid "IDS_MF_SK3_PASTE_HERE" -msgstr "Įklijuoti čia" - -msgid "IDS_MF_BODY_ALERTS" -msgstr "Perspėjimai" - -msgid "IDS_MF_BODY_WALLPAPERS" -msgstr "Ekrano fonai" - -msgid "IDS_MF_TAB_PHONE" -msgstr "Telefonas" - -msgid "IDS_MF_BODY_IMAGES" -msgstr "Vaizdai" - -msgid "IDS_MF_BODY_VIDEOS" -msgstr "Vaizdo įrašai" - -msgid "IDS_MF_BODY_SOUNDS" -msgstr "Garsai" - -msgid "IDS_MF_BODY_DOWNLOADS" -msgstr "Atsisiųsti elem." - -msgid "IDS_MF_TAB_MEMORY_CARD" -msgstr "Atminties kort." - -msgid "IDS_MF_TAB_EXTERNAL_STORAGE" -msgstr "Išorinė laikmena" - -msgid "IDS_MF_SK3_EDIT" -msgstr "Redaguoti" - -msgid "IDS_MF_SK3_DELETE" -msgstr "Trinti" - -msgid "IDS_MF_SK3_MOVE" -msgstr "Perkelti" - -msgid "IDS_MF_BODY_UP" -msgstr "Aukštyn" - -msgid "IDS_MF_SK3_MOVE_HERE" -msgstr "Perkelti čia" - -msgid "IDS_MF_SK3_COPY" -msgstr "Kopijuoti" - -msgid "IDS_MF_SK3_SORT_BY" -msgstr "Rūšiuoti pagal" - -msgid "IDS_MF_SK3_SEARCH" -msgstr "Ieškoti" - -msgid "IDS_MF_SK3_MORE" -msgstr "Daugiau" - -msgid "IDS_MF_OPT_CREATE_FOLDER" -msgstr "Kurti aplanką" - -msgid "IDS_MF_BODY_FOLDER_NAME" -msgstr "Aplanko pavadinimas" - -msgid "IDS_MF_BODY_ACCESS_MORE_MY_ALBUM" -msgstr "Mano albumas" - -msgid "IDS_MF_OPT_VIEW_AS" -msgstr "Peržiūrėti kaip" - -msgid "IDS_MF_SK3_BACK" -msgstr "Atgal" - -msgid "IDS_MF_BODY_MY_VIDEO_CLIPS" -msgstr "Mano vaizdo įrašai" - -msgid "IDS_MF_BODY_RIGHT_STATUS" -msgstr "Teisių būsena" - -msgid "IDS_MF_BODY_VENDOR" -msgstr "Tiekėjas" - -msgid "IDS_MF_HEADER_COUNT" -msgstr "Skaičiuoti" - -msgid "IDS_MF_BODY_CONTAINS" -msgstr "Yra" - -msgid "IDS_MF_BODY_INDIVIDUAL" -msgstr "Atskiras" - -msgid "IDS_MF_BODY_INTERVAL" -msgstr "Intervalas" - -msgid "IDS_MF_BODY_RENAME_ABB" -msgstr "Perv." - -msgid "IDS_MF_BODY_TIME" -msgstr "Laikas" - -msgid "IDS_MF_BODY_TIMED_COUNT" -msgstr "Laiko skaičiavimas" - -msgid "IDS_MF_BODY_TYPE" -msgstr "Tipas" - -msgid "IDS_MF_BODY_UNLIMITED" -msgstr "Neribota" - -msgid "IDS_MF_BUTTON_REPLACE_ABB" -msgstr "Pakeisti" - -msgid "IDS_MF_OPT_CALLER_RINGTONE" -msgstr "Skambintojo skambėjimo tonas" - -msgid "IDS_MF_OPT_LISTBY_NAME" -msgstr "Pavadinimas" - -msgid "IDS_MF_POP_COPIED" -msgstr "Nukopijuota" - -msgid "IDS_MF_POP_NOTHING_SELECTED" -msgstr "Niekas nepasirinkta" - -msgid "IDS_MF_POP_NOT_ENOUGH_HEAP_MEMORY" -msgstr "Nepakanka kaupiamosios atminties" - -msgid "IDS_MF_POP_NOT_ENOUGH_MEMORY_DELETE_SOME_ITEMS" -msgstr "Nepakanka atminties. Ištrinkite kai kuriuos elementus" - -msgid "IDS_MF_BODY_CREATED_DATE" -msgstr "Sukurta data" - -msgid "IDS_MF_BODY_GPS_INFORMATION" -msgstr "GPS informacija" - -msgid "IDS_MF_BODY_GPS_LATITUDE" -msgstr "GPS platuma" - -msgid "IDS_MF_BODY_GPS_LONGITUDE" -msgstr "GPS ilguma" - -msgid "IDS_MF_BODY_GPS_VERSION" -msgstr "GPS versija" - -msgid "IDS_MF_SK_DETAILS" -msgstr "Išsami informacija" - -msgid "IDS_MF_BODY_ANY" -msgstr "Bet kuris" - -msgid "IDS_MF_BODY_AVAILABLE_USES" -msgstr "Galimi panaudojimai" - -msgid "IDS_MF_BODY_EXECUTE" -msgstr "Vykdyti" - -msgid "IDS_MF_BODY_FORWARDING" -msgstr "Persiuntimas" - -msgid "IDS_MF_BODY_IMPOSSIBLE" -msgstr "Neįmanoma" - -msgid "IDS_MF_BODY_MMC_DATA_IS_INITIALIZING_ING" -msgstr "Inicijuojami MMC duomenys..." - -msgid "IDS_MF_BODY_POSSIBLE" -msgstr "Įmanoma" - -msgid "IDS_MF_BODY_PRINT" -msgstr "Spausdinti" - -msgid "IDS_MF_BODY_VALIDITY" -msgstr "Galiojimas" - -msgid "IDS_MF_HEADER_NEW_FOLDER" -msgstr "Naujas aplankas" - -msgid "IDS_MF_OPT_EDIT" -msgstr "Redaguoti" - -msgid "IDS_MF_OPT_LIST_BY" -msgstr "Rūšiuoti pagal" - -msgid "IDS_MF_OPT_MOVE_HERE" -msgstr "Perkelti čia" - -msgid "IDS_MF_POP_CONTINUE" -msgstr "Tęsti" - -msgid "IDS_MF_POP_COPYING" -msgstr "Kopijuojama..." - -msgid "IDS_MF_POP_PASTE_HERE" -msgstr "Įklijuoti čia" - -msgid "IDS_MF_POP_UNSUPPORTED_FILE_TYPE" -msgstr "Nepalaikomas failo tipas" - -msgid "IDS_MF_OPT_DETAIL_VIEW" -msgstr "Detalus rodinys" - -msgid "IDS_MF_POP_ASCENDING" -msgstr "Didėjimo tvarka" - -msgid "IDS_MF_POP_DESCENDING" -msgstr "Mažėjimo tvarka" - -msgid "IDS_MF_TAB_ALL" -msgstr "Visi" - -msgid "IDS_MF_BODY_UP_M_BACK" -msgstr "Aukštyn" - -msgid "IDS_MF_BUTTON_SEARCH_ALL_FOLDERS" -msgstr "Ieškoti visų aplankų" - -msgid "IDS_MF_OPT_THUMBNAIL_VIEW" -msgstr "Miniatiūrų rodinys" - -msgid "IDS_MF_OPT_SHOW_FILE_EXTENSION" -msgstr "Rodyti failo plėtinį" - -msgid "IDS_MF_OPT_SORT_BY" -msgstr "Rūšiuoti pagal" - -msgid "IDS_MF_BODY_LIST_AND_DETAILS_ABB" -msgstr "Sąrašas ir išsami inf." - -msgid "IDS_MF_OPT_HIDE_FILE_EXTENSION_ABB" -msgstr "Slėpti failo plėtinį" - -msgid "IDS_MF_OPT_NAME_HA_TO_Z" -msgstr "Pavadinimas (A–Z)" - -msgid "IDS_MF_OPT_NAME_HZ_TO_A" -msgstr "Pavadinimas (Z–A)" - -msgid "IDS_MF_OPT_DATE_HMOST_RECENT" -msgstr "Data (naujausi)" - -msgid "IDS_MF_OPT_DATE_HOLDEST" -msgstr "Data (seniausi)" - -msgid "IDS_MF_BUTTON_GO_TO_MY_FILES" -msgstr "Eiti į „Mano failus“" - -msgid "IDS_MF_BODY_RINGTONES" -msgstr "Skambėjimo tonai" - -msgid "IDS_MF_BUTTON_EXPORT_HERE" -msgstr "Eksportuoti čia" - -msgid "IDS_MF_POP_UNABLE_TO_SET_DRM_PROTECTED_CONTENT_AS_RINGTONE_OR_NOTIFICATION_ALERT" -msgstr "Neįmanoma nustatyti DRM apsaugoto turinio kaip skambėjimo tono ar pranešimo įspėjimo" - diff --git a/data/po/lv.po b/data/po/lv.po deleted file mode 100644 index 0d7e01c..0000000 --- a/data/po/lv.po +++ /dev/null @@ -1,318 +0,0 @@ -msgid "IDS_MF_TAB_UP" -msgstr "Uz augšu" - -msgid "IDS_MF_BUTTON_HOME" -msgstr "Mājas" - -msgid "IDS_MF_OPT_VIEW_BY_LIST" -msgstr "Skatīt pēc saraksta" - -msgid "IDS_MF_OPT_VIEW_BY_THUMBNAIL" -msgstr "Skatīt sīktēlus" - -msgid "IDS_MF_POP_DELETE_FAILED" -msgstr "Neizdevās izdzēst" - -msgid "IDS_MF_POP_DRM_FILE_CANNOT_SEND" -msgstr "DRM fails. Nevar nosūtīt" - -msgid "IDS_MF_POP_INVALID_FILE_NAME" -msgstr "Nederīgs faila nosaukums" - -msgid "IDS_MF_POP_MAXIMUM_FOLDER_REACHED" -msgstr "Sasniegts maksimālais mapes skaits" - -msgid "IDS_MF_POP_PERMISSION_DENIED" -msgstr "Atļauja liegta" - -msgid "IDS_MF_POP_SEND_FAILED" -msgstr "Neizdevās nosūtīt" - -msgid "IDS_MF_POP_THE_DESTINATION_FOLDER_IS_A_SUBFOLDER_OF_THE_SOURCE_FOLDER" -msgstr "Mērķa mape ir avota mapes apakšmape" - -msgid "IDS_MF_POP_THIS_FILE_DOES_NOT_EXIST" -msgstr "Šāda faila nav." - -msgid "IDS_MF_POP_UNABLE_TO_COPY" -msgstr "Nevar kopēt" - -msgid "IDS_MF_POP_UNABLE_TO_MOVE" -msgstr "Nevar pārvietot" - -msgid "IDS_MF_BODY_NOT_ENOUGH_MEMORY_IN_PHONE_MEMORY_DELETE_SOME_ITEMS_AND_TRY_AGAIN" -msgstr "Tālruņa atmiņā nepietiek vietas. Izdzēsiet dažus objektus un mēģiniet vēlreiz" - -msgid "IDS_MF_POP_COPYING_FAILED" -msgstr "Neizdevās kopēt" - -msgid "IDS_MF_POP_MOVING_FAILED" -msgstr "Pārvietošana neizdevās" - -msgid "IDS_MF_POP_NOT_ENOUGH_MEMORY_PS_AVAILABLE" -msgstr "Nepietiek atmiņas. Pieejamā atmiņa: %s." - -msgid "IDS_MF_POP_SAME_NAME_ALREADY_IN_USE" -msgstr "Šāds nosaukums jau tiek lietots" - -msgid "IDS_MF_POP_UNABLE_TO_MOVE_DESTINATION_FOLDER_SAME_AS_SOURCE_FOLDER" -msgstr "Nevar pārvietot. Mērķa mape ir tāda pati kā avota mape" - -msgid "IDS_MF_SK3_CREATE_FOLDER" -msgstr "Izveidot mapi" - -msgid "IDS_MF_SK3_PASTE_HERE" -msgstr "Ielīmēt šeit" - -msgid "IDS_MF_BODY_ALERTS" -msgstr "Brīdinājumi" - -msgid "IDS_MF_BODY_WALLPAPERS" -msgstr "Fona attēli" - -msgid "IDS_MF_TAB_PHONE" -msgstr "Tālrunis" - -msgid "IDS_MF_BODY_IMAGES" -msgstr "Attēli" - -msgid "IDS_MF_BODY_VIDEOS" -msgstr "Video" - -msgid "IDS_MF_BODY_SOUNDS" -msgstr "Skaņas" - -msgid "IDS_MF_BODY_DOWNLOADS" -msgstr "Lejupielādes" - -msgid "IDS_MF_TAB_MEMORY_CARD" -msgstr "Atmiņas karte" - -msgid "IDS_MF_TAB_EXTERNAL_STORAGE" -msgstr "Ārējā krātuve" - -msgid "IDS_MF_SK3_EDIT" -msgstr "Rediģēt" - -msgid "IDS_MF_SK3_DELETE" -msgstr "Dzēst" - -msgid "IDS_MF_SK3_MOVE" -msgstr "Pārvietot" - -msgid "IDS_MF_BODY_UP" -msgstr "Uz augšu" - -msgid "IDS_MF_SK3_MOVE_HERE" -msgstr "Pārvietot šeit" - -msgid "IDS_MF_SK3_COPY" -msgstr "Kopēt" - -msgid "IDS_MF_SK3_SORT_BY" -msgstr "Kārtot pēc" - -msgid "IDS_MF_SK3_SEARCH" -msgstr "Meklēt" - -msgid "IDS_MF_SK3_MORE" -msgstr "Citi" - -msgid "IDS_MF_OPT_CREATE_FOLDER" -msgstr "Izveidot mapi" - -msgid "IDS_MF_BODY_FOLDER_NAME" -msgstr "Mapes nosaukums" - -msgid "IDS_MF_BODY_ACCESS_MORE_MY_ALBUM" -msgstr "Mans albums" - -msgid "IDS_MF_OPT_VIEW_AS" -msgstr "Skatīt kā" - -msgid "IDS_MF_SK3_BACK" -msgstr "Atpakaļ" - -msgid "IDS_MF_BODY_MY_VIDEO_CLIPS" -msgstr "Mani videoklipi" - -msgid "IDS_MF_BODY_RIGHT_STATUS" -msgstr "Pareizais statuss" - -msgid "IDS_MF_BODY_VENDOR" -msgstr "Piegādātājs" - -msgid "IDS_MF_HEADER_COUNT" -msgstr "Skaits" - -msgid "IDS_MF_BODY_CONTAINS" -msgstr "Ietver" - -msgid "IDS_MF_BODY_INDIVIDUAL" -msgstr "Individuāls" - -msgid "IDS_MF_BODY_INTERVAL" -msgstr "Intervāls" - -msgid "IDS_MF_BODY_RENAME_ABB" -msgstr "Pārd." - -msgid "IDS_MF_BODY_TIME" -msgstr "Laiks" - -msgid "IDS_MF_BODY_TIMED_COUNT" -msgstr "Skaits ar laika uzskaiti" - -msgid "IDS_MF_BODY_TYPE" -msgstr "Veids" - -msgid "IDS_MF_BODY_UNLIMITED" -msgstr "Neierobežots" - -msgid "IDS_MF_BUTTON_REPLACE_ABB" -msgstr "Aizstāt" - -msgid "IDS_MF_OPT_CALLER_RINGTONE" -msgstr "Zvanītāja zvana signāls" - -msgid "IDS_MF_OPT_LISTBY_NAME" -msgstr "Nosaukums" - -msgid "IDS_MF_POP_COPIED" -msgstr "Nokopēts" - -msgid "IDS_MF_POP_NOTHING_SELECTED" -msgstr "Nekas nav izvēlēts" - -msgid "IDS_MF_POP_NOT_ENOUGH_HEAP_MEMORY" -msgstr "Nepietiekama sistēmas atmiņa" - -msgid "IDS_MF_POP_NOT_ENOUGH_MEMORY_DELETE_SOME_ITEMS" -msgstr "Nepietiek atmiņas. Izdzēsiet dažus vienumus" - -msgid "IDS_MF_BODY_CREATED_DATE" -msgstr "Izveidošanas datums" - -msgid "IDS_MF_BODY_GPS_INFORMATION" -msgstr "GPS informācija" - -msgid "IDS_MF_BODY_GPS_LATITUDE" -msgstr "GPS ģeogrāfiskais platums" - -msgid "IDS_MF_BODY_GPS_LONGITUDE" -msgstr "GPS ģeogrāfiskais garums" - -msgid "IDS_MF_BODY_GPS_VERSION" -msgstr "GPS versija" - -msgid "IDS_MF_SK_DETAILS" -msgstr "Dati" - -msgid "IDS_MF_BODY_ANY" -msgstr "Jebkurš" - -msgid "IDS_MF_BODY_AVAILABLE_USES" -msgstr "Atlikušās lietošanas reizes" - -msgid "IDS_MF_BODY_EXECUTE" -msgstr "Izpildīt" - -msgid "IDS_MF_BODY_FORWARDING" -msgstr "Pārsūtīšana" - -msgid "IDS_MF_BODY_IMPOSSIBLE" -msgstr "Nav iespējams" - -msgid "IDS_MF_BODY_MMC_DATA_IS_INITIALIZING_ING" -msgstr "Tiek inicializēti MMC dati..." - -msgid "IDS_MF_BODY_POSSIBLE" -msgstr "Iespējams" - -msgid "IDS_MF_BODY_PRINT" -msgstr "Drukāt" - -msgid "IDS_MF_BODY_VALIDITY" -msgstr "Derīgums" - -msgid "IDS_MF_HEADER_NEW_FOLDER" -msgstr "Jauna mape" - -msgid "IDS_MF_OPT_EDIT" -msgstr "Rediģēt" - -msgid "IDS_MF_OPT_LIST_BY" -msgstr "Kārtot pēc" - -msgid "IDS_MF_OPT_MOVE_HERE" -msgstr "Pārvietot šeit" - -msgid "IDS_MF_POP_CONTINUE" -msgstr "Turpināt" - -msgid "IDS_MF_POP_COPYING" -msgstr "Kopē..." - -msgid "IDS_MF_POP_PASTE_HERE" -msgstr "Ielīmēt šeit" - -msgid "IDS_MF_POP_UNSUPPORTED_FILE_TYPE" -msgstr "Neatbalstīts faila veids" - -msgid "IDS_MF_OPT_DETAIL_VIEW" -msgstr "Detalizēts skats" - -msgid "IDS_MF_POP_ASCENDING" -msgstr "Augošā secībā" - -msgid "IDS_MF_POP_DESCENDING" -msgstr "Dilstošā secībā" - -msgid "IDS_MF_TAB_ALL" -msgstr "Visas" - -msgid "IDS_MF_BODY_UP_M_BACK" -msgstr "Uz augšu" - -msgid "IDS_MF_BUTTON_SEARCH_ALL_FOLDERS" -msgstr "Meklēt visās mapēs" - -msgid "IDS_MF_OPT_THUMBNAIL_VIEW" -msgstr "Sīktēlu skats" - -msgid "IDS_MF_OPT_SHOW_FILE_EXTENSION" -msgstr "Rādīt faila paplašinājumu" - -msgid "IDS_MF_OPT_SORT_BY" -msgstr "Kārtot pēc" - -msgid "IDS_MF_BODY_LIST_AND_DETAILS_ABB" -msgstr "Saraksts un dati" - -msgid "IDS_MF_OPT_HIDE_FILE_EXTENSION_ABB" -msgstr "Slēpt faila paplaš." - -msgid "IDS_MF_OPT_NAME_HA_TO_Z" -msgstr "Nosaukums (no A līdz Z)" - -msgid "IDS_MF_OPT_NAME_HZ_TO_A" -msgstr "Nosaukums (no Z līdz A)" - -msgid "IDS_MF_OPT_DATE_HMOST_RECENT" -msgstr "Datums (jaunākais)" - -msgid "IDS_MF_OPT_DATE_HOLDEST" -msgstr "Datums (vecākais)" - -msgid "IDS_MF_BUTTON_GO_TO_MY_FILES" -msgstr "Atv.mapi Mani faili" - -msgid "IDS_MF_BODY_RINGTONES" -msgstr "Zvana signāli" - -msgid "IDS_MF_BUTTON_EXPORT_HERE" -msgstr "Eksportēt šeit" - -msgid "IDS_MF_POP_UNABLE_TO_SET_DRM_PROTECTED_CONTENT_AS_RINGTONE_OR_NOTIFICATION_ALERT" -msgstr "Saturu, kas aizsargāts ar DRM, nevar iestatīt kā zvana signālu vai paziņojuma signālu" - diff --git a/data/po/mk.po b/data/po/mk.po deleted file mode 100644 index 1c2d8d5..0000000 --- a/data/po/mk.po +++ /dev/null @@ -1,318 +0,0 @@ -msgid "IDS_MF_TAB_UP" -msgstr "Горе" - -msgid "IDS_MF_BUTTON_HOME" -msgstr "Дома" - -msgid "IDS_MF_OPT_VIEW_BY_LIST" -msgstr "Прегледај по листата" - -msgid "IDS_MF_OPT_VIEW_BY_THUMBNAIL" -msgstr "Прегледај по сликички" - -msgid "IDS_MF_POP_DELETE_FAILED" -msgstr "Неуспешно бришење" - -msgid "IDS_MF_POP_DRM_FILE_CANNOT_SEND" -msgstr "Заштитен фајл. Не може да се прати" - -msgid "IDS_MF_POP_INVALID_FILE_NAME" -msgstr "Неправилно име на фајл" - -msgid "IDS_MF_POP_MAXIMUM_FOLDER_REACHED" -msgstr "Достигнат е максималниот број папки" - -msgid "IDS_MF_POP_PERMISSION_DENIED" -msgstr "Нема дозвола" - -msgid "IDS_MF_POP_SEND_FAILED" -msgstr "Неуспешно праќање" - -msgid "IDS_MF_POP_THE_DESTINATION_FOLDER_IS_A_SUBFOLDER_OF_THE_SOURCE_FOLDER" -msgstr "Одредишната папка е под-папка на изворната" - -msgid "IDS_MF_POP_THIS_FILE_DOES_NOT_EXIST" -msgstr "Фајлот не постои." - -msgid "IDS_MF_POP_UNABLE_TO_COPY" -msgstr "Не може да се копира" - -msgid "IDS_MF_POP_UNABLE_TO_MOVE" -msgstr "Не може да се премести" - -msgid "IDS_MF_BODY_NOT_ENOUGH_MEMORY_IN_PHONE_MEMORY_DELETE_SOME_ITEMS_AND_TRY_AGAIN" -msgstr "Нема доволно меморија во меморијата на телефонот. Избришете некој запис и обидете се повторно" - -msgid "IDS_MF_POP_COPYING_FAILED" -msgstr "Неуспешно копирање" - -msgid "IDS_MF_POP_MOVING_FAILED" -msgstr "Неуспешно преместување" - -msgid "IDS_MF_POP_NOT_ENOUGH_MEMORY_PS_AVAILABLE" -msgstr "Нема доволно меморија. Достапни се %s" - -msgid "IDS_MF_POP_SAME_NAME_ALREADY_IN_USE" -msgstr "Истото име веќе се користи" - -msgid "IDS_MF_POP_UNABLE_TO_MOVE_DESTINATION_FOLDER_SAME_AS_SOURCE_FOLDER" -msgstr "Не може да се премести. Одредишната папка е иста како и изворната" - -msgid "IDS_MF_SK3_CREATE_FOLDER" -msgstr "Нова папка" - -msgid "IDS_MF_SK3_PASTE_HERE" -msgstr "Пресликај тука" - -msgid "IDS_MF_BODY_ALERTS" -msgstr "Известувања" - -msgid "IDS_MF_BODY_WALLPAPERS" -msgstr "Заднини" - -msgid "IDS_MF_TAB_PHONE" -msgstr "Телефон" - -msgid "IDS_MF_BODY_IMAGES" -msgstr "Слики" - -msgid "IDS_MF_BODY_VIDEOS" -msgstr "Видео-записи" - -msgid "IDS_MF_BODY_SOUNDS" -msgstr "Звуци" - -msgid "IDS_MF_BODY_DOWNLOADS" -msgstr "Преземено" - -msgid "IDS_MF_TAB_MEMORY_CARD" -msgstr "Мем. картичка" - -msgid "IDS_MF_TAB_EXTERNAL_STORAGE" -msgstr "Надворешен мем. уред" - -msgid "IDS_MF_SK3_EDIT" -msgstr "Измени" - -msgid "IDS_MF_SK3_DELETE" -msgstr "Избриши" - -msgid "IDS_MF_SK3_MOVE" -msgstr "Премести" - -msgid "IDS_MF_BODY_UP" -msgstr "Отворање" - -msgid "IDS_MF_SK3_MOVE_HERE" -msgstr "Премести тука" - -msgid "IDS_MF_SK3_COPY" -msgstr "Копирај" - -msgid "IDS_MF_SK3_SORT_BY" -msgstr "Подреди според" - -msgid "IDS_MF_SK3_SEARCH" -msgstr "Пребарај" - -msgid "IDS_MF_SK3_MORE" -msgstr "Повеќе" - -msgid "IDS_MF_OPT_CREATE_FOLDER" -msgstr "Направи папка" - -msgid "IDS_MF_BODY_FOLDER_NAME" -msgstr "Име на папката" - -msgid "IDS_MF_BODY_ACCESS_MORE_MY_ALBUM" -msgstr "Мој албум" - -msgid "IDS_MF_OPT_VIEW_AS" -msgstr "Прикажи како" - -msgid "IDS_MF_SK3_BACK" -msgstr "НАЗАД" - -msgid "IDS_MF_BODY_MY_VIDEO_CLIPS" -msgstr "Мои видео-записи" - -msgid "IDS_MF_BODY_RIGHT_STATUS" -msgstr "Состојба на правата" - -msgid "IDS_MF_BODY_VENDOR" -msgstr "Продавач" - -msgid "IDS_MF_HEADER_COUNT" -msgstr "Број" - -msgid "IDS_MF_BODY_CONTAINS" -msgstr "Содржи" - -msgid "IDS_MF_BODY_INDIVIDUAL" -msgstr "Индивидуално" - -msgid "IDS_MF_BODY_INTERVAL" -msgstr "Интервал" - -msgid "IDS_MF_BODY_RENAME_ABB" -msgstr "Преим." - -msgid "IDS_MF_BODY_TIME" -msgstr "Време" - -msgid "IDS_MF_BODY_TIMED_COUNT" -msgstr "Временско користење" - -msgid "IDS_MF_BODY_TYPE" -msgstr "Тип" - -msgid "IDS_MF_BODY_UNLIMITED" -msgstr "Неограничено" - -msgid "IDS_MF_BUTTON_REPLACE_ABB" -msgstr "Замени" - -msgid "IDS_MF_OPT_CALLER_RINGTONE" -msgstr "Тон за повикувач" - -msgid "IDS_MF_OPT_LISTBY_NAME" -msgstr "Име" - -msgid "IDS_MF_POP_COPIED" -msgstr "Копирано" - -msgid "IDS_MF_POP_NOTHING_SELECTED" -msgstr "Не е избрано ништо" - -msgid "IDS_MF_POP_NOT_ENOUGH_HEAP_MEMORY" -msgstr "Нема доволно меморија." - -msgid "IDS_MF_POP_NOT_ENOUGH_MEMORY_DELETE_SOME_ITEMS" -msgstr "Нема доволно меморија. Избришете некој запис" - -msgid "IDS_MF_BODY_CREATED_DATE" -msgstr "Датум на создавање:" - -msgid "IDS_MF_BODY_GPS_INFORMATION" -msgstr "Информации за GPS" - -msgid "IDS_MF_BODY_GPS_LATITUDE" -msgstr "GPS географска широчина" - -msgid "IDS_MF_BODY_GPS_LONGITUDE" -msgstr "GPS географска должина" - -msgid "IDS_MF_BODY_GPS_VERSION" -msgstr "GPS-верзија" - -msgid "IDS_MF_SK_DETAILS" -msgstr "Детали" - -msgid "IDS_MF_BODY_ANY" -msgstr "Кој било" - -msgid "IDS_MF_BODY_AVAILABLE_USES" -msgstr "Можност за употреба" - -msgid "IDS_MF_BODY_EXECUTE" -msgstr "Изврши" - -msgid "IDS_MF_BODY_FORWARDING" -msgstr "Препраќање" - -msgid "IDS_MF_BODY_IMPOSSIBLE" -msgstr "Невозможно" - -msgid "IDS_MF_BODY_MMC_DATA_IS_INITIALIZING_ING" -msgstr "Податоците за MMC се активираат..." - -msgid "IDS_MF_BODY_POSSIBLE" -msgstr "Возможно" - -msgid "IDS_MF_BODY_PRINT" -msgstr "Печати" - -msgid "IDS_MF_BODY_VALIDITY" -msgstr "Валидност" - -msgid "IDS_MF_HEADER_NEW_FOLDER" -msgstr "Нова папка" - -msgid "IDS_MF_OPT_EDIT" -msgstr "Измени" - -msgid "IDS_MF_OPT_LIST_BY" -msgstr "Подреди според" - -msgid "IDS_MF_OPT_MOVE_HERE" -msgstr "Премести тука" - -msgid "IDS_MF_POP_CONTINUE" -msgstr "Продолжи" - -msgid "IDS_MF_POP_COPYING" -msgstr "Се копира..." - -msgid "IDS_MF_POP_PASTE_HERE" -msgstr "Пресликај тука" - -msgid "IDS_MF_POP_UNSUPPORTED_FILE_TYPE" -msgstr "Неподдржан тип на фајл" - -msgid "IDS_MF_OPT_DETAIL_VIEW" -msgstr "Детален преглед" - -msgid "IDS_MF_POP_ASCENDING" -msgstr "Нагорен редослед" - -msgid "IDS_MF_POP_DESCENDING" -msgstr "Надолен редослед" - -msgid "IDS_MF_TAB_ALL" -msgstr "Сите" - -msgid "IDS_MF_BODY_UP_M_BACK" -msgstr "Отворање" - -msgid "IDS_MF_BUTTON_SEARCH_ALL_FOLDERS" -msgstr "Пребарај ги сите папки" - -msgid "IDS_MF_OPT_THUMBNAIL_VIEW" -msgstr "Икони" - -msgid "IDS_MF_OPT_SHOW_FILE_EXTENSION" -msgstr "Прикажи наставки на фајловите" - -msgid "IDS_MF_OPT_SORT_BY" -msgstr "Подреди според" - -msgid "IDS_MF_BODY_LIST_AND_DETAILS_ABB" -msgstr "Листа со детали" - -msgid "IDS_MF_OPT_HIDE_FILE_EXTENSION_ABB" -msgstr "Сокриј наст. на фајл" - -msgid "IDS_MF_OPT_NAME_HA_TO_Z" -msgstr "Име (од А до Ш)" - -msgid "IDS_MF_OPT_NAME_HZ_TO_A" -msgstr "Име (од Ш до А)" - -msgid "IDS_MF_OPT_DATE_HMOST_RECENT" -msgstr "Датум (Најнов)" - -msgid "IDS_MF_OPT_DATE_HOLDEST" -msgstr "Датум (Најстар)" - -msgid "IDS_MF_BUTTON_GO_TO_MY_FILES" -msgstr "Оди во Мои фајлови" - -msgid "IDS_MF_BODY_RINGTONES" -msgstr "Тонови на ѕвонење" - -msgid "IDS_MF_BUTTON_EXPORT_HERE" -msgstr "Извези тука" - -msgid "IDS_MF_POP_UNABLE_TO_SET_DRM_PROTECTED_CONTENT_AS_RINGTONE_OR_NOTIFICATION_ALERT" -msgstr "Не може да се постави содржина заштитена со DRM како тон за ѕвонење или за известување" - diff --git a/data/po/nb.po b/data/po/nb.po deleted file mode 100644 index 931df5f..0000000 --- a/data/po/nb.po +++ /dev/null @@ -1,318 +0,0 @@ -msgid "IDS_MF_TAB_UP" -msgstr "Opp" - -msgid "IDS_MF_BUTTON_HOME" -msgstr "Hjem" - -msgid "IDS_MF_OPT_VIEW_BY_LIST" -msgstr "Vis etter liste" - -msgid "IDS_MF_OPT_VIEW_BY_THUMBNAIL" -msgstr "Vis etter miniatyr" - -msgid "IDS_MF_POP_DELETE_FAILED" -msgstr "Kunne ikke slette" - -msgid "IDS_MF_POP_DRM_FILE_CANNOT_SEND" -msgstr "DRM-fil. Kan ikke sende" - -msgid "IDS_MF_POP_INVALID_FILE_NAME" -msgstr "Ugyldig filnavn" - -msgid "IDS_MF_POP_MAXIMUM_FOLDER_REACHED" -msgstr "Det maksimale antall mapper er nådd" - -msgid "IDS_MF_POP_PERMISSION_DENIED" -msgstr "Tillatelse avslått" - -msgid "IDS_MF_POP_SEND_FAILED" -msgstr "Sendingen mislyktes" - -msgid "IDS_MF_POP_THE_DESTINATION_FOLDER_IS_A_SUBFOLDER_OF_THE_SOURCE_FOLDER" -msgstr "Målmappen er en undermappe til kildemappen" - -msgid "IDS_MF_POP_THIS_FILE_DOES_NOT_EXIST" -msgstr "Filen eksisterer ikke" - -msgid "IDS_MF_POP_UNABLE_TO_COPY" -msgstr "Kan ikke kopiere" - -msgid "IDS_MF_POP_UNABLE_TO_MOVE" -msgstr "Kan ikke flytte" - -msgid "IDS_MF_BODY_NOT_ENOUGH_MEMORY_IN_PHONE_MEMORY_DELETE_SOME_ITEMS_AND_TRY_AGAIN" -msgstr "Ikke nok minne i telefonminnet. Slett noen elementer og prøv på nytt" - -msgid "IDS_MF_POP_COPYING_FAILED" -msgstr "Kunne ikke kopiere" - -msgid "IDS_MF_POP_MOVING_FAILED" -msgstr "Flyttingen mislyktes" - -msgid "IDS_MF_POP_NOT_ENOUGH_MEMORY_PS_AVAILABLE" -msgstr "Ikke tilstreklig med minne. %s er ledig" - -msgid "IDS_MF_POP_SAME_NAME_ALREADY_IN_USE" -msgstr "Samme navn allerede i bruk" - -msgid "IDS_MF_POP_UNABLE_TO_MOVE_DESTINATION_FOLDER_SAME_AS_SOURCE_FOLDER" -msgstr "Kan ikke flytte. Målmappen er den samme som kildemappen" - -msgid "IDS_MF_SK3_CREATE_FOLDER" -msgstr "Lag mappe" - -msgid "IDS_MF_SK3_PASTE_HERE" -msgstr "Lim inn her" - -msgid "IDS_MF_BODY_ALERTS" -msgstr "Varsler" - -msgid "IDS_MF_BODY_WALLPAPERS" -msgstr "Bakgrunn" - -msgid "IDS_MF_TAB_PHONE" -msgstr "Telefon" - -msgid "IDS_MF_BODY_IMAGES" -msgstr "Bilder" - -msgid "IDS_MF_BODY_VIDEOS" -msgstr "Videoklipp" - -msgid "IDS_MF_BODY_SOUNDS" -msgstr "Lyder" - -msgid "IDS_MF_BODY_DOWNLOADS" -msgstr "Nedlastinger" - -msgid "IDS_MF_TAB_MEMORY_CARD" -msgstr "Minnekort" - -msgid "IDS_MF_TAB_EXTERNAL_STORAGE" -msgstr "Ekstern lagring" - -msgid "IDS_MF_SK3_EDIT" -msgstr "Rediger" - -msgid "IDS_MF_SK3_DELETE" -msgstr "Slett" - -msgid "IDS_MF_SK3_MOVE" -msgstr "Flytt" - -msgid "IDS_MF_BODY_UP" -msgstr "Opp" - -msgid "IDS_MF_SK3_MOVE_HERE" -msgstr "Flytt hit" - -msgid "IDS_MF_SK3_COPY" -msgstr "Kopier" - -msgid "IDS_MF_SK3_SORT_BY" -msgstr "Sorter etter" - -msgid "IDS_MF_SK3_SEARCH" -msgstr "Søk" - -msgid "IDS_MF_SK3_MORE" -msgstr "Mer" - -msgid "IDS_MF_OPT_CREATE_FOLDER" -msgstr "Opprett mappe" - -msgid "IDS_MF_BODY_FOLDER_NAME" -msgstr "Mappenavn" - -msgid "IDS_MF_BODY_ACCESS_MORE_MY_ALBUM" -msgstr "Mitt album" - -msgid "IDS_MF_OPT_VIEW_AS" -msgstr "Vis som" - -msgid "IDS_MF_SK3_BACK" -msgstr "Tilbake" - -msgid "IDS_MF_BODY_MY_VIDEO_CLIPS" -msgstr "Mine videoklipp" - -msgid "IDS_MF_BODY_RIGHT_STATUS" -msgstr "Rettighetsstatus" - -msgid "IDS_MF_BODY_VENDOR" -msgstr "Leverandør" - -msgid "IDS_MF_HEADER_COUNT" -msgstr "Antall" - -msgid "IDS_MF_BODY_CONTAINS" -msgstr "Inneholder" - -msgid "IDS_MF_BODY_INDIVIDUAL" -msgstr "Individuell" - -msgid "IDS_MF_BODY_INTERVAL" -msgstr "Intervall" - -msgid "IDS_MF_BODY_RENAME_ABB" -msgstr "Endre navn" - -msgid "IDS_MF_BODY_TIME" -msgstr "Tid" - -msgid "IDS_MF_BODY_TIMED_COUNT" -msgstr "Gjenværende tid" - -msgid "IDS_MF_BODY_TYPE" -msgstr "Type" - -msgid "IDS_MF_BODY_UNLIMITED" -msgstr "Ubegrenset" - -msgid "IDS_MF_BUTTON_REPLACE_ABB" -msgstr "Erstatt" - -msgid "IDS_MF_OPT_CALLER_RINGTONE" -msgstr "Anropsringetone" - -msgid "IDS_MF_OPT_LISTBY_NAME" -msgstr "Navn" - -msgid "IDS_MF_POP_COPIED" -msgstr "Kopiert" - -msgid "IDS_MF_POP_NOTHING_SELECTED" -msgstr "Ingenting valgt" - -msgid "IDS_MF_POP_NOT_ENOUGH_HEAP_MEMORY" -msgstr "Ikke nok frilagerminne" - -msgid "IDS_MF_POP_NOT_ENOUGH_MEMORY_DELETE_SOME_ITEMS" -msgstr "Ikke nok minne. Slett noen elementer" - -msgid "IDS_MF_BODY_CREATED_DATE" -msgstr "Opprettingsdato" - -msgid "IDS_MF_BODY_GPS_INFORMATION" -msgstr "GPS-informasjon" - -msgid "IDS_MF_BODY_GPS_LATITUDE" -msgstr "GPS-breddegrad" - -msgid "IDS_MF_BODY_GPS_LONGITUDE" -msgstr "GPS-lengdegrad" - -msgid "IDS_MF_BODY_GPS_VERSION" -msgstr "GPS-versjon" - -msgid "IDS_MF_SK_DETAILS" -msgstr "Detaljer" - -msgid "IDS_MF_BODY_ANY" -msgstr "Alle" - -msgid "IDS_MF_BODY_AVAILABLE_USES" -msgstr "Kan brukes antall ganger" - -msgid "IDS_MF_BODY_EXECUTE" -msgstr "Utfør" - -msgid "IDS_MF_BODY_FORWARDING" -msgstr "Videresending" - -msgid "IDS_MF_BODY_IMPOSSIBLE" -msgstr "Umulig" - -msgid "IDS_MF_BODY_MMC_DATA_IS_INITIALIZING_ING" -msgstr "MMC-data initialiserer..." - -msgid "IDS_MF_BODY_POSSIBLE" -msgstr "Mulig" - -msgid "IDS_MF_BODY_PRINT" -msgstr "Skriv ut" - -msgid "IDS_MF_BODY_VALIDITY" -msgstr "Gyldighet" - -msgid "IDS_MF_HEADER_NEW_FOLDER" -msgstr "Ny mappe" - -msgid "IDS_MF_OPT_EDIT" -msgstr "Rediger" - -msgid "IDS_MF_OPT_LIST_BY" -msgstr "Sorter etter" - -msgid "IDS_MF_OPT_MOVE_HERE" -msgstr "Flytt hit" - -msgid "IDS_MF_POP_CONTINUE" -msgstr "Fortsett" - -msgid "IDS_MF_POP_COPYING" -msgstr "Kopierer..." - -msgid "IDS_MF_POP_PASTE_HERE" -msgstr "Lim inn her" - -msgid "IDS_MF_POP_UNSUPPORTED_FILE_TYPE" -msgstr "Filtypen støttes ikke" - -msgid "IDS_MF_OPT_DETAIL_VIEW" -msgstr "Detaljvisning" - -msgid "IDS_MF_POP_ASCENDING" -msgstr "Stigende" - -msgid "IDS_MF_POP_DESCENDING" -msgstr "Synkende" - -msgid "IDS_MF_TAB_ALL" -msgstr "Alle" - -msgid "IDS_MF_BODY_UP_M_BACK" -msgstr "Opp" - -msgid "IDS_MF_BUTTON_SEARCH_ALL_FOLDERS" -msgstr "Søk i alle mapper" - -msgid "IDS_MF_OPT_THUMBNAIL_VIEW" -msgstr "Miniatyrvisning" - -msgid "IDS_MF_OPT_SHOW_FILE_EXTENSION" -msgstr "Vis filendelse" - -msgid "IDS_MF_OPT_SORT_BY" -msgstr "Sorter etter" - -msgid "IDS_MF_BODY_LIST_AND_DETAILS_ABB" -msgstr "Liste og detaljer" - -msgid "IDS_MF_OPT_HIDE_FILE_EXTENSION_ABB" -msgstr "Skjul filendelse" - -msgid "IDS_MF_OPT_NAME_HA_TO_Z" -msgstr "Navn (A til Å)" - -msgid "IDS_MF_OPT_NAME_HZ_TO_A" -msgstr "Navn (Å til A)" - -msgid "IDS_MF_OPT_DATE_HMOST_RECENT" -msgstr "Dato (nyeste)" - -msgid "IDS_MF_OPT_DATE_HOLDEST" -msgstr "Dato (eldste)" - -msgid "IDS_MF_BUTTON_GO_TO_MY_FILES" -msgstr "Gå til Mine Filer" - -msgid "IDS_MF_BODY_RINGTONES" -msgstr "Ringetoner" - -msgid "IDS_MF_BUTTON_EXPORT_HERE" -msgstr "Eksporter hit" - -msgid "IDS_MF_POP_UNABLE_TO_SET_DRM_PROTECTED_CONTENT_AS_RINGTONE_OR_NOTIFICATION_ALERT" -msgstr "Kan ikke angi DRM-beskyttet innhold som ringetone eller varselsignal" - diff --git a/data/po/nl_NL.po b/data/po/nl_NL.po deleted file mode 100644 index 54afd4b..0000000 --- a/data/po/nl_NL.po +++ /dev/null @@ -1,314 +0,0 @@ -msgid "IDS_MF_TAB_UP" -msgstr "Omhoog" - -msgid "IDS_MF_BUTTON_HOME" -msgstr "Startpagina" - -msgid "IDS_MF_OPT_VIEW_BY_LIST" -msgstr "Lijstweergave" - -msgid "IDS_MF_OPT_VIEW_BY_THUMBNAIL" -msgstr "Miniatuurweergave" - -msgid "IDS_MF_POP_DELETE_FAILED" -msgstr "Verwijderen mislukt" - -msgid "IDS_MF_POP_DRM_FILE_CANNOT_SEND" -msgstr "DRM-bestand. Kan niet verzonden worden" - -msgid "IDS_MF_POP_INVALID_FILE_NAME" -msgstr "Ongeldige bestandsnaam" - -msgid "IDS_MF_POP_MAXIMUM_FOLDER_REACHED" -msgstr "Maximum aantal mappen bereikt" - -msgid "IDS_MF_POP_PERMISSION_DENIED" -msgstr "Toestemming geweigerd" - -msgid "IDS_MF_POP_SEND_FAILED" -msgstr "Verzenden mislukt" - -msgid "IDS_MF_POP_THE_DESTINATION_FOLDER_IS_A_SUBFOLDER_OF_THE_SOURCE_FOLDER" -msgstr "De doelmap is een submap van de bronmap" - -msgid "IDS_MF_POP_THIS_FILE_DOES_NOT_EXIST" -msgstr "Dit bestand bestaat niet" - -msgid "IDS_MF_POP_UNABLE_TO_COPY" -msgstr "Kan niet kopiëren" - -msgid "IDS_MF_POP_UNABLE_TO_MOVE" -msgstr "Kan niet verplaatsen" - -msgid "IDS_MF_BODY_NOT_ENOUGH_MEMORY_IN_PHONE_MEMORY_DELETE_SOME_ITEMS_AND_TRY_AGAIN" -msgstr "Onvoldoende ruimte in telefoongeheugen. Verwijder een aantal items en probeer het opnieuw" - -msgid "IDS_MF_POP_COPYING_FAILED" -msgstr "Kopiëren is mislukt" - -msgid "IDS_MF_POP_MOVING_FAILED" -msgstr "Verplaatsen is mislukt" - -msgid "IDS_MF_POP_NOT_ENOUGH_MEMORY_PS_AVAILABLE" -msgstr "Onvoldoende geheugen. %s beschikbaar" - -msgid "IDS_MF_POP_SAME_NAME_ALREADY_IN_USE" -msgstr "Naam is al in gebruik" - -msgid "IDS_MF_POP_UNABLE_TO_MOVE_DESTINATION_FOLDER_SAME_AS_SOURCE_FOLDER" -msgstr "Kan niet verplaatsen. Doelmap zelfde als bronmap" - -msgid "IDS_MF_SK3_CREATE_FOLDER" -msgstr "Map maken" - -msgid "IDS_MF_SK3_PASTE_HERE" -msgstr "Hier kopiëren" - -msgid "IDS_MF_BODY_ALERTS" -msgstr "Waarschuwingen" - -msgid "IDS_MF_BODY_WALLPAPERS" -msgstr "Achtergronden" - -msgid "IDS_MF_TAB_PHONE" -msgstr "Telefoon" - -msgid "IDS_MF_BODY_IMAGES" -msgstr "Afbeeldingen" - -msgid "IDS_MF_BODY_VIDEOS" -msgstr "Video's" - -msgid "IDS_MF_BODY_SOUNDS" -msgstr "Geluiden" - -msgid "IDS_MF_BODY_DOWNLOADS" -msgstr "Downloads" - -msgid "IDS_MF_TAB_MEMORY_CARD" -msgstr "Geheugen-\nkaart" - -msgid "IDS_MF_TAB_EXTERNAL_STORAGE" -msgstr "Externe opslag" - -msgid "IDS_MF_SK3_EDIT" -msgstr "Wijzigen" - -msgid "IDS_MF_SK3_DELETE" -msgstr "Wissen" - -msgid "IDS_MF_SK3_MOVE" -msgstr "Verplaatsen" - -msgid "IDS_MF_BODY_UP" -msgstr "Omhoog" - -msgid "IDS_MF_SK3_MOVE_HERE" -msgstr "Hier plaatsen" - -msgid "IDS_MF_SK3_COPY" -msgstr "Kopiëren" - -msgid "IDS_MF_SK3_SORT_BY" -msgstr "Sorteren op" - -msgid "IDS_MF_SK3_SEARCH" -msgstr "Zoeken" - -msgid "IDS_MF_SK3_MORE" -msgstr "Meer" - -msgid "IDS_MF_OPT_CREATE_FOLDER" -msgstr "Map maken" - -msgid "IDS_MF_BODY_FOLDER_NAME" -msgstr "Mapnaam" - -msgid "IDS_MF_BODY_ACCESS_MORE_MY_ALBUM" -msgstr "Mijn album" - -msgid "IDS_MF_OPT_VIEW_AS" -msgstr "Tonen als" - -msgid "IDS_MF_SK3_BACK" -msgstr "Terug" - -msgid "IDS_MF_BODY_MY_VIDEO_CLIPS" -msgstr "Mijn videoclips" - -msgid "IDS_MF_BODY_RIGHT_STATUS" -msgstr "Status rechten" - -msgid "IDS_MF_BODY_VENDOR" -msgstr "Leverancier" - -msgid "IDS_MF_HEADER_COUNT" -msgstr "Aantal" - -msgid "IDS_MF_BODY_CONTAINS" -msgstr "Bevat" - -msgid "IDS_MF_BODY_INDIVIDUAL" -msgstr "Individueel" - -msgid "IDS_MF_BODY_INTERVAL" -msgstr "Interval" - -msgid "IDS_MF_BODY_RENAME_ABB" -msgstr "Wijzig" - -msgid "IDS_MF_BODY_TIME" -msgstr "Tijd" - -msgid "IDS_MF_BODY_TIMED_COUNT" -msgstr "Speelduur" - -msgid "IDS_MF_BODY_TYPE" -msgstr "Type" - -msgid "IDS_MF_BODY_UNLIMITED" -msgstr "Onbeperkt" - -msgid "IDS_MF_BUTTON_REPLACE_ABB" -msgstr "Vervang" - -msgid "IDS_MF_OPT_CALLER_RINGTONE" -msgstr "Beltoon beller" - -msgid "IDS_MF_OPT_LISTBY_NAME" -msgstr "Naam" - -msgid "IDS_MF_POP_COPIED" -msgstr "Gekopieerd" - -msgid "IDS_MF_POP_NOTHING_SELECTED" -msgstr "Niets geselecteerd" - -msgid "IDS_MF_POP_NOT_ENOUGH_HEAP_MEMORY" -msgstr "Onvoldoende heap-geheugen" - -msgid "IDS_MF_POP_NOT_ENOUGH_MEMORY_DELETE_SOME_ITEMS" -msgstr "Onvoldoende geheugen. Wis een aantal items" - -msgid "IDS_MF_BODY_CREATED_DATE" -msgstr "Aanmaakdatum" - -msgid "IDS_MF_BODY_GPS_INFORMATION" -msgstr "GPS informatie" - -msgid "IDS_MF_BODY_GPS_LATITUDE" -msgstr "GPS-breedtegraad" - -msgid "IDS_MF_BODY_GPS_LONGITUDE" -msgstr "GPS-lengtegraad" - -msgid "IDS_MF_BODY_GPS_VERSION" -msgstr "GPS-versie" - -msgid "IDS_MF_SK_DETAILS" -msgstr "Gegevens" - -msgid "IDS_MF_BODY_ANY" -msgstr "Alle" - -msgid "IDS_MF_BODY_AVAILABLE_USES" -msgstr "Aantal keer dat het gebruikt mag worden" - -msgid "IDS_MF_BODY_EXECUTE" -msgstr "Uitvoeren" - -msgid "IDS_MF_BODY_FORWARDING" -msgstr "Doorsturen" - -msgid "IDS_MF_BODY_IMPOSSIBLE" -msgstr "Niet mogelijk" - -msgid "IDS_MF_BODY_MMC_DATA_IS_INITIALIZING_ING" -msgstr "MMC-gegevens worden geïnitialiseerd..." - -msgid "IDS_MF_BODY_POSSIBLE" -msgstr "Mogelijk" - -msgid "IDS_MF_BODY_PRINT" -msgstr "Afdrukken" - -msgid "IDS_MF_BODY_VALIDITY" -msgstr "Geldigheid" - -msgid "IDS_MF_HEADER_NEW_FOLDER" -msgstr "Nieuwe map" - -msgid "IDS_MF_OPT_EDIT" -msgstr "Bewerken" - -msgid "IDS_MF_OPT_LIST_BY" -msgstr "Sorteren op" - -msgid "IDS_MF_OPT_MOVE_HERE" -msgstr "Hier plaatsen" - -msgid "IDS_MF_POP_CONTINUE" -msgstr "Doorgaan" - -msgid "IDS_MF_POP_COPYING" -msgstr "Kopiëren..." - -msgid "IDS_MF_POP_PASTE_HERE" -msgstr "Hier kopiëren" - -msgid "IDS_MF_POP_UNSUPPORTED_FILE_TYPE" -msgstr "Niet-ondersteund bestandstype" - -msgid "IDS_MF_OPT_DETAIL_VIEW" -msgstr "Detailweergave" - -msgid "IDS_MF_POP_ASCENDING" -msgstr "Oplopend" - -msgid "IDS_MF_POP_DESCENDING" -msgstr "Aflopend" - -msgid "IDS_MF_TAB_ALL" -msgstr "Alles" - -msgid "IDS_MF_BODY_UP_M_BACK" -msgstr "Omhoog" - -msgid "IDS_MF_BUTTON_SEARCH_ALL_FOLDERS" -msgstr "Zoeken in alle mappen" - -msgid "IDS_MF_OPT_THUMBNAIL_VIEW" -msgstr "Miniatuurweergave" - -msgid "IDS_MF_OPT_SHOW_FILE_EXTENSION" -msgstr "Bestandsextensie weergeven" - -msgid "IDS_MF_OPT_SORT_BY" -msgstr "Sorteren op" - -msgid "IDS_MF_BODY_LIST_AND_DETAILS_ABB" -msgstr "Lijst en details" - -msgid "IDS_MF_BUTTON_EXPORT_HERE" -msgstr "Hiernaartoe exporteren" - -msgid "IDS_MF_OPT_NAME_HA_TO_Z" -msgstr "Naam (A tot Z)" - -msgid "IDS_MF_OPT_NAME_HZ_TO_A" -msgstr "Naam (Z tot A)" - -msgid "IDS_MF_OPT_DATE_HMOST_RECENT" -msgstr "Datum (meest recent)" - -msgid "IDS_MF_OPT_DATE_HOLDEST" -msgstr "Datum (oudste)" - -msgid "IDS_MF_BUTTON_GO_TO_MY_FILES" -msgstr "Naar Mijn bestanden" - -msgid "IDS_MF_BODY_RINGTONES" -msgstr "Beltonen" - -msgid "IDS_MF_POP_UNABLE_TO_SET_DRM_PROTECTED_CONTENT_AS_RINGTONE_OR_NOTIFICATION_ALERT" -msgstr "Kan door DRM beveiligde inhoud niet instellen als beltoon of meldingsignaal" diff --git a/data/po/pl.po b/data/po/pl.po deleted file mode 100644 index 76c0c79..0000000 --- a/data/po/pl.po +++ /dev/null @@ -1,318 +0,0 @@ -msgid "IDS_MF_TAB_UP" -msgstr "Góra" - -msgid "IDS_MF_BUTTON_HOME" -msgstr "Ekran główny" - -msgid "IDS_MF_OPT_VIEW_BY_LIST" -msgstr "Sortuj wg listy" - -msgid "IDS_MF_OPT_VIEW_BY_THUMBNAIL" -msgstr "Sortuj wg miniatur" - -msgid "IDS_MF_POP_DELETE_FAILED" -msgstr "Błąd usuwania" - -msgid "IDS_MF_POP_DRM_FILE_CANNOT_SEND" -msgstr "Plik DRM. Nie można wysłać" - -msgid "IDS_MF_POP_INVALID_FILE_NAME" -msgstr "Nieprawidłowa nazwa pliku" - -msgid "IDS_MF_POP_MAXIMUM_FOLDER_REACHED" -msgstr "Osiągnięto maksymalną wielkość katalogu" - -msgid "IDS_MF_POP_PERMISSION_DENIED" -msgstr "Nie udzielono zezwolenia" - -msgid "IDS_MF_POP_SEND_FAILED" -msgstr "Błąd wysyłania" - -msgid "IDS_MF_POP_THE_DESTINATION_FOLDER_IS_A_SUBFOLDER_OF_THE_SOURCE_FOLDER" -msgstr "Katalog docelowy jest podkatalogiem katalogu źródłowego" - -msgid "IDS_MF_POP_THIS_FILE_DOES_NOT_EXIST" -msgstr "Plik nie istnieje" - -msgid "IDS_MF_POP_UNABLE_TO_COPY" -msgstr "Nie można skopiować" - -msgid "IDS_MF_POP_UNABLE_TO_MOVE" -msgstr "Nie można przenieść" - -msgid "IDS_MF_BODY_NOT_ENOUGH_MEMORY_IN_PHONE_MEMORY_DELETE_SOME_ITEMS_AND_TRY_AGAIN" -msgstr "Za mało pamięci w telefonie. Usuń niektóre elementy i spróbuj ponownie" - -msgid "IDS_MF_POP_COPYING_FAILED" -msgstr "Błąd kopiowania" - -msgid "IDS_MF_POP_MOVING_FAILED" -msgstr "Błąd przenoszenia" - -msgid "IDS_MF_POP_NOT_ENOUGH_MEMORY_PS_AVAILABLE" -msgstr "Brak pamięci. Dostępne: %s" - -msgid "IDS_MF_POP_SAME_NAME_ALREADY_IN_USE" -msgstr "Ta sama nazwa jest już w użyciu" - -msgid "IDS_MF_POP_UNABLE_TO_MOVE_DESTINATION_FOLDER_SAME_AS_SOURCE_FOLDER" -msgstr "Nie można przenieść. Katalog docelowy taki sam jak katalog źródłowy" - -msgid "IDS_MF_SK3_CREATE_FOLDER" -msgstr "Utwórz katalog" - -msgid "IDS_MF_SK3_PASTE_HERE" -msgstr "Wklej tutaj" - -msgid "IDS_MF_BODY_ALERTS" -msgstr "Alarmy" - -msgid "IDS_MF_BODY_WALLPAPERS" -msgstr "Tapety" - -msgid "IDS_MF_TAB_PHONE" -msgstr "Telefon" - -msgid "IDS_MF_BODY_IMAGES" -msgstr "Obrazy" - -msgid "IDS_MF_BODY_VIDEOS" -msgstr "Filmy" - -msgid "IDS_MF_BODY_SOUNDS" -msgstr "Dźwięki" - -msgid "IDS_MF_BODY_DOWNLOADS" -msgstr "Pobrane" - -msgid "IDS_MF_TAB_MEMORY_CARD" -msgstr "Karta pamięci" - -msgid "IDS_MF_TAB_EXTERNAL_STORAGE" -msgstr "Pamięć zewnętrzna" - -msgid "IDS_MF_SK3_EDIT" -msgstr "Edytuj" - -msgid "IDS_MF_SK3_DELETE" -msgstr "Usuń" - -msgid "IDS_MF_SK3_MOVE" -msgstr "Przenieś" - -msgid "IDS_MF_BODY_UP" -msgstr "W górę" - -msgid "IDS_MF_SK3_MOVE_HERE" -msgstr "Przenieś tutaj" - -msgid "IDS_MF_SK3_COPY" -msgstr "Kopiuj pozycję" - -msgid "IDS_MF_SK3_SORT_BY" -msgstr "Sortuj według" - -msgid "IDS_MF_SK3_SEARCH" -msgstr "Szukaj" - -msgid "IDS_MF_SK3_MORE" -msgstr "Więcej" - -msgid "IDS_MF_OPT_CREATE_FOLDER" -msgstr "Utwórz katalog" - -msgid "IDS_MF_BODY_FOLDER_NAME" -msgstr "Nazwa katalogu" - -msgid "IDS_MF_BODY_ACCESS_MORE_MY_ALBUM" -msgstr "Mój album" - -msgid "IDS_MF_OPT_VIEW_AS" -msgstr "Wyświetl jako" - -msgid "IDS_MF_SK3_BACK" -msgstr "Wstecz" - -msgid "IDS_MF_BODY_MY_VIDEO_CLIPS" -msgstr "Moje wideoklipy" - -msgid "IDS_MF_BODY_RIGHT_STATUS" -msgstr "Status uprawnienia" - -msgid "IDS_MF_BODY_VENDOR" -msgstr "Dostawca" - -msgid "IDS_MF_HEADER_COUNT" -msgstr "Liczba" - -msgid "IDS_MF_BODY_CONTAINS" -msgstr "Zawiera" - -msgid "IDS_MF_BODY_INDIVIDUAL" -msgstr "Osobiste" - -msgid "IDS_MF_BODY_INTERVAL" -msgstr "Okres" - -msgid "IDS_MF_BODY_RENAME_ABB" -msgstr "Zm.naz." - -msgid "IDS_MF_BODY_TIME" -msgstr "Godzina" - -msgid "IDS_MF_BODY_TIMED_COUNT" -msgstr "Licznik synchronizowany" - -msgid "IDS_MF_BODY_TYPE" -msgstr "Typ" - -msgid "IDS_MF_BODY_UNLIMITED" -msgstr "Nieograniczony" - -msgid "IDS_MF_BUTTON_REPLACE_ABB" -msgstr "Zamień" - -msgid "IDS_MF_OPT_CALLER_RINGTONE" -msgstr "Dzwonek kontaktu" - -msgid "IDS_MF_OPT_LISTBY_NAME" -msgstr "Nazwa" - -msgid "IDS_MF_POP_COPIED" -msgstr "Skopiowano" - -msgid "IDS_MF_POP_NOTHING_SELECTED" -msgstr "Niczego nie zaznaczono" - -msgid "IDS_MF_POP_NOT_ENOUGH_HEAP_MEMORY" -msgstr "Brak pamięci heap" - -msgid "IDS_MF_POP_NOT_ENOUGH_MEMORY_DELETE_SOME_ITEMS" -msgstr "Brak pamięci. Usuń niektóre elementy" - -msgid "IDS_MF_BODY_CREATED_DATE" -msgstr "Data utworzenia" - -msgid "IDS_MF_BODY_GPS_INFORMATION" -msgstr "Informacje GPS" - -msgid "IDS_MF_BODY_GPS_LATITUDE" -msgstr "Szerokość geograficzna GPS" - -msgid "IDS_MF_BODY_GPS_LONGITUDE" -msgstr "Długość geograficzna GPS" - -msgid "IDS_MF_BODY_GPS_VERSION" -msgstr "Wersja GPS" - -msgid "IDS_MF_SK_DETAILS" -msgstr "Szczegóły" - -msgid "IDS_MF_BODY_ANY" -msgstr "Dowolny" - -msgid "IDS_MF_BODY_AVAILABLE_USES" -msgstr "Dostępne zastosowania" - -msgid "IDS_MF_BODY_EXECUTE" -msgstr "Wykonaj" - -msgid "IDS_MF_BODY_FORWARDING" -msgstr "Przesyłanie" - -msgid "IDS_MF_BODY_IMPOSSIBLE" -msgstr "Niemożliwe" - -msgid "IDS_MF_BODY_MMC_DATA_IS_INITIALIZING_ING" -msgstr "Trwa inicjowanie karty pamięci..." - -msgid "IDS_MF_BODY_POSSIBLE" -msgstr "Możliwe" - -msgid "IDS_MF_BODY_PRINT" -msgstr "Drukuj" - -msgid "IDS_MF_BODY_VALIDITY" -msgstr "Ważność" - -msgid "IDS_MF_HEADER_NEW_FOLDER" -msgstr "Nowy katalog" - -msgid "IDS_MF_OPT_EDIT" -msgstr "Edytuj" - -msgid "IDS_MF_OPT_LIST_BY" -msgstr "Sortuj wg" - -msgid "IDS_MF_OPT_MOVE_HERE" -msgstr "Przenieś tutaj" - -msgid "IDS_MF_POP_CONTINUE" -msgstr "Kontynuuj" - -msgid "IDS_MF_POP_COPYING" -msgstr "Kopiowanie..." - -msgid "IDS_MF_POP_PASTE_HERE" -msgstr "Wklej tutaj" - -msgid "IDS_MF_POP_UNSUPPORTED_FILE_TYPE" -msgstr "Nieobsługiwany typ pliku" - -msgid "IDS_MF_OPT_DETAIL_VIEW" -msgstr "Wyświetlanie szczegółów" - -msgid "IDS_MF_POP_ASCENDING" -msgstr "Rosnąco" - -msgid "IDS_MF_POP_DESCENDING" -msgstr "Malejąco" - -msgid "IDS_MF_TAB_ALL" -msgstr "Wszystkie" - -msgid "IDS_MF_BODY_UP_M_BACK" -msgstr "W górę" - -msgid "IDS_MF_BUTTON_SEARCH_ALL_FOLDERS" -msgstr "Przesz. wszystkie kat." - -msgid "IDS_MF_OPT_THUMBNAIL_VIEW" -msgstr "Miniatury" - -msgid "IDS_MF_OPT_SHOW_FILE_EXTENSION" -msgstr "Pokaż rozszerzenia plików" - -msgid "IDS_MF_OPT_SORT_BY" -msgstr "Sortuj wg" - -msgid "IDS_MF_BODY_LIST_AND_DETAILS_ABB" -msgstr "Lista i szczegóły" - -msgid "IDS_MF_OPT_HIDE_FILE_EXTENSION_ABB" -msgstr "Ukryj rozszerz. plików" - -msgid "IDS_MF_OPT_NAME_HA_TO_Z" -msgstr "Nazwa (od A do Z)" - -msgid "IDS_MF_OPT_NAME_HZ_TO_A" -msgstr "Nazwa (od Z do A)" - -msgid "IDS_MF_OPT_DATE_HMOST_RECENT" -msgstr "Data (od najnowszych)" - -msgid "IDS_MF_OPT_DATE_HOLDEST" -msgstr "Data (od najstarszych)" - -msgid "IDS_MF_BUTTON_GO_TO_MY_FILES" -msgstr "Idź do Moich plików" - -msgid "IDS_MF_BODY_RINGTONES" -msgstr "Dzwonki" - -msgid "IDS_MF_BUTTON_EXPORT_HERE" -msgstr "Eksportuj tutaj" - -msgid "IDS_MF_POP_UNABLE_TO_SET_DRM_PROTECTED_CONTENT_AS_RINGTONE_OR_NOTIFICATION_ALERT" -msgstr "Zawartości chronionej za pomocą technologii DRM nie można ustawić jako dzwonek lub powiadomienie" - diff --git a/data/po/pt_BR.po b/data/po/pt_BR.po deleted file mode 100644 index 307739d..0000000 --- a/data/po/pt_BR.po +++ /dev/null @@ -1,318 +0,0 @@ -msgid "IDS_MF_TAB_UP" -msgstr "Para cima" - -msgid "IDS_MF_BUTTON_HOME" -msgstr "Início" - -msgid "IDS_MF_OPT_VIEW_BY_LIST" -msgstr "Visualizar por lista" - -msgid "IDS_MF_OPT_VIEW_BY_THUMBNAIL" -msgstr "Visualizar por miniatura" - -msgid "IDS_MF_POP_DELETE_FAILED" -msgstr "Erro ao apagar" - -msgid "IDS_MF_POP_DRM_FILE_CANNOT_SEND" -msgstr "Arquivo DRM. Impossível enviar" - -msgid "IDS_MF_POP_INVALID_FILE_NAME" -msgstr "Nome de arquivo\ninválido" - -msgid "IDS_MF_POP_MAXIMUM_FOLDER_REACHED" -msgstr "Número máximo de pasta atingido" - -msgid "IDS_MF_POP_PERMISSION_DENIED" -msgstr "Permissão negada" - -msgid "IDS_MF_POP_SEND_FAILED" -msgstr "Erro ao enviar" - -msgid "IDS_MF_POP_THE_DESTINATION_FOLDER_IS_A_SUBFOLDER_OF_THE_SOURCE_FOLDER" -msgstr "A pasta de destino é uma subpasta da pasta de origem" - -msgid "IDS_MF_POP_THIS_FILE_DOES_NOT_EXIST" -msgstr "Este arquivo não existe" - -msgid "IDS_MF_POP_UNABLE_TO_COPY" -msgstr "Impossível copiar" - -msgid "IDS_MF_POP_UNABLE_TO_MOVE" -msgstr "Impossível mover" - -msgid "IDS_MF_BODY_NOT_ENOUGH_MEMORY_IN_PHONE_MEMORY_DELETE_SOME_ITEMS_AND_TRY_AGAIN" -msgstr "Memória insuficiente no telefone. Apague alguns itens e tente novamente" - -msgid "IDS_MF_POP_COPYING_FAILED" -msgstr "Erro ao copiar" - -msgid "IDS_MF_POP_MOVING_FAILED" -msgstr "Erro ao mover" - -msgid "IDS_MF_POP_NOT_ENOUGH_MEMORY_PS_AVAILABLE" -msgstr "Memória insuficiente. %s disponível" - -msgid "IDS_MF_POP_SAME_NAME_ALREADY_IN_USE" -msgstr "O mesmo nome já está sendo utilizado" - -msgid "IDS_MF_POP_UNABLE_TO_MOVE_DESTINATION_FOLDER_SAME_AS_SOURCE_FOLDER" -msgstr "Impossível mover. Pasta de destino é a mesma do arquivo de origem" - -msgid "IDS_MF_SK3_CREATE_FOLDER" -msgstr "Criar pasta" - -msgid "IDS_MF_SK3_PASTE_HERE" -msgstr "Colar aqui" - -msgid "IDS_MF_BODY_ALERTS" -msgstr "Alertas" - -msgid "IDS_MF_BODY_WALLPAPERS" -msgstr "Papéis de parede" - -msgid "IDS_MF_TAB_PHONE" -msgstr "Telefone" - -msgid "IDS_MF_BODY_IMAGES" -msgstr "Imagens" - -msgid "IDS_MF_BODY_VIDEOS" -msgstr "Vídeos" - -msgid "IDS_MF_BODY_SOUNDS" -msgstr "Tons" - -msgid "IDS_MF_BODY_DOWNLOADS" -msgstr "Downloads" - -msgid "IDS_MF_TAB_MEMORY_CARD" -msgstr "Cartão de memória" - -msgid "IDS_MF_TAB_EXTERNAL_STORAGE" -msgstr "Armazenamento externo" - -msgid "IDS_MF_SK3_EDIT" -msgstr "Editar" - -msgid "IDS_MF_SK3_DELETE" -msgstr "Apagar" - -msgid "IDS_MF_SK3_MOVE" -msgstr "Mover" - -msgid "IDS_MF_BODY_UP" -msgstr "Para cima" - -msgid "IDS_MF_SK3_MOVE_HERE" -msgstr "Mover para cá" - -msgid "IDS_MF_SK3_COPY" -msgstr "Copiar" - -msgid "IDS_MF_SK3_SORT_BY" -msgstr "Ordenar por" - -msgid "IDS_MF_SK3_SEARCH" -msgstr "Procurar" - -msgid "IDS_MF_SK3_MORE" -msgstr "Mais" - -msgid "IDS_MF_OPT_CREATE_FOLDER" -msgstr "Criar pasta" - -msgid "IDS_MF_BODY_FOLDER_NAME" -msgstr "Nome da pasta" - -msgid "IDS_MF_BODY_ACCESS_MORE_MY_ALBUM" -msgstr "Meu álbum" - -msgid "IDS_MF_OPT_VIEW_AS" -msgstr "Visualizar como" - -msgid "IDS_MF_SK3_BACK" -msgstr "Voltar" - -msgid "IDS_MF_BODY_MY_VIDEO_CLIPS" -msgstr "Meus vídeos" - -msgid "IDS_MF_BODY_RIGHT_STATUS" -msgstr "Status de direitos" - -msgid "IDS_MF_BODY_VENDOR" -msgstr "Fornecedor" - -msgid "IDS_MF_HEADER_COUNT" -msgstr "Contagem" - -msgid "IDS_MF_BODY_CONTAINS" -msgstr "Conteúdo" - -msgid "IDS_MF_BODY_INDIVIDUAL" -msgstr "Individual" - -msgid "IDS_MF_BODY_INTERVAL" -msgstr "Intervalo" - -msgid "IDS_MF_BODY_RENAME_ABB" -msgstr "Renom." - -msgid "IDS_MF_BODY_TIME" -msgstr "Hora" - -msgid "IDS_MF_BODY_TIMED_COUNT" -msgstr "Contagem temporizada" - -msgid "IDS_MF_BODY_TYPE" -msgstr "Tipo" - -msgid "IDS_MF_BODY_UNLIMITED" -msgstr "Ilimitado" - -msgid "IDS_MF_BUTTON_REPLACE_ABB" -msgstr "Substit." - -msgid "IDS_MF_OPT_CALLER_RINGTONE" -msgstr "Toque para um contato" - -msgid "IDS_MF_OPT_LISTBY_NAME" -msgstr "Nome" - -msgid "IDS_MF_POP_COPIED" -msgstr "Copiado" - -msgid "IDS_MF_POP_NOTHING_SELECTED" -msgstr "Nada selecionado" - -msgid "IDS_MF_POP_NOT_ENOUGH_HEAP_MEMORY" -msgstr "Memória de pilha insuficiente" - -msgid "IDS_MF_POP_NOT_ENOUGH_MEMORY_DELETE_SOME_ITEMS" -msgstr "Memória insuficiente. Apague alguns itens" - -msgid "IDS_MF_BODY_CREATED_DATE" -msgstr "Criado na data" - -msgid "IDS_MF_BODY_GPS_INFORMATION" -msgstr "Informações de GPS" - -msgid "IDS_MF_BODY_GPS_LATITUDE" -msgstr "Latitude GPS" - -msgid "IDS_MF_BODY_GPS_LONGITUDE" -msgstr "Longitude GPS" - -msgid "IDS_MF_BODY_GPS_VERSION" -msgstr "Versão GPS" - -msgid "IDS_MF_SK_DETAILS" -msgstr "Detalhes" - -msgid "IDS_MF_BODY_ANY" -msgstr "Qualquer" - -msgid "IDS_MF_BODY_AVAILABLE_USES" -msgstr "Utilizações disponíveis" - -msgid "IDS_MF_BODY_EXECUTE" -msgstr "Executar" - -msgid "IDS_MF_BODY_FORWARDING" -msgstr "Encaminhamento" - -msgid "IDS_MF_BODY_IMPOSSIBLE" -msgstr "Impossível" - -msgid "IDS_MF_BODY_MMC_DATA_IS_INITIALIZING_ING" -msgstr "Os dados MMC estão sendo iniciados..." - -msgid "IDS_MF_BODY_POSSIBLE" -msgstr "Possível" - -msgid "IDS_MF_BODY_PRINT" -msgstr "Imprimir" - -msgid "IDS_MF_BODY_VALIDITY" -msgstr "Validade" - -msgid "IDS_MF_HEADER_NEW_FOLDER" -msgstr "Nova pasta" - -msgid "IDS_MF_OPT_EDIT" -msgstr "Editar" - -msgid "IDS_MF_OPT_LIST_BY" -msgstr "Ordenar por" - -msgid "IDS_MF_OPT_MOVE_HERE" -msgstr "Mover para cá" - -msgid "IDS_MF_POP_CONTINUE" -msgstr "Continuar" - -msgid "IDS_MF_POP_COPYING" -msgstr "Copiando..." - -msgid "IDS_MF_POP_PASTE_HERE" -msgstr "Colar aqui" - -msgid "IDS_MF_POP_UNSUPPORTED_FILE_TYPE" -msgstr "Tipo de arquivo não suportado" - -msgid "IDS_MF_OPT_DETAIL_VIEW" -msgstr "Visualização de detalhes" - -msgid "IDS_MF_POP_ASCENDING" -msgstr "Crescente" - -msgid "IDS_MF_POP_DESCENDING" -msgstr "Descendente" - -msgid "IDS_MF_TAB_ALL" -msgstr "Todos" - -msgid "IDS_MF_BODY_UP_M_BACK" -msgstr "Para cima" - -msgid "IDS_MF_BUTTON_SEARCH_ALL_FOLDERS" -msgstr "Pesq. todas as pastas" - -msgid "IDS_MF_OPT_THUMBNAIL_VIEW" -msgstr "Ver por miniaturas" - -msgid "IDS_MF_OPT_SHOW_FILE_EXTENSION" -msgstr "Exibir extensão do arquivo" - -msgid "IDS_MF_OPT_SORT_BY" -msgstr "Ordenar por" - -msgid "IDS_MF_BODY_LIST_AND_DETAILS_ABB" -msgstr "Lista e detalhes" - -msgid "IDS_MF_OPT_HIDE_FILE_EXTENSION_ABB" -msgstr "Ocultar ext. arquivo" - -msgid "IDS_MF_OPT_NAME_HA_TO_Z" -msgstr "Nome (De A a Z)" - -msgid "IDS_MF_OPT_NAME_HZ_TO_A" -msgstr "Nome (De Z a A)" - -msgid "IDS_MF_OPT_DATE_HMOST_RECENT" -msgstr "Data (mais recente)" - -msgid "IDS_MF_OPT_DATE_HOLDEST" -msgstr "Data (mais antiga)" - -msgid "IDS_MF_BUTTON_GO_TO_MY_FILES" -msgstr "Ir p/ Meus Arquivos" - -msgid "IDS_MF_BODY_RINGTONES" -msgstr "Toques" - -msgid "IDS_MF_BUTTON_EXPORT_HERE" -msgstr "Exportar aqui" - -msgid "IDS_MF_POP_UNABLE_TO_SET_DRM_PROTECTED_CONTENT_AS_RINGTONE_OR_NOTIFICATION_ALERT" -msgstr "Não é possível definir conteúdo protegido por DRM como toque de chamada ou aviso de alerta" - diff --git a/data/po/pt_PT.po b/data/po/pt_PT.po deleted file mode 100644 index 6f5dc83..0000000 --- a/data/po/pt_PT.po +++ /dev/null @@ -1,318 +0,0 @@ -msgid "IDS_MF_TAB_UP" -msgstr "Para cima" - -msgid "IDS_MF_BUTTON_HOME" -msgstr "Início" - -msgid "IDS_MF_OPT_VIEW_BY_LIST" -msgstr "Ver por lista" - -msgid "IDS_MF_OPT_VIEW_BY_THUMBNAIL" -msgstr "Vista por miniatura" - -msgid "IDS_MF_POP_DELETE_FAILED" -msgstr "Falha ao apagar" - -msgid "IDS_MF_POP_DRM_FILE_CANNOT_SEND" -msgstr "Ficheiro DRM. Impossível enviar" - -msgid "IDS_MF_POP_INVALID_FILE_NAME" -msgstr "Nome do ficheiro inválido" - -msgid "IDS_MF_POP_MAXIMUM_FOLDER_REACHED" -msgstr "Máximo alcançado" - -msgid "IDS_MF_POP_PERMISSION_DENIED" -msgstr "Permissão negada" - -msgid "IDS_MF_POP_SEND_FAILED" -msgstr "Falha de envio" - -msgid "IDS_MF_POP_THE_DESTINATION_FOLDER_IS_A_SUBFOLDER_OF_THE_SOURCE_FOLDER" -msgstr "A pasta de destino é uma sub-pasta da pasta de origem" - -msgid "IDS_MF_POP_THIS_FILE_DOES_NOT_EXIST" -msgstr "Ficheiro inexistente" - -msgid "IDS_MF_POP_UNABLE_TO_COPY" -msgstr "Impossível copiar" - -msgid "IDS_MF_POP_UNABLE_TO_MOVE" -msgstr "Impossível mover" - -msgid "IDS_MF_BODY_NOT_ENOUGH_MEMORY_IN_PHONE_MEMORY_DELETE_SOME_ITEMS_AND_TRY_AGAIN" -msgstr "Memória insuficiente na memória do telefone. Elimine alguns items e tente novamente" - -msgid "IDS_MF_POP_COPYING_FAILED" -msgstr "Falha ao copiar" - -msgid "IDS_MF_POP_MOVING_FAILED" -msgstr "Falha ao mover" - -msgid "IDS_MF_POP_NOT_ENOUGH_MEMORY_PS_AVAILABLE" -msgstr "Memória insuficiente. %s disponíveis" - -msgid "IDS_MF_POP_SAME_NAME_ALREADY_IN_USE" -msgstr "Já está a ser utilizado o mesmo nome" - -msgid "IDS_MF_POP_UNABLE_TO_MOVE_DESTINATION_FOLDER_SAME_AS_SOURCE_FOLDER" -msgstr "Impossível mover. Pasta de destino igual à pasta de origem" - -msgid "IDS_MF_SK3_CREATE_FOLDER" -msgstr "Criar pasta" - -msgid "IDS_MF_SK3_PASTE_HERE" -msgstr "Colar aqui" - -msgid "IDS_MF_BODY_ALERTS" -msgstr "Alertas" - -msgid "IDS_MF_BODY_WALLPAPERS" -msgstr "Fundos" - -msgid "IDS_MF_TAB_PHONE" -msgstr "Telefone" - -msgid "IDS_MF_BODY_IMAGES" -msgstr "Imagens" - -msgid "IDS_MF_BODY_VIDEOS" -msgstr "Vídeos" - -msgid "IDS_MF_BODY_SOUNDS" -msgstr "Sons" - -msgid "IDS_MF_BODY_DOWNLOADS" -msgstr "Transferências" - -msgid "IDS_MF_TAB_MEMORY_CARD" -msgstr "Cartão de memór." - -msgid "IDS_MF_TAB_EXTERNAL_STORAGE" -msgstr "Armazenamento externo" - -msgid "IDS_MF_SK3_EDIT" -msgstr "Editar" - -msgid "IDS_MF_SK3_DELETE" -msgstr "Eliminar" - -msgid "IDS_MF_SK3_MOVE" -msgstr "Mover" - -msgid "IDS_MF_BODY_UP" -msgstr "Para cima" - -msgid "IDS_MF_SK3_MOVE_HERE" -msgstr "Mover para aqui" - -msgid "IDS_MF_SK3_COPY" -msgstr "Copiar" - -msgid "IDS_MF_SK3_SORT_BY" -msgstr "Ordenar por" - -msgid "IDS_MF_SK3_SEARCH" -msgstr "Procurar" - -msgid "IDS_MF_SK3_MORE" -msgstr "Mais" - -msgid "IDS_MF_OPT_CREATE_FOLDER" -msgstr "Criar pasta" - -msgid "IDS_MF_BODY_FOLDER_NAME" -msgstr "Nome da pasta" - -msgid "IDS_MF_BODY_ACCESS_MORE_MY_ALBUM" -msgstr "O meu álbum" - -msgid "IDS_MF_OPT_VIEW_AS" -msgstr "Visualizar como" - -msgid "IDS_MF_SK3_BACK" -msgstr "Voltar" - -msgid "IDS_MF_BODY_MY_VIDEO_CLIPS" -msgstr "Os meus clips de vídeo" - -msgid "IDS_MF_BODY_RIGHT_STATUS" -msgstr "Estado dos direitos" - -msgid "IDS_MF_BODY_VENDOR" -msgstr "Representante" - -msgid "IDS_MF_HEADER_COUNT" -msgstr "Contagem" - -msgid "IDS_MF_BODY_CONTAINS" -msgstr "Conteúdo" - -msgid "IDS_MF_BODY_INDIVIDUAL" -msgstr "Individual" - -msgid "IDS_MF_BODY_INTERVAL" -msgstr "Intervalo" - -msgid "IDS_MF_BODY_RENAME_ABB" -msgstr "M. nm." - -msgid "IDS_MF_BODY_TIME" -msgstr "Hora" - -msgid "IDS_MF_BODY_TIMED_COUNT" -msgstr "Contagem temporizada" - -msgid "IDS_MF_BODY_TYPE" -msgstr "Tipo" - -msgid "IDS_MF_BODY_UNLIMITED" -msgstr "Ilimitado" - -msgid "IDS_MF_BUTTON_REPLACE_ABB" -msgstr "Subs." - -msgid "IDS_MF_OPT_CALLER_RINGTONE" -msgstr "Toque do chamador" - -msgid "IDS_MF_OPT_LISTBY_NAME" -msgstr "Nome" - -msgid "IDS_MF_POP_COPIED" -msgstr "Copiado" - -msgid "IDS_MF_POP_NOTHING_SELECTED" -msgstr "Nada seleccionado" - -msgid "IDS_MF_POP_NOT_ENOUGH_HEAP_MEMORY" -msgstr "Memória de pilha insuficiente" - -msgid "IDS_MF_POP_NOT_ENOUGH_MEMORY_DELETE_SOME_ITEMS" -msgstr "Memória insuficiente. Apague alguns itens" - -msgid "IDS_MF_BODY_CREATED_DATE" -msgstr "Criado na data" - -msgid "IDS_MF_BODY_GPS_INFORMATION" -msgstr "Informações de GPS" - -msgid "IDS_MF_BODY_GPS_LATITUDE" -msgstr "Latitude GPS" - -msgid "IDS_MF_BODY_GPS_LONGITUDE" -msgstr "Longitude GPS" - -msgid "IDS_MF_BODY_GPS_VERSION" -msgstr "Versão GPS" - -msgid "IDS_MF_SK_DETAILS" -msgstr "Detalhes" - -msgid "IDS_MF_BODY_ANY" -msgstr "Qualquer" - -msgid "IDS_MF_BODY_AVAILABLE_USES" -msgstr "Utilizações disponíveis" - -msgid "IDS_MF_BODY_EXECUTE" -msgstr "Executar" - -msgid "IDS_MF_BODY_FORWARDING" -msgstr "Reencaminhar" - -msgid "IDS_MF_BODY_IMPOSSIBLE" -msgstr "Impossível" - -msgid "IDS_MF_BODY_MMC_DATA_IS_INITIALIZING_ING" -msgstr "Os dados MMC estão a ser iniciados..." - -msgid "IDS_MF_BODY_POSSIBLE" -msgstr "Possível" - -msgid "IDS_MF_BODY_PRINT" -msgstr "Imprimir" - -msgid "IDS_MF_BODY_VALIDITY" -msgstr "Validade" - -msgid "IDS_MF_HEADER_NEW_FOLDER" -msgstr "Nova pasta" - -msgid "IDS_MF_OPT_EDIT" -msgstr "Editar" - -msgid "IDS_MF_OPT_LIST_BY" -msgstr "Listar por" - -msgid "IDS_MF_OPT_MOVE_HERE" -msgstr "Mover para aqui" - -msgid "IDS_MF_POP_CONTINUE" -msgstr "Continuar" - -msgid "IDS_MF_POP_COPYING" -msgstr "A copiar..." - -msgid "IDS_MF_POP_PASTE_HERE" -msgstr "Colar aqui" - -msgid "IDS_MF_POP_UNSUPPORTED_FILE_TYPE" -msgstr "Tipo de ficheiro não suportado" - -msgid "IDS_MF_OPT_DETAIL_VIEW" -msgstr "Vista de detalhes" - -msgid "IDS_MF_POP_ASCENDING" -msgstr "Ascendente" - -msgid "IDS_MF_POP_DESCENDING" -msgstr "Descendente" - -msgid "IDS_MF_TAB_ALL" -msgstr "Tudo" - -msgid "IDS_MF_BODY_UP_M_BACK" -msgstr "Para cima" - -msgid "IDS_MF_BUTTON_SEARCH_ALL_FOLDERS" -msgstr "Proc. em todas pastas" - -msgid "IDS_MF_OPT_THUMBNAIL_VIEW" -msgstr "Vista de miniatura" - -msgid "IDS_MF_OPT_SHOW_FILE_EXTENSION" -msgstr "Mostrar extensão de ficheiro" - -msgid "IDS_MF_OPT_SORT_BY" -msgstr "Ordenar por" - -msgid "IDS_MF_BODY_LIST_AND_DETAILS_ABB" -msgstr "Lista e detalhes" - -msgid "IDS_MF_OPT_HIDE_FILE_EXTENSION_ABB" -msgstr "Ocultar ext. ficheiro" - -msgid "IDS_MF_OPT_NAME_HA_TO_Z" -msgstr "Nome (de A a Z)" - -msgid "IDS_MF_OPT_NAME_HZ_TO_A" -msgstr "Nome (de Z a A)" - -msgid "IDS_MF_OPT_DATE_HMOST_RECENT" -msgstr "Data (mais recente)" - -msgid "IDS_MF_OPT_DATE_HOLDEST" -msgstr "Data (mais antiga)" - -msgid "IDS_MF_BUTTON_GO_TO_MY_FILES" -msgstr "Ir para Os Meus Ficheiros" - -msgid "IDS_MF_BODY_RINGTONES" -msgstr "Tons de toque" - -msgid "IDS_MF_BUTTON_EXPORT_HERE" -msgstr "Exportar aqui" - -msgid "IDS_MF_POP_UNABLE_TO_SET_DRM_PROTECTED_CONTENT_AS_RINGTONE_OR_NOTIFICATION_ALERT" -msgstr "Impossível definir conteúdo protegido por DRM como tom de toque ou alerta de notificação" - diff --git a/data/po/ro.po b/data/po/ro.po deleted file mode 100644 index 9bbb247..0000000 --- a/data/po/ro.po +++ /dev/null @@ -1,318 +0,0 @@ -msgid "IDS_MF_TAB_UP" -msgstr "Sus" - -msgid "IDS_MF_BUTTON_HOME" -msgstr "Acasă" - -msgid "IDS_MF_OPT_VIEW_BY_LIST" -msgstr "Vizualizare tip listă" - -msgid "IDS_MF_OPT_VIEW_BY_THUMBNAIL" -msgstr "Vizualizare imagini în format redus" - -msgid "IDS_MF_POP_DELETE_FAILED" -msgstr "Ştergerea nu a reuşit" - -msgid "IDS_MF_POP_DRM_FILE_CANNOT_SEND" -msgstr "Fişier DRM. Imposibil de trimis" - -msgid "IDS_MF_POP_INVALID_FILE_NAME" -msgstr "Nume fişier incorect" - -msgid "IDS_MF_POP_MAXIMUM_FOLDER_REACHED" -msgstr "S-a atins nivelul maxim pentru folder" - -msgid "IDS_MF_POP_PERMISSION_DENIED" -msgstr "Permisiunea a fost refuzată" - -msgid "IDS_MF_POP_SEND_FAILED" -msgstr "Trimitere nereuşită" - -msgid "IDS_MF_POP_THE_DESTINATION_FOLDER_IS_A_SUBFOLDER_OF_THE_SOURCE_FOLDER" -msgstr "Fişierul de destinaţie este un subfişier al fişierului sursă" - -msgid "IDS_MF_POP_THIS_FILE_DOES_NOT_EXIST" -msgstr "Acest fişier nu există" - -msgid "IDS_MF_POP_UNABLE_TO_COPY" -msgstr "Imposibil de copiat" - -msgid "IDS_MF_POP_UNABLE_TO_MOVE" -msgstr "Imposibil de mutat" - -msgid "IDS_MF_BODY_NOT_ENOUGH_MEMORY_IN_PHONE_MEMORY_DELETE_SOME_ITEMS_AND_TRY_AGAIN" -msgstr "Memoria telefonului este insuficientă. Ştergeţi câteva elemente şi încercaţi din nou" - -msgid "IDS_MF_POP_COPYING_FAILED" -msgstr "Copierea nu a reuşit" - -msgid "IDS_MF_POP_MOVING_FAILED" -msgstr "Mutarea nu a reuşit" - -msgid "IDS_MF_POP_NOT_ENOUGH_MEMORY_PS_AVAILABLE" -msgstr "Memorie insuficientă. %s disponibil" - -msgid "IDS_MF_POP_SAME_NAME_ALREADY_IN_USE" -msgstr "Acelaşi nume deja în uz" - -msgid "IDS_MF_POP_UNABLE_TO_MOVE_DESTINATION_FOLDER_SAME_AS_SOURCE_FOLDER" -msgstr "Imposbil de mutat. Folderul de destinaţie acelaşi cu folderul sursă" - -msgid "IDS_MF_SK3_CREATE_FOLDER" -msgstr "Creare folder" - -msgid "IDS_MF_SK3_PASTE_HERE" -msgstr "Lipire aici" - -msgid "IDS_MF_BODY_ALERTS" -msgstr "Avertizări" - -msgid "IDS_MF_BODY_WALLPAPERS" -msgstr "Fundaluri" - -msgid "IDS_MF_TAB_PHONE" -msgstr "Telefon" - -msgid "IDS_MF_BODY_IMAGES" -msgstr "Imagini" - -msgid "IDS_MF_BODY_VIDEOS" -msgstr "Videoclipuri" - -msgid "IDS_MF_BODY_SOUNDS" -msgstr "Sunete" - -msgid "IDS_MF_BODY_DOWNLOADS" -msgstr "Descărcări" - -msgid "IDS_MF_TAB_MEMORY_CARD" -msgstr "Cartelă de memorie" - -msgid "IDS_MF_TAB_EXTERNAL_STORAGE" -msgstr "Stocare externă" - -msgid "IDS_MF_SK3_EDIT" -msgstr "Editare" - -msgid "IDS_MF_SK3_DELETE" -msgstr "Ştergere" - -msgid "IDS_MF_SK3_MOVE" -msgstr "Mutare" - -msgid "IDS_MF_BODY_UP" -msgstr "Sus" - -msgid "IDS_MF_SK3_MOVE_HERE" -msgstr "Mutare aici" - -msgid "IDS_MF_SK3_COPY" -msgstr "Copiere" - -msgid "IDS_MF_SK3_SORT_BY" -msgstr "Sortare după" - -msgid "IDS_MF_SK3_SEARCH" -msgstr "Căutare" - -msgid "IDS_MF_SK3_MORE" -msgstr "Mai multe" - -msgid "IDS_MF_OPT_CREATE_FOLDER" -msgstr "Creare director" - -msgid "IDS_MF_BODY_FOLDER_NAME" -msgstr "Nume director" - -msgid "IDS_MF_BODY_ACCESS_MORE_MY_ALBUM" -msgstr "Albumul meu" - -msgid "IDS_MF_OPT_VIEW_AS" -msgstr "Vizualizare ca" - -msgid "IDS_MF_SK3_BACK" -msgstr "Înapoi" - -msgid "IDS_MF_BODY_MY_VIDEO_CLIPS" -msgstr "Clipurile mele video" - -msgid "IDS_MF_BODY_RIGHT_STATUS" -msgstr "Stare drepturi" - -msgid "IDS_MF_BODY_VENDOR" -msgstr "Distribuitor" - -msgid "IDS_MF_HEADER_COUNT" -msgstr "Contor" - -msgid "IDS_MF_BODY_CONTAINS" -msgstr "Conţine" - -msgid "IDS_MF_BODY_INDIVIDUAL" -msgstr "Individual" - -msgid "IDS_MF_BODY_INTERVAL" -msgstr "Interval" - -msgid "IDS_MF_BODY_RENAME_ABB" -msgstr "Reden." - -msgid "IDS_MF_BODY_TIME" -msgstr "Oră" - -msgid "IDS_MF_BODY_TIMED_COUNT" -msgstr "Numărătoare temporizată" - -msgid "IDS_MF_BODY_TYPE" -msgstr "Tip" - -msgid "IDS_MF_BODY_UNLIMITED" -msgstr "Nelimitat" - -msgid "IDS_MF_BUTTON_REPLACE_ABB" -msgstr "Înloc." - -msgid "IDS_MF_OPT_CALLER_RINGTONE" -msgstr "Ton sonerie apelant" - -msgid "IDS_MF_OPT_LISTBY_NAME" -msgstr "Nume" - -msgid "IDS_MF_POP_COPIED" -msgstr "Copiat" - -msgid "IDS_MF_POP_NOTHING_SELECTED" -msgstr "Nimic selectat" - -msgid "IDS_MF_POP_NOT_ENOUGH_HEAP_MEMORY" -msgstr "Memorie heap insuficientă" - -msgid "IDS_MF_POP_NOT_ENOUGH_MEMORY_DELETE_SOME_ITEMS" -msgstr "Memorie insuficientă. Ştergeţi câteva elemente" - -msgid "IDS_MF_BODY_CREATED_DATE" -msgstr "Dată creare" - -msgid "IDS_MF_BODY_GPS_INFORMATION" -msgstr "Informaţii GPS" - -msgid "IDS_MF_BODY_GPS_LATITUDE" -msgstr "Latitudine GPS" - -msgid "IDS_MF_BODY_GPS_LONGITUDE" -msgstr "Longitudine GPS" - -msgid "IDS_MF_BODY_GPS_VERSION" -msgstr "Versiune GPS" - -msgid "IDS_MF_SK_DETAILS" -msgstr "Detalii" - -msgid "IDS_MF_BODY_ANY" -msgstr "Oricare" - -msgid "IDS_MF_BODY_AVAILABLE_USES" -msgstr "Utilizări disponibile" - -msgid "IDS_MF_BODY_EXECUTE" -msgstr "Executare" - -msgid "IDS_MF_BODY_FORWARDING" -msgstr "Redirecţionare" - -msgid "IDS_MF_BODY_IMPOSSIBLE" -msgstr "Imposibil" - -msgid "IDS_MF_BODY_MMC_DATA_IS_INITIALIZING_ING" -msgstr "Se iniţializează datele MMC..." - -msgid "IDS_MF_BODY_POSSIBLE" -msgstr "Posibil" - -msgid "IDS_MF_BODY_PRINT" -msgstr "Imprimare" - -msgid "IDS_MF_BODY_VALIDITY" -msgstr "Valabilitate" - -msgid "IDS_MF_HEADER_NEW_FOLDER" -msgstr "Folder nou" - -msgid "IDS_MF_OPT_EDIT" -msgstr "Editare" - -msgid "IDS_MF_OPT_LIST_BY" -msgstr "Listare după" - -msgid "IDS_MF_OPT_MOVE_HERE" -msgstr "Mutare aici" - -msgid "IDS_MF_POP_CONTINUE" -msgstr "Continuare" - -msgid "IDS_MF_POP_COPYING" -msgstr "Copiere..." - -msgid "IDS_MF_POP_PASTE_HERE" -msgstr "Lipire aici" - -msgid "IDS_MF_POP_UNSUPPORTED_FILE_TYPE" -msgstr "Tip fişier neacceptat" - -msgid "IDS_MF_OPT_DETAIL_VIEW" -msgstr "Afişare detaliată" - -msgid "IDS_MF_POP_ASCENDING" -msgstr "Crescător" - -msgid "IDS_MF_POP_DESCENDING" -msgstr "Descrescător" - -msgid "IDS_MF_TAB_ALL" -msgstr "Toate" - -msgid "IDS_MF_BODY_UP_M_BACK" -msgstr "Sus" - -msgid "IDS_MF_BUTTON_SEARCH_ALL_FOLDERS" -msgstr "Căutare totală foldere" - -msgid "IDS_MF_OPT_THUMBNAIL_VIEW" -msgstr "Vizualizare pictograme" - -msgid "IDS_MF_OPT_SHOW_FILE_EXTENSION" -msgstr "Afişare extensie de fişier" - -msgid "IDS_MF_OPT_SORT_BY" -msgstr "Sortare după" - -msgid "IDS_MF_BODY_LIST_AND_DETAILS_ABB" -msgstr "Listă şi detalii" - -msgid "IDS_MF_OPT_HIDE_FILE_EXTENSION_ABB" -msgstr "Ascundere ext. fişier" - -msgid "IDS_MF_OPT_NAME_HA_TO_Z" -msgstr "Nume (de la A la Z)" - -msgid "IDS_MF_OPT_NAME_HZ_TO_A" -msgstr "Nume (de la Z la A)" - -msgid "IDS_MF_OPT_DATE_HMOST_RECENT" -msgstr "Dată (cele mai recente)" - -msgid "IDS_MF_OPT_DATE_HOLDEST" -msgstr "Dată (cele mai vechi)" - -msgid "IDS_MF_BUTTON_GO_TO_MY_FILES" -msgstr "Accesare Fişierele mele" - -msgid "IDS_MF_BODY_RINGTONES" -msgstr "Tonuri sonerie" - -msgid "IDS_MF_BUTTON_EXPORT_HERE" -msgstr "Export aici" - -msgid "IDS_MF_POP_UNABLE_TO_SET_DRM_PROTECTED_CONTENT_AS_RINGTONE_OR_NOTIFICATION_ALERT" -msgstr "Imposibil de setat conţinutul protejat prin drepturi DRM ca ton de sonerie sau ca alertă de notificare" - diff --git a/data/po/ru_RU.po b/data/po/ru_RU.po deleted file mode 100644 index b939937..0000000 --- a/data/po/ru_RU.po +++ /dev/null @@ -1,318 +0,0 @@ -msgid "IDS_MF_TAB_UP" -msgstr "Вверх" - -msgid "IDS_MF_BUTTON_HOME" -msgstr "Домой" - -msgid "IDS_MF_OPT_VIEW_BY_LIST" -msgstr "Просмотр в виде списка" - -msgid "IDS_MF_OPT_VIEW_BY_THUMBNAIL" -msgstr "Просмотр по эскизам" - -msgid "IDS_MF_POP_DELETE_FAILED" -msgstr "Сбой удаления" - -msgid "IDS_MF_POP_DRM_FILE_CANNOT_SEND" -msgstr "Файл DRM. Невозможно отправить" - -msgid "IDS_MF_POP_INVALID_FILE_NAME" -msgstr "Неверное имя файла" - -msgid "IDS_MF_POP_MAXIMUM_FOLDER_REACHED" -msgstr "Достигнуто макс. количество папок" - -msgid "IDS_MF_POP_PERMISSION_DENIED" -msgstr "Разрешение не получено" - -msgid "IDS_MF_POP_SEND_FAILED" -msgstr "Сбой передачи" - -msgid "IDS_MF_POP_THE_DESTINATION_FOLDER_IS_A_SUBFOLDER_OF_THE_SOURCE_FOLDER" -msgstr "Папка назначения является вложенной в исходной папке" - -msgid "IDS_MF_POP_THIS_FILE_DOES_NOT_EXIST" -msgstr "Файл не существует" - -msgid "IDS_MF_POP_UNABLE_TO_COPY" -msgstr "Невозможно скопировать" - -msgid "IDS_MF_POP_UNABLE_TO_MOVE" -msgstr "Невозможно переместить" - -msgid "IDS_MF_BODY_NOT_ENOUGH_MEMORY_IN_PHONE_MEMORY_DELETE_SOME_ITEMS_AND_TRY_AGAIN" -msgstr "Недостаточно памяти телефона. Удалите ненужные элементы и повторите попытку" - -msgid "IDS_MF_POP_COPYING_FAILED" -msgstr "Сбой копирования" - -msgid "IDS_MF_POP_MOVING_FAILED" -msgstr "Сбой перемещения" - -msgid "IDS_MF_POP_NOT_ENOUGH_MEMORY_PS_AVAILABLE" -msgstr "Недостаточно памяти. Свободная память: %s" - -msgid "IDS_MF_POP_SAME_NAME_ALREADY_IN_USE" -msgstr "Имя уже используется" - -msgid "IDS_MF_POP_UNABLE_TO_MOVE_DESTINATION_FOLDER_SAME_AS_SOURCE_FOLDER" -msgstr "Невозможно переместить. Папка назначения совпадает с исходной папкой" - -msgid "IDS_MF_SK3_CREATE_FOLDER" -msgstr "Создать папку" - -msgid "IDS_MF_SK3_PASTE_HERE" -msgstr "Вставить сюда" - -msgid "IDS_MF_BODY_ALERTS" -msgstr "Оповещения" - -msgid "IDS_MF_BODY_WALLPAPERS" -msgstr "Обои" - -msgid "IDS_MF_TAB_PHONE" -msgstr "Телефон" - -msgid "IDS_MF_BODY_IMAGES" -msgstr "Картинки" - -msgid "IDS_MF_BODY_VIDEOS" -msgstr "Видео" - -msgid "IDS_MF_BODY_SOUNDS" -msgstr "Звуки" - -msgid "IDS_MF_BODY_DOWNLOADS" -msgstr "Загрузки" - -msgid "IDS_MF_TAB_MEMORY_CARD" -msgstr "Карта памяти" - -msgid "IDS_MF_TAB_EXTERNAL_STORAGE" -msgstr "Внешний носитель" - -msgid "IDS_MF_SK3_EDIT" -msgstr "Изменить" - -msgid "IDS_MF_SK3_DELETE" -msgstr "Удалить" - -msgid "IDS_MF_SK3_MOVE" -msgstr "Переместить" - -msgid "IDS_MF_BODY_UP" -msgstr "Вверх" - -msgid "IDS_MF_SK3_MOVE_HERE" -msgstr "Переместить сюда" - -msgid "IDS_MF_SK3_COPY" -msgstr "Копир." - -msgid "IDS_MF_SK3_SORT_BY" -msgstr "Сортировка" - -msgid "IDS_MF_SK3_SEARCH" -msgstr "Поиск" - -msgid "IDS_MF_SK3_MORE" -msgstr "Опции" - -msgid "IDS_MF_OPT_CREATE_FOLDER" -msgstr "Создать папку" - -msgid "IDS_MF_BODY_FOLDER_NAME" -msgstr "Имя папки" - -msgid "IDS_MF_BODY_ACCESS_MORE_MY_ALBUM" -msgstr "Мой альбом" - -msgid "IDS_MF_OPT_VIEW_AS" -msgstr "Просмотреть как" - -msgid "IDS_MF_SK3_BACK" -msgstr "Назад" - -msgid "IDS_MF_BODY_MY_VIDEO_CLIPS" -msgstr "Мои видеоклипы" - -msgid "IDS_MF_BODY_RIGHT_STATUS" -msgstr "Состояние прав" - -msgid "IDS_MF_BODY_VENDOR" -msgstr "Поставщик" - -msgid "IDS_MF_HEADER_COUNT" -msgstr "Количество" - -msgid "IDS_MF_BODY_CONTAINS" -msgstr "Содержит" - -msgid "IDS_MF_BODY_INDIVIDUAL" -msgstr "Индивидуальный" - -msgid "IDS_MF_BODY_INTERVAL" -msgstr "Интервал" - -msgid "IDS_MF_BODY_RENAME_ABB" -msgstr "Переим." - -msgid "IDS_MF_BODY_TIME" -msgstr "Время" - -msgid "IDS_MF_BODY_TIMED_COUNT" -msgstr "Счетчик" - -msgid "IDS_MF_BODY_TYPE" -msgstr "Тип" - -msgid "IDS_MF_BODY_UNLIMITED" -msgstr "Не ограничено" - -msgid "IDS_MF_BUTTON_REPLACE_ABB" -msgstr "Заменить" - -msgid "IDS_MF_OPT_CALLER_RINGTONE" -msgstr "Мелодия контакта" - -msgid "IDS_MF_OPT_LISTBY_NAME" -msgstr "Имя" - -msgid "IDS_MF_POP_COPIED" -msgstr "Скопировано" - -msgid "IDS_MF_POP_NOTHING_SELECTED" -msgstr "Ничего не выбрано" - -msgid "IDS_MF_POP_NOT_ENOUGH_HEAP_MEMORY" -msgstr "Недостаточно динамической памяти" - -msgid "IDS_MF_POP_NOT_ENOUGH_MEMORY_DELETE_SOME_ITEMS" -msgstr "Недостаточно памяти. Удалите некоторые элементы" - -msgid "IDS_MF_BODY_CREATED_DATE" -msgstr "Дата создания" - -msgid "IDS_MF_BODY_GPS_INFORMATION" -msgstr "Информация GPS" - -msgid "IDS_MF_BODY_GPS_LATITUDE" -msgstr "Широта по GPS" - -msgid "IDS_MF_BODY_GPS_LONGITUDE" -msgstr "Долгота по GPS" - -msgid "IDS_MF_BODY_GPS_VERSION" -msgstr "Версия GPS" - -msgid "IDS_MF_SK_DETAILS" -msgstr "Сведения" - -msgid "IDS_MF_BODY_ANY" -msgstr "Любой" - -msgid "IDS_MF_BODY_AVAILABLE_USES" -msgstr "Доступно" - -msgid "IDS_MF_BODY_EXECUTE" -msgstr "Запуск" - -msgid "IDS_MF_BODY_FORWARDING" -msgstr "Пересылка" - -msgid "IDS_MF_BODY_IMPOSSIBLE" -msgstr "Невозможно" - -msgid "IDS_MF_BODY_MMC_DATA_IS_INITIALIZING_ING" -msgstr "Инициализация данных MMC..." - -msgid "IDS_MF_BODY_POSSIBLE" -msgstr "Возможно" - -msgid "IDS_MF_BODY_PRINT" -msgstr "Печать" - -msgid "IDS_MF_BODY_VALIDITY" -msgstr "Период действия" - -msgid "IDS_MF_HEADER_NEW_FOLDER" -msgstr "Новая папка" - -msgid "IDS_MF_OPT_EDIT" -msgstr "Изменить" - -msgid "IDS_MF_OPT_LIST_BY" -msgstr "Сортировка по" - -msgid "IDS_MF_OPT_MOVE_HERE" -msgstr "Переместить сюда" - -msgid "IDS_MF_POP_CONTINUE" -msgstr "Продолжить" - -msgid "IDS_MF_POP_COPYING" -msgstr "Копирование..." - -msgid "IDS_MF_POP_PASTE_HERE" -msgstr "Вставить сюда" - -msgid "IDS_MF_POP_UNSUPPORTED_FILE_TYPE" -msgstr "Неподдерживаемый тип файла" - -msgid "IDS_MF_OPT_DETAIL_VIEW" -msgstr "Просмотр сведений" - -msgid "IDS_MF_POP_ASCENDING" -msgstr "По возрастанию" - -msgid "IDS_MF_POP_DESCENDING" -msgstr "По убыванию" - -msgid "IDS_MF_TAB_ALL" -msgstr "Все" - -msgid "IDS_MF_BODY_UP_M_BACK" -msgstr "Вверх" - -msgid "IDS_MF_BUTTON_SEARCH_ALL_FOLDERS" -msgstr "Поиск по всем папкам" - -msgid "IDS_MF_OPT_THUMBNAIL_VIEW" -msgstr "Эскизы" - -msgid "IDS_MF_OPT_SHOW_FILE_EXTENSION" -msgstr "Показать расширение файла" - -msgid "IDS_MF_OPT_SORT_BY" -msgstr "Сортировка" - -msgid "IDS_MF_BODY_LIST_AND_DETAILS_ABB" -msgstr "Подробный список" - -msgid "IDS_MF_OPT_HIDE_FILE_EXTENSION_ABB" -msgstr "Скрыть расширение" - -msgid "IDS_MF_OPT_NAME_HA_TO_Z" -msgstr "Имя (от А до Я)" - -msgid "IDS_MF_OPT_NAME_HZ_TO_A" -msgstr "Имя (от Я до А)" - -msgid "IDS_MF_OPT_DATE_HMOST_RECENT" -msgstr "Дата (сначала последние)" - -msgid "IDS_MF_OPT_DATE_HOLDEST" -msgstr "Дата (сначала старые)" - -msgid "IDS_MF_BUTTON_GO_TO_MY_FILES" -msgstr "Перейти в Мои файлы" - -msgid "IDS_MF_BODY_RINGTONES" -msgstr "Мелодии звонка" - -msgid "IDS_MF_BUTTON_EXPORT_HERE" -msgstr "Экспортировать сюда" - -msgid "IDS_MF_POP_UNABLE_TO_SET_DRM_PROTECTED_CONTENT_AS_RINGTONE_OR_NOTIFICATION_ALERT" -msgstr "Не удалось установить содержимое, защищенное DRM, в качестве мелодии звонка или сигнала уведомления" - diff --git a/data/po/sk.po b/data/po/sk.po deleted file mode 100644 index dad2163..0000000 --- a/data/po/sk.po +++ /dev/null @@ -1,318 +0,0 @@ -msgid "IDS_MF_TAB_UP" -msgstr "Hore" - -msgid "IDS_MF_BUTTON_HOME" -msgstr "Domov" - -msgid "IDS_MF_OPT_VIEW_BY_LIST" -msgstr "Zobraziť podľa zoznamu" - -msgid "IDS_MF_OPT_VIEW_BY_THUMBNAIL" -msgstr "Zobraziť podľa miniatúr" - -msgid "IDS_MF_POP_DELETE_FAILED" -msgstr "Vymazanie sa nepodarilo" - -msgid "IDS_MF_POP_DRM_FILE_CANNOT_SEND" -msgstr "Súbor DRM. Nedá sa odoslať" - -msgid "IDS_MF_POP_INVALID_FILE_NAME" -msgstr "Neplatný názov súboru" - -msgid "IDS_MF_POP_MAXIMUM_FOLDER_REACHED" -msgstr "Dosiahol sa maximálny počet priečinkov" - -msgid "IDS_MF_POP_PERMISSION_DENIED" -msgstr "Povolenie odmietnuté" - -msgid "IDS_MF_POP_SEND_FAILED" -msgstr "Odoslanie zlyhalo" - -msgid "IDS_MF_POP_THE_DESTINATION_FOLDER_IS_A_SUBFOLDER_OF_THE_SOURCE_FOLDER" -msgstr "Cieľový priečinok je podpriečinkom zdrojového priečinka" - -msgid "IDS_MF_POP_THIS_FILE_DOES_NOT_EXIST" -msgstr "Súbor neexistuje" - -msgid "IDS_MF_POP_UNABLE_TO_COPY" -msgstr "Nedá sa kopírovať" - -msgid "IDS_MF_POP_UNABLE_TO_MOVE" -msgstr "Nedá sa presunúť" - -msgid "IDS_MF_BODY_NOT_ENOUGH_MEMORY_IN_PHONE_MEMORY_DELETE_SOME_ITEMS_AND_TRY_AGAIN" -msgstr "Nedostatok pamäte telefónu. Vymažte niektoré položky a skúste to znova" - -msgid "IDS_MF_POP_COPYING_FAILED" -msgstr "Kopírovanie sa nepodarilo" - -msgid "IDS_MF_POP_MOVING_FAILED" -msgstr "Presunutie sa nepodarilo" - -msgid "IDS_MF_POP_NOT_ENOUGH_MEMORY_PS_AVAILABLE" -msgstr "Nedostatok pamäte. K dispozícii je %s" - -msgid "IDS_MF_POP_SAME_NAME_ALREADY_IN_USE" -msgstr "Rovnaký názov sa už používa" - -msgid "IDS_MF_POP_UNABLE_TO_MOVE_DESTINATION_FOLDER_SAME_AS_SOURCE_FOLDER" -msgstr "Nedá sa premiestniť. Cieľový priečinok je zhodný so zdrojovým priečinkom" - -msgid "IDS_MF_SK3_CREATE_FOLDER" -msgstr "Vytvoriť priečinok" - -msgid "IDS_MF_SK3_PASTE_HERE" -msgstr "Prilepiť sem" - -msgid "IDS_MF_BODY_ALERTS" -msgstr "Výstrahy" - -msgid "IDS_MF_BODY_WALLPAPERS" -msgstr "Tapety" - -msgid "IDS_MF_TAB_PHONE" -msgstr "Telefón" - -msgid "IDS_MF_BODY_IMAGES" -msgstr "Obrázky" - -msgid "IDS_MF_BODY_VIDEOS" -msgstr "Videá" - -msgid "IDS_MF_BODY_SOUNDS" -msgstr "Zvuky" - -msgid "IDS_MF_BODY_DOWNLOADS" -msgstr "Stiahnuté položky" - -msgid "IDS_MF_TAB_MEMORY_CARD" -msgstr "Pamäťová karta" - -msgid "IDS_MF_TAB_EXTERNAL_STORAGE" -msgstr "Exter. úložný priestor" - -msgid "IDS_MF_SK3_EDIT" -msgstr "Upraviť" - -msgid "IDS_MF_SK3_DELETE" -msgstr "Odstrániť" - -msgid "IDS_MF_SK3_MOVE" -msgstr "Presun." - -msgid "IDS_MF_BODY_UP" -msgstr "Hore" - -msgid "IDS_MF_SK3_MOVE_HERE" -msgstr "Presunúť sem" - -msgid "IDS_MF_SK3_COPY" -msgstr "Kopírovať" - -msgid "IDS_MF_SK3_SORT_BY" -msgstr "Zoradiť podľa" - -msgid "IDS_MF_SK3_SEARCH" -msgstr "Hľadať" - -msgid "IDS_MF_SK3_MORE" -msgstr "Ďalšie" - -msgid "IDS_MF_OPT_CREATE_FOLDER" -msgstr "Vytvoriť priečinok" - -msgid "IDS_MF_BODY_FOLDER_NAME" -msgstr "Názov priečinka" - -msgid "IDS_MF_BODY_ACCESS_MORE_MY_ALBUM" -msgstr "Môj album" - -msgid "IDS_MF_OPT_VIEW_AS" -msgstr "Zobraziť ako" - -msgid "IDS_MF_SK3_BACK" -msgstr "Späť" - -msgid "IDS_MF_BODY_MY_VIDEO_CLIPS" -msgstr "Moje videoklipy" - -msgid "IDS_MF_BODY_RIGHT_STATUS" -msgstr "Stav práv" - -msgid "IDS_MF_BODY_VENDOR" -msgstr "Dodávateľ" - -msgid "IDS_MF_HEADER_COUNT" -msgstr "Počet" - -msgid "IDS_MF_BODY_CONTAINS" -msgstr "Obsahuje" - -msgid "IDS_MF_BODY_INDIVIDUAL" -msgstr "Jednotlivé" - -msgid "IDS_MF_BODY_INTERVAL" -msgstr "Interval" - -msgid "IDS_MF_BODY_RENAME_ABB" -msgstr "Prem." - -msgid "IDS_MF_BODY_TIME" -msgstr "Čas" - -msgid "IDS_MF_BODY_TIMED_COUNT" -msgstr "Časovaný počet" - -msgid "IDS_MF_BODY_TYPE" -msgstr "Typ" - -msgid "IDS_MF_BODY_UNLIMITED" -msgstr "Neobmedzené" - -msgid "IDS_MF_BUTTON_REPLACE_ABB" -msgstr "Nahradiť" - -msgid "IDS_MF_OPT_CALLER_RINGTONE" -msgstr "Zvonenie volajúceho" - -msgid "IDS_MF_OPT_LISTBY_NAME" -msgstr "Meno" - -msgid "IDS_MF_POP_COPIED" -msgstr "Skopírované" - -msgid "IDS_MF_POP_NOTHING_SELECTED" -msgstr "Nič nie je vybrané" - -msgid "IDS_MF_POP_NOT_ENOUGH_HEAP_MEMORY" -msgstr "Nedostatok odkladacej pamäte" - -msgid "IDS_MF_POP_NOT_ENOUGH_MEMORY_DELETE_SOME_ITEMS" -msgstr "Nedostatok pamäte. Vymažte niektoré položky" - -msgid "IDS_MF_BODY_CREATED_DATE" -msgstr "Dátum vytvorenia" - -msgid "IDS_MF_BODY_GPS_INFORMATION" -msgstr "GPS informácie" - -msgid "IDS_MF_BODY_GPS_LATITUDE" -msgstr "Zemepisná šírka GPS" - -msgid "IDS_MF_BODY_GPS_LONGITUDE" -msgstr "Zemepisná dĺžka GPS" - -msgid "IDS_MF_BODY_GPS_VERSION" -msgstr "Verzia GPS" - -msgid "IDS_MF_SK_DETAILS" -msgstr "Podrobnosti" - -msgid "IDS_MF_BODY_ANY" -msgstr "Všetko" - -msgid "IDS_MF_BODY_AVAILABLE_USES" -msgstr "Počet použití k dispozícii" - -msgid "IDS_MF_BODY_EXECUTE" -msgstr "Vykonať" - -msgid "IDS_MF_BODY_FORWARDING" -msgstr "Preposlanie" - -msgid "IDS_MF_BODY_IMPOSSIBLE" -msgstr "Nemožné" - -msgid "IDS_MF_BODY_MMC_DATA_IS_INITIALIZING_ING" -msgstr "Inicializujú sa údaje MMC..." - -msgid "IDS_MF_BODY_POSSIBLE" -msgstr "Možné" - -msgid "IDS_MF_BODY_PRINT" -msgstr "Tlač" - -msgid "IDS_MF_BODY_VALIDITY" -msgstr "Platnosť" - -msgid "IDS_MF_HEADER_NEW_FOLDER" -msgstr "Nový priečinok" - -msgid "IDS_MF_OPT_EDIT" -msgstr "Upraviť" - -msgid "IDS_MF_OPT_LIST_BY" -msgstr "Zoradiť podľa" - -msgid "IDS_MF_OPT_MOVE_HERE" -msgstr "Presunúť sem" - -msgid "IDS_MF_POP_CONTINUE" -msgstr "Pokračovať" - -msgid "IDS_MF_POP_COPYING" -msgstr "Kopírovanie..." - -msgid "IDS_MF_POP_PASTE_HERE" -msgstr "Vložiť sem" - -msgid "IDS_MF_POP_UNSUPPORTED_FILE_TYPE" -msgstr "Nepodporovaný typ súboru" - -msgid "IDS_MF_OPT_DETAIL_VIEW" -msgstr "Detailné zobrazenie" - -msgid "IDS_MF_POP_ASCENDING" -msgstr "Vzostupne" - -msgid "IDS_MF_POP_DESCENDING" -msgstr "Zostupne" - -msgid "IDS_MF_TAB_ALL" -msgstr "Všetko" - -msgid "IDS_MF_BODY_UP_M_BACK" -msgstr "Hore" - -msgid "IDS_MF_BUTTON_SEARCH_ALL_FOLDERS" -msgstr "Hľadať vo všet. prieč." - -msgid "IDS_MF_OPT_THUMBNAIL_VIEW" -msgstr "Zobrazenie miniatúr" - -msgid "IDS_MF_OPT_SHOW_FILE_EXTENSION" -msgstr "Zobraziť príponu súboru" - -msgid "IDS_MF_OPT_SORT_BY" -msgstr "Usporiadať podľa" - -msgid "IDS_MF_BODY_LIST_AND_DETAILS_ABB" -msgstr "Zoznam a podrobnosti" - -msgid "IDS_MF_OPT_HIDE_FILE_EXTENSION_ABB" -msgstr "Skryť príponu súboru" - -msgid "IDS_MF_OPT_NAME_HA_TO_Z" -msgstr "Názov (od A po Z)" - -msgid "IDS_MF_OPT_NAME_HZ_TO_A" -msgstr "Názov (od Z po A)" - -msgid "IDS_MF_OPT_DATE_HMOST_RECENT" -msgstr "Dátum (najnovšie)" - -msgid "IDS_MF_OPT_DATE_HOLDEST" -msgstr "Dátum (najstaršie)" - -msgid "IDS_MF_BUTTON_GO_TO_MY_FILES" -msgstr "Ísť na Moje súbory" - -msgid "IDS_MF_BODY_RINGTONES" -msgstr "Zvonenia" - -msgid "IDS_MF_BUTTON_EXPORT_HERE" -msgstr "Exportovať sem" - -msgid "IDS_MF_POP_UNABLE_TO_SET_DRM_PROTECTED_CONTENT_AS_RINGTONE_OR_NOTIFICATION_ALERT" -msgstr "Obsah chránený technológiou DRM nemožno nastaviť ako vyzváňací tón ani upozornenie na oznámenie" - diff --git a/data/po/sl.po b/data/po/sl.po deleted file mode 100644 index a7acac8..0000000 --- a/data/po/sl.po +++ /dev/null @@ -1,318 +0,0 @@ -msgid "IDS_MF_TAB_UP" -msgstr "Gor" - -msgid "IDS_MF_BUTTON_HOME" -msgstr "Domov" - -msgid "IDS_MF_OPT_VIEW_BY_LIST" -msgstr "Pregled po seznamu" - -msgid "IDS_MF_OPT_VIEW_BY_THUMBNAIL" -msgstr "Prikaži s sličicami" - -msgid "IDS_MF_POP_DELETE_FAILED" -msgstr "Brisanje ni uspelo" - -msgid "IDS_MF_POP_DRM_FILE_CANNOT_SEND" -msgstr "Datoteka DRM. Ni mogoče shraniti" - -msgid "IDS_MF_POP_INVALID_FILE_NAME" -msgstr "Neveljavno ime datoteke" - -msgid "IDS_MF_POP_MAXIMUM_FOLDER_REACHED" -msgstr "Doseženo je največje dovoljeno število map" - -msgid "IDS_MF_POP_PERMISSION_DENIED" -msgstr "Dovoljenje zavrnjeno" - -msgid "IDS_MF_POP_SEND_FAILED" -msgstr "Pošiljanje ni uspelo" - -msgid "IDS_MF_POP_THE_DESTINATION_FOLDER_IS_A_SUBFOLDER_OF_THE_SOURCE_FOLDER" -msgstr "Ciljna mapa je podmapa izvorne" - -msgid "IDS_MF_POP_THIS_FILE_DOES_NOT_EXIST" -msgstr "Ta datoteka ne obstaja" - -msgid "IDS_MF_POP_UNABLE_TO_COPY" -msgstr "Ni mogoče kopirati" - -msgid "IDS_MF_POP_UNABLE_TO_MOVE" -msgstr "Premikanje ni mogoče" - -msgid "IDS_MF_BODY_NOT_ENOUGH_MEMORY_IN_PHONE_MEMORY_DELETE_SOME_ITEMS_AND_TRY_AGAIN" -msgstr "Ni dovolj pomnilnika v telefonskem polnilniku. Zbrišite nekaj elementov in poskusite znova" - -msgid "IDS_MF_POP_COPYING_FAILED" -msgstr "Kopiranje ni uspelo" - -msgid "IDS_MF_POP_MOVING_FAILED" -msgstr "Premikanje ni uspelo" - -msgid "IDS_MF_POP_NOT_ENOUGH_MEMORY_PS_AVAILABLE" -msgstr "Ni dovolj pomnilnika. Na voljo je %s" - -msgid "IDS_MF_POP_SAME_NAME_ALREADY_IN_USE" -msgstr "XXX se že uporablja" - -msgid "IDS_MF_POP_UNABLE_TO_MOVE_DESTINATION_FOLDER_SAME_AS_SOURCE_FOLDER" -msgstr "Ni mogoče premakniti. Ciljna mapa je enaka izvorni" - -msgid "IDS_MF_SK3_CREATE_FOLDER" -msgstr "Ustvari mapo" - -msgid "IDS_MF_SK3_PASTE_HERE" -msgstr "Prilepi sem" - -msgid "IDS_MF_BODY_ALERTS" -msgstr "Opozorila" - -msgid "IDS_MF_BODY_WALLPAPERS" -msgstr "Ozadja" - -msgid "IDS_MF_TAB_PHONE" -msgstr "Telefon" - -msgid "IDS_MF_BODY_IMAGES" -msgstr "Slike" - -msgid "IDS_MF_BODY_VIDEOS" -msgstr "Videoposnetki" - -msgid "IDS_MF_BODY_SOUNDS" -msgstr "Zvoki" - -msgid "IDS_MF_BODY_DOWNLOADS" -msgstr "Prenosi" - -msgid "IDS_MF_TAB_MEMORY_CARD" -msgstr "Pomniln. kartica" - -msgid "IDS_MF_TAB_EXTERNAL_STORAGE" -msgstr "Zunanji pomnilnik" - -msgid "IDS_MF_SK3_EDIT" -msgstr "Uredi" - -msgid "IDS_MF_SK3_DELETE" -msgstr "Izbriši" - -msgid "IDS_MF_SK3_MOVE" -msgstr "Premik" - -msgid "IDS_MF_BODY_UP" -msgstr "Gor" - -msgid "IDS_MF_SK3_MOVE_HERE" -msgstr "Premakni sem" - -msgid "IDS_MF_SK3_COPY" -msgstr "Kopiraj" - -msgid "IDS_MF_SK3_SORT_BY" -msgstr "Razvrsti po" - -msgid "IDS_MF_SK3_SEARCH" -msgstr "Iskanje" - -msgid "IDS_MF_SK3_MORE" -msgstr "Več" - -msgid "IDS_MF_OPT_CREATE_FOLDER" -msgstr "Ustvari mapo" - -msgid "IDS_MF_BODY_FOLDER_NAME" -msgstr "Ime mape" - -msgid "IDS_MF_BODY_ACCESS_MORE_MY_ALBUM" -msgstr "Moj album" - -msgid "IDS_MF_OPT_VIEW_AS" -msgstr "Prikaži kot" - -msgid "IDS_MF_SK3_BACK" -msgstr "Nazaj" - -msgid "IDS_MF_BODY_MY_VIDEO_CLIPS" -msgstr "Moji videoposnetki" - -msgid "IDS_MF_BODY_RIGHT_STATUS" -msgstr "Stanje pravic" - -msgid "IDS_MF_BODY_VENDOR" -msgstr "Ponudnik" - -msgid "IDS_MF_HEADER_COUNT" -msgstr "Štetje" - -msgid "IDS_MF_BODY_CONTAINS" -msgstr "Vsebuje" - -msgid "IDS_MF_BODY_INDIVIDUAL" -msgstr "Posamezno" - -msgid "IDS_MF_BODY_INTERVAL" -msgstr "Interval" - -msgid "IDS_MF_BODY_RENAME_ABB" -msgstr "Preim." - -msgid "IDS_MF_BODY_TIME" -msgstr "Čas" - -msgid "IDS_MF_BODY_TIMED_COUNT" -msgstr "Časovno število" - -msgid "IDS_MF_BODY_TYPE" -msgstr "Vrsta" - -msgid "IDS_MF_BODY_UNLIMITED" -msgstr "Neomejeno" - -msgid "IDS_MF_BUTTON_REPLACE_ABB" -msgstr "Zamenjaj" - -msgid "IDS_MF_OPT_CALLER_RINGTONE" -msgstr "Melodija kličočega" - -msgid "IDS_MF_OPT_LISTBY_NAME" -msgstr "Ime" - -msgid "IDS_MF_POP_COPIED" -msgstr "Kopirano" - -msgid "IDS_MF_POP_NOTHING_SELECTED" -msgstr "Nič ni izbrano" - -msgid "IDS_MF_POP_NOT_ENOUGH_HEAP_MEMORY" -msgstr "Ni dovolj pomnilnika sklada" - -msgid "IDS_MF_POP_NOT_ENOUGH_MEMORY_DELETE_SOME_ITEMS" -msgstr "Ni dovolj pomnilnika. Izbrišite nekaj predmetov" - -msgid "IDS_MF_BODY_CREATED_DATE" -msgstr "Datum ustvarjanja" - -msgid "IDS_MF_BODY_GPS_INFORMATION" -msgstr "Informacije GPS" - -msgid "IDS_MF_BODY_GPS_LATITUDE" -msgstr "Zemljepisna širina GPS" - -msgid "IDS_MF_BODY_GPS_LONGITUDE" -msgstr "Zemljepisna dolžina GPS" - -msgid "IDS_MF_BODY_GPS_VERSION" -msgstr "Različica GPS" - -msgid "IDS_MF_SK_DETAILS" -msgstr "Podrob." - -msgid "IDS_MF_BODY_ANY" -msgstr "Karkoli" - -msgid "IDS_MF_BODY_AVAILABLE_USES" -msgstr "Število uporab" - -msgid "IDS_MF_BODY_EXECUTE" -msgstr "Izvedi" - -msgid "IDS_MF_BODY_FORWARDING" -msgstr "Posredovanje" - -msgid "IDS_MF_BODY_IMPOSSIBLE" -msgstr "Nemogoče" - -msgid "IDS_MF_BODY_MMC_DATA_IS_INITIALIZING_ING" -msgstr "Podatki MMC se inicializirajo ..." - -msgid "IDS_MF_BODY_POSSIBLE" -msgstr "Mogoče" - -msgid "IDS_MF_BODY_PRINT" -msgstr "Tiskanje" - -msgid "IDS_MF_BODY_VALIDITY" -msgstr "Veljavnost" - -msgid "IDS_MF_HEADER_NEW_FOLDER" -msgstr "Nova mapa" - -msgid "IDS_MF_OPT_EDIT" -msgstr "Uredi" - -msgid "IDS_MF_OPT_LIST_BY" -msgstr "Razvrsti po" - -msgid "IDS_MF_OPT_MOVE_HERE" -msgstr "Premakni sem" - -msgid "IDS_MF_POP_CONTINUE" -msgstr "Nadaljuj" - -msgid "IDS_MF_POP_COPYING" -msgstr "Kopiram ..." - -msgid "IDS_MF_POP_PASTE_HERE" -msgstr "Prilepi sem" - -msgid "IDS_MF_POP_UNSUPPORTED_FILE_TYPE" -msgstr "Nepodprta vrsta datoteke" - -msgid "IDS_MF_OPT_DETAIL_VIEW" -msgstr "Podroben ogled" - -msgid "IDS_MF_POP_ASCENDING" -msgstr "Naraščajoče" - -msgid "IDS_MF_POP_DESCENDING" -msgstr "Padajoče" - -msgid "IDS_MF_TAB_ALL" -msgstr "Vse" - -msgid "IDS_MF_BODY_UP_M_BACK" -msgstr "Gor" - -msgid "IDS_MF_BUTTON_SEARCH_ALL_FOLDERS" -msgstr "Iskanje po vseh mapah" - -msgid "IDS_MF_OPT_THUMBNAIL_VIEW" -msgstr "Prikaz sličice" - -msgid "IDS_MF_OPT_SHOW_FILE_EXTENSION" -msgstr "Prikaži končnico datoteke" - -msgid "IDS_MF_OPT_SORT_BY" -msgstr "Uredi po" - -msgid "IDS_MF_BODY_LIST_AND_DETAILS_ABB" -msgstr "Seznam in podrobnosti" - -msgid "IDS_MF_OPT_HIDE_FILE_EXTENSION_ABB" -msgstr "Skrij pripono datoteke" - -msgid "IDS_MF_OPT_NAME_HA_TO_Z" -msgstr "Ime (od A proti Z)" - -msgid "IDS_MF_OPT_NAME_HZ_TO_A" -msgstr "Ime (od Z proti A)" - -msgid "IDS_MF_OPT_DATE_HMOST_RECENT" -msgstr "Datum (Najnovejši)" - -msgid "IDS_MF_OPT_DATE_HOLDEST" -msgstr "Datum (Najstarejši)" - -msgid "IDS_MF_BUTTON_GO_TO_MY_FILES" -msgstr "Pojdi na Moje datot." - -msgid "IDS_MF_BODY_RINGTONES" -msgstr "Zvonjenja" - -msgid "IDS_MF_BUTTON_EXPORT_HERE" -msgstr "Izvozi sem" - -msgid "IDS_MF_POP_UNABLE_TO_SET_DRM_PROTECTED_CONTENT_AS_RINGTONE_OR_NOTIFICATION_ALERT" -msgstr "Vsebine, zaščitene z DRM, ni mogoče nastaviti za zvonjenje ali opozorilo" - diff --git a/data/po/sr.po b/data/po/sr.po deleted file mode 100644 index 1223920..0000000 --- a/data/po/sr.po +++ /dev/null @@ -1,318 +0,0 @@ -msgid "IDS_MF_TAB_UP" -msgstr "Gore" - -msgid "IDS_MF_BUTTON_HOME" -msgstr "Početak" - -msgid "IDS_MF_OPT_VIEW_BY_LIST" -msgstr "Prikaži po listi" - -msgid "IDS_MF_OPT_VIEW_BY_THUMBNAIL" -msgstr "Prikaži kao indeksne sličice" - -msgid "IDS_MF_POP_DELETE_FAILED" -msgstr "Brisanje neuspešno" - -msgid "IDS_MF_POP_DRM_FILE_CANNOT_SEND" -msgstr "DRM fajl. Ne može se poslati" - -msgid "IDS_MF_POP_INVALID_FILE_NAME" -msgstr "Neispravan naziv fajla" - -msgid "IDS_MF_POP_MAXIMUM_FOLDER_REACHED" -msgstr "Dostignut maksimalan broj foldera" - -msgid "IDS_MF_POP_PERMISSION_DENIED" -msgstr "Dozvola odbijena" - -msgid "IDS_MF_POP_SEND_FAILED" -msgstr "Slanje neuspešno" - -msgid "IDS_MF_POP_THE_DESTINATION_FOLDER_IS_A_SUBFOLDER_OF_THE_SOURCE_FOLDER" -msgstr "Odredišni folder je podfolder izvornog foldera" - -msgid "IDS_MF_POP_THIS_FILE_DOES_NOT_EXIST" -msgstr "Fajl ne postoji" - -msgid "IDS_MF_POP_UNABLE_TO_COPY" -msgstr "Nemoguće kopirati" - -msgid "IDS_MF_POP_UNABLE_TO_MOVE" -msgstr "Nemoguće premestiti" - -msgid "IDS_MF_BODY_NOT_ENOUGH_MEMORY_IN_PHONE_MEMORY_DELETE_SOME_ITEMS_AND_TRY_AGAIN" -msgstr "Nedovoljno memorije u memoriji telefona. Obriši neke stavke i probaj opet" - -msgid "IDS_MF_POP_COPYING_FAILED" -msgstr "Kopiranje neuspešno" - -msgid "IDS_MF_POP_MOVING_FAILED" -msgstr "Premeštanje neuspešno" - -msgid "IDS_MF_POP_NOT_ENOUGH_MEMORY_PS_AVAILABLE" -msgstr "Nedovoljna memorija. %s dostupno" - -msgid "IDS_MF_POP_SAME_NAME_ALREADY_IN_USE" -msgstr "Taj naziv je već u upotrebi" - -msgid "IDS_MF_POP_UNABLE_TO_MOVE_DESTINATION_FOLDER_SAME_AS_SOURCE_FOLDER" -msgstr "Nemoguće premestiti. Odredišni folder isti kao izvorni" - -msgid "IDS_MF_SK3_CREATE_FOLDER" -msgstr "Kreiraj folder" - -msgid "IDS_MF_SK3_PASTE_HERE" -msgstr "Zalepi ovde" - -msgid "IDS_MF_BODY_ALERTS" -msgstr "Upozorenja" - -msgid "IDS_MF_BODY_WALLPAPERS" -msgstr "Tapeti" - -msgid "IDS_MF_TAB_PHONE" -msgstr "Telefon" - -msgid "IDS_MF_BODY_IMAGES" -msgstr "Slike" - -msgid "IDS_MF_BODY_VIDEOS" -msgstr "Video zapisi" - -msgid "IDS_MF_BODY_SOUNDS" -msgstr "Zvuci" - -msgid "IDS_MF_BODY_DOWNLOADS" -msgstr "Preuzimanja" - -msgid "IDS_MF_TAB_MEMORY_CARD" -msgstr "Memor. kartica" - -msgid "IDS_MF_TAB_EXTERNAL_STORAGE" -msgstr "Spoljna memorija" - -msgid "IDS_MF_SK3_EDIT" -msgstr "Izmeni" - -msgid "IDS_MF_SK3_DELETE" -msgstr "Obriši" - -msgid "IDS_MF_SK3_MOVE" -msgstr "Premesti" - -msgid "IDS_MF_BODY_UP" -msgstr "Gore" - -msgid "IDS_MF_SK3_MOVE_HERE" -msgstr "Premesti ovde" - -msgid "IDS_MF_SK3_COPY" -msgstr "Kopiraj" - -msgid "IDS_MF_SK3_SORT_BY" -msgstr "Sortiraj po" - -msgid "IDS_MF_SK3_SEARCH" -msgstr "Pretraga" - -msgid "IDS_MF_SK3_MORE" -msgstr "Još" - -msgid "IDS_MF_OPT_CREATE_FOLDER" -msgstr "Kreiraj folder" - -msgid "IDS_MF_BODY_FOLDER_NAME" -msgstr "Naziv foldera" - -msgid "IDS_MF_BODY_ACCESS_MORE_MY_ALBUM" -msgstr "Moj album" - -msgid "IDS_MF_OPT_VIEW_AS" -msgstr "Videti kao" - -msgid "IDS_MF_SK3_BACK" -msgstr "Nazad" - -msgid "IDS_MF_BODY_MY_VIDEO_CLIPS" -msgstr "Moji video klipovi" - -msgid "IDS_MF_BODY_RIGHT_STATUS" -msgstr "Pravni status" - -msgid "IDS_MF_BODY_VENDOR" -msgstr "Dobavljač" - -msgid "IDS_MF_HEADER_COUNT" -msgstr "Broj" - -msgid "IDS_MF_BODY_CONTAINS" -msgstr "Sadrži" - -msgid "IDS_MF_BODY_INDIVIDUAL" -msgstr "Pojedinačno" - -msgid "IDS_MF_BODY_INTERVAL" -msgstr "Interval" - -msgid "IDS_MF_BODY_RENAME_ABB" -msgstr "Preim." - -msgid "IDS_MF_BODY_TIME" -msgstr "Vreme" - -msgid "IDS_MF_BODY_TIMED_COUNT" -msgstr "Preostalo vreme" - -msgid "IDS_MF_BODY_TYPE" -msgstr "Tip" - -msgid "IDS_MF_BODY_UNLIMITED" -msgstr "Neograničeno" - -msgid "IDS_MF_BUTTON_REPLACE_ABB" -msgstr "Zameni" - -msgid "IDS_MF_OPT_CALLER_RINGTONE" -msgstr "Ton zvona pozivaoca" - -msgid "IDS_MF_OPT_LISTBY_NAME" -msgstr "Ime" - -msgid "IDS_MF_POP_COPIED" -msgstr "Iskopirano" - -msgid "IDS_MF_POP_NOTHING_SELECTED" -msgstr "Ništa nije izabrano" - -msgid "IDS_MF_POP_NOT_ENOUGH_HEAP_MEMORY" -msgstr "Nedovoljna memorija" - -msgid "IDS_MF_POP_NOT_ENOUGH_MEMORY_DELETE_SOME_ITEMS" -msgstr "Nedovoljno memorije. Obriši neke od stavki" - -msgid "IDS_MF_BODY_CREATED_DATE" -msgstr "Datum kreiranja" - -msgid "IDS_MF_BODY_GPS_INFORMATION" -msgstr "GPS informacije" - -msgid "IDS_MF_BODY_GPS_LATITUDE" -msgstr "Geografska širina za GPS" - -msgid "IDS_MF_BODY_GPS_LONGITUDE" -msgstr "Geografska dužina za GPS" - -msgid "IDS_MF_BODY_GPS_VERSION" -msgstr "Verzija GPS-a" - -msgid "IDS_MF_SK_DETAILS" -msgstr "Detalji" - -msgid "IDS_MF_BODY_ANY" -msgstr "Sve" - -msgid "IDS_MF_BODY_AVAILABLE_USES" -msgstr "Moguće upotrebe" - -msgid "IDS_MF_BODY_EXECUTE" -msgstr "Izvrši" - -msgid "IDS_MF_BODY_FORWARDING" -msgstr "Prosleđivanje" - -msgid "IDS_MF_BODY_IMPOSSIBLE" -msgstr "Nemoguće" - -msgid "IDS_MF_BODY_MMC_DATA_IS_INITIALIZING_ING" -msgstr "MMC podaci se inicijalizuju..." - -msgid "IDS_MF_BODY_POSSIBLE" -msgstr "moguće" - -msgid "IDS_MF_BODY_PRINT" -msgstr "Štampaj" - -msgid "IDS_MF_BODY_VALIDITY" -msgstr "Važenje" - -msgid "IDS_MF_HEADER_NEW_FOLDER" -msgstr "Novi folder" - -msgid "IDS_MF_OPT_EDIT" -msgstr "Izmeni" - -msgid "IDS_MF_OPT_LIST_BY" -msgstr "Listaj po" - -msgid "IDS_MF_OPT_MOVE_HERE" -msgstr "Premesti ovde" - -msgid "IDS_MF_POP_CONTINUE" -msgstr "Nastavi" - -msgid "IDS_MF_POP_COPYING" -msgstr "Kopiranje..." - -msgid "IDS_MF_POP_PASTE_HERE" -msgstr "Zalepi ovde" - -msgid "IDS_MF_POP_UNSUPPORTED_FILE_TYPE" -msgstr "Nepodržani tip fajla" - -msgid "IDS_MF_OPT_DETAIL_VIEW" -msgstr "Prikaz detalja" - -msgid "IDS_MF_POP_ASCENDING" -msgstr "Rastuće" - -msgid "IDS_MF_POP_DESCENDING" -msgstr "Opadajuće" - -msgid "IDS_MF_TAB_ALL" -msgstr "Sve" - -msgid "IDS_MF_BODY_UP_M_BACK" -msgstr "Gore" - -msgid "IDS_MF_BUTTON_SEARCH_ALL_FOLDERS" -msgstr "Pretraži sve foldere" - -msgid "IDS_MF_OPT_THUMBNAIL_VIEW" -msgstr "Indeksni prikaz" - -msgid "IDS_MF_OPT_SHOW_FILE_EXTENSION" -msgstr "Prikaži ekstenziju fajla" - -msgid "IDS_MF_OPT_SORT_BY" -msgstr "Sortiraj po" - -msgid "IDS_MF_BODY_LIST_AND_DETAILS_ABB" -msgstr "Lista sa detaljima" - -msgid "IDS_MF_OPT_HIDE_FILE_EXTENSION_ABB" -msgstr "Sakrij det. tipa fajla" - -msgid "IDS_MF_OPT_NAME_HA_TO_Z" -msgstr "Ime (od A do Z)" - -msgid "IDS_MF_OPT_NAME_HZ_TO_A" -msgstr "Ime (od Z do A)" - -msgid "IDS_MF_OPT_DATE_HMOST_RECENT" -msgstr "Datumu (najnovije)" - -msgid "IDS_MF_OPT_DATE_HOLDEST" -msgstr "Datumu (najstarije)" - -msgid "IDS_MF_BUTTON_GO_TO_MY_FILES" -msgstr "Idi u Moje fajlove" - -msgid "IDS_MF_BODY_RINGTONES" -msgstr "Tonovi zvona" - -msgid "IDS_MF_BUTTON_EXPORT_HERE" -msgstr "Izvezi ovde" - -msgid "IDS_MF_POP_UNABLE_TO_SET_DRM_PROTECTED_CONTENT_AS_RINGTONE_OR_NOTIFICATION_ALERT" -msgstr "Nije moguće podesiti sadržaj koji ima DRM zaštitu kao ton zvona ili upozorenje o obaveštenju" - diff --git a/data/po/sv.po b/data/po/sv.po deleted file mode 100644 index 4dad0e7..0000000 --- a/data/po/sv.po +++ /dev/null @@ -1,318 +0,0 @@ -msgid "IDS_MF_TAB_UP" -msgstr "Uppåt" - -msgid "IDS_MF_BUTTON_HOME" -msgstr "Hem" - -msgid "IDS_MF_OPT_VIEW_BY_LIST" -msgstr "Visa som lista" - -msgid "IDS_MF_OPT_VIEW_BY_THUMBNAIL" -msgstr "Visa som miniatyrbilder" - -msgid "IDS_MF_POP_DELETE_FAILED" -msgstr "Radering misslyckades" - -msgid "IDS_MF_POP_DRM_FILE_CANNOT_SEND" -msgstr "DRM-fil. Kan inte skicka" - -msgid "IDS_MF_POP_INVALID_FILE_NAME" -msgstr "Ogiltigt filnamn" - -msgid "IDS_MF_POP_MAXIMUM_FOLDER_REACHED" -msgstr "Max antal mappar" - -msgid "IDS_MF_POP_PERMISSION_DENIED" -msgstr "Tillstånd nekades" - -msgid "IDS_MF_POP_SEND_FAILED" -msgstr "Sändning misslyckades" - -msgid "IDS_MF_POP_THE_DESTINATION_FOLDER_IS_A_SUBFOLDER_OF_THE_SOURCE_FOLDER" -msgstr "Målmappen är en undermapp till källmappen" - -msgid "IDS_MF_POP_THIS_FILE_DOES_NOT_EXIST" -msgstr "Filen finns inte" - -msgid "IDS_MF_POP_UNABLE_TO_COPY" -msgstr "Det går inte att kopiera" - -msgid "IDS_MF_POP_UNABLE_TO_MOVE" -msgstr "Det går inte att flytta" - -msgid "IDS_MF_BODY_NOT_ENOUGH_MEMORY_IN_PHONE_MEMORY_DELETE_SOME_ITEMS_AND_TRY_AGAIN" -msgstr "Otillräckligt telefonminne. Radera några filer och försök igen" - -msgid "IDS_MF_POP_COPYING_FAILED" -msgstr "Kopieringen misslyckades" - -msgid "IDS_MF_POP_MOVING_FAILED" -msgstr "Det gick inte att flytta" - -msgid "IDS_MF_POP_NOT_ENOUGH_MEMORY_PS_AVAILABLE" -msgstr "För lite minne. %s tillgängligt" - -msgid "IDS_MF_POP_SAME_NAME_ALREADY_IN_USE" -msgstr "Detta namn används redan" - -msgid "IDS_MF_POP_UNABLE_TO_MOVE_DESTINATION_FOLDER_SAME_AS_SOURCE_FOLDER" -msgstr "Kan inte flytta. Målmappen är densamma som källmappen" - -msgid "IDS_MF_SK3_CREATE_FOLDER" -msgstr "Skapa mapp" - -msgid "IDS_MF_SK3_PASTE_HERE" -msgstr "Klistra in här" - -msgid "IDS_MF_BODY_ALERTS" -msgstr "Påminnelser" - -msgid "IDS_MF_BODY_WALLPAPERS" -msgstr "Bakgrunder" - -msgid "IDS_MF_TAB_PHONE" -msgstr "Telefon" - -msgid "IDS_MF_BODY_IMAGES" -msgstr "Bilder" - -msgid "IDS_MF_BODY_VIDEOS" -msgstr "Videoklipp" - -msgid "IDS_MF_BODY_SOUNDS" -msgstr "Ljud" - -msgid "IDS_MF_BODY_DOWNLOADS" -msgstr "Nedladdningar" - -msgid "IDS_MF_TAB_MEMORY_CARD" -msgstr "Minneskort" - -msgid "IDS_MF_TAB_EXTERNAL_STORAGE" -msgstr "Externt minne" - -msgid "IDS_MF_SK3_EDIT" -msgstr "Redigera" - -msgid "IDS_MF_SK3_DELETE" -msgstr "Radera" - -msgid "IDS_MF_SK3_MOVE" -msgstr "Flytta" - -msgid "IDS_MF_BODY_UP" -msgstr "Upp" - -msgid "IDS_MF_SK3_MOVE_HERE" -msgstr "Flytta hit" - -msgid "IDS_MF_SK3_COPY" -msgstr "Kopiera" - -msgid "IDS_MF_SK3_SORT_BY" -msgstr "Sortera efter" - -msgid "IDS_MF_SK3_SEARCH" -msgstr "Sök" - -msgid "IDS_MF_SK3_MORE" -msgstr "Mer" - -msgid "IDS_MF_OPT_CREATE_FOLDER" -msgstr "Skapa mapp" - -msgid "IDS_MF_BODY_FOLDER_NAME" -msgstr "Mappnamn" - -msgid "IDS_MF_BODY_ACCESS_MORE_MY_ALBUM" -msgstr "Mitt album" - -msgid "IDS_MF_OPT_VIEW_AS" -msgstr "Visa som" - -msgid "IDS_MF_SK3_BACK" -msgstr "Åter" - -msgid "IDS_MF_BODY_MY_VIDEO_CLIPS" -msgstr "Mina videoklipp" - -msgid "IDS_MF_BODY_RIGHT_STATUS" -msgstr "Rättighetsstatus" - -msgid "IDS_MF_BODY_VENDOR" -msgstr "Leverantör" - -msgid "IDS_MF_HEADER_COUNT" -msgstr "Antal" - -msgid "IDS_MF_BODY_CONTAINS" -msgstr "Innehåller" - -msgid "IDS_MF_BODY_INDIVIDUAL" -msgstr "Individuell" - -msgid "IDS_MF_BODY_INTERVAL" -msgstr "Intervall" - -msgid "IDS_MF_BODY_RENAME_ABB" -msgstr "Namnb." - -msgid "IDS_MF_BODY_TIME" -msgstr "Tid" - -msgid "IDS_MF_BODY_TIMED_COUNT" -msgstr "Tidsgräns för räkning" - -msgid "IDS_MF_BODY_TYPE" -msgstr "Typ" - -msgid "IDS_MF_BODY_UNLIMITED" -msgstr "Obegränsad" - -msgid "IDS_MF_BUTTON_REPLACE_ABB" -msgstr "Ersätt" - -msgid "IDS_MF_OPT_CALLER_RINGTONE" -msgstr "Ringsignal till Foto-ID" - -msgid "IDS_MF_OPT_LISTBY_NAME" -msgstr "Namn" - -msgid "IDS_MF_POP_COPIED" -msgstr "Kopierad" - -msgid "IDS_MF_POP_NOTHING_SELECTED" -msgstr "Inget markerat" - -msgid "IDS_MF_POP_NOT_ENOUGH_HEAP_MEMORY" -msgstr "För lite heap-minne" - -msgid "IDS_MF_POP_NOT_ENOUGH_MEMORY_DELETE_SOME_ITEMS" -msgstr "Minnet räcker inte. Radera några objekt" - -msgid "IDS_MF_BODY_CREATED_DATE" -msgstr "Skapad den" - -msgid "IDS_MF_BODY_GPS_INFORMATION" -msgstr "GPS-information" - -msgid "IDS_MF_BODY_GPS_LATITUDE" -msgstr "GPS-latitud" - -msgid "IDS_MF_BODY_GPS_LONGITUDE" -msgstr "GPS-longitud" - -msgid "IDS_MF_BODY_GPS_VERSION" -msgstr "GPS-version" - -msgid "IDS_MF_SK_DETAILS" -msgstr "Info" - -msgid "IDS_MF_BODY_ANY" -msgstr "Alla" - -msgid "IDS_MF_BODY_AVAILABLE_USES" -msgstr "Tillgängliga tillämpningar" - -msgid "IDS_MF_BODY_EXECUTE" -msgstr "Exekvera" - -msgid "IDS_MF_BODY_FORWARDING" -msgstr "Vidarebefordra" - -msgid "IDS_MF_BODY_IMPOSSIBLE" -msgstr "Ej möjlig" - -msgid "IDS_MF_BODY_MMC_DATA_IS_INITIALIZING_ING" -msgstr "MMC-data initieras..." - -msgid "IDS_MF_BODY_POSSIBLE" -msgstr "Möjlig" - -msgid "IDS_MF_BODY_PRINT" -msgstr "Skriv ut" - -msgid "IDS_MF_BODY_VALIDITY" -msgstr "Giltighet" - -msgid "IDS_MF_HEADER_NEW_FOLDER" -msgstr "Ny mapp" - -msgid "IDS_MF_OPT_EDIT" -msgstr "Redigera" - -msgid "IDS_MF_OPT_LIST_BY" -msgstr "Sortera efter" - -msgid "IDS_MF_OPT_MOVE_HERE" -msgstr "Flytta hit" - -msgid "IDS_MF_POP_CONTINUE" -msgstr "Fortsätt" - -msgid "IDS_MF_POP_COPYING" -msgstr "Kopierar..." - -msgid "IDS_MF_POP_PASTE_HERE" -msgstr "Klistra in här" - -msgid "IDS_MF_POP_UNSUPPORTED_FILE_TYPE" -msgstr "Filtypen stöds inte" - -msgid "IDS_MF_OPT_DETAIL_VIEW" -msgstr "Detaljvy" - -msgid "IDS_MF_POP_ASCENDING" -msgstr "Stigande" - -msgid "IDS_MF_POP_DESCENDING" -msgstr "Fallande" - -msgid "IDS_MF_TAB_ALL" -msgstr "Alla" - -msgid "IDS_MF_BODY_UP_M_BACK" -msgstr "Upp" - -msgid "IDS_MF_BUTTON_SEARCH_ALL_FOLDERS" -msgstr "Sök i alla mappar" - -msgid "IDS_MF_OPT_THUMBNAIL_VIEW" -msgstr "Miniatyrer" - -msgid "IDS_MF_OPT_SHOW_FILE_EXTENSION" -msgstr "Visa filtillägg" - -msgid "IDS_MF_OPT_SORT_BY" -msgstr "Sortera efter" - -msgid "IDS_MF_BODY_LIST_AND_DETAILS_ABB" -msgstr "Lista och information" - -msgid "IDS_MF_OPT_HIDE_FILE_EXTENSION_ABB" -msgstr "Dölj filtillägg" - -msgid "IDS_MF_OPT_NAME_HA_TO_Z" -msgstr "Namn (A till Ö)" - -msgid "IDS_MF_OPT_NAME_HZ_TO_A" -msgstr "Namn (Ö till A)" - -msgid "IDS_MF_OPT_DATE_HMOST_RECENT" -msgstr "Datum (senaste)" - -msgid "IDS_MF_OPT_DATE_HOLDEST" -msgstr "Datum (äldsta)" - -msgid "IDS_MF_BUTTON_GO_TO_MY_FILES" -msgstr "Gå till Mina filer" - -msgid "IDS_MF_BODY_RINGTONES" -msgstr "Ringsignaler" - -msgid "IDS_MF_BUTTON_EXPORT_HERE" -msgstr "Exportera hit" - -msgid "IDS_MF_POP_UNABLE_TO_SET_DRM_PROTECTED_CONTENT_AS_RINGTONE_OR_NOTIFICATION_ALERT" -msgstr "Det går inte att ställa in DRM-skyddat innehåll som ringsignaler eller meddelandevarningar" - diff --git a/data/po/tr_TR.po b/data/po/tr_TR.po deleted file mode 100644 index bd98a9b..0000000 --- a/data/po/tr_TR.po +++ /dev/null @@ -1,318 +0,0 @@ -msgid "IDS_MF_TAB_UP" -msgstr "Yukarı" - -msgid "IDS_MF_BUTTON_HOME" -msgstr "A.Syf" - -msgid "IDS_MF_OPT_VIEW_BY_LIST" -msgstr "Liste şeklinde göster" - -msgid "IDS_MF_OPT_VIEW_BY_THUMBNAIL" -msgstr "Küçük resim görünümü" - -msgid "IDS_MF_POP_DELETE_FAILED" -msgstr "Silinemedi" - -msgid "IDS_MF_POP_DRM_FILE_CANNOT_SEND" -msgstr "DRM dosyası gönderilemiyor" - -msgid "IDS_MF_POP_INVALID_FILE_NAME" -msgstr "Geçersiz dosya adı" - -msgid "IDS_MF_POP_MAXIMUM_FOLDER_REACHED" -msgstr "Maksimum" - -msgid "IDS_MF_POP_PERMISSION_DENIED" -msgstr "İzin reddedildi" - -msgid "IDS_MF_POP_SEND_FAILED" -msgstr "Gönderme Başarısız" - -msgid "IDS_MF_POP_THE_DESTINATION_FOLDER_IS_A_SUBFOLDER_OF_THE_SOURCE_FOLDER" -msgstr "Hedef klasör kaynak klasörün alt klasörü" - -msgid "IDS_MF_POP_THIS_FILE_DOES_NOT_EXIST" -msgstr "Dosya yok" - -msgid "IDS_MF_POP_UNABLE_TO_COPY" -msgstr "Kopyalanamıyor" - -msgid "IDS_MF_POP_UNABLE_TO_MOVE" -msgstr "Taşınamıyor" - -msgid "IDS_MF_BODY_NOT_ENOUGH_MEMORY_IN_PHONE_MEMORY_DELETE_SOME_ITEMS_AND_TRY_AGAIN" -msgstr "Telefon belleğinde yeterli yer yok. Bazı öğeleri silin ve tekrar deneyin" - -msgid "IDS_MF_POP_COPYING_FAILED" -msgstr "Kopyalama başarısız" - -msgid "IDS_MF_POP_MOVING_FAILED" -msgstr "Taşıma başarısız" - -msgid "IDS_MF_POP_NOT_ENOUGH_MEMORY_PS_AVAILABLE" -msgstr "Yeterli hafıza yok. %s kullanılabilir" - -msgid "IDS_MF_POP_SAME_NAME_ALREADY_IN_USE" -msgstr "İsim zaten kullanımda" - -msgid "IDS_MF_POP_UNABLE_TO_MOVE_DESTINATION_FOLDER_SAME_AS_SOURCE_FOLDER" -msgstr "Taşınamıyor. Hedef klasör kaynak klasörle aynı" - -msgid "IDS_MF_SK3_CREATE_FOLDER" -msgstr "Klasör oluştur" - -msgid "IDS_MF_SK3_PASTE_HERE" -msgstr "Buraya yapıştır" - -msgid "IDS_MF_BODY_ALERTS" -msgstr "Uyarılar" - -msgid "IDS_MF_BODY_WALLPAPERS" -msgstr "Duvar kağıtları" - -msgid "IDS_MF_TAB_PHONE" -msgstr "Telefon" - -msgid "IDS_MF_BODY_IMAGES" -msgstr "Resimler" - -msgid "IDS_MF_BODY_VIDEOS" -msgstr "Videolar" - -msgid "IDS_MF_BODY_SOUNDS" -msgstr "Sesler" - -msgid "IDS_MF_BODY_DOWNLOADS" -msgstr "İndirilenler" - -msgid "IDS_MF_TAB_MEMORY_CARD" -msgstr "Hafıza kartı" - -msgid "IDS_MF_TAB_EXTERNAL_STORAGE" -msgstr "Harici bellek" - -msgid "IDS_MF_SK3_EDIT" -msgstr "Düzenle" - -msgid "IDS_MF_SK3_DELETE" -msgstr "Sil" - -msgid "IDS_MF_SK3_MOVE" -msgstr "Taşı" - -msgid "IDS_MF_BODY_UP" -msgstr "Yukarı" - -msgid "IDS_MF_SK3_MOVE_HERE" -msgstr "Buraya taşı" - -msgid "IDS_MF_SK3_COPY" -msgstr "Kopyala" - -msgid "IDS_MF_SK3_SORT_BY" -msgstr "Sırala" - -msgid "IDS_MF_SK3_SEARCH" -msgstr "Bul" - -msgid "IDS_MF_SK3_MORE" -msgstr "Diğer" - -msgid "IDS_MF_OPT_CREATE_FOLDER" -msgstr "Klasör oluştur" - -msgid "IDS_MF_BODY_FOLDER_NAME" -msgstr "Klasör adı" - -msgid "IDS_MF_BODY_ACCESS_MORE_MY_ALBUM" -msgstr "Albümüm" - -msgid "IDS_MF_OPT_VIEW_AS" -msgstr "Başka adla görüntüle" - -msgid "IDS_MF_SK3_BACK" -msgstr "Geri" - -msgid "IDS_MF_BODY_MY_VIDEO_CLIPS" -msgstr "Video kliplerim" - -msgid "IDS_MF_BODY_RIGHT_STATUS" -msgstr "Hak durumu" - -msgid "IDS_MF_BODY_VENDOR" -msgstr "Sağlayıcı" - -msgid "IDS_MF_HEADER_COUNT" -msgstr "sayım" - -msgid "IDS_MF_BODY_CONTAINS" -msgstr "İçindekiler" - -msgid "IDS_MF_BODY_INDIVIDUAL" -msgstr "Kişisel" - -msgid "IDS_MF_BODY_INTERVAL" -msgstr "Aralık" - -msgid "IDS_MF_BODY_RENAME_ABB" -msgstr "Y. adl" - -msgid "IDS_MF_BODY_TIME" -msgstr "Saat" - -msgid "IDS_MF_BODY_TIMED_COUNT" -msgstr "Zamanlı sayım" - -msgid "IDS_MF_BODY_TYPE" -msgstr "Tür" - -msgid "IDS_MF_BODY_UNLIMITED" -msgstr "Sınırsız" - -msgid "IDS_MF_BUTTON_REPLACE_ABB" -msgstr "Değiştir" - -msgid "IDS_MF_OPT_CALLER_RINGTONE" -msgstr "Arayan zil sesi tonu" - -msgid "IDS_MF_OPT_LISTBY_NAME" -msgstr "İsim" - -msgid "IDS_MF_POP_COPIED" -msgstr "Kopyalandı" - -msgid "IDS_MF_POP_NOTHING_SELECTED" -msgstr "Bir şey seçilmedi" - -msgid "IDS_MF_POP_NOT_ENOUGH_HEAP_MEMORY" -msgstr "Yeterli küme hafızası yok" - -msgid "IDS_MF_POP_NOT_ENOUGH_MEMORY_DELETE_SOME_ITEMS" -msgstr "Yeterli hafıza yok. Bazı öğeleri silin." - -msgid "IDS_MF_BODY_CREATED_DATE" -msgstr "Oluşturulma tarihi" - -msgid "IDS_MF_BODY_GPS_INFORMATION" -msgstr "GPS bilgileri" - -msgid "IDS_MF_BODY_GPS_LATITUDE" -msgstr "GPS enlem" - -msgid "IDS_MF_BODY_GPS_LONGITUDE" -msgstr "GPS boylam" - -msgid "IDS_MF_BODY_GPS_VERSION" -msgstr "GPS versiyonu" - -msgid "IDS_MF_SK_DETAILS" -msgstr "Ayrıntılar" - -msgid "IDS_MF_BODY_ANY" -msgstr "Herhangi" - -msgid "IDS_MF_BODY_AVAILABLE_USES" -msgstr "Mevcut kullanımlar" - -msgid "IDS_MF_BODY_EXECUTE" -msgstr "Uygulama" - -msgid "IDS_MF_BODY_FORWARDING" -msgstr "İletme" - -msgid "IDS_MF_BODY_IMPOSSIBLE" -msgstr "İmkansız" - -msgid "IDS_MF_BODY_MMC_DATA_IS_INITIALIZING_ING" -msgstr "MMC verileri başlatılıyor..." - -msgid "IDS_MF_BODY_POSSIBLE" -msgstr "Mümkün" - -msgid "IDS_MF_BODY_PRINT" -msgstr "Yazdır" - -msgid "IDS_MF_BODY_VALIDITY" -msgstr "Geçerlilik" - -msgid "IDS_MF_HEADER_NEW_FOLDER" -msgstr "Yeni klasör" - -msgid "IDS_MF_OPT_EDIT" -msgstr "Düzenle" - -msgid "IDS_MF_OPT_LIST_BY" -msgstr "Listele" - -msgid "IDS_MF_OPT_MOVE_HERE" -msgstr "Buraya taşı" - -msgid "IDS_MF_POP_CONTINUE" -msgstr "Devam" - -msgid "IDS_MF_POP_COPYING" -msgstr "Kopyalanıyor..." - -msgid "IDS_MF_POP_PASTE_HERE" -msgstr "Buraya yapıştır" - -msgid "IDS_MF_POP_UNSUPPORTED_FILE_TYPE" -msgstr "Desteklenmeyen dosya türü" - -msgid "IDS_MF_OPT_DETAIL_VIEW" -msgstr "Ayrıntılı görünüm" - -msgid "IDS_MF_POP_ASCENDING" -msgstr "Artan" - -msgid "IDS_MF_POP_DESCENDING" -msgstr "Azalan" - -msgid "IDS_MF_TAB_ALL" -msgstr "Hepsi" - -msgid "IDS_MF_BODY_UP_M_BACK" -msgstr "Yukarı" - -msgid "IDS_MF_BUTTON_SEARCH_ALL_FOLDERS" -msgstr "Tüm klasörleri ara" - -msgid "IDS_MF_OPT_THUMBNAIL_VIEW" -msgstr "Küçük resim görünümü" - -msgid "IDS_MF_OPT_SHOW_FILE_EXTENSION" -msgstr "Dosya uzantılarını göster" - -msgid "IDS_MF_OPT_SORT_BY" -msgstr "Sırala" - -msgid "IDS_MF_BODY_LIST_AND_DETAILS_ABB" -msgstr "Liste ve ayrıntılar" - -msgid "IDS_MF_OPT_HIDE_FILE_EXTENSION_ABB" -msgstr "Dosya uzntılrını gizle" - -msgid "IDS_MF_OPT_NAME_HA_TO_Z" -msgstr "Ad (A'dan Z'ye)" - -msgid "IDS_MF_OPT_NAME_HZ_TO_A" -msgstr "Ad (Z'den A'ya)" - -msgid "IDS_MF_OPT_DATE_HMOST_RECENT" -msgstr "Tarih (En yeni)" - -msgid "IDS_MF_OPT_DATE_HOLDEST" -msgstr "Tarih (En eski)" - -msgid "IDS_MF_BUTTON_GO_TO_MY_FILES" -msgstr "Dosyalarım’a git" - -msgid "IDS_MF_BODY_RINGTONES" -msgstr "Zil sesleri" - -msgid "IDS_MF_BUTTON_EXPORT_HERE" -msgstr "Buraya aktar" - -msgid "IDS_MF_POP_UNABLE_TO_SET_DRM_PROTECTED_CONTENT_AS_RINGTONE_OR_NOTIFICATION_ALERT" -msgstr "DRM korumalı içerik zil sesi veya bildirim uyarısı olarak belirlenemedi" - diff --git a/data/po/ug-myfile-efl.pot b/data/po/ug-myfile-efl.pot deleted file mode 100644 index c89d2ef..0000000 --- a/data/po/ug-myfile-efl.pot +++ /dev/null @@ -1,94 +0,0 @@ -# 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-06-16 18:18+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" - -#: src_sg/myfile_sg_lib.c:98 src_sg/myfile_sg_lib.c:482 -#: src_sg/myfile_sg_lib.c:518 src_sg/myfile_sg_lib.c:901 -msgid "IDS_COM_SK_OK" -msgstr "" - -#: src_sg/myfile_sg_lib.c:478 src_sg/myfile_sg_lib.c:894 -msgid "IDS_COM_BODY_BACK" -msgstr "" - -#: src_sg/myfile_sg_lib.c:504 src_sg/myfile_sg_lib.c:897 -#: src_sg/myfile_sg_lib.c:942 -msgid "IDS_COM_BODY_DELETE" -msgstr "" - -#: src_sg/myfile_sg_lib.c:517 -msgid "Select at least one item" -msgstr "" - -#. supporting multi-lang for default folders -#: source/libraries/winset-wrapper/main/titlebar.c:24 -msgid "Images" -msgstr "" - -#: source/libraries/winset-wrapper/main/titlebar.c:25 -msgid "IDS_MF_BODY_IMAGES" -msgstr "" - -#: source/libraries/winset-wrapper/main/titlebar.c:27 -msgid "Videos" -msgstr "" - -#: source/libraries/winset-wrapper/main/titlebar.c:28 -msgid "IDS_MF_BODY_VIDEOS" -msgstr "" - -#: source/libraries/winset-wrapper/main/titlebar.c:30 -msgid "Sounds" -msgstr "" - -#: source/libraries/winset-wrapper/main/titlebar.c:31 -msgid "IDS_MF_BODY_SOUNDS" -msgstr "" - -#: source/libraries/winset-wrapper/main/titlebar.c:33 -msgid "Others" -msgstr "" - -#: source/libraries/winset-wrapper/main/titlebar.c:34 -msgid "IDS_MF_BODY_OTHERS" -msgstr "" - -#: source/libraries/winset-wrapper/main/tab.c:16 -#: source/libraries/winset-wrapper/main/tab.c:79 -#: source/libraries/winset-wrapper/main/tab.c:102 -#: source/libraries/winset-wrapper/main/popup.c:291 -msgid "IDS_COM_BODY_PHONE" -msgstr "" - -#: source/libraries/winset-wrapper/main/tab.c:26 -#: source/libraries/winset-wrapper/main/tab.c:80 -#: source/libraries/winset-wrapper/main/tab.c:103 -#: source/libraries/winset-wrapper/main/popup.c:297 -msgid "IDS_COM_BODY_MEMORY_CARD" -msgstr "" - -#: source/libraries/winset-wrapper/main/tab.c:28 -msgid "IDS_COM_BODY_ALL" -msgstr "" - -#: source/libraries/winset-wrapper/main/tab.c:52 -msgid "FONT_NAME" -msgstr "" - -#: source/libraries/winset-wrapper/main/popup.c:346 -msgid "IDS_COM_SK_CANCEL" -msgstr "" diff --git a/data/po/uk.po b/data/po/uk.po deleted file mode 100644 index 778172e..0000000 --- a/data/po/uk.po +++ /dev/null @@ -1,318 +0,0 @@ -msgid "IDS_MF_TAB_UP" -msgstr "Вгору" - -msgid "IDS_MF_BUTTON_HOME" -msgstr "Домашній" - -msgid "IDS_MF_OPT_VIEW_BY_LIST" -msgstr "Переглянути за списком" - -msgid "IDS_MF_OPT_VIEW_BY_THUMBNAIL" -msgstr "Переглянути ескізи" - -msgid "IDS_MF_POP_DELETE_FAILED" -msgstr "Збій видалення" - -msgid "IDS_MF_POP_DRM_FILE_CANNOT_SEND" -msgstr "Файл DRM. Неможливо надіслати" - -msgid "IDS_MF_POP_INVALID_FILE_NAME" -msgstr "Хибна назва файла" - -msgid "IDS_MF_POP_MAXIMUM_FOLDER_REACHED" -msgstr "Досягнуто максимальної кількості папок" - -msgid "IDS_MF_POP_PERMISSION_DENIED" -msgstr "У дозволі відмовлено" - -msgid "IDS_MF_POP_SEND_FAILED" -msgstr "Збій передачи" - -msgid "IDS_MF_POP_THE_DESTINATION_FOLDER_IS_A_SUBFOLDER_OF_THE_SOURCE_FOLDER" -msgstr "Папка призначення є підпапкою вихідної папки" - -msgid "IDS_MF_POP_THIS_FILE_DOES_NOT_EXIST" -msgstr "Файл не існує" - -msgid "IDS_MF_POP_UNABLE_TO_COPY" -msgstr "Неможливо скопіювати" - -msgid "IDS_MF_POP_UNABLE_TO_MOVE" -msgstr "Неможливо перемістити" - -msgid "IDS_MF_BODY_NOT_ENOUGH_MEMORY_IN_PHONE_MEMORY_DELETE_SOME_ITEMS_AND_TRY_AGAIN" -msgstr "Недостатньо місця в пам’яті телефону. Видаліть декілька об’єктів і спробуйте ще раз" - -msgid "IDS_MF_POP_COPYING_FAILED" -msgstr "Збій копіювання" - -msgid "IDS_MF_POP_MOVING_FAILED" -msgstr "Збій переміщення" - -msgid "IDS_MF_POP_NOT_ENOUGH_MEMORY_PS_AVAILABLE" -msgstr "Недостатньо пам’яті. %s доступно" - -msgid "IDS_MF_POP_SAME_NAME_ALREADY_IN_USE" -msgstr "Ім’я вже використовується" - -msgid "IDS_MF_POP_UNABLE_TO_MOVE_DESTINATION_FOLDER_SAME_AS_SOURCE_FOLDER" -msgstr "Неможливо перемістити. Папка призначення та вихідна папка однакові" - -msgid "IDS_MF_SK3_CREATE_FOLDER" -msgstr "Створити папку" - -msgid "IDS_MF_SK3_PASTE_HERE" -msgstr "Вставити сюди" - -msgid "IDS_MF_BODY_ALERTS" -msgstr "Сигнали" - -msgid "IDS_MF_BODY_WALLPAPERS" -msgstr "Заставки" - -msgid "IDS_MF_TAB_PHONE" -msgstr "Телефон" - -msgid "IDS_MF_BODY_IMAGES" -msgstr "Зображення" - -msgid "IDS_MF_BODY_VIDEOS" -msgstr "Відео" - -msgid "IDS_MF_BODY_SOUNDS" -msgstr "Звуки" - -msgid "IDS_MF_BODY_DOWNLOADS" -msgstr "Завантаження" - -msgid "IDS_MF_TAB_MEMORY_CARD" -msgstr "Карта пам’яті" - -msgid "IDS_MF_TAB_EXTERNAL_STORAGE" -msgstr "Зовн. місце збереження" - -msgid "IDS_MF_SK3_EDIT" -msgstr "Редагу-\nвати" - -msgid "IDS_MF_SK3_DELETE" -msgstr "Видалити" - -msgid "IDS_MF_SK3_MOVE" -msgstr "Переміст." - -msgid "IDS_MF_BODY_UP" -msgstr "Вгору" - -msgid "IDS_MF_SK3_MOVE_HERE" -msgstr "Перемістити сюди" - -msgid "IDS_MF_SK3_COPY" -msgstr "Копіювати" - -msgid "IDS_MF_SK3_SORT_BY" -msgstr "Сорт. за" - -msgid "IDS_MF_SK3_SEARCH" -msgstr "Пошук" - -msgid "IDS_MF_SK3_MORE" -msgstr "Додатково" - -msgid "IDS_MF_OPT_CREATE_FOLDER" -msgstr "Створити папку" - -msgid "IDS_MF_BODY_FOLDER_NAME" -msgstr "Ім'я папки" - -msgid "IDS_MF_BODY_ACCESS_MORE_MY_ALBUM" -msgstr "Мій альбом" - -msgid "IDS_MF_OPT_VIEW_AS" -msgstr "Переглянути як" - -msgid "IDS_MF_SK3_BACK" -msgstr "НАЗАД" - -msgid "IDS_MF_BODY_MY_VIDEO_CLIPS" -msgstr "Мої відеокліпи" - -msgid "IDS_MF_BODY_RIGHT_STATUS" -msgstr "Стан прав" - -msgid "IDS_MF_BODY_VENDOR" -msgstr "Постачальник" - -msgid "IDS_MF_HEADER_COUNT" -msgstr "Кількість" - -msgid "IDS_MF_BODY_CONTAINS" -msgstr "Містить" - -msgid "IDS_MF_BODY_INDIVIDUAL" -msgstr "Індивідуальні" - -msgid "IDS_MF_BODY_INTERVAL" -msgstr "Інтервал" - -msgid "IDS_MF_BODY_RENAME_ABB" -msgstr "Пер-м." - -msgid "IDS_MF_BODY_TIME" -msgstr "Час" - -msgid "IDS_MF_BODY_TIMED_COUNT" -msgstr "Тривалість використання" - -msgid "IDS_MF_BODY_TYPE" -msgstr "Тип" - -msgid "IDS_MF_BODY_UNLIMITED" -msgstr "Необмежено" - -msgid "IDS_MF_BUTTON_REPLACE_ABB" -msgstr "Замінити" - -msgid "IDS_MF_OPT_CALLER_RINGTONE" -msgstr "Звук дзвінка абонента" - -msgid "IDS_MF_OPT_LISTBY_NAME" -msgstr "Назва" - -msgid "IDS_MF_POP_COPIED" -msgstr "Скопійовано" - -msgid "IDS_MF_POP_NOTHING_SELECTED" -msgstr "Нічого не вибрано" - -msgid "IDS_MF_POP_NOT_ENOUGH_HEAP_MEMORY" -msgstr "Недостатньо пам'яті" - -msgid "IDS_MF_POP_NOT_ENOUGH_MEMORY_DELETE_SOME_ITEMS" -msgstr "Недостатньо пам’яті. Видаліть деякі об’єкти" - -msgid "IDS_MF_BODY_CREATED_DATE" -msgstr "Дата створення" - -msgid "IDS_MF_BODY_GPS_INFORMATION" -msgstr "Інформація GPS" - -msgid "IDS_MF_BODY_GPS_LATITUDE" -msgstr "Широта GPS" - -msgid "IDS_MF_BODY_GPS_LONGITUDE" -msgstr "Довгота GPS" - -msgid "IDS_MF_BODY_GPS_VERSION" -msgstr "Версія GPS" - -msgid "IDS_MF_SK_DETAILS" -msgstr "Деталі" - -msgid "IDS_MF_BODY_ANY" -msgstr "Any" - -msgid "IDS_MF_BODY_AVAILABLE_USES" -msgstr "Доступні використання" - -msgid "IDS_MF_BODY_EXECUTE" -msgstr "Виконати" - -msgid "IDS_MF_BODY_FORWARDING" -msgstr "Переадресація" - -msgid "IDS_MF_BODY_IMPOSSIBLE" -msgstr "Неможливо" - -msgid "IDS_MF_BODY_MMC_DATA_IS_INITIALIZING_ING" -msgstr "Ініціалізація даних MMC..." - -msgid "IDS_MF_BODY_POSSIBLE" -msgstr "Можливо" - -msgid "IDS_MF_BODY_PRINT" -msgstr "Друк" - -msgid "IDS_MF_BODY_VALIDITY" -msgstr "Термін дії" - -msgid "IDS_MF_HEADER_NEW_FOLDER" -msgstr "Ручний" - -msgid "IDS_MF_OPT_EDIT" -msgstr "Редагувати" - -msgid "IDS_MF_OPT_LIST_BY" -msgstr "Сортувати за" - -msgid "IDS_MF_OPT_MOVE_HERE" -msgstr "Перемістити сюди" - -msgid "IDS_MF_POP_CONTINUE" -msgstr "Продовж." - -msgid "IDS_MF_POP_COPYING" -msgstr "Копіювання..." - -msgid "IDS_MF_POP_PASTE_HERE" -msgstr "Вставити сюди" - -msgid "IDS_MF_POP_UNSUPPORTED_FILE_TYPE" -msgstr "Формат не підтримується" - -msgid "IDS_MF_OPT_DETAIL_VIEW" -msgstr "Докладний перегляд" - -msgid "IDS_MF_POP_ASCENDING" -msgstr "За зростанням" - -msgid "IDS_MF_POP_DESCENDING" -msgstr "За спаданням" - -msgid "IDS_MF_TAB_ALL" -msgstr "Всі" - -msgid "IDS_MF_BODY_UP_M_BACK" -msgstr "Вгору" - -msgid "IDS_MF_BUTTON_SEARCH_ALL_FOLDERS" -msgstr "Шукати в усіх папках" - -msgid "IDS_MF_OPT_THUMBNAIL_VIEW" -msgstr "Ескіз" - -msgid "IDS_MF_OPT_SHOW_FILE_EXTENSION" -msgstr "Показати розширення файла" - -msgid "IDS_MF_OPT_SORT_BY" -msgstr "Сортувати за" - -msgid "IDS_MF_BODY_LIST_AND_DETAILS_ABB" -msgstr "Список і відомості" - -msgid "IDS_MF_OPT_HIDE_FILE_EXTENSION_ABB" -msgstr "Приховати розшир.файлу" - -msgid "IDS_MF_OPT_NAME_HA_TO_Z" -msgstr "Назва (А-Я)" - -msgid "IDS_MF_OPT_NAME_HZ_TO_A" -msgstr "Назва (Я-А)" - -msgid "IDS_MF_OPT_DATE_HMOST_RECENT" -msgstr "Дата (остання)" - -msgid "IDS_MF_OPT_DATE_HOLDEST" -msgstr "Дата (найдавніша)" - -msgid "IDS_MF_BUTTON_GO_TO_MY_FILES" -msgstr "Пер. до моїх файлів" - -msgid "IDS_MF_BODY_RINGTONES" -msgstr "Звуки дзвінка" - -msgid "IDS_MF_BUTTON_EXPORT_HERE" -msgstr "Експортувати сюди" - -msgid "IDS_MF_POP_UNABLE_TO_SET_DRM_PROTECTED_CONTENT_AS_RINGTONE_OR_NOTIFICATION_ALERT" -msgstr "Неможливо встановити вміст, захищений DRM, як звук дзвінка або сигнал сповіщення" - diff --git a/data/po/uz.po b/data/po/uz.po deleted file mode 100644 index c0e84b3..0000000 --- a/data/po/uz.po +++ /dev/null @@ -1,318 +0,0 @@ -msgid "IDS_MF_TAB_UP" -msgstr "Yuqoriga" - -msgid "IDS_MF_BUTTON_HOME" -msgstr "Asosiy" - -msgid "IDS_MF_OPT_VIEW_BY_LIST" -msgstr "Ro‘yxat bo‘yicha ko‘rib chiqish" - -msgid "IDS_MF_OPT_VIEW_BY_THUMBNAIL" -msgstr "Eskiz bo‘y. ko‘r." - -msgid "IDS_MF_POP_DELETE_FAILED" -msgstr "Yo‘q qilish bajarilmadi" - -msgid "IDS_MF_POP_DRM_FILE_CANNOT_SEND" -msgstr "DRM fayl. Yuborib bo‘lmaydi" - -msgid "IDS_MF_POP_INVALID_FILE_NAME" -msgstr "Noto‘g‘ri fayl nomi" - -msgid "IDS_MF_POP_MAXIMUM_FOLDER_REACHED" -msgstr "Jildlar soni maksimal miqdorga yetdi" - -msgid "IDS_MF_POP_PERMISSION_DENIED" -msgstr "Ruxsat rad etildi" - -msgid "IDS_MF_POP_SEND_FAILED" -msgstr "Yuborish bajarilmadi" - -msgid "IDS_MF_POP_THE_DESTINATION_FOLDER_IS_A_SUBFOLDER_OF_THE_SOURCE_FOLDER" -msgstr "Yakuniy jild manba jildining tagjildi hisoblanadi" - -msgid "IDS_MF_POP_THIS_FILE_DOES_NOT_EXIST" -msgstr "Ushbu fayl mavjud emas" - -msgid "IDS_MF_POP_UNABLE_TO_COPY" -msgstr "Nusxa ko‘chirib bo‘lmaydi" - -msgid "IDS_MF_POP_UNABLE_TO_MOVE" -msgstr "Ko‘chirib bo‘lmaydi" - -msgid "IDS_MF_BODY_NOT_ENOUGH_MEMORY_IN_PHONE_MEMORY_DELETE_SOME_ITEMS_AND_TRY_AGAIN" -msgstr "Telefonda xotira yetarli emas. Ba’zi elementlarni yo‘q qiling va qayta urinib ko‘ring" - -msgid "IDS_MF_POP_COPYING_FAILED" -msgstr "Nusxa olish bajarilmadi" - -msgid "IDS_MF_POP_MOVING_FAILED" -msgstr "Ko‘chirib bo‘lmadi" - -msgid "IDS_MF_POP_NOT_ENOUGH_MEMORY_PS_AVAILABLE" -msgstr "Xotira yetarli emas. %s mavjud" - -msgid "IDS_MF_POP_SAME_NAME_ALREADY_IN_USE" -msgstr "Bunday nom avvaldan ishlatilmoqda" - -msgid "IDS_MF_POP_UNABLE_TO_MOVE_DESTINATION_FOLDER_SAME_AS_SOURCE_FOLDER" -msgstr "Ko‘chirib bo‘lmaydi. Yakuniy jild manba jildi bilan bir xil" - -msgid "IDS_MF_SK3_CREATE_FOLDER" -msgstr "Jild yaratish" - -msgid "IDS_MF_SK3_PASTE_HERE" -msgstr "Bu yerga qo‘yish" - -msgid "IDS_MF_BODY_ALERTS" -msgstr "Signallar" - -msgid "IDS_MF_BODY_WALLPAPERS" -msgstr "Fon rasmlari" - -msgid "IDS_MF_TAB_PHONE" -msgstr "Telefon" - -msgid "IDS_MF_BODY_IMAGES" -msgstr "Tasvirlar" - -msgid "IDS_MF_BODY_VIDEOS" -msgstr "Videolar" - -msgid "IDS_MF_BODY_SOUNDS" -msgstr "Ovozlar" - -msgid "IDS_MF_BODY_DOWNLOADS" -msgstr "Yuklanishlar" - -msgid "IDS_MF_TAB_MEMORY_CARD" -msgstr "Xotira kartasi" - -msgid "IDS_MF_TAB_EXTERNAL_STORAGE" -msgstr "Tashqi xotira" - -msgid "IDS_MF_SK3_EDIT" -msgstr "Tahrirlash" - -msgid "IDS_MF_SK3_DELETE" -msgstr "O'chirish" - -msgid "IDS_MF_SK3_MOVE" -msgstr "Ko‘chirish" - -msgid "IDS_MF_BODY_UP" -msgstr "Yuqoriga" - -msgid "IDS_MF_SK3_MOVE_HERE" -msgstr "Bu yerga ko‘ch." - -msgid "IDS_MF_SK3_COPY" -msgstr "Nusxa olish" - -msgid "IDS_MF_SK3_SORT_BY" -msgstr "Quyid. bo‘y. sar" - -msgid "IDS_MF_SK3_SEARCH" -msgstr "Qidirish" - -msgid "IDS_MF_SK3_MORE" -msgstr "Yana" - -msgid "IDS_MF_OPT_CREATE_FOLDER" -msgstr "Jild yaratish" - -msgid "IDS_MF_BODY_FOLDER_NAME" -msgstr "Jild nomi" - -msgid "IDS_MF_BODY_ACCESS_MORE_MY_ALBUM" -msgstr "Mening albomim" - -msgid "IDS_MF_OPT_VIEW_AS" -msgstr "Quyidagi sifatida ko‘rib chiqish" - -msgid "IDS_MF_SK3_BACK" -msgstr "Orqaga" - -msgid "IDS_MF_BODY_MY_VIDEO_CLIPS" -msgstr "Mening video kliplarim" - -msgid "IDS_MF_BODY_RIGHT_STATUS" -msgstr "Huquq holati" - -msgid "IDS_MF_BODY_VENDOR" -msgstr "Ta’minotchi" - -msgid "IDS_MF_HEADER_COUNT" -msgstr "Hisob" - -msgid "IDS_MF_BODY_CONTAINS" -msgstr "Tarkibi:" - -msgid "IDS_MF_BODY_INDIVIDUAL" -msgstr "Individual" - -msgid "IDS_MF_BODY_INTERVAL" -msgstr "Interval" - -msgid "IDS_MF_BODY_RENAME_ABB" -msgstr "Nm/o‘z" - -msgid "IDS_MF_BODY_TIME" -msgstr "Vaqt" - -msgid "IDS_MF_BODY_TIMED_COUNT" -msgstr "Vaqti belgilangan sanoq" - -msgid "IDS_MF_BODY_TYPE" -msgstr "Tur" - -msgid "IDS_MF_BODY_UNLIMITED" -msgstr "Cheklanmagan" - -msgid "IDS_MF_BUTTON_REPLACE_ABB" -msgstr "Almasht." - -msgid "IDS_MF_OPT_CALLER_RINGTONE" -msgstr "Qo‘ng‘iroq qiluvchi ringtoni" - -msgid "IDS_MF_OPT_LISTBY_NAME" -msgstr "Nom" - -msgid "IDS_MF_POP_COPIED" -msgstr "Nusxa olindi" - -msgid "IDS_MF_POP_NOTHING_SELECTED" -msgstr "Hech narsa tanlanmagan" - -msgid "IDS_MF_POP_NOT_ENOUGH_HEAP_MEMORY" -msgstr "Xip xotira yetarli emas" - -msgid "IDS_MF_POP_NOT_ENOUGH_MEMORY_DELETE_SOME_ITEMS" -msgstr "Xotira yetarli emas. Ba’zi elementlarni o'chiring" - -msgid "IDS_MF_BODY_CREATED_DATE" -msgstr "Yaratilgan sana" - -msgid "IDS_MF_BODY_GPS_INFORMATION" -msgstr "GPS ma’lumotlari" - -msgid "IDS_MF_BODY_GPS_LATITUDE" -msgstr "GPS kengligi" - -msgid "IDS_MF_BODY_GPS_LONGITUDE" -msgstr "GPS uzunligi" - -msgid "IDS_MF_BODY_GPS_VERSION" -msgstr "GPS versiyasi" - -msgid "IDS_MF_SK_DETAILS" -msgstr "Tafsilot" - -msgid "IDS_MF_BODY_ANY" -msgstr "Har qanday" - -msgid "IDS_MF_BODY_AVAILABLE_USES" -msgstr "Mavjud foydalanishlar" - -msgid "IDS_MF_BODY_EXECUTE" -msgstr "Amalga oshirish" - -msgid "IDS_MF_BODY_FORWARDING" -msgstr "Boshqaga yo‘naltirish" - -msgid "IDS_MF_BODY_IMPOSSIBLE" -msgstr "Imkonsiz" - -msgid "IDS_MF_BODY_MMC_DATA_IS_INITIALIZING_ING" -msgstr "MMC ma’lumoti initsializatsiyalanmoqda..." - -msgid "IDS_MF_BODY_POSSIBLE" -msgstr "Taxminiy" - -msgid "IDS_MF_BODY_PRINT" -msgstr "Chop etish" - -msgid "IDS_MF_BODY_VALIDITY" -msgstr "Amal qilish" - -msgid "IDS_MF_HEADER_NEW_FOLDER" -msgstr "Yangi jild" - -msgid "IDS_MF_OPT_EDIT" -msgstr "Tahrirlash" - -msgid "IDS_MF_OPT_LIST_BY" -msgstr "Quyidagi bo‘yicha ro‘yxat" - -msgid "IDS_MF_OPT_MOVE_HERE" -msgstr "Bu yerga ko‘chiring" - -msgid "IDS_MF_POP_CONTINUE" -msgstr "Davom ettirish" - -msgid "IDS_MF_POP_COPYING" -msgstr "Nusxa ko‘chirilmoqda..." - -msgid "IDS_MF_POP_PASTE_HERE" -msgstr "Bu yerga qo‘shing" - -msgid "IDS_MF_POP_UNSUPPORTED_FILE_TYPE" -msgstr "Qo‘llab-quvvatlanmaydigan fayl turi" - -msgid "IDS_MF_OPT_DETAIL_VIEW" -msgstr "Batafsil" - -msgid "IDS_MF_POP_ASCENDING" -msgstr "O‘sish tartibida" - -msgid "IDS_MF_POP_DESCENDING" -msgstr "Kamayib borish" - -msgid "IDS_MF_TAB_ALL" -msgstr "Barcha" - -msgid "IDS_MF_BODY_UP_M_BACK" -msgstr "Up" - -msgid "IDS_MF_BUTTON_SEARCH_ALL_FOLDERS" -msgstr "Barcha jildlarni qidir" - -msgid "IDS_MF_OPT_THUMBNAIL_VIEW" -msgstr "Eskizli ko'rinish" - -msgid "IDS_MF_OPT_SHOW_FILE_EXTENSION" -msgstr "Fayl kengaytmasini ko‘rsatish" - -msgid "IDS_MF_OPT_SORT_BY" -msgstr "Saralash" - -msgid "IDS_MF_BODY_LIST_AND_DETAILS_ABB" -msgstr "Ro‘yxat va tafsilotlar" - -msgid "IDS_MF_OPT_HIDE_FILE_EXTENSION_ABB" -msgstr "Fayl kengaytma. yashir" - -msgid "IDS_MF_OPT_NAME_HA_TO_Z" -msgstr "Nom (A dan Z ga)" - -msgid "IDS_MF_OPT_NAME_HZ_TO_A" -msgstr "Nom (Z dan A ga)" - -msgid "IDS_MF_OPT_DATE_HMOST_RECENT" -msgstr "Sana (Eng oxirgi)" - -msgid "IDS_MF_OPT_DATE_HOLDEST" -msgstr "Sana (Eng eski)" - -msgid "IDS_MF_BUTTON_GO_TO_MY_FILES" -msgstr "Fayllarimga o‘ting" - -msgid "IDS_MF_BODY_RINGTONES" -msgstr "Ringtonlar" - -msgid "IDS_MF_BUTTON_EXPORT_HERE" -msgstr "Bu yerga eksport qil" - -msgid "IDS_MF_POP_UNABLE_TO_SET_DRM_PROTECTED_CONTENT_AS_RINGTONE_OR_NOTIFICATION_ALERT" -msgstr "DRM himoyalangan tarkibni rington yoki bildirishnoma signali sifatida o‘rnatib bo‘lmaydi" - diff --git a/data/po/zh_CN.po b/data/po/zh_CN.po deleted file mode 100644 index 464e17f..0000000 --- a/data/po/zh_CN.po +++ /dev/null @@ -1,318 +0,0 @@ -msgid "IDS_MF_TAB_UP" -msgstr "向上" - -msgid "IDS_MF_BUTTON_HOME" -msgstr "主界面" - -msgid "IDS_MF_OPT_VIEW_BY_LIST" -msgstr "通过列表查看" - -msgid "IDS_MF_OPT_VIEW_BY_THUMBNAIL" -msgstr "通过缩略图查看" - -msgid "IDS_MF_POP_DELETE_FAILED" -msgstr "删除失败" - -msgid "IDS_MF_POP_DRM_FILE_CANNOT_SEND" -msgstr "DRM 文件。无法发送" - -msgid "IDS_MF_POP_INVALID_FILE_NAME" -msgstr "文件名无效" - -msgid "IDS_MF_POP_MAXIMUM_FOLDER_REACHED" -msgstr "已达最大文件夹数" - -msgid "IDS_MF_POP_PERMISSION_DENIED" -msgstr "许可被拒绝" - -msgid "IDS_MF_POP_SEND_FAILED" -msgstr "发送失败" - -msgid "IDS_MF_POP_THE_DESTINATION_FOLDER_IS_A_SUBFOLDER_OF_THE_SOURCE_FOLDER" -msgstr "目标文件夹是源文件夹的子文件夹" - -msgid "IDS_MF_POP_THIS_FILE_DOES_NOT_EXIST" -msgstr "此文件不存在" - -msgid "IDS_MF_POP_UNABLE_TO_COPY" -msgstr "无法复制" - -msgid "IDS_MF_POP_UNABLE_TO_MOVE" -msgstr "无法移动" - -msgid "IDS_MF_BODY_NOT_ENOUGH_MEMORY_IN_PHONE_MEMORY_DELETE_SOME_ITEMS_AND_TRY_AGAIN" -msgstr "手机内存不足。请删除部分项目并重试" - -msgid "IDS_MF_POP_COPYING_FAILED" -msgstr "复制失败" - -msgid "IDS_MF_POP_MOVING_FAILED" -msgstr "移动失败" - -msgid "IDS_MF_POP_NOT_ENOUGH_MEMORY_PS_AVAILABLE" -msgstr "存储空间不足。 剩余 %s" - -msgid "IDS_MF_POP_SAME_NAME_ALREADY_IN_USE" -msgstr "相同名字已使用" - -msgid "IDS_MF_POP_UNABLE_TO_MOVE_DESTINATION_FOLDER_SAME_AS_SOURCE_FOLDER" -msgstr "无法移动。目的地文件夹与源文件夹相同" - -msgid "IDS_MF_SK3_CREATE_FOLDER" -msgstr "新文件夹" - -msgid "IDS_MF_SK3_PASTE_HERE" -msgstr "粘贴到此处" - -msgid "IDS_MF_BODY_ALERTS" -msgstr "提示" - -msgid "IDS_MF_BODY_WALLPAPERS" -msgstr "墙纸" - -msgid "IDS_MF_TAB_PHONE" -msgstr "话机" - -msgid "IDS_MF_BODY_IMAGES" -msgstr "图片" - -msgid "IDS_MF_BODY_VIDEOS" -msgstr "视频" - -msgid "IDS_MF_BODY_SOUNDS" -msgstr "声音" - -msgid "IDS_MF_BODY_DOWNLOADS" -msgstr "下载列表" - -msgid "IDS_MF_TAB_MEMORY_CARD" -msgstr "存储卡" - -msgid "IDS_MF_TAB_EXTERNAL_STORAGE" -msgstr "外部存储器" - -msgid "IDS_MF_SK3_EDIT" -msgstr "编辑" - -msgid "IDS_MF_SK3_DELETE" -msgstr "删除" - -msgid "IDS_MF_SK3_MOVE" -msgstr "移动" - -msgid "IDS_MF_BODY_UP" -msgstr "上" - -msgid "IDS_MF_SK3_MOVE_HERE" -msgstr "移动到这里" - -msgid "IDS_MF_SK3_COPY" -msgstr "复制" - -msgid "IDS_MF_SK3_SORT_BY" -msgstr "排序方式" - -msgid "IDS_MF_SK3_SEARCH" -msgstr "搜索" - -msgid "IDS_MF_SK3_MORE" -msgstr "更多" - -msgid "IDS_MF_OPT_CREATE_FOLDER" -msgstr "新建文件夹" - -msgid "IDS_MF_BODY_FOLDER_NAME" -msgstr "文件夹名称" - -msgid "IDS_MF_BODY_ACCESS_MORE_MY_ALBUM" -msgstr "我的相册" - -msgid "IDS_MF_OPT_VIEW_AS" -msgstr "查看方式" - -msgid "IDS_MF_SK3_BACK" -msgstr "返回" - -msgid "IDS_MF_BODY_MY_VIDEO_CLIPS" -msgstr "我的录像片段" - -msgid "IDS_MF_BODY_RIGHT_STATUS" -msgstr "授权状态" - -msgid "IDS_MF_BODY_VENDOR" -msgstr "提供者" - -msgid "IDS_MF_HEADER_COUNT" -msgstr "计数" - -msgid "IDS_MF_BODY_CONTAINS" -msgstr "包括" - -msgid "IDS_MF_BODY_INDIVIDUAL" -msgstr "个人" - -msgid "IDS_MF_BODY_INTERVAL" -msgstr "间隔" - -msgid "IDS_MF_BODY_RENAME_ABB" -msgstr "重命名" - -msgid "IDS_MF_BODY_TIME" -msgstr "时间" - -msgid "IDS_MF_BODY_TIMED_COUNT" -msgstr "计时" - -msgid "IDS_MF_BODY_TYPE" -msgstr "类型" - -msgid "IDS_MF_BODY_UNLIMITED" -msgstr "无限" - -msgid "IDS_MF_BUTTON_REPLACE_ABB" -msgstr "替换" - -msgid "IDS_MF_OPT_CALLER_RINGTONE" -msgstr "来电铃声" - -msgid "IDS_MF_OPT_LISTBY_NAME" -msgstr "名称" - -msgid "IDS_MF_POP_COPIED" -msgstr "已复制" - -msgid "IDS_MF_POP_NOTHING_SELECTED" -msgstr "未选择" - -msgid "IDS_MF_POP_NOT_ENOUGH_HEAP_MEMORY" -msgstr "堆存储器容量不足" - -msgid "IDS_MF_POP_NOT_ENOUGH_MEMORY_DELETE_SOME_ITEMS" -msgstr "存储空间不足。请删除部分项目" - -msgid "IDS_MF_BODY_CREATED_DATE" -msgstr "创建日期" - -msgid "IDS_MF_BODY_GPS_INFORMATION" -msgstr "GPS 信息" - -msgid "IDS_MF_BODY_GPS_LATITUDE" -msgstr "GPS纬度" - -msgid "IDS_MF_BODY_GPS_LONGITUDE" -msgstr "GPS经度" - -msgid "IDS_MF_BODY_GPS_VERSION" -msgstr "GPS 版本" - -msgid "IDS_MF_SK_DETAILS" -msgstr "详细信息" - -msgid "IDS_MF_BODY_ANY" -msgstr "任何" - -msgid "IDS_MF_BODY_AVAILABLE_USES" -msgstr "可用于" - -msgid "IDS_MF_BODY_EXECUTE" -msgstr "执行" - -msgid "IDS_MF_BODY_FORWARDING" -msgstr "转发" - -msgid "IDS_MF_BODY_IMPOSSIBLE" -msgstr "不可以" - -msgid "IDS_MF_BODY_MMC_DATA_IS_INITIALIZING_ING" -msgstr "正在初始化 MMC 数据..." - -msgid "IDS_MF_BODY_POSSIBLE" -msgstr "可以" - -msgid "IDS_MF_BODY_PRINT" -msgstr "打印" - -msgid "IDS_MF_BODY_VALIDITY" -msgstr "有效" - -msgid "IDS_MF_HEADER_NEW_FOLDER" -msgstr "新文件夹" - -msgid "IDS_MF_OPT_EDIT" -msgstr "编辑" - -msgid "IDS_MF_OPT_LIST_BY" -msgstr "排序方式" - -msgid "IDS_MF_OPT_MOVE_HERE" -msgstr "移动到这里" - -msgid "IDS_MF_POP_CONTINUE" -msgstr "继续" - -msgid "IDS_MF_POP_COPYING" -msgstr "正在复制..." - -msgid "IDS_MF_POP_PASTE_HERE" -msgstr "粘贴至此" - -msgid "IDS_MF_POP_UNSUPPORTED_FILE_TYPE" -msgstr "不支持的文件类型" - -msgid "IDS_MF_OPT_DETAIL_VIEW" -msgstr "详情查看" - -msgid "IDS_MF_POP_ASCENDING" -msgstr "升序" - -msgid "IDS_MF_POP_DESCENDING" -msgstr "降序" - -msgid "IDS_MF_TAB_ALL" -msgstr "全部" - -msgid "IDS_MF_BODY_UP_M_BACK" -msgstr "上" - -msgid "IDS_MF_BUTTON_SEARCH_ALL_FOLDERS" -msgstr "搜索所有文件夹" - -msgid "IDS_MF_OPT_THUMBNAIL_VIEW" -msgstr "缩略图查看" - -msgid "IDS_MF_OPT_SHOW_FILE_EXTENSION" -msgstr "显示文件扩展名" - -msgid "IDS_MF_OPT_SORT_BY" -msgstr "排序方式" - -msgid "IDS_MF_BODY_LIST_AND_DETAILS_ABB" -msgstr "列表和详情" - -msgid "IDS_MF_OPT_HIDE_FILE_EXTENSION_ABB" -msgstr "隐藏文件扩展名" - -msgid "IDS_MF_OPT_NAME_HA_TO_Z" -msgstr "名称(A 至 Z)" - -msgid "IDS_MF_OPT_NAME_HZ_TO_A" -msgstr "名称(Z 至 A)" - -msgid "IDS_MF_OPT_DATE_HMOST_RECENT" -msgstr "日期(最近)" - -msgid "IDS_MF_OPT_DATE_HOLDEST" -msgstr "日期(最早)" - -msgid "IDS_MF_BUTTON_GO_TO_MY_FILES" -msgstr "转到我的文件" - -msgid "IDS_MF_BODY_RINGTONES" -msgstr "铃声" - -msgid "IDS_MF_BUTTON_EXPORT_HERE" -msgstr "此处导出" - -msgid "IDS_MF_POP_UNABLE_TO_SET_DRM_PROTECTED_CONTENT_AS_RINGTONE_OR_NOTIFICATION_ALERT" -msgstr "无法将 DRM 保护内容设置为铃声或通知提醒" - diff --git a/data/po/zh_HK.po b/data/po/zh_HK.po deleted file mode 100644 index 33e8318..0000000 --- a/data/po/zh_HK.po +++ /dev/null @@ -1,318 +0,0 @@ -msgid "IDS_MF_TAB_UP" -msgstr "向上" - -msgid "IDS_MF_BUTTON_HOME" -msgstr "首頁" - -msgid "IDS_MF_OPT_VIEW_BY_LIST" -msgstr "按清單檢視" - -msgid "IDS_MF_OPT_VIEW_BY_THUMBNAIL" -msgstr "按縮圖檢視" - -msgid "IDS_MF_POP_DELETE_FAILED" -msgstr "刪除失敗" - -msgid "IDS_MF_POP_DRM_FILE_CANNOT_SEND" -msgstr "DRM 檔案。無法發送" - -msgid "IDS_MF_POP_INVALID_FILE_NAME" -msgstr "檔案名稱無效" - -msgid "IDS_MF_POP_MAXIMUM_FOLDER_REACHED" -msgstr "資料夾數目已達上限" - -msgid "IDS_MF_POP_PERMISSION_DENIED" -msgstr "權限被拒絕" - -msgid "IDS_MF_POP_SEND_FAILED" -msgstr "發送失敗" - -msgid "IDS_MF_POP_THE_DESTINATION_FOLDER_IS_A_SUBFOLDER_OF_THE_SOURCE_FOLDER" -msgstr "目標資料夾是來源資料夾的子資料夾" - -msgid "IDS_MF_POP_THIS_FILE_DOES_NOT_EXIST" -msgstr "此檔案不存在" - -msgid "IDS_MF_POP_UNABLE_TO_COPY" -msgstr "無法複製" - -msgid "IDS_MF_POP_UNABLE_TO_MOVE" -msgstr "無法移動" - -msgid "IDS_MF_BODY_NOT_ENOUGH_MEMORY_IN_PHONE_MEMORY_DELETE_SOME_ITEMS_AND_TRY_AGAIN" -msgstr "手機記憶體不足。刪除一些項目並再試" - -msgid "IDS_MF_POP_COPYING_FAILED" -msgstr "複製失敗" - -msgid "IDS_MF_POP_MOVING_FAILED" -msgstr "移動失敗" - -msgid "IDS_MF_POP_NOT_ENOUGH_MEMORY_PS_AVAILABLE" -msgstr "記憶體不足。%s 可用" - -msgid "IDS_MF_POP_SAME_NAME_ALREADY_IN_USE" -msgstr "相同名稱已被使用" - -msgid "IDS_MF_POP_UNABLE_TO_MOVE_DESTINATION_FOLDER_SAME_AS_SOURCE_FOLDER" -msgstr "無法移動。目的地資料夾與來源資料夾相同" - -msgid "IDS_MF_SK3_CREATE_FOLDER" -msgstr "建立資料夾" - -msgid "IDS_MF_SK3_PASTE_HERE" -msgstr "貼在這裡" - -msgid "IDS_MF_BODY_ALERTS" -msgstr "提示" - -msgid "IDS_MF_BODY_WALLPAPERS" -msgstr "螢幕牆紙" - -msgid "IDS_MF_TAB_PHONE" -msgstr "手機" - -msgid "IDS_MF_BODY_IMAGES" -msgstr "圖像" - -msgid "IDS_MF_BODY_VIDEOS" -msgstr "影片" - -msgid "IDS_MF_BODY_SOUNDS" -msgstr "聲音" - -msgid "IDS_MF_BODY_DOWNLOADS" -msgstr "下載項目" - -msgid "IDS_MF_TAB_MEMORY_CARD" -msgstr "記憶卡" - -msgid "IDS_MF_TAB_EXTERNAL_STORAGE" -msgstr "外置儲存裝置" - -msgid "IDS_MF_SK3_EDIT" -msgstr "編輯" - -msgid "IDS_MF_SK3_DELETE" -msgstr "刪除" - -msgid "IDS_MF_SK3_MOVE" -msgstr "移動" - -msgid "IDS_MF_BODY_UP" -msgstr "上" - -msgid "IDS_MF_SK3_MOVE_HERE" -msgstr "移到這裡" - -msgid "IDS_MF_SK3_COPY" -msgstr "複製" - -msgid "IDS_MF_SK3_SORT_BY" -msgstr "排序方式" - -msgid "IDS_MF_SK3_SEARCH" -msgstr "搜尋" - -msgid "IDS_MF_SK3_MORE" -msgstr "更多" - -msgid "IDS_MF_OPT_CREATE_FOLDER" -msgstr "建立資料夾" - -msgid "IDS_MF_BODY_FOLDER_NAME" -msgstr "資料夾名稱" - -msgid "IDS_MF_BODY_ACCESS_MORE_MY_ALBUM" -msgstr "我的相簿" - -msgid "IDS_MF_OPT_VIEW_AS" -msgstr "檢視為" - -msgid "IDS_MF_SK3_BACK" -msgstr "返回" - -msgid "IDS_MF_BODY_MY_VIDEO_CLIPS" -msgstr "我的短片" - -msgid "IDS_MF_BODY_RIGHT_STATUS" -msgstr "版權狀態" - -msgid "IDS_MF_BODY_VENDOR" -msgstr "供應商" - -msgid "IDS_MF_HEADER_COUNT" -msgstr "計數" - -msgid "IDS_MF_BODY_CONTAINS" -msgstr "包含" - -msgid "IDS_MF_BODY_INDIVIDUAL" -msgstr "個人" - -msgid "IDS_MF_BODY_INTERVAL" -msgstr "間隔" - -msgid "IDS_MF_BODY_RENAME_ABB" -msgstr "重新命名" - -msgid "IDS_MF_BODY_TIME" -msgstr "時間" - -msgid "IDS_MF_BODY_TIMED_COUNT" -msgstr "計時" - -msgid "IDS_MF_BODY_TYPE" -msgstr "類型" - -msgid "IDS_MF_BODY_UNLIMITED" -msgstr "無限制" - -msgid "IDS_MF_BUTTON_REPLACE_ABB" -msgstr "取代" - -msgid "IDS_MF_OPT_CALLER_RINGTONE" -msgstr "聯絡人來電鈴聲" - -msgid "IDS_MF_OPT_LISTBY_NAME" -msgstr "名稱" - -msgid "IDS_MF_POP_COPIED" -msgstr "已複製" - -msgid "IDS_MF_POP_NOTHING_SELECTED" -msgstr "無已選擇項目" - -msgid "IDS_MF_POP_NOT_ENOUGH_HEAP_MEMORY" -msgstr "堆積記憶體不足" - -msgid "IDS_MF_POP_NOT_ENOUGH_MEMORY_DELETE_SOME_ITEMS" -msgstr "記憶體不足。請刪除一些項目" - -msgid "IDS_MF_BODY_CREATED_DATE" -msgstr "建立日期" - -msgid "IDS_MF_BODY_GPS_INFORMATION" -msgstr "GPS 資訊" - -msgid "IDS_MF_BODY_GPS_LATITUDE" -msgstr "GPS緯度" - -msgid "IDS_MF_BODY_GPS_LONGITUDE" -msgstr "GPS經度" - -msgid "IDS_MF_BODY_GPS_VERSION" -msgstr "GPS 版本" - -msgid "IDS_MF_SK_DETAILS" -msgstr "詳細資料" - -msgid "IDS_MF_BODY_ANY" -msgstr "任何" - -msgid "IDS_MF_BODY_AVAILABLE_USES" -msgstr "可供使用" - -msgid "IDS_MF_BODY_EXECUTE" -msgstr "執行" - -msgid "IDS_MF_BODY_FORWARDING" -msgstr "轉寄中" - -msgid "IDS_MF_BODY_IMPOSSIBLE" -msgstr "不可以" - -msgid "IDS_MF_BODY_MMC_DATA_IS_INITIALIZING_ING" -msgstr "正在初始化 MMC 數據..." - -msgid "IDS_MF_BODY_POSSIBLE" -msgstr "可以" - -msgid "IDS_MF_BODY_PRINT" -msgstr "列印" - -msgid "IDS_MF_BODY_VALIDITY" -msgstr "有效期" - -msgid "IDS_MF_HEADER_NEW_FOLDER" -msgstr "新資料夾" - -msgid "IDS_MF_OPT_EDIT" -msgstr "編輯" - -msgid "IDS_MF_OPT_LIST_BY" -msgstr "排列按" - -msgid "IDS_MF_OPT_MOVE_HERE" -msgstr "移到這裡" - -msgid "IDS_MF_POP_CONTINUE" -msgstr "繼續" - -msgid "IDS_MF_POP_COPYING" -msgstr "正在複製..." - -msgid "IDS_MF_POP_PASTE_HERE" -msgstr "貼在這裡" - -msgid "IDS_MF_POP_UNSUPPORTED_FILE_TYPE" -msgstr "不支援的檔案類型" - -msgid "IDS_MF_OPT_DETAIL_VIEW" -msgstr "詳細檢視" - -msgid "IDS_MF_POP_ASCENDING" -msgstr "升序" - -msgid "IDS_MF_POP_DESCENDING" -msgstr "降序" - -msgid "IDS_MF_TAB_ALL" -msgstr "全部" - -msgid "IDS_MF_BODY_UP_M_BACK" -msgstr "上" - -msgid "IDS_MF_BUTTON_SEARCH_ALL_FOLDERS" -msgstr "搜尋所有資料夾" - -msgid "IDS_MF_OPT_THUMBNAIL_VIEW" -msgstr "縮圖檢視" - -msgid "IDS_MF_OPT_SHOW_FILE_EXTENSION" -msgstr "顯示檔案伸展內容" - -msgid "IDS_MF_OPT_SORT_BY" -msgstr "排序方式" - -msgid "IDS_MF_BODY_LIST_AND_DETAILS_ABB" -msgstr "清單及詳情" - -msgid "IDS_MF_OPT_HIDE_FILE_EXTENSION_ABB" -msgstr "隱藏副檔名" - -msgid "IDS_MF_OPT_NAME_HA_TO_Z" -msgstr "名稱 (A 至 Z)" - -msgid "IDS_MF_OPT_NAME_HZ_TO_A" -msgstr "名稱 (Z 至 A)" - -msgid "IDS_MF_OPT_DATE_HMOST_RECENT" -msgstr "日期(最近的)" - -msgid "IDS_MF_OPT_DATE_HOLDEST" -msgstr "日期 (最舊的)" - -msgid "IDS_MF_BUTTON_GO_TO_MY_FILES" -msgstr "前往我的檔案" - -msgid "IDS_MF_BODY_RINGTONES" -msgstr "鈴聲" - -msgid "IDS_MF_BUTTON_EXPORT_HERE" -msgstr "於此匯出" - -msgid "IDS_MF_POP_UNABLE_TO_SET_DRM_PROTECTED_CONTENT_AS_RINGTONE_OR_NOTIFICATION_ALERT" -msgstr "無法將受 DRM 保護的內容設為鈴聲或通知提醒" - diff --git a/data/po/zh_SG.po b/data/po/zh_SG.po deleted file mode 100644 index 99adf4d..0000000 --- a/data/po/zh_SG.po +++ /dev/null @@ -1,318 +0,0 @@ -msgid "IDS_MF_TAB_UP" -msgstr "向上" - -msgid "IDS_MF_BUTTON_HOME" -msgstr "首页" - -msgid "IDS_MF_OPT_VIEW_BY_LIST" -msgstr "通过列表查看" - -msgid "IDS_MF_OPT_VIEW_BY_THUMBNAIL" -msgstr "通过缩略图查看" - -msgid "IDS_MF_POP_DELETE_FAILED" -msgstr "删除失败" - -msgid "IDS_MF_POP_DRM_FILE_CANNOT_SEND" -msgstr "DRM文件。无法发送" - -msgid "IDS_MF_POP_INVALID_FILE_NAME" -msgstr "文件名无效" - -msgid "IDS_MF_POP_MAXIMUM_FOLDER_REACHED" -msgstr "已达最大文件夹数" - -msgid "IDS_MF_POP_PERMISSION_DENIED" -msgstr "许可被拒绝" - -msgid "IDS_MF_POP_SEND_FAILED" -msgstr "发送失败" - -msgid "IDS_MF_POP_THE_DESTINATION_FOLDER_IS_A_SUBFOLDER_OF_THE_SOURCE_FOLDER" -msgstr "目标文件夹是源文件夹的子文件夹" - -msgid "IDS_MF_POP_THIS_FILE_DOES_NOT_EXIST" -msgstr "此文件不存在" - -msgid "IDS_MF_POP_UNABLE_TO_COPY" -msgstr "无法复制" - -msgid "IDS_MF_POP_UNABLE_TO_MOVE" -msgstr "无法移动" - -msgid "IDS_MF_BODY_NOT_ENOUGH_MEMORY_IN_PHONE_MEMORY_DELETE_SOME_ITEMS_AND_TRY_AGAIN" -msgstr "手机内存不足。请删除部分项目并重试" - -msgid "IDS_MF_POP_COPYING_FAILED" -msgstr "复制失败" - -msgid "IDS_MF_POP_MOVING_FAILED" -msgstr "移动失败" - -msgid "IDS_MF_POP_NOT_ENOUGH_MEMORY_PS_AVAILABLE" -msgstr "存储空间不足. 剩余%s" - -msgid "IDS_MF_POP_SAME_NAME_ALREADY_IN_USE" -msgstr "相同名称已在使用" - -msgid "IDS_MF_POP_UNABLE_TO_MOVE_DESTINATION_FOLDER_SAME_AS_SOURCE_FOLDER" -msgstr "无法移动。目的地文件夹与源文件夹相同" - -msgid "IDS_MF_SK3_CREATE_FOLDER" -msgstr "创建文件夹" - -msgid "IDS_MF_SK3_PASTE_HERE" -msgstr "粘贴到此" - -msgid "IDS_MF_BODY_ALERTS" -msgstr "提示" - -msgid "IDS_MF_BODY_WALLPAPERS" -msgstr "墙纸" - -msgid "IDS_MF_TAB_PHONE" -msgstr "手机" - -msgid "IDS_MF_BODY_IMAGES" -msgstr "图像" - -msgid "IDS_MF_BODY_VIDEOS" -msgstr "录像" - -msgid "IDS_MF_BODY_SOUNDS" -msgstr "声音" - -msgid "IDS_MF_BODY_DOWNLOADS" -msgstr "下载" - -msgid "IDS_MF_TAB_MEMORY_CARD" -msgstr "存储卡" - -msgid "IDS_MF_TAB_EXTERNAL_STORAGE" -msgstr "外部存储器" - -msgid "IDS_MF_SK3_EDIT" -msgstr "编辑" - -msgid "IDS_MF_SK3_DELETE" -msgstr "删除" - -msgid "IDS_MF_SK3_MOVE" -msgstr "移动" - -msgid "IDS_MF_BODY_UP" -msgstr "上" - -msgid "IDS_MF_SK3_MOVE_HERE" -msgstr "移到这儿" - -msgid "IDS_MF_SK3_COPY" -msgstr "复制" - -msgid "IDS_MF_SK3_SORT_BY" -msgstr "排序方式" - -msgid "IDS_MF_SK3_SEARCH" -msgstr "搜寻" - -msgid "IDS_MF_SK3_MORE" -msgstr "更多" - -msgid "IDS_MF_OPT_CREATE_FOLDER" -msgstr "创建文件夹" - -msgid "IDS_MF_BODY_FOLDER_NAME" -msgstr "文件夹名称" - -msgid "IDS_MF_BODY_ACCESS_MORE_MY_ALBUM" -msgstr "我的相册" - -msgid "IDS_MF_OPT_VIEW_AS" -msgstr "查看作为" - -msgid "IDS_MF_SK3_BACK" -msgstr "返回" - -msgid "IDS_MF_BODY_MY_VIDEO_CLIPS" -msgstr "我的视频剪辑" - -msgid "IDS_MF_BODY_RIGHT_STATUS" -msgstr "权限状态" - -msgid "IDS_MF_BODY_VENDOR" -msgstr "提供者" - -msgid "IDS_MF_HEADER_COUNT" -msgstr "计数" - -msgid "IDS_MF_BODY_CONTAINS" -msgstr "包括" - -msgid "IDS_MF_BODY_INDIVIDUAL" -msgstr "个人" - -msgid "IDS_MF_BODY_INTERVAL" -msgstr "间隔" - -msgid "IDS_MF_BODY_RENAME_ABB" -msgstr "重命名" - -msgid "IDS_MF_BODY_TIME" -msgstr "时间" - -msgid "IDS_MF_BODY_TIMED_COUNT" -msgstr "计时" - -msgid "IDS_MF_BODY_TYPE" -msgstr "类型" - -msgid "IDS_MF_BODY_UNLIMITED" -msgstr "无限" - -msgid "IDS_MF_BUTTON_REPLACE_ABB" -msgstr "替换" - -msgid "IDS_MF_OPT_CALLER_RINGTONE" -msgstr "来电人铃声" - -msgid "IDS_MF_OPT_LISTBY_NAME" -msgstr "名称" - -msgid "IDS_MF_POP_COPIED" -msgstr "已复制" - -msgid "IDS_MF_POP_NOTHING_SELECTED" -msgstr "未选择" - -msgid "IDS_MF_POP_NOT_ENOUGH_HEAP_MEMORY" -msgstr "堆存储器容量不足" - -msgid "IDS_MF_POP_NOT_ENOUGH_MEMORY_DELETE_SOME_ITEMS" -msgstr "内存已满\n请删除项目" - -msgid "IDS_MF_BODY_CREATED_DATE" -msgstr "创建日期" - -msgid "IDS_MF_BODY_GPS_INFORMATION" -msgstr "GPS 信息" - -msgid "IDS_MF_BODY_GPS_LATITUDE" -msgstr "GPS纬度" - -msgid "IDS_MF_BODY_GPS_LONGITUDE" -msgstr "GPS经度" - -msgid "IDS_MF_BODY_GPS_VERSION" -msgstr "GPS 版本" - -msgid "IDS_MF_SK_DETAILS" -msgstr "详细信息" - -msgid "IDS_MF_BODY_ANY" -msgstr "任何" - -msgid "IDS_MF_BODY_AVAILABLE_USES" -msgstr "适用用法" - -msgid "IDS_MF_BODY_EXECUTE" -msgstr "执行" - -msgid "IDS_MF_BODY_FORWARDING" -msgstr "转发中" - -msgid "IDS_MF_BODY_IMPOSSIBLE" -msgstr "不可能" - -msgid "IDS_MF_BODY_MMC_DATA_IS_INITIALIZING_ING" -msgstr "正在初始化 MMC 数据..." - -msgid "IDS_MF_BODY_POSSIBLE" -msgstr "可能" - -msgid "IDS_MF_BODY_PRINT" -msgstr "打印" - -msgid "IDS_MF_BODY_VALIDITY" -msgstr "有效" - -msgid "IDS_MF_HEADER_NEW_FOLDER" -msgstr "新文件夹" - -msgid "IDS_MF_OPT_EDIT" -msgstr "编辑" - -msgid "IDS_MF_OPT_LIST_BY" -msgstr "排序方式" - -msgid "IDS_MF_OPT_MOVE_HERE" -msgstr "移动至此" - -msgid "IDS_MF_POP_CONTINUE" -msgstr "继续" - -msgid "IDS_MF_POP_COPYING" -msgstr "复制中…" - -msgid "IDS_MF_POP_PASTE_HERE" -msgstr "粘贴至此" - -msgid "IDS_MF_POP_UNSUPPORTED_FILE_TYPE" -msgstr "不支持的文件类型" - -msgid "IDS_MF_OPT_DETAIL_VIEW" -msgstr "详情查看" - -msgid "IDS_MF_POP_ASCENDING" -msgstr "升序" - -msgid "IDS_MF_POP_DESCENDING" -msgstr "降序" - -msgid "IDS_MF_TAB_ALL" -msgstr "全部" - -msgid "IDS_MF_BODY_UP_M_BACK" -msgstr "上" - -msgid "IDS_MF_BUTTON_SEARCH_ALL_FOLDERS" -msgstr "搜索所有文件夹" - -msgid "IDS_MF_OPT_THUMBNAIL_VIEW" -msgstr "缩略图查看" - -msgid "IDS_MF_OPT_SHOW_FILE_EXTENSION" -msgstr "显示文件扩展名" - -msgid "IDS_MF_OPT_SORT_BY" -msgstr "排序通过" - -msgid "IDS_MF_BODY_LIST_AND_DETAILS_ABB" -msgstr "列表和详情" - -msgid "IDS_MF_OPT_HIDE_FILE_EXTENSION_ABB" -msgstr "隐藏文件扩展名" - -msgid "IDS_MF_OPT_NAME_HA_TO_Z" -msgstr "名称(A 至 Z)" - -msgid "IDS_MF_OPT_NAME_HZ_TO_A" -msgstr "名称(Z 至 A)" - -msgid "IDS_MF_OPT_DATE_HMOST_RECENT" -msgstr "日期(最近)" - -msgid "IDS_MF_OPT_DATE_HOLDEST" -msgstr "日期(最晚)" - -msgid "IDS_MF_BUTTON_GO_TO_MY_FILES" -msgstr "转到我的文件" - -msgid "IDS_MF_BODY_RINGTONES" -msgstr "铃声" - -msgid "IDS_MF_BUTTON_EXPORT_HERE" -msgstr "此处导出" - -msgid "IDS_MF_POP_UNABLE_TO_SET_DRM_PROTECTED_CONTENT_AS_RINGTONE_OR_NOTIFICATION_ALERT" -msgstr "无法将 DRM 保护内容设置为铃声或通知提醒" - diff --git a/data/po/zh_TW.po b/data/po/zh_TW.po deleted file mode 100644 index b22bd6b..0000000 --- a/data/po/zh_TW.po +++ /dev/null @@ -1,318 +0,0 @@ -msgid "IDS_MF_TAB_UP" -msgstr "向上" - -msgid "IDS_MF_BUTTON_HOME" -msgstr "主目錄" - -msgid "IDS_MF_OPT_VIEW_BY_LIST" -msgstr "依清單檢視" - -msgid "IDS_MF_OPT_VIEW_BY_THUMBNAIL" -msgstr "以縮圖檢視" - -msgid "IDS_MF_POP_DELETE_FAILED" -msgstr "刪除失敗" - -msgid "IDS_MF_POP_DRM_FILE_CANNOT_SEND" -msgstr "DRM 檔案。無法傳送" - -msgid "IDS_MF_POP_INVALID_FILE_NAME" -msgstr "檔案名稱無效" - -msgid "IDS_MF_POP_MAXIMUM_FOLDER_REACHED" -msgstr "資料夾數目已達上限" - -msgid "IDS_MF_POP_PERMISSION_DENIED" -msgstr "權限被拒絕" - -msgid "IDS_MF_POP_SEND_FAILED" -msgstr "傳送失敗" - -msgid "IDS_MF_POP_THE_DESTINATION_FOLDER_IS_A_SUBFOLDER_OF_THE_SOURCE_FOLDER" -msgstr "目標資料夾為來源資料夾的子資料夾" - -msgid "IDS_MF_POP_THIS_FILE_DOES_NOT_EXIST" -msgstr "此檔案不存在" - -msgid "IDS_MF_POP_UNABLE_TO_COPY" -msgstr "無法複製" - -msgid "IDS_MF_POP_UNABLE_TO_MOVE" -msgstr "無法移動" - -msgid "IDS_MF_BODY_NOT_ENOUGH_MEMORY_IN_PHONE_MEMORY_DELETE_SOME_ITEMS_AND_TRY_AGAIN" -msgstr "沒有足夠的記憶體在手機上。刪除某些項目,然後再試一次" - -msgid "IDS_MF_POP_COPYING_FAILED" -msgstr "複製失敗" - -msgid "IDS_MF_POP_MOVING_FAILED" -msgstr "移動失敗" - -msgid "IDS_MF_POP_NOT_ENOUGH_MEMORY_PS_AVAILABLE" -msgstr "記憶體不足。%s 可用" - -msgid "IDS_MF_POP_SAME_NAME_ALREADY_IN_USE" -msgstr "相同名稱已在使用中" - -msgid "IDS_MF_POP_UNABLE_TO_MOVE_DESTINATION_FOLDER_SAME_AS_SOURCE_FOLDER" -msgstr "無法移動。目標資料夾與來源資料夾相同" - -msgid "IDS_MF_SK3_CREATE_FOLDER" -msgstr "建立資料夾" - -msgid "IDS_MF_SK3_PASTE_HERE" -msgstr "複製到這裡" - -msgid "IDS_MF_BODY_ALERTS" -msgstr "提醒" - -msgid "IDS_MF_BODY_WALLPAPERS" -msgstr "桌布" - -msgid "IDS_MF_TAB_PHONE" -msgstr "電話" - -msgid "IDS_MF_BODY_IMAGES" -msgstr "圖像" - -msgid "IDS_MF_BODY_VIDEOS" -msgstr "影片" - -msgid "IDS_MF_BODY_SOUNDS" -msgstr "聲音" - -msgid "IDS_MF_BODY_DOWNLOADS" -msgstr "下載" - -msgid "IDS_MF_TAB_MEMORY_CARD" -msgstr "記憶卡" - -msgid "IDS_MF_TAB_EXTERNAL_STORAGE" -msgstr "外部儲存裝置" - -msgid "IDS_MF_SK3_EDIT" -msgstr "編輯" - -msgid "IDS_MF_SK3_DELETE" -msgstr "刪除" - -msgid "IDS_MF_SK3_MOVE" -msgstr "移動" - -msgid "IDS_MF_BODY_UP" -msgstr "上" - -msgid "IDS_MF_SK3_MOVE_HERE" -msgstr "移到這裡" - -msgid "IDS_MF_SK3_COPY" -msgstr "複製" - -msgid "IDS_MF_SK3_SORT_BY" -msgstr "排序依據" - -msgid "IDS_MF_SK3_SEARCH" -msgstr "搜尋" - -msgid "IDS_MF_SK3_MORE" -msgstr "更多" - -msgid "IDS_MF_OPT_CREATE_FOLDER" -msgstr "建立資料夾" - -msgid "IDS_MF_BODY_FOLDER_NAME" -msgstr "資料夾名稱" - -msgid "IDS_MF_BODY_ACCESS_MORE_MY_ALBUM" -msgstr "我的相簿" - -msgid "IDS_MF_OPT_VIEW_AS" -msgstr "檢視為" - -msgid "IDS_MF_SK3_BACK" -msgstr "上一步" - -msgid "IDS_MF_BODY_MY_VIDEO_CLIPS" -msgstr "我的影片片段" - -msgid "IDS_MF_BODY_RIGHT_STATUS" -msgstr "版權狀態" - -msgid "IDS_MF_BODY_VENDOR" -msgstr "供應商" - -msgid "IDS_MF_HEADER_COUNT" -msgstr "計數" - -msgid "IDS_MF_BODY_CONTAINS" -msgstr "包含" - -msgid "IDS_MF_BODY_INDIVIDUAL" -msgstr "個別" - -msgid "IDS_MF_BODY_INTERVAL" -msgstr "間隔" - -msgid "IDS_MF_BODY_RENAME_ABB" -msgstr "重新命名" - -msgid "IDS_MF_BODY_TIME" -msgstr "時間" - -msgid "IDS_MF_BODY_TIMED_COUNT" -msgstr "計時數" - -msgid "IDS_MF_BODY_TYPE" -msgstr "類型" - -msgid "IDS_MF_BODY_UNLIMITED" -msgstr "無限制" - -msgid "IDS_MF_BUTTON_REPLACE_ABB" -msgstr "取代" - -msgid "IDS_MF_OPT_CALLER_RINGTONE" -msgstr "來電者鈴聲" - -msgid "IDS_MF_OPT_LISTBY_NAME" -msgstr "名稱" - -msgid "IDS_MF_POP_COPIED" -msgstr "已複製" - -msgid "IDS_MF_POP_NOTHING_SELECTED" -msgstr "未選擇任何項目" - -msgid "IDS_MF_POP_NOT_ENOUGH_HEAP_MEMORY" -msgstr "堆積記憶體不足" - -msgid "IDS_MF_POP_NOT_ENOUGH_MEMORY_DELETE_SOME_ITEMS" -msgstr "記憶體不足。請刪除部分項目" - -msgid "IDS_MF_BODY_CREATED_DATE" -msgstr "建立日期" - -msgid "IDS_MF_BODY_GPS_INFORMATION" -msgstr "GPS 資訊" - -msgid "IDS_MF_BODY_GPS_LATITUDE" -msgstr "GPS緯度" - -msgid "IDS_MF_BODY_GPS_LONGITUDE" -msgstr "GPS經度" - -msgid "IDS_MF_BODY_GPS_VERSION" -msgstr "GPS 版本" - -msgid "IDS_MF_SK_DETAILS" -msgstr "詳細資料" - -msgid "IDS_MF_BODY_ANY" -msgstr "任何" - -msgid "IDS_MF_BODY_AVAILABLE_USES" -msgstr "可供使用" - -msgid "IDS_MF_BODY_EXECUTE" -msgstr "執行" - -msgid "IDS_MF_BODY_FORWARDING" -msgstr "正在轉寄" - -msgid "IDS_MF_BODY_IMPOSSIBLE" -msgstr "不可能" - -msgid "IDS_MF_BODY_MMC_DATA_IS_INITIALIZING_ING" -msgstr "正在初始化 MMC 資料..." - -msgid "IDS_MF_BODY_POSSIBLE" -msgstr "可能" - -msgid "IDS_MF_BODY_PRINT" -msgstr "列印" - -msgid "IDS_MF_BODY_VALIDITY" -msgstr "有效期" - -msgid "IDS_MF_HEADER_NEW_FOLDER" -msgstr "新資料夾" - -msgid "IDS_MF_OPT_EDIT" -msgstr "編輯" - -msgid "IDS_MF_OPT_LIST_BY" -msgstr "排列依據" - -msgid "IDS_MF_OPT_MOVE_HERE" -msgstr "移到這裡" - -msgid "IDS_MF_POP_CONTINUE" -msgstr "繼續" - -msgid "IDS_MF_POP_COPYING" -msgstr "正在複製..." - -msgid "IDS_MF_POP_PASTE_HERE" -msgstr "複製到這裡" - -msgid "IDS_MF_POP_UNSUPPORTED_FILE_TYPE" -msgstr "不支援的檔案類型" - -msgid "IDS_MF_OPT_DETAIL_VIEW" -msgstr "詳細查看" - -msgid "IDS_MF_POP_ASCENDING" -msgstr "遞增" - -msgid "IDS_MF_POP_DESCENDING" -msgstr "遞減" - -msgid "IDS_MF_TAB_ALL" -msgstr "全部" - -msgid "IDS_MF_BODY_UP_M_BACK" -msgstr "上" - -msgid "IDS_MF_BUTTON_SEARCH_ALL_FOLDERS" -msgstr "搜尋所有資料夾" - -msgid "IDS_MF_OPT_THUMBNAIL_VIEW" -msgstr "縮圖檢視" - -msgid "IDS_MF_OPT_SHOW_FILE_EXTENSION" -msgstr "顯示文件擴展名" - -msgid "IDS_MF_OPT_SORT_BY" -msgstr "排序依據" - -msgid "IDS_MF_BODY_LIST_AND_DETAILS_ABB" -msgstr "清單及詳情" - -msgid "IDS_MF_OPT_HIDE_FILE_EXTENSION_ABB" -msgstr "隱藏副檔名" - -msgid "IDS_MF_OPT_NAME_HA_TO_Z" -msgstr "名稱 (A 至 Z)" - -msgid "IDS_MF_OPT_NAME_HZ_TO_A" -msgstr "名稱 (Z 至 A)" - -msgid "IDS_MF_OPT_DATE_HMOST_RECENT" -msgstr "日期 (最近的)" - -msgid "IDS_MF_OPT_DATE_HOLDEST" -msgstr "日期 (最舊的)" - -msgid "IDS_MF_BUTTON_GO_TO_MY_FILES" -msgstr "前往我的檔案" - -msgid "IDS_MF_BODY_RINGTONES" -msgstr "鈴聲" - -msgid "IDS_MF_BUTTON_EXPORT_HERE" -msgstr "於此匯出" - -msgid "IDS_MF_POP_UNABLE_TO_SET_DRM_PROTECTED_CONTENT_AS_RINGTONE_OR_NOTIFICATION_ALERT" -msgstr "無法將受 DRM 保護的內容設為鈴聲或通知提醒" - diff --git a/data/popup_new_folder.edc b/data/popup_new_folder.edc deleted file mode 100644 index c66b86d..0000000 --- a/data/popup_new_folder.edc +++ /dev/null @@ -1,176 +0,0 @@ -group -{ - name: UG_GRP_POPUP; - parts - { - part - { - name: "base"; - type: SPACER; - scale: 1; - description - { - state: "default" 0.0; - min: 0 220; - fixed: 1 0; - } - } - part - { - name: "t_pad"; - type: SPACER; - scale: 1; - description - { - state: "default" 0.0; - rel1.to: "base"; - rel2.to: "base"; - align: 0.0 0.0; - min: 0 0; - max: 0 0; - fixed: 1 1; - } - } - part - { - name: "title.text"; - type: TEXT; - mouse_events: 0; - scale: 1; - description - { - state: "default" 0.0; - min: 0 70; - max: -1 70; - rel1 - { - relative: 0.0 1.0; - to: "t_pad"; - } - rel2.to: "base"; - align: 0.0 0.0; - fixed: 1 1; - color: 128 128 128 255; - text - { - font: "Tizen:style=Medium"; - size: 42; - min: 1 1; - text_class: "tizen"; - } - } - } - part - { - name: "top_password_padding"; - type: SPACER; - scale: 1; - description - { - state: "default" 0.0; - min: 0 20; - max: 0 20; - rel1 - { - to_x: "base"; - to_y: "title.text"; - relative: 0.0 1.0; - } - rel2 - { - to_x: "base"; - to_y: "title.text"; - relative: 1.0 1.0; - } - align: 0.0 0.0; - fixed: 1 1; - } - } - part - { - name: "password_field_image"; - type: IMAGE; - mouse_events: 0; - scale: 1; - description - { - state: "default" 0.0; - min: 0 80; - image - { - normal: IMG_EDITFIELD_BG; - border: 9 9 9 9; - } - rel1 - { - to_x: "base"; - to_y: "top_password_padding"; - relative: 0.0 1.0; - } - rel2 - { - to_x: "base"; - to_y: "top_password_padding"; - relative: 1.0 1.0; - } - fixed: 1 1; - align: 0.0 0.0; - } - } - part - { - name: "left_swallow_padding"; - type: SPACER; - scale: 1; - description - { - state: "default" 0.0; - min: 16 0; - max: 16 0; - rel1.to: "password_field_image"; - rel2.to: "password_field_image"; - align: 0.0 0.0; - fixed: 1 1; - } - } - part - { - name: "right_swallow_padding"; - type: SPACER; - scale: 1; - description - { - min: 16 0; - max: 16 0; - rel1.to: "password_field_image"; - rel2.to: "password_field_image"; - align: 1.0 0.0; - fixed: 1 1; - } - } - part - { - name: "elm.swallow.content"; - type: SWALLOW; - scale: 1; - ignore_flags: ON_HOLD; - description - { - state: "default" 0.0; - rel1 - { - to_x: "left_swallow_padding"; - to_y: "password_field_image"; - relative : 1.0 0.0; - } - rel2 - { - to_x: "right_swallow_padding"; - to_y: "password_field_image"; - relative: 0.0 1.0; - } - align: 0.0 0.5; - } - } - } -} diff --git a/data/search_path.edc b/data/search_path.edc deleted file mode 100644 index 9bdd3ea..0000000 --- a/data/search_path.edc +++ /dev/null @@ -1,28 +0,0 @@ -group -{ - name: UG_GRP_SEARCH_PATH; - parts - { - part - { - name: "path"; - type: SWALLOW; - description - { - state: "default" 0.0; - fixed: 1 1; - min : UG_SEARCH_FOLDER_W UG_SEARCH_FOLDER_H; - max : UG_SEARCH_FOLDER_W UG_SEARCH_FOLDER_H; - align: 0.5 0.5; - rel1 - { - relative: 0.0 0.0; - } - rel2 - { - relative: 1.0 1.0; - } - } - } - } -} diff --git a/data/ug_edc_common.h b/data/ug_edc_common.h deleted file mode 100644 index ab4aaa0..0000000 --- a/data/ug_edc_common.h +++ /dev/null @@ -1,38 +0,0 @@ -/* - * Copyright 2012-2013 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 UG_EDJ_PATH "/usr/ug/res/edje/ug-myfile-efl" -#define UG_ICON_PATH "/usr/ug/res/images/ug-myfile-efl" - -#define UG_EDJ_NAVIGATIONBAR UG_EDJ_PATH"/ug_navibar_layout.edj" - - -#define UG_GRP_LIST "effect/model/list" -#define UG_GRP_NAVI_VIEW "navigation_view" -#define UG_GRP_CTRL_BAR "ctrl_bar" -#define UG_GRP_NO_CONTENT "noContent" -#define UG_GRP_PATH_INFO "pathinfo" -#define UG_GRP_CTRLBAR_LAYOUT "ctrlbar_layout" -#define UG_GRP_POPUP "popup_new_folder" -#define UG_GRP_SEARCH_PATH "search_path" - -#define CTRLBAR_PADDING_X 30 -#define CTRLBAR_PADDING_Y 30 -#define COLOR_BLACK 0 0 0 255 -#define COLOR_WHITE 250 250 250 255 -#define NOCONTENT_IMAGE_REL1_WIDTH_HEIGHT_INC 0.282 0.294 -#define NOCONTENT_IMAGE_REL2_WIDTH_HEIGHT_INC 0.718 0.54 -#define NOCONTENT_MIDDLE_PADDING_INC 54 diff --git a/data/ug_navibar_layout.edc b/data/ug_navibar_layout.edc deleted file mode 100644 index ef1ec78..0000000 --- a/data/ug_navibar_layout.edc +++ /dev/null @@ -1,98 +0,0 @@ -#include "ug_edc_common.h" - -#define UG_BASIC_W 480 -#define UG_BASIC_H 800 - -#define UG_MAIN_W 720 -#define UG_MAIN_H 1280 - -#define UG_MF_SCALE_W (UG_MAIN_W/UG_BASIC_W) -#define UG_MF_SCALE_H (UG_MAIN_H/UG_BASIC_H) - -#define UG_THUMBNAIL_W 50*UG_MF_SCALE_W -#define UG_THUMBNAIL_H 50*UG_MF_SCALE_H - -#define UG_MEMORY_SUB_THUMB_W 40*UG_MF_SCALE_W -#define UG_MEMORY_SUB_THUMB_H 25*UG_MF_SCALE_H - -#define UG_SOUND_BUTTON_W 240*UG_MF_SCALE_W -#define UG_SOUND_BUTTON_H 46*UG_MF_SCALE_H - -#define UG_SEARCH_FOLDER_H 300*UG_MF_SCALE_H -#define UG_SEARCH_FOLDER_W 400*UG_MF_SCALE_H - -#define GENLIST_ITEM_H 71*UG_MF_SCALE_H -#define PATH_INFO_H 48*UG_MF_SCALE_H -#define PATH_INFO_LABEL_H 25 -#define PATH_INFO_BG_COLOR 68 68 68 255 -#define BOTTOM_LINE_COLOR 199 199 199 255 -#define COLOR_DARK_BLUE_GRAY 17 19 27 255 - -#define IMG_EDITFIELD_BG "mf_new_folder_editfield_bg.png" -images { - - image: IMG_EDITFIELD_BG COMP; - -} - - -#define MF_UG_PART_PADDING_TOP( param_padding_size ) \ - part { name: "elm.padding.top"; \ - type: RECT; \ - scale: 1; \ - description { \ - state: "default" 0.0; \ - min: 0 param_padding_size; \ - fixed: 0 1; \ - visible: 0; \ - rel2.relative: 1.0 0.0; \ - align: 0.0 0.0; \ - } \ - } -#define MF_UG_PART_PADDING_BOTTOM( param_padding_size ) \ - part { name: "elm.padding.bottom"; \ - type: RECT; \ - scale: 1; \ - description { state: "default" 0.0; \ - min: 0 param_padding_size; \ - fixed: 0 1; \ - visible: 0; \ - rel1.relative: 0.0 1.0; \ - align: 0.0 1.0; \ - } \ - } - -#define MF_UG_PART_PADDING_LEFT( param_padding_size ) \ - part { name: "elm.padding.left"; \ - type: RECT; \ - scale: 1; \ - description { state: "default" 0.0; \ - min: param_padding_size 0; \ - fixed: 1 0; \ - visible: 0; \ - rel2.relative: 0.0 1.0; \ - align: 0.0 0.0; \ - } \ - } - -#define EFFECT_PROGRAMS(part_name, part_state, after_name) \ - program \ - { \ - name: part_name; \ - action: STATE_SET part_state 0.0;\ - target: "icon"; \ - transition: DECELERATE 0.03; \ - after: after_name; \ - } - -collections -{ - #include "navigation_view.edc" - #include "no_storage.edc" - #include "effect_model_list.edc" - #include "pathinfo.edc" - #include "search_path.edc" - #include "popup_new_folder.edc" - #include "ctrlbar_layout.edc" -} - diff --git a/feature_rm.py b/feature_rm.py new file mode 100644 index 0000000..f8bf8d5 --- /dev/null +++ b/feature_rm.py @@ -0,0 +1,341 @@ +#filename:feature_rm.py +#author:Liu Ruichao +import os +import shutil + +feature_file = "CMakeLists.txt" +spec_file = "packaging/ug-myfile-efl.spec" +dest_path = os.getcwd() + +old_str = "com.samsung" +new_str = "org.tizen" + +def make_clear_line(line, prefix, profix): + line_clear_blank = line.strip() + line_rm_profix = line_clear_blank.strip(profix) + line_rm_prefix = line_rm_profix.strip(prefix) + line_clear = line_rm_prefix.strip() + return line_clear + +def read_feature_name(filepath): + global feature_file, dest_path + file_list_name = dest_path +os.sep+filepath + data = open(file_list_name) + + feature_set = set() + start = 0 + for each_line in data: + line_clear = make_clear_line(each_line, '#', '') + + if start == 0: + if line_clear == "START_PUBLIC_DISABLE_FEATURE": + start = 1 + else: + continue + else: + if line_clear == "END_START_PUBLIC_DISABLE_FEATURE": + start = 0 + else: + if len(line_clear) != 0: + feature_set.add(line_clear) + + data.close() + return feature_set + +def read_file_name(filepath): + global feature_file, dest_path + file_list_name = dest_path +os.sep+filepath + data = open(file_list_name) + + file_set = set() + start = 0 + for each_line in data: + line_clear = make_clear_line(each_line, '#', '') + + if start == 0: + if line_clear == "START_PUBLIC_REMOVED_FILE": + start = 1 + else: + continue + else: + if line_clear == "END_START_PUBLIC_REMOVED_FILE": + start = 0 + else: + if len(line_clear) != 0: + file_set.add(line_clear) + + data.close() + return file_set + +def read_string_removal(filepath): + global feature_file, dest_path, spec_file + file_name = dest_path +os.sep+filepath + + string_set = set() + start = 0 + + try: + data = open(file_name) + for each_line in data: + line_clear = make_clear_line(each_line, '#', '') + + if start == 0: + if line_clear == "START_PUBLIC_REMOVED_STRING": + start = 1 + else: + continue + else: + if line_clear == "END_START_PUBLIC_REMOVED_STRING": + start = 0 + else: + if len(line_clear) != 0: + string_set.add(line_clear) + except: + print "open" + file_name + "failed" + finally: + data.close() + + file_name = dest_path + os.sep + spec_file + try: + print(file_name) + data = open(file_name) + for each_line in data: + line_clear = make_clear_line(each_line, '#', '') + + if start == 0: + if line_clear == "START_PUBLIC_REMOVED_STRING": + start = 1 + else: + continue + else: + if line_clear == "END_START_PUBLIC_REMOVED_STRING": + start = 0 + else: + if len(line_clear) != 0: + string_set.add(line_clear) + except: + print "spec file does not exists" + finally: + data.close() + + return string_set + +def replace_string(original, old, new): + modified = original + if original.find(old) != -1: + modified = original.replace(old, new) + return modified + +def remove_code(filename, feature_set, string_set): + global old_str, new_str + start_remove = 0; + taglist = list(); + dirty_taglist = list(); + # rename the original file + old_filename = filename + ".tmp" + new_filename = filename + + #move old file to be .tmp and create new file with original filename + shutil.move(filename, old_filename) + # open both file + file_new = open(new_filename, "w") + file_old = open(old_filename, "r") + + for each_line in file_old: + #clear the line + clear_line = make_clear_line(each_line, '', '') + if start_remove == 0: #it's not in a #ifdef that need to be removed + if clear_line.startswith("#ifdef"): + line_flag = make_clear_line(clear_line, "#ifdef", '') + #print(line_flag) + if line_flag in feature_set: + taglist.append('d') + start_remove = 1 + else: + taglist.append('c') + file_new.write(each_line) + elif clear_line.startswith("#if"): + taglist.append('c') + file_new.write(each_line) + elif clear_line.startswith("#endif"): + if len(taglist) > 0: + top = taglist.pop() + if top == 'c': + file_new.write(each_line) + elif top == 'd': + continue + else: + string_del_flag = False + for item in string_set: + if clear_line == item: + string_del_flag = True + break + if string_del_flag == False: + if clear_line.startswith("#START_PUBLIC_") or clear_line.startswith("#END_START_PUBLIC_"): + continue; + else: + file_new.write(each_line) + + else: #it's in a #ifdef that need to be removed + if clear_line.startswith("#ifdef"): + taglist.append('d') + dirty_taglist.append('d') + elif clear_line.startswith("#else"): + if len(dirty_taglist) == 0: + start_remove = 0 + elif clear_line.startswith("#if") and not clear_line.startswith("#ifdef"): + taglist.append('d') + dirty_taglist.append('d') + elif clear_line.startswith("#endif"): + if len(dirty_taglist) > 0: + dirty_taglist.pop() + else: + start_remove = 0 + taglist.pop() + else: + continue + + if len(taglist) > 0: + print "\033[1;31;47m [Critical error] ",len(taglist)," tag(s) not matched! \033[0m" + file_old.close() + file_new.close() + #at the end we should remove the .tmp file + os.remove(old_filename) + +def rename_operation(filename): + global old_str, new_str + # rename the original file + old_filename = filename + ".tmp" + new_filename = filename + + #move old file to be .tmp and create new file with original filename + shutil.move(filename, old_filename) + # open both file + file_new = open(new_filename, "w") + file_old = open(old_filename, "r") + + for each_line in file_old: + #clear the line + new_line = replace_string(each_line, old_str, new_str) + file_new.write(new_line) + + file_old.close() + file_new.close() + #at the end we should remove the .tmp file + os.remove(old_filename) + +feature_set = read_feature_name(feature_file) +file_set = read_file_name(feature_file) +string_set = read_string_removal(feature_file) +print("feature list:") +for item in feature_set: + print(item) + +print("file list:") +for item in file_set: + print(item) + +print("string list:") +for item in string_set: + print(item) + +#remove_code("/home/rico/codebox/obs/music-player/src/view/mp-play-view.c", feature_set) + + +files=os.walk(dest_path) + +for a,b,c in files: + #we do not modify hidden directory + check_ignore = a + hidden_flag = False + path_depth = check_ignore.split('/') + for item in path_depth: + if item.startswith("."): + hidden_flag = True + break + + if hidden_flag == True: + continue + + #delete directory to be removed + if len(b) != 0: + for original_dir in b: + if original_dir.startswith("."): + continue + + dir_for_checking = a + os.sep + original_dir + #check if directory to be removed + remove_dir = False + for item in file_set: + clear_item = make_clear_line(item, '', '/') + if dir_for_checking.find(clear_item) >= 0: + remove_dir = True + break + if remove_dir == True: + shutil.rmtree(dir_for_checking) + continue + + if len(c)!=0: + #check all files + for original_file in c: + #we do not modify hidden files + if original_file.startswith("."): + continue + + file_in_checking = a + os.sep + original_file + #remove the specialized file + delete_flag = False + for item in file_set: + if file_in_checking.find(item) >= 0: + os.remove(file_in_checking) + delete_flag = True + break + if delete_flag == True: + continue + + remove_code(file_in_checking, feature_set, string_set) + print "\033[1;34;47m [info hint]\033[0m" + file_in_checking + "\033[1;34;47m done\033[0m" + +print "\033[1;35;48m [info hint]\033[0m" +"replace " + old_str + " with " + new_str + "\033[1;34;47m done\033[0m" +files=os.walk(dest_path) +for a,b,c in files: + #we do not modify hidden directory + check_ignore = a + hidden_flag = False + path_depth = check_ignore.split('/') + for item in path_depth: + if item.startswith("."): + hidden_flag = True + break + + if hidden_flag == True: + continue + + #start to replace org.tizen with org.tizen# + ## firstly, do file rename and content update## + if len(c) != 0: + for file_item in c: + if file_item.startswith("."): + continue + + file_in_checking = a + os.sep + file_item + new_file_to_check = file_in_checking + #check if file need to be rename + new_file_name = replace_string(file_item, old_str, new_str) + if new_file_name != file_item: + new_file_to_check = a + os.sep + new_file_name + shutil.move(file_in_checking, new_file_to_check) + ## do content update + rename_operation(new_file_to_check) + + if len(b) != 0: + for original_dir in b: + dir_in_checking = a + os.sep + original_dir + new_dir_to_check = dir_in_checking + #check if dir need to be rename + new_dir_name = replace_string(original_dir, old_str, new_str) + if new_dir_name != original_dir: + new_dir_to_check = a + os.sep + new_dir_name + shutil.move(dir_in_checking, new_dir_to_check) + +print "\033[1;34;47m [info hint] dir/file content modification done! \033[0m" diff --git a/gbs/.gbs.conf b/gbs/.gbs.conf deleted file mode 100644 index 8bc3456..0000000 --- a/gbs/.gbs.conf +++ /dev/null @@ -1,37 +0,0 @@ -[general] -#Current profile name which should match a profile section name -profile = profile.tizendev - -[profile.tizendev] -#Common authentication info for whole profile -#user = -#CAUTION: please use the key name "passwd" to reset plaintext password -#passwd = -obs = obs.tizendev -#Comma separated list of repositories -repos = repo.tizendev_latest -#repos = repo.tizendev_local,repo.tizendev_latest -#repos = repo.tizendev_snapshot - -[obs.tizendev] -#OBS API URL pointing to a remote OBS. -url = https://api.tizendev.org -#Optional user and password, set if differ from profile's user and password -#user = -#passwd = - -[repo.tizendev_latest] -#Build against repo's URL -url = https://download.tizendev.org/snapshots/tizen-2.2/common/latest -#url = https://download.tizendev.org/snapshots/tizen-2.2/common/latest -#Optional user and password, set if differ from profile's user and password -user = %name% -passwdx = %passwd% - -[repo.tizendev_snapshot] -url = https://download.tizendev.org/snapshots/trunk/common/tizen_20120801.1 - -[repo.tizendev_local] -#repo for your local packages -#url = /path_to_your_local_repo -#url = http://local_server/path_to_repo diff --git a/icons/00_nocontents_multimedia.png b/icons/00_nocontents_multimedia.png Binary files differnew file mode 100644 index 0000000..d8393dd --- /dev/null +++ b/icons/00_nocontents_multimedia.png diff --git a/icons/myfile_controlbar_cion_home.png b/icons/myfile_controlbar_cion_home.png Binary files differnew file mode 100644 index 0000000..3ca7513 --- /dev/null +++ b/icons/myfile_controlbar_cion_home.png diff --git a/data/icons/Controlbar/U01_controlbar_cion_up_folder.png b/icons/myfile_controlbar_cion_home_press.png Binary files differindex 57f3e58..342bc28 100644 --- a/data/icons/Controlbar/U01_controlbar_cion_up_folder.png +++ b/icons/myfile_controlbar_cion_home_press.png diff --git a/icons/myfile_controlbar_cion_up_folder.png b/icons/myfile_controlbar_cion_up_folder.png Binary files differnew file mode 100644 index 0000000..323ab06 --- /dev/null +++ b/icons/myfile_controlbar_cion_up_folder.png diff --git a/icons/myfile_controlbar_cion_up_folder_press.png b/icons/myfile_controlbar_cion_up_folder_press.png Binary files differnew file mode 100644 index 0000000..415d01c --- /dev/null +++ b/icons/myfile_controlbar_cion_up_folder_press.png diff --git a/data/icons/myfile_icon_done.png b/icons/myfile_icon_add.png Binary files differindex d771640..5cf32b9 100644 --- a/data/icons/myfile_icon_done.png +++ b/icons/myfile_icon_add.png diff --git a/data/icons/myfile_icon_control_pause.png b/icons/myfile_icon_control_pause.png Binary files differindex 5ae19bb..01a2b03 100644 --- a/data/icons/myfile_icon_control_pause.png +++ b/icons/myfile_icon_control_pause.png diff --git a/data/icons/myfile_icon_control_pause_press.png b/icons/myfile_icon_control_pause_press.png Binary files differindex 3151a6a..01a2b03 100644 --- a/data/icons/myfile_icon_control_pause_press.png +++ b/icons/myfile_icon_control_pause_press.png diff --git a/icons/myfile_icon_control_play.png b/icons/myfile_icon_control_play.png Binary files differnew file mode 100644 index 0000000..7392116 --- /dev/null +++ b/icons/myfile_icon_control_play.png diff --git a/icons/myfile_icon_control_play_press.png b/icons/myfile_icon_control_play_press.png Binary files differnew file mode 100644 index 0000000..7392116 --- /dev/null +++ b/icons/myfile_icon_control_play_press.png diff --git a/icons/myfile_icon_create_folder.png b/icons/myfile_icon_create_folder.png Binary files differnew file mode 100644 index 0000000..0bf003b --- /dev/null +++ b/icons/myfile_icon_create_folder.png diff --git a/icons/myfile_icon_delete.png b/icons/myfile_icon_delete.png Binary files differnew file mode 100644 index 0000000..f5c3ec4 --- /dev/null +++ b/icons/myfile_icon_delete.png diff --git a/icons/myfile_icon_email.png b/icons/myfile_icon_email.png Binary files differnew file mode 100644 index 0000000..c923d38 --- /dev/null +++ b/icons/myfile_icon_email.png diff --git a/data/icons/U01_1st_icon_phone_press.png b/icons/myfile_icon_entry_folder.png Binary files differindex bbe69cb..2df2d17 100644 --- a/data/icons/U01_1st_icon_phone_press.png +++ b/icons/myfile_icon_entry_folder.png diff --git a/icons/myfile_icon_entry_folder_press.png b/icons/myfile_icon_entry_folder_press.png Binary files differnew file mode 100644 index 0000000..f9e50d3 --- /dev/null +++ b/icons/myfile_icon_entry_folder_press.png diff --git a/icons/myfile_icon_etc.png b/icons/myfile_icon_etc.png Binary files differnew file mode 100644 index 0000000..088cf2d --- /dev/null +++ b/icons/myfile_icon_etc.png diff --git a/icons/myfile_icon_excel.png b/icons/myfile_icon_excel.png Binary files differnew file mode 100644 index 0000000..929d14f --- /dev/null +++ b/icons/myfile_icon_excel.png diff --git a/icons/myfile_icon_folder.png b/icons/myfile_icon_folder.png Binary files differnew file mode 100644 index 0000000..e71a8b7 --- /dev/null +++ b/icons/myfile_icon_folder.png diff --git a/icons/myfile_icon_folder_sdcard.png b/icons/myfile_icon_folder_sdcard.png Binary files differnew file mode 100644 index 0000000..ca1352a --- /dev/null +++ b/icons/myfile_icon_folder_sdcard.png diff --git a/data/image/mf_new_folder_editfield_bg.png b/icons/myfile_icon_folder_shortcut.png Binary files differindex 6c671f4..60af935 100644 --- a/data/image/mf_new_folder_editfield_bg.png +++ b/icons/myfile_icon_folder_shortcut.png diff --git a/icons/myfile_icon_grid_folder_card.png b/icons/myfile_icon_grid_folder_card.png Binary files differnew file mode 100644 index 0000000..796d047 --- /dev/null +++ b/icons/myfile_icon_grid_folder_card.png diff --git a/icons/myfile_icon_html.png b/icons/myfile_icon_html.png Binary files differnew file mode 100644 index 0000000..d893a80 --- /dev/null +++ b/icons/myfile_icon_html.png diff --git a/icons/myfile_icon_hwp.png b/icons/myfile_icon_hwp.png Binary files differnew file mode 100644 index 0000000..a17f6e1 --- /dev/null +++ b/icons/myfile_icon_hwp.png diff --git a/icons/myfile_icon_images.png b/icons/myfile_icon_images.png Binary files differnew file mode 100644 index 0000000..d9133d6 --- /dev/null +++ b/icons/myfile_icon_images.png diff --git a/data/icons/myfile_icon_java.png b/icons/myfile_icon_java.png Binary files differindex a083ee6..a083ee6 100644 --- a/data/icons/myfile_icon_java.png +++ b/icons/myfile_icon_java.png diff --git a/icons/myfile_icon_music.png b/icons/myfile_icon_music.png Binary files differnew file mode 100644 index 0000000..d4988b0 --- /dev/null +++ b/icons/myfile_icon_music.png diff --git a/icons/myfile_icon_pdf.png b/icons/myfile_icon_pdf.png Binary files differnew file mode 100644 index 0000000..f937fcf --- /dev/null +++ b/icons/myfile_icon_pdf.png diff --git a/icons/myfile_icon_ppt.png b/icons/myfile_icon_ppt.png Binary files differnew file mode 100644 index 0000000..76e3dd4 --- /dev/null +++ b/icons/myfile_icon_ppt.png diff --git a/icons/myfile_icon_root_folder_device_memory.png b/icons/myfile_icon_root_folder_device_memory.png Binary files differnew file mode 100644 index 0000000..f159711 --- /dev/null +++ b/icons/myfile_icon_root_folder_device_memory.png diff --git a/icons/myfile_icon_root_folder_sdcard.png b/icons/myfile_icon_root_folder_sdcard.png Binary files differnew file mode 100644 index 0000000..44dee7c --- /dev/null +++ b/icons/myfile_icon_root_folder_sdcard.png diff --git a/icons/myfile_icon_rss.png b/icons/myfile_icon_rss.png Binary files differnew file mode 100644 index 0000000..65740a3 --- /dev/null +++ b/icons/myfile_icon_rss.png diff --git a/icons/myfile_icon_select_all.png b/icons/myfile_icon_select_all.png Binary files differnew file mode 100644 index 0000000..4829962 --- /dev/null +++ b/icons/myfile_icon_select_all.png diff --git a/icons/myfile_icon_select_all_selected.png b/icons/myfile_icon_select_all_selected.png Binary files differnew file mode 100644 index 0000000..0c531fc --- /dev/null +++ b/icons/myfile_icon_select_all_selected.png diff --git a/icons/myfile_icon_snb.png b/icons/myfile_icon_snb.png Binary files differnew file mode 100644 index 0000000..5903558 --- /dev/null +++ b/icons/myfile_icon_snb.png diff --git a/icons/myfile_icon_story.png b/icons/myfile_icon_story.png Binary files differnew file mode 100644 index 0000000..2bfeb42 --- /dev/null +++ b/icons/myfile_icon_story.png diff --git a/icons/myfile_icon_svg.png b/icons/myfile_icon_svg.png Binary files differnew file mode 100644 index 0000000..12eb18d --- /dev/null +++ b/icons/myfile_icon_svg.png diff --git a/icons/myfile_icon_swf.png b/icons/myfile_icon_swf.png Binary files differnew file mode 100644 index 0000000..6bc8a79 --- /dev/null +++ b/icons/myfile_icon_swf.png diff --git a/icons/myfile_icon_task.png b/icons/myfile_icon_task.png Binary files differnew file mode 100644 index 0000000..8fa2938 --- /dev/null +++ b/icons/myfile_icon_task.png diff --git a/icons/myfile_icon_text.png b/icons/myfile_icon_text.png Binary files differnew file mode 100644 index 0000000..ef3e2c0 --- /dev/null +++ b/icons/myfile_icon_text.png diff --git a/icons/myfile_icon_tpk.png b/icons/myfile_icon_tpk.png Binary files differnew file mode 100644 index 0000000..0758614 --- /dev/null +++ b/icons/myfile_icon_tpk.png diff --git a/icons/myfile_icon_vcalender.png b/icons/myfile_icon_vcalender.png Binary files differnew file mode 100644 index 0000000..90271fd --- /dev/null +++ b/icons/myfile_icon_vcalender.png diff --git a/icons/myfile_icon_vcard.png b/icons/myfile_icon_vcard.png Binary files differnew file mode 100644 index 0000000..cf09ea0 --- /dev/null +++ b/icons/myfile_icon_vcard.png diff --git a/icons/myfile_icon_video.png b/icons/myfile_icon_video.png Binary files differnew file mode 100644 index 0000000..a2325fa --- /dev/null +++ b/icons/myfile_icon_video.png diff --git a/icons/myfile_icon_video_play.png b/icons/myfile_icon_video_play.png Binary files differnew file mode 100644 index 0000000..f9ecb0b --- /dev/null +++ b/icons/myfile_icon_video_play.png diff --git a/icons/myfile_icon_word.png b/icons/myfile_icon_word.png Binary files differnew file mode 100644 index 0000000..4585c4e --- /dev/null +++ b/icons/myfile_icon_word.png diff --git a/icons/myfile_icon_zip.png b/icons/myfile_icon_zip.png Binary files differnew file mode 100644 index 0000000..227f5a1 --- /dev/null +++ b/icons/myfile_icon_zip.png diff --git a/data/icons/myfile_icon_add.png b/icons/myfile_list_icon_bg.png Binary files differindex 43c4984..56e5a9a 100644 --- a/data/icons/myfile_icon_add.png +++ b/icons/myfile_list_icon_bg.png diff --git a/image/00_button_radio_activate.png b/image/00_button_radio_activate.png Binary files differnew file mode 100644 index 0000000..7c52d2a --- /dev/null +++ b/image/00_button_radio_activate.png diff --git a/image/00_button_radio_activate_ef.png b/image/00_button_radio_activate_ef.png Binary files differnew file mode 100644 index 0000000..f45c5ec --- /dev/null +++ b/image/00_button_radio_activate_ef.png diff --git a/data/icons/myfile_icon_cancel.png b/image/00_button_radio_bg.png Binary files differindex 8d12808..e40b124 100644 --- a/data/icons/myfile_icon_cancel.png +++ b/image/00_button_radio_bg.png diff --git a/image/00_button_radio_bg_ef.png b/image/00_button_radio_bg_ef.png Binary files differnew file mode 100644 index 0000000..013e1b7 --- /dev/null +++ b/image/00_button_radio_bg_ef.png diff --git a/image/00_button_radio_bg_line.png b/image/00_button_radio_bg_line.png Binary files differnew file mode 100644 index 0000000..2d09fc7 --- /dev/null +++ b/image/00_button_radio_bg_line.png diff --git a/image/00_button_radio_focus.png b/image/00_button_radio_focus.png Binary files differnew file mode 100644 index 0000000..6f52552 --- /dev/null +++ b/image/00_button_radio_focus.png diff --git a/image/00_circle_button_bg.png b/image/00_circle_button_bg.png Binary files differnew file mode 100644 index 0000000..2f26ab3 --- /dev/null +++ b/image/00_circle_button_bg.png diff --git a/image/00_circle_button_dim_ef.png b/image/00_circle_button_dim_ef.png Binary files differnew file mode 100644 index 0000000..ffad721 --- /dev/null +++ b/image/00_circle_button_dim_ef.png diff --git a/data/icons/U01_1st_icon_memory_card_press.png b/image/00_circle_button_ef.png Binary files differindex 00a0644..caeb4be 100644 --- a/data/icons/U01_1st_icon_memory_card_press.png +++ b/image/00_circle_button_ef.png diff --git a/data/icons/myfile_icon_USB.png b/image/00_circle_button_focus.png Binary files differindex bf4dc00..c621797 100644 --- a/data/icons/myfile_icon_USB.png +++ b/image/00_circle_button_focus.png diff --git a/data/icons/myfile_icon_mmc.png b/image/00_focus_01.#.png Binary files differindex f486674..e9a1206 100644 --- a/data/icons/myfile_icon_mmc.png +++ b/image/00_focus_01.#.png diff --git a/image/00_list_group_bg.#.png b/image/00_list_group_bg.#.png Binary files differnew file mode 100644 index 0000000..0f5c388 --- /dev/null +++ b/image/00_list_group_bg.#.png diff --git a/image/00_list_group_bg_ef.#.png b/image/00_list_group_bg_ef.#.png Binary files differnew file mode 100644 index 0000000..1639b57 --- /dev/null +++ b/image/00_list_group_bg_ef.#.png diff --git a/image/U01_subdepth_folder_arrow.png b/image/U01_subdepth_folder_arrow.png Binary files differnew file mode 100644 index 0000000..50072fc --- /dev/null +++ b/image/U01_subdepth_folder_arrow.png diff --git a/image/U01_subdepth_tail.png b/image/U01_subdepth_tail.png Binary files differnew file mode 100644 index 0000000..6a2cb3b --- /dev/null +++ b/image/U01_subdepth_tail.png diff --git a/image/myfile_icon_video_play.png b/image/myfile_icon_video_play.png Binary files differnew file mode 100644 index 0000000..2aeccec --- /dev/null +++ b/image/myfile_icon_video_play.png diff --git a/packaging/ug-myfile-efl.spec b/packaging/ug-myfile-efl.spec index 2fa7ad6..91f8f7c 100644 --- a/packaging/ug-myfile-efl.spec +++ b/packaging/ug-myfile-efl.spec @@ -1,57 +1,101 @@ -#sbs-git:slp/pkgs/u/ug-myfile-efl ug-myfile-efl 0.0.1 1b44640a2e59d1af1ab0792e39a73bf3680b25c9 +%define _unpackaged_files_terminate_build 0 +%define _optdir /usr +%define _usrdir /usr +%define _ugdir %{_usrdir}/ug + Name: ug-myfile-efl -Summary: Myfile UI Gadget (EFL) -Version: 0.0.48 +Summary: ug +Version: 0.3.42 Release: 1 -Group: misc -License: Flora +Group: TO_BE/FILLED_IN +License: Apache-2.0 Source0: %{name}-%{version}.tar.gz -BuildRequires: cmake -BuildRequires: edje-bin -BuildRequires: embryo-bin -BuildRequires: gettext +%if "%{?tizen_profile_name}" == "wearable" || "%{?tizen_profile_name}" == "tv" +ExcludeArch: %{arm} %ix86 x86_64 +%endif -BuildRequires: pkgconfig(ecore-x) -BuildRequires: pkgconfig(ecore-evas) +BuildRequires: pkgconfig(capi-appfw-application) BuildRequires: pkgconfig(elementary) -BuildRequires: pkgconfig(vconf) BuildRequires: pkgconfig(glib-2.0) -BuildRequires: pkgconfig(drm-client) BuildRequires: pkgconfig(ui-gadget-1) -BuildRequires: pkgconfig(capi-appfw-application) +BuildRequires: pkgconfig(libmedia-service) BuildRequires: pkgconfig(dlog) -BuildRequires: pkgconfig(capi-media-sound-manager) -BuildRequires: pkgconfig(capi-media-player) +BuildRequires: pkgconfig(eina) +BuildRequires: pkgconfig(evas) +BuildRequires: pkgconfig(edje) +BuildRequires: pkgconfig(ecore) +BuildRequires: pkgconfig(ecore-input) +BuildRequires: pkgconfig(icu-i18n) +BuildRequires: pkgconfig(capi-system-device) +BuildRequires: pkgconfig(capi-system-runtime-info) BuildRequires: pkgconfig(capi-content-media-content) -BuildRequires: pkgconfig(capi-system-power) BuildRequires: pkgconfig(notification) -BuildRequires: pkgconfig(utilX) +BuildRequires: pkgconfig(sqlite3) +#START_PUBLIC_REMOVED_STRING +BuildRequires: pkgconfig(capi-content-mime-type) +BuildRequires: pkgconfig(minizip) +BuildRequires: pkgconfig(capi-media-metadata-extractor) +BuildRequires: pkgconfig(capi-media-image-util) +BuildRequires: pkgconfig(media-thumbnail) +BuildRequires: pkgconfig(storage) +BuildRequires: pkgconfig(capi-media-sound-manager) +BuildRequires: pkgconfig(capi-media-player) +BuildRequires: pkgconfig(capi-system-system-settings) +BuildRequires: pkgconfig(capi-appfw-application) +BuildRequires: pkgconfig(appsvc) +BuildRequires: pkgconfig(pkgmgr-info) +BuildRequires: pkgconfig(pkgmgr) +BuildRequires: pkgconfig(accounts-svc) +BuildRequires: pkgconfig(libexif) +BuildRequires: pkgconfig(mm-common) +BuildRequires: pkgconfig(efl-extension) + +BuildRequires: cmake +BuildRequires: edje-bin +BuildRequires: embryo-bin +BuildRequires: gettext-devel + +BuildRequires: boost-devel +BuildRequires: boost-thread +BuildRequires: boost-system +BuildRequires: boost-filesystem + +%description +Myfile Application v1.0. +%define _smack_domain %{name} %description -Myfile UI Gadget (EFL) v1.0. +Description: myfile UG %prep -%setup -q -n %{name}-%{version} +%setup -q + %build -cmake . -DCMAKE_INSTALL_PREFIX="%{PREFIX}" +%if 0%{?sec_build_binary_debug_enable} +export CFLAGS="$CFLAGS -DTIZEN_DEBUG_ENABLE" +export CXXFLAGS="$CXXFLAGS -DTIZEN_DEBUG_ENABLE" +export FFLAGS="$FFLAGS -DTIZEN_DEBUG_ENABLE" +%endif + +cmake . -DCMAKE_INSTALL_PREFIX="%{_ugdir}" -DCMAKE_DESKTOP_ICON_DIR="/usr/share/icons/default/small" -DCMAKE_DESKTOP_DIR="/usr/share/applications" -DCMAKE_INSTALL_PKG_NAME="%{name}" -DCMAKE_INSTALL_DATA_DIR="%{DATADIR}"\ + make %{?jobs:-j%jobs} +%install +rm -rf %{buildroot} +%make_install %post mkdir -p /usr/ug/bin/ ln -sf /usr/bin/ug-client /usr/ug/bin/myfile-efl -%install -rm -rf %{buildroot} -mkdir -p %{buildroot}/usr/share/license -cp LICENSE.Flora %{buildroot}/usr/share/license/%{name} -%make_install +%postun -%files +%files %manifest ug-myfile-efl.manifest %defattr(-,root,root,-) -/usr/ug/lib/* -/usr/ug/res/* -/usr/share/packages/*.xml -/usr/share/license/%{name} +%{_ugdir}/lib/libug-myfile-efl.so* +%{_ugdir}/res/* +/usr/share/packages/ug-myfile-efl.xml +/usr/share/icons/default/small/ug-myfile-efl.png diff --git a/res/po/CMakeLists.txt b/res/po/CMakeLists.txt new file mode 100755 index 0000000..22a41a9 --- /dev/null +++ b/res/po/CMakeLists.txt @@ -0,0 +1,28 @@ +# for i18n + +#SET(POFILES bn.po en.po en_US.po gu.po hi.po kn.po ko_KR.po ml.po mr.po or.po pa.po si.po ta.po te.po) + +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_PH.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("ProjectName: ${PROJECT_NAME}") + +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 /usr/ug/res/locale/${lang}/LC_MESSAGES RENAME ${PROJECT_NAME}.mo) + SET(moFiles ${moFiles} ${moFile}) +ENDFOREACH(pofile) + +MESSAGE(".mo files: ${moFiles}") +ADD_CUSTOM_TARGET(myfilesugpo ALL DEPENDS ${moFiles}) diff --git a/res/po/POTFILES.in b/res/po/POTFILES.in new file mode 100755 index 0000000..5b882fb --- /dev/null +++ b/res/po/POTFILES.in @@ -0,0 +1 @@ +# List of source files containing translatable strings. diff --git a/res/po/ar.po b/res/po/ar.po new file mode 100755 index 0000000..d5a2d97 --- /dev/null +++ b/res/po/ar.po @@ -0,0 +1,57 @@ +msgid "IDS_MF_POP_ERR_FOLDER_NAME_EMPTY" +msgstr "أدخل اسم المجلد." + +msgid "IDS_MF_BODY_DOCUMENTS" +msgstr "المستندات" + +msgid "IDS_MF_OPT_DEFAULT_RINGTONE" +msgstr "نغمة الرنين الافتراضية" + +msgid "IDS_MF_POP_INVALID_FILE_NAME" +msgstr "اسم الملف غير صالح." + +msgid "IDS_MF_POP_UNABLE_TO_PLAY_DURING_CALL" +msgstr "يتعذر التشغيل أثناء المكالمة." + +msgid "IDS_MUSIC_POP_UNABLE_TO_ADD_SOME_ITEMS_DONT_EXIST" +msgstr "تتعذر الإضافة. بعض العناصر غير موجودة." + +msgid "IDS_ST_BODY_DEFAULT_NOTIFICATION_SOUND_ABB" +msgstr "صوت الإشعار الافتراضي" + +msgid "IDS_MF_HEADER_SELECT_ITEMS" +msgstr "تحديد عناصر" + +msgid "IDS_VR_POP_INVALID_CHARACTER_ENTERED_TRY_AGAIN" +msgstr "تم إدخال حرف غير صالح. حاول مرة أخرى." + +msgid "IDS_ST_BODY_PHONEPROFILES_SILENT" +msgstr "صامت" + +msgid "IDS_IV_POP_YOU_CAN_SELECT_UP_TO_PD_ITEMS" +msgstr "يمكنك تحديد ما يصل إلى %d عناصر." + +msgid "IDS_MF_POP_DELETE_Q" +msgstr "مسح؟" + +msgid "IDS_MF_BODY_SD_CARD_ABB" +msgstr "بطاقة SD" + +msgid "IDS_MF_BODY_DEVICE_MEMORY_ABB" +msgstr "ذاكرة الجهاز" + +msgid "IDS_MUSIC_POP_UNABLE_TO_PLAY_ERROR_OCCURRED" +msgstr "تعذر التشغيل. حدث خطأ." + +msgid "IDS_TPLATFORM_ACBUTTON_DONE_ABB" +msgstr "تم" + +msgid "IDS_TPLATFORM_ACBUTTON_CANCEL_ABB" +msgstr "إلغاء" + +msgid "IDS_CHATON_POP_MAXIMUM_FILE_SIZE_HPD_MB_EXCEEDED" +msgstr "تم تجاوز الحد الأقصى لحجم الملف (%d ميجابايت)." + +msgid "IDS_IM_POP_MAXIMUM_SIZE_OF_FILES_EXCEEDED" +msgstr "تم تجاوز الحد الأقصى لحجم الملفات." + diff --git a/res/po/az.po b/res/po/az.po new file mode 100755 index 0000000..d3f4041 --- /dev/null +++ b/res/po/az.po @@ -0,0 +1,57 @@ +msgid "IDS_MF_POP_ERR_FOLDER_NAME_EMPTY" +msgstr "Qovluq adını daxil edin." + +msgid "IDS_MF_BODY_DOCUMENTS" +msgstr "Sənədlər" + +msgid "IDS_MF_OPT_DEFAULT_RINGTONE" +msgstr "Defolt zəng melodiyası" + +msgid "IDS_MF_POP_INVALID_FILE_NAME" +msgstr "Yanlış fayl adı." + +msgid "IDS_MF_POP_UNABLE_TO_PLAY_DURING_CALL" +msgstr "Zəng zamanı səsləndirmək olmur." + +msgid "IDS_MUSIC_POP_UNABLE_TO_ADD_SOME_ITEMS_DONT_EXIST" +msgstr "Əlavə etmək mümkün deyil. Bəzi elementlər mövcud deyil." + +msgid "IDS_ST_BODY_DEFAULT_NOTIFICATION_SOUND_ABB" +msgstr "Bildiriş səsi" + +msgid "IDS_MF_HEADER_SELECT_ITEMS" +msgstr "Elementləri seç" + +msgid "IDS_VR_POP_INVALID_CHARACTER_ENTERED_TRY_AGAIN" +msgstr "Səhv simvol daxil edilib. Təkrar cəhd et" + +msgid "IDS_ST_BODY_PHONEPROFILES_SILENT" +msgstr "Səssiz" + +msgid "IDS_IV_POP_YOU_CAN_SELECT_UP_TO_PD_ITEMS" +msgstr "Siz maksimum %d element seçə bilərsiniz." + +msgid "IDS_MF_POP_DELETE_Q" +msgstr "Silinsin?" + +msgid "IDS_MF_BODY_SD_CARD_ABB" +msgstr "SD kartı" + +msgid "IDS_MF_BODY_DEVICE_MEMORY_ABB" +msgstr "Cihaz yaddaşı" + +msgid "IDS_MUSIC_POP_UNABLE_TO_PLAY_ERROR_OCCURRED" +msgstr "Səsləndirmək mümkün deyil. Səhv baş verdi." + +msgid "IDS_TPLATFORM_ACBUTTON_DONE_ABB" +msgstr "HAZIR" + +msgid "IDS_TPLATFORM_ACBUTTON_CANCEL_ABB" +msgstr "LƏĞV ET" + +msgid "IDS_CHATON_POP_MAXIMUM_FILE_SIZE_HPD_MB_EXCEEDED" +msgstr "Fayl ölçüsü (%d MB) maksimumu keçib." + +msgid "IDS_IM_POP_MAXIMUM_SIZE_OF_FILES_EXCEEDED" +msgstr "Faylların maksimum sayını keçib." + diff --git a/res/po/bg.po b/res/po/bg.po new file mode 100755 index 0000000..ccd71b6 --- /dev/null +++ b/res/po/bg.po @@ -0,0 +1,57 @@ +msgid "IDS_MF_POP_ERR_FOLDER_NAME_EMPTY" +msgstr "Въведете име на папка." + +msgid "IDS_MF_BODY_DOCUMENTS" +msgstr "Документи" + +msgid "IDS_MF_OPT_DEFAULT_RINGTONE" +msgstr "Тон на звънене по подразбиране" + +msgid "IDS_MF_POP_INVALID_FILE_NAME" +msgstr "Невалидно име на файл." + +msgid "IDS_MF_POP_UNABLE_TO_PLAY_DURING_CALL" +msgstr "Не може да се възпроизведе по време на разговор." + +msgid "IDS_MUSIC_POP_UNABLE_TO_ADD_SOME_ITEMS_DONT_EXIST" +msgstr "Не може да се добави. Някои от елементите не съществуват." + +msgid "IDS_ST_BODY_DEFAULT_NOTIFICATION_SOUND_ABB" +msgstr "Звук по подр. уведомявания" + +msgid "IDS_MF_HEADER_SELECT_ITEMS" +msgstr "Избор на елементи" + +msgid "IDS_VR_POP_INVALID_CHARACTER_ENTERED_TRY_AGAIN" +msgstr "Въведен е невалиден знак. Опитайте отново" + +msgid "IDS_ST_BODY_PHONEPROFILES_SILENT" +msgstr "Тих" + +msgid "IDS_IV_POP_YOU_CAN_SELECT_UP_TO_PD_ITEMS" +msgstr "Можете да изберете до %d елемента." + +msgid "IDS_MF_POP_DELETE_Q" +msgstr "Изтриване?" + +msgid "IDS_MF_BODY_SD_CARD_ABB" +msgstr "SD карта" + +msgid "IDS_MF_BODY_DEVICE_MEMORY_ABB" +msgstr "Памет на устройството" + +msgid "IDS_MUSIC_POP_UNABLE_TO_PLAY_ERROR_OCCURRED" +msgstr "Не може да се възпроизведе. Възникна грешка." + +msgid "IDS_TPLATFORM_ACBUTTON_DONE_ABB" +msgstr "ГОТОВО" + +msgid "IDS_TPLATFORM_ACBUTTON_CANCEL_ABB" +msgstr "ОТКАЗ" + +msgid "IDS_CHATON_POP_MAXIMUM_FILE_SIZE_HPD_MB_EXCEEDED" +msgstr "Надвишен е максималният размер на файла (%d MB)." + +msgid "IDS_IM_POP_MAXIMUM_SIZE_OF_FILES_EXCEEDED" +msgstr "Максималният размер на файловете е надхвърлен." + diff --git a/res/po/bn.po b/res/po/bn.po new file mode 100755 index 0000000..d7d2315 --- /dev/null +++ b/res/po/bn.po @@ -0,0 +1,57 @@ +msgid "IDS_MF_POP_ERR_FOLDER_NAME_EMPTY" +msgstr "ফোল্ডার নাম লিখুন।" + +msgid "IDS_MF_BODY_DOCUMENTS" +msgstr "নথিগুলি" + +msgid "IDS_MF_OPT_DEFAULT_RINGTONE" +msgstr "ডিফল্ট রিংটোন" + +msgid "IDS_MF_POP_INVALID_FILE_NAME" +msgstr "অবৈধ ফাইল নাম।" + +msgid "IDS_MF_POP_UNABLE_TO_PLAY_DURING_CALL" +msgstr "কল করার সময় প্লে করতে অক্ষম।" + +msgid "IDS_MUSIC_POP_UNABLE_TO_ADD_SOME_ITEMS_DONT_EXIST" +msgstr "যুক্ত করা যায়নি৷ কিছু আইটেম বিদ্যমান নেই।" + +msgid "IDS_ST_BODY_DEFAULT_NOTIFICATION_SOUND_ABB" +msgstr "ডিফল্ট বিজ্ঞপ্তির ধ্বনি" + +msgid "IDS_MF_HEADER_SELECT_ITEMS" +msgstr "আইটেমগুলি নির্বাচন করুন" + +msgid "IDS_VR_POP_INVALID_CHARACTER_ENTERED_TRY_AGAIN" +msgstr "অবৈধ অক্ষর প্রবেশ করানো হয়েছে৷ আবার চেষ্টা করুন।" + +msgid "IDS_ST_BODY_PHONEPROFILES_SILENT" +msgstr "নীরব" + +msgid "IDS_IV_POP_YOU_CAN_SELECT_UP_TO_PD_ITEMS" +msgstr "আপনি %dটি পর্যন্ত আইটেম নির্বাচন করতে পারেন।" + +msgid "IDS_MF_POP_DELETE_Q" +msgstr "মুছবেন?" + +msgid "IDS_MF_BODY_SD_CARD_ABB" +msgstr "SD কার্ড" + +msgid "IDS_MF_BODY_DEVICE_MEMORY_ABB" +msgstr "ডিভাইস মেমোরি" + +msgid "IDS_MUSIC_POP_UNABLE_TO_PLAY_ERROR_OCCURRED" +msgstr "প্লে করতে অক্ষম। ত্রুটি ঘটেছে।" + +msgid "IDS_TPLATFORM_ACBUTTON_DONE_ABB" +msgstr "সম্পন্ন" + +msgid "IDS_TPLATFORM_ACBUTTON_CANCEL_ABB" +msgstr "বাতিল" + +msgid "IDS_CHATON_POP_MAXIMUM_FILE_SIZE_HPD_MB_EXCEEDED" +msgstr "সর্বাধিক ফাইলের আকার (%d MB) অতিক্রান্ত।" + +msgid "IDS_IM_POP_MAXIMUM_SIZE_OF_FILES_EXCEEDED" +msgstr "ফাইলের সর্বাধিক আকারের সীমা অতিক্রান্ত।" + diff --git a/res/po/ca.po b/res/po/ca.po new file mode 100755 index 0000000..e243da7 --- /dev/null +++ b/res/po/ca.po @@ -0,0 +1,57 @@ +msgid "IDS_MF_POP_ERR_FOLDER_NAME_EMPTY" +msgstr "Introduir nom de carpeta" + +msgid "IDS_MF_BODY_DOCUMENTS" +msgstr "Documents" + +msgid "IDS_MF_OPT_DEFAULT_RINGTONE" +msgstr "Melodia predeterminada" + +msgid "IDS_MF_POP_INVALID_FILE_NAME" +msgstr "Nom de fitxer no vàlid" + +msgid "IDS_MF_POP_UNABLE_TO_PLAY_DURING_CALL" +msgstr "No es pot reproduir durant la trucada" + +msgid "IDS_MUSIC_POP_UNABLE_TO_ADD_SOME_ITEMS_DONT_EXIST" +msgstr "No es pot afegir. Alguns elements no existeixen." + +msgid "IDS_ST_BODY_DEFAULT_NOTIFICATION_SOUND_ABB" +msgstr "So notificació predeter" + +msgid "IDS_MF_HEADER_SELECT_ITEMS" +msgstr "Seleccionar elements" + +msgid "IDS_VR_POP_INVALID_CHARACTER_ENTERED_TRY_AGAIN" +msgstr "Caràcter introduït no vàlid. Torni-ho a intentar." + +msgid "IDS_ST_BODY_PHONEPROFILES_SILENT" +msgstr "Silenci" + +msgid "IDS_IV_POP_YOU_CAN_SELECT_UP_TO_PD_ITEMS" +msgstr "Pot seleccionar fins a %d elements" + +msgid "IDS_MF_POP_DELETE_Q" +msgstr "Esborrar?" + +msgid "IDS_MF_BODY_SD_CARD_ABB" +msgstr "Targeta SD" + +msgid "IDS_MF_BODY_DEVICE_MEMORY_ABB" +msgstr "Memòria del dispositiu" + +msgid "IDS_MUSIC_POP_UNABLE_TO_PLAY_ERROR_OCCURRED" +msgstr "No es pot reproduir. S'ha produït un error." + +msgid "IDS_TPLATFORM_ACBUTTON_DONE_ABB" +msgstr "REALITZAT" + +msgid "IDS_TPLATFORM_ACBUTTON_CANCEL_ABB" +msgstr "CANCEL·LAR" + +msgid "IDS_CHATON_POP_MAXIMUM_FILE_SIZE_HPD_MB_EXCEEDED" +msgstr "S'ha excedit la mida màxima de fitxer (%d MB)" + +msgid "IDS_IM_POP_MAXIMUM_SIZE_OF_FILES_EXCEEDED" +msgstr "S'ha excedit la mida màxima de fitxers" + diff --git a/res/po/cs.po b/res/po/cs.po new file mode 100755 index 0000000..acf14be --- /dev/null +++ b/res/po/cs.po @@ -0,0 +1,57 @@ +msgid "IDS_MF_POP_ERR_FOLDER_NAME_EMPTY" +msgstr "Zadejte název složky." + +msgid "IDS_MF_BODY_DOCUMENTS" +msgstr "Dokumenty" + +msgid "IDS_MF_OPT_DEFAULT_RINGTONE" +msgstr "Výchozí vyzváněcí tón" + +msgid "IDS_MF_POP_INVALID_FILE_NAME" +msgstr "Neplatný název souboru." + +msgid "IDS_MF_POP_UNABLE_TO_PLAY_DURING_CALL" +msgstr "Nelze přehrát během hovoru." + +msgid "IDS_MUSIC_POP_UNABLE_TO_ADD_SOME_ITEMS_DONT_EXIST" +msgstr "Nelze přidat. Některé položky neexistují." + +msgid "IDS_ST_BODY_DEFAULT_NOTIFICATION_SOUND_ABB" +msgstr "Výchozí zvuk oznámení" + +msgid "IDS_MF_HEADER_SELECT_ITEMS" +msgstr "Vyberte položky" + +msgid "IDS_VR_POP_INVALID_CHARACTER_ENTERED_TRY_AGAIN" +msgstr "Byl zadán neplatný znak. Opakujte akci" + +msgid "IDS_ST_BODY_PHONEPROFILES_SILENT" +msgstr "Tichý" + +msgid "IDS_IV_POP_YOU_CAN_SELECT_UP_TO_PD_ITEMS" +msgstr "Můžete vybrat až %d položek." + +msgid "IDS_MF_POP_DELETE_Q" +msgstr "Odstranit?" + +msgid "IDS_MF_BODY_SD_CARD_ABB" +msgstr "SD karta" + +msgid "IDS_MF_BODY_DEVICE_MEMORY_ABB" +msgstr "Paměť zařízení" + +msgid "IDS_MUSIC_POP_UNABLE_TO_PLAY_ERROR_OCCURRED" +msgstr "Nelze přehrát. Došlo k chybě." + +msgid "IDS_TPLATFORM_ACBUTTON_DONE_ABB" +msgstr "HOTOVO" + +msgid "IDS_TPLATFORM_ACBUTTON_CANCEL_ABB" +msgstr "ZRUŠIT" + +msgid "IDS_CHATON_POP_MAXIMUM_FILE_SIZE_HPD_MB_EXCEEDED" +msgstr "Byla překročena maximální velikost souborů (%d MB)." + +msgid "IDS_IM_POP_MAXIMUM_SIZE_OF_FILES_EXCEEDED" +msgstr "Byla překročena maximální velikost souborů." + diff --git a/res/po/da.po b/res/po/da.po new file mode 100755 index 0000000..4bafff9 --- /dev/null +++ b/res/po/da.po @@ -0,0 +1,57 @@ +msgid "IDS_MF_POP_ERR_FOLDER_NAME_EMPTY" +msgstr "Angiv mappenavn" + +msgid "IDS_MF_BODY_DOCUMENTS" +msgstr "Dokumenter" + +msgid "IDS_MF_OPT_DEFAULT_RINGTONE" +msgstr "Standardringetone" + +msgid "IDS_MF_POP_INVALID_FILE_NAME" +msgstr "Ugyldigt filnavn." + +msgid "IDS_MF_POP_UNABLE_TO_PLAY_DURING_CALL" +msgstr "Kunne ikke afspille under samtale." + +msgid "IDS_MUSIC_POP_UNABLE_TO_ADD_SOME_ITEMS_DONT_EXIST" +msgstr "Kunne ikke tilføje. Nogle elementer findes ikke." + +msgid "IDS_ST_BODY_DEFAULT_NOTIFICATION_SOUND_ABB" +msgstr "Standardmeddelelseslyd" + +msgid "IDS_MF_HEADER_SELECT_ITEMS" +msgstr "Vælg elementer" + +msgid "IDS_VR_POP_INVALID_CHARACTER_ENTERED_TRY_AGAIN" +msgstr "Ugyldigt tegn indtastet. Prøv igen." + +msgid "IDS_ST_BODY_PHONEPROFILES_SILENT" +msgstr "Lydløs" + +msgid "IDS_IV_POP_YOU_CAN_SELECT_UP_TO_PD_ITEMS" +msgstr "Du kan vælge op til %d elementer." + +msgid "IDS_MF_POP_DELETE_Q" +msgstr "Slet?" + +msgid "IDS_MF_BODY_SD_CARD_ABB" +msgstr "SD-kort" + +msgid "IDS_MF_BODY_DEVICE_MEMORY_ABB" +msgstr "Telefonens hukommelse" + +msgid "IDS_MUSIC_POP_UNABLE_TO_PLAY_ERROR_OCCURRED" +msgstr "Kan ikke afspille. Der opstod en fejl." + +msgid "IDS_TPLATFORM_ACBUTTON_DONE_ABB" +msgstr "UDFØRT" + +msgid "IDS_TPLATFORM_ACBUTTON_CANCEL_ABB" +msgstr "ANNULLER" + +msgid "IDS_CHATON_POP_MAXIMUM_FILE_SIZE_HPD_MB_EXCEEDED" +msgstr "Maksimal filstørrelse (%d MB) overskredet." + +msgid "IDS_IM_POP_MAXIMUM_SIZE_OF_FILES_EXCEEDED" +msgstr "Den maksimale filstørrelse overskredet." + diff --git a/res/po/de.po b/res/po/de.po new file mode 100755 index 0000000..0ff1e62 --- /dev/null +++ b/res/po/de.po @@ -0,0 +1,57 @@ +msgid "IDS_MF_POP_ERR_FOLDER_NAME_EMPTY" +msgstr "Ordnernamen eingeben" + +msgid "IDS_MF_BODY_DOCUMENTS" +msgstr "Dokumente" + +msgid "IDS_MF_OPT_DEFAULT_RINGTONE" +msgstr "Standardklingelton" + +msgid "IDS_MF_POP_INVALID_FILE_NAME" +msgstr "Dateiname ungültig" + +msgid "IDS_MF_POP_UNABLE_TO_PLAY_DURING_CALL" +msgstr "Wiedergabe während Anruf nicht möglich" + +msgid "IDS_MUSIC_POP_UNABLE_TO_ADD_SOME_ITEMS_DONT_EXIST" +msgstr "Hinzufügen nicht möglich. Einige Elemente sind nicht vorhanden." + +msgid "IDS_ST_BODY_DEFAULT_NOTIFICATION_SOUND_ABB" +msgstr "Standardton für Benachr." + +msgid "IDS_MF_HEADER_SELECT_ITEMS" +msgstr "Elemente auswählen" + +msgid "IDS_VR_POP_INVALID_CHARACTER_ENTERED_TRY_AGAIN" +msgstr "Ungültiges Zeichen eingegeben. Erneut versuchen." + +msgid "IDS_ST_BODY_PHONEPROFILES_SILENT" +msgstr "Stumm" + +msgid "IDS_IV_POP_YOU_CAN_SELECT_UP_TO_PD_ITEMS" +msgstr "Sie können bis zu %d Elemente auswählen." + +msgid "IDS_MF_POP_DELETE_Q" +msgstr "Löschen?" + +msgid "IDS_MF_BODY_SD_CARD_ABB" +msgstr "SD-Karte" + +msgid "IDS_MF_BODY_DEVICE_MEMORY_ABB" +msgstr "Gerätespeicher" + +msgid "IDS_MUSIC_POP_UNABLE_TO_PLAY_ERROR_OCCURRED" +msgstr "Datei kann nicht wiedergegeben werden. Fehler aufgetreten." + +msgid "IDS_TPLATFORM_ACBUTTON_DONE_ABB" +msgstr "FERTIG" + +msgid "IDS_TPLATFORM_ACBUTTON_CANCEL_ABB" +msgstr "ABBRECHEN" + +msgid "IDS_CHATON_POP_MAXIMUM_FILE_SIZE_HPD_MB_EXCEEDED" +msgstr "Maximale Dateigröße (%d MB) überschritten" + +msgid "IDS_IM_POP_MAXIMUM_SIZE_OF_FILES_EXCEEDED" +msgstr "Maximale Dateigröße überschritten" + diff --git a/res/po/el_GR.po b/res/po/el_GR.po new file mode 100755 index 0000000..63b595c --- /dev/null +++ b/res/po/el_GR.po @@ -0,0 +1,57 @@ +msgid "IDS_MF_POP_ERR_FOLDER_NAME_EMPTY" +msgstr "Εισαγωγή ονόματος φακέλου." + +msgid "IDS_MF_BODY_DOCUMENTS" +msgstr "Έγγραφα" + +msgid "IDS_MF_OPT_DEFAULT_RINGTONE" +msgstr "Προεπιλεγμένος ήχος κλήσης" + +msgid "IDS_MF_POP_INVALID_FILE_NAME" +msgstr "Μη έγκυρο όνομα αρχείου." + +msgid "IDS_MF_POP_UNABLE_TO_PLAY_DURING_CALL" +msgstr "Δεν είναι δυνατή η αναπαραγωγή παιχνιδιού κατά την κλήση." + +msgid "IDS_MUSIC_POP_UNABLE_TO_ADD_SOME_ITEMS_DONT_EXIST" +msgstr "Αδύνατη η προσθήκη. Ορισμένα στοιχεία δεν υπάρχουν." + +msgid "IDS_ST_BODY_DEFAULT_NOTIFICATION_SOUND_ABB" +msgstr "Προεπιλ. ήχος ειδοποιήσεων" + +msgid "IDS_MF_HEADER_SELECT_ITEMS" +msgstr "Επιλογή στοιχείων" + +msgid "IDS_VR_POP_INVALID_CHARACTER_ENTERED_TRY_AGAIN" +msgstr "Καταχωρίστηκε μη έγκυρος χαρακτήρας. Δοκιμάστε ξανά" + +msgid "IDS_ST_BODY_PHONEPROFILES_SILENT" +msgstr "Αθόρυβο" + +msgid "IDS_IV_POP_YOU_CAN_SELECT_UP_TO_PD_ITEMS" +msgstr "Μπορείτε να επιλέξετε μέχρι και %d στοιχεία." + +msgid "IDS_MF_POP_DELETE_Q" +msgstr "Διαγραφή;" + +msgid "IDS_MF_BODY_SD_CARD_ABB" +msgstr "Κάρτα SD" + +msgid "IDS_MF_BODY_DEVICE_MEMORY_ABB" +msgstr "Μνήμη συσκευής" + +msgid "IDS_MUSIC_POP_UNABLE_TO_PLAY_ERROR_OCCURRED" +msgstr "Δεν είναι δυνατή η αναπαραγωγή. Προέκυψε σφάλμα." + +msgid "IDS_TPLATFORM_ACBUTTON_DONE_ABB" +msgstr "ΤΕΛΟΣ" + +msgid "IDS_TPLATFORM_ACBUTTON_CANCEL_ABB" +msgstr "ΑΚΥΡΟ" + +msgid "IDS_CHATON_POP_MAXIMUM_FILE_SIZE_HPD_MB_EXCEEDED" +msgstr "Υπέρβαση μέγιστου μεγέθους αρχείων (%d MB)." + +msgid "IDS_IM_POP_MAXIMUM_SIZE_OF_FILES_EXCEEDED" +msgstr "Υπέρβαση μέγιστου μεγέθους αρχείων." + diff --git a/res/po/en.po b/res/po/en.po new file mode 100755 index 0000000..99b5ca8 --- /dev/null +++ b/res/po/en.po @@ -0,0 +1,57 @@ +msgid "IDS_MF_POP_ERR_FOLDER_NAME_EMPTY" +msgstr "Enter folder name." + +msgid "IDS_MF_BODY_DOCUMENTS" +msgstr "Documents" + +msgid "IDS_MF_OPT_DEFAULT_RINGTONE" +msgstr "Default ringtone" + +msgid "IDS_MF_POP_INVALID_FILE_NAME" +msgstr "Invalid file name." + +msgid "IDS_MF_POP_UNABLE_TO_PLAY_DURING_CALL" +msgstr "Unable to play during call." + +msgid "IDS_MUSIC_POP_UNABLE_TO_ADD_SOME_ITEMS_DONT_EXIST" +msgstr "Unable to add. Some items do not exist." + +msgid "IDS_ST_BODY_DEFAULT_NOTIFICATION_SOUND_ABB" +msgstr "Default notification sound" + +msgid "IDS_MF_HEADER_SELECT_ITEMS" +msgstr "Select items" + +msgid "IDS_VR_POP_INVALID_CHARACTER_ENTERED_TRY_AGAIN" +msgstr "Invalid character entered. Try again." + +msgid "IDS_ST_BODY_PHONEPROFILES_SILENT" +msgstr "Silent" + +msgid "IDS_IV_POP_YOU_CAN_SELECT_UP_TO_PD_ITEMS" +msgstr "You can select up to %d items." + +msgid "IDS_MF_POP_DELETE_Q" +msgstr "Delete?" + +msgid "IDS_MF_BODY_SD_CARD_ABB" +msgstr "SD card" + +msgid "IDS_MF_BODY_DEVICE_MEMORY_ABB" +msgstr "Device memory" + +msgid "IDS_MUSIC_POP_UNABLE_TO_PLAY_ERROR_OCCURRED" +msgstr "Unable to play. Error occurred." + +msgid "IDS_TPLATFORM_ACBUTTON_DONE_ABB" +msgstr "DONE" + +msgid "IDS_TPLATFORM_ACBUTTON_CANCEL_ABB" +msgstr "CANCEL" + +msgid "IDS_CHATON_POP_MAXIMUM_FILE_SIZE_HPD_MB_EXCEEDED" +msgstr "Maximum file size (%d MB) exceeded." + +msgid "IDS_IM_POP_MAXIMUM_SIZE_OF_FILES_EXCEEDED" +msgstr "Maximum size of files exceeded." + diff --git a/res/po/en_PH.po b/res/po/en_PH.po new file mode 100755 index 0000000..c9e827a --- /dev/null +++ b/res/po/en_PH.po @@ -0,0 +1,57 @@ +msgid "IDS_MF_POP_ERR_FOLDER_NAME_EMPTY" +msgstr "Enter folder name." + +msgid "IDS_MF_BODY_DOCUMENTS" +msgstr "Documents" + +msgid "IDS_MF_OPT_DEFAULT_RINGTONE" +msgstr "Default ringtone" + +msgid "IDS_MF_POP_INVALID_FILE_NAME" +msgstr "Invalid file name." + +msgid "IDS_MF_POP_UNABLE_TO_PLAY_DURING_CALL" +msgstr "Unable to play during call." + +msgid "IDS_MUSIC_POP_UNABLE_TO_ADD_SOME_ITEMS_DONT_EXIST" +msgstr "Unable to add. Some items do not exist." + +msgid "IDS_ST_BODY_DEFAULT_NOTIFICATION_SOUND_ABB" +msgstr "Default notification sound" + +msgid "IDS_MF_HEADER_SELECT_ITEMS" +msgstr "Select items" + +msgid "IDS_VR_POP_INVALID_CHARACTER_ENTERED_TRY_AGAIN" +msgstr "Invalid character entered. Try again" + +msgid "IDS_ST_BODY_PHONEPROFILES_SILENT" +msgstr "Silent" + +msgid "IDS_IV_POP_YOU_CAN_SELECT_UP_TO_PD_ITEMS" +msgstr "You can select up to %d items." + +msgid "IDS_MF_POP_DELETE_Q" +msgstr "Delete?" + +msgid "IDS_MF_BODY_SD_CARD_ABB" +msgstr "SD card" + +msgid "IDS_MF_BODY_DEVICE_MEMORY_ABB" +msgstr "Device memory" + +msgid "IDS_MUSIC_POP_UNABLE_TO_PLAY_ERROR_OCCURRED" +msgstr "Unable to play. Error occurred" + +msgid "IDS_TPLATFORM_ACBUTTON_DONE_ABB" +msgstr "DONE" + +msgid "IDS_TPLATFORM_ACBUTTON_CANCEL_ABB" +msgstr "CANCEL" + +msgid "IDS_CHATON_POP_MAXIMUM_FILE_SIZE_HPD_MB_EXCEEDED" +msgstr "Maximum file size (%d MB) exceeded." + +msgid "IDS_IM_POP_MAXIMUM_SIZE_OF_FILES_EXCEEDED" +msgstr "Maximum size of files exceeded." + diff --git a/res/po/en_US.po b/res/po/en_US.po new file mode 100755 index 0000000..76a339a --- /dev/null +++ b/res/po/en_US.po @@ -0,0 +1,57 @@ +msgid "IDS_MF_POP_ERR_FOLDER_NAME_EMPTY" +msgstr "Enter folder name." + +msgid "IDS_MF_BODY_DOCUMENTS" +msgstr "Documents" + +msgid "IDS_MF_OPT_DEFAULT_RINGTONE" +msgstr "Default ringtone" + +msgid "IDS_MF_POP_INVALID_FILE_NAME" +msgstr "Invalid file name." + +msgid "IDS_MF_POP_UNABLE_TO_PLAY_DURING_CALL" +msgstr "Unable to play during call." + +msgid "IDS_MUSIC_POP_UNABLE_TO_ADD_SOME_ITEMS_DONT_EXIST" +msgstr "Unable to add. Some items do not exist." + +msgid "IDS_ST_BODY_DEFAULT_NOTIFICATION_SOUND_ABB" +msgstr "Default notification sound" + +msgid "IDS_MF_HEADER_SELECT_ITEMS" +msgstr "Select items" + +msgid "IDS_VR_POP_INVALID_CHARACTER_ENTERED_TRY_AGAIN" +msgstr "Invalid character entered. Try again." + +msgid "IDS_ST_BODY_PHONEPROFILES_SILENT" +msgstr "Silent" + +msgid "IDS_IV_POP_YOU_CAN_SELECT_UP_TO_PD_ITEMS" +msgstr "You can select up to %d items." + +msgid "IDS_MF_POP_DELETE_Q" +msgstr "Delete?" + +msgid "IDS_MF_BODY_SD_CARD_ABB" +msgstr "SD card" + +msgid "IDS_MF_BODY_DEVICE_MEMORY_ABB" +msgstr "Device memory" + +msgid "IDS_MUSIC_POP_UNABLE_TO_PLAY_ERROR_OCCURRED" +msgstr "Unable to play. Error occurred." + +msgid "IDS_TPLATFORM_ACBUTTON_DONE_ABB" +msgstr "DONE" + +msgid "IDS_TPLATFORM_ACBUTTON_CANCEL_ABB" +msgstr "CANCEL" + +msgid "IDS_CHATON_POP_MAXIMUM_FILE_SIZE_HPD_MB_EXCEEDED" +msgstr "Maximum %d MB file size has been exceeded." + +msgid "IDS_IM_POP_MAXIMUM_SIZE_OF_FILES_EXCEEDED" +msgstr "Maximum size of files exceeded." + diff --git a/res/po/es_ES.po b/res/po/es_ES.po new file mode 100755 index 0000000..1f2e97d --- /dev/null +++ b/res/po/es_ES.po @@ -0,0 +1,57 @@ +msgid "IDS_MF_POP_ERR_FOLDER_NAME_EMPTY" +msgstr "Nombre de la carpeta" + +msgid "IDS_MF_BODY_DOCUMENTS" +msgstr "Documentos" + +msgid "IDS_MF_OPT_DEFAULT_RINGTONE" +msgstr "Melodía predeterminada" + +msgid "IDS_MF_POP_INVALID_FILE_NAME" +msgstr "Nombre de archivo no válido" + +msgid "IDS_MF_POP_UNABLE_TO_PLAY_DURING_CALL" +msgstr "No se puede reproducir durante la llamada" + +msgid "IDS_MUSIC_POP_UNABLE_TO_ADD_SOME_ITEMS_DONT_EXIST" +msgstr "No se puede añadir. Algunos elementos no existen." + +msgid "IDS_ST_BODY_DEFAULT_NOTIFICATION_SOUND_ABB" +msgstr "Sonido notificación predet" + +msgid "IDS_MF_HEADER_SELECT_ITEMS" +msgstr "Seleccionar elementos" + +msgid "IDS_VR_POP_INVALID_CHARACTER_ENTERED_TRY_AGAIN" +msgstr "Carácter introducido no válido. Vuelva a intentarlo." + +msgid "IDS_ST_BODY_PHONEPROFILES_SILENT" +msgstr "Silencio" + +msgid "IDS_IV_POP_YOU_CAN_SELECT_UP_TO_PD_ITEMS" +msgstr "Puede seleccionar hasta %d elementos" + +msgid "IDS_MF_POP_DELETE_Q" +msgstr "¿Eliminar?" + +msgid "IDS_MF_BODY_SD_CARD_ABB" +msgstr "Tarjeta SD" + +msgid "IDS_MF_BODY_DEVICE_MEMORY_ABB" +msgstr "Memoria de dispositivo" + +msgid "IDS_MUSIC_POP_UNABLE_TO_PLAY_ERROR_OCCURRED" +msgstr "No se puede reproducir. Se ha producido un error." + +msgid "IDS_TPLATFORM_ACBUTTON_DONE_ABB" +msgstr "HECHO" + +msgid "IDS_TPLATFORM_ACBUTTON_CANCEL_ABB" +msgstr "CANCELAR" + +msgid "IDS_CHATON_POP_MAXIMUM_FILE_SIZE_HPD_MB_EXCEEDED" +msgstr "Tamaño máximo de archivo (%d MB) superado" + +msgid "IDS_IM_POP_MAXIMUM_SIZE_OF_FILES_EXCEEDED" +msgstr "Tamaño máximo de archivos superado" + diff --git a/res/po/es_US.po b/res/po/es_US.po new file mode 100755 index 0000000..c5f87dd --- /dev/null +++ b/res/po/es_US.po @@ -0,0 +1,57 @@ +msgid "IDS_MF_POP_ERR_FOLDER_NAME_EMPTY" +msgstr "Introducir nombre de carpeta." + +msgid "IDS_MF_BODY_DOCUMENTS" +msgstr "Documentos" + +msgid "IDS_MF_OPT_DEFAULT_RINGTONE" +msgstr "Tono predeterminado" + +msgid "IDS_MF_POP_INVALID_FILE_NAME" +msgstr "Nombre de archivo no válido." + +msgid "IDS_MF_POP_UNABLE_TO_PLAY_DURING_CALL" +msgstr "No es posible reproducir durante la llamada." + +msgid "IDS_MUSIC_POP_UNABLE_TO_ADD_SOME_ITEMS_DONT_EXIST" +msgstr "No se puede añadir. Algunos elementos no existen." + +msgid "IDS_ST_BODY_DEFAULT_NOTIFICATION_SOUND_ABB" +msgstr "Tono predeterminado" + +msgid "IDS_MF_HEADER_SELECT_ITEMS" +msgstr "Seleccionar elementos" + +msgid "IDS_VR_POP_INVALID_CHARACTER_ENTERED_TRY_AGAIN" +msgstr "Se ingresó un carácter no válido. Inténtelo de nuevo" + +msgid "IDS_ST_BODY_PHONEPROFILES_SILENT" +msgstr "Silencioso" + +msgid "IDS_IV_POP_YOU_CAN_SELECT_UP_TO_PD_ITEMS" +msgstr "Puede seleccionar hasta %d elementos." + +msgid "IDS_MF_POP_DELETE_Q" +msgstr "¿Eliminar?" + +msgid "IDS_MF_BODY_SD_CARD_ABB" +msgstr "Tarjeta de memoria" + +msgid "IDS_MF_BODY_DEVICE_MEMORY_ABB" +msgstr "Memoria del dispositivo" + +msgid "IDS_MUSIC_POP_UNABLE_TO_PLAY_ERROR_OCCURRED" +msgstr "No se puede reproducir. Ocurrió un error." + +msgid "IDS_TPLATFORM_ACBUTTON_DONE_ABB" +msgstr "REALIZADO" + +msgid "IDS_TPLATFORM_ACBUTTON_CANCEL_ABB" +msgstr "CANCELAR" + +msgid "IDS_CHATON_POP_MAXIMUM_FILE_SIZE_HPD_MB_EXCEEDED" +msgstr "Se alcanzó el tamaño máximo del archivo (%d MB)." + +msgid "IDS_IM_POP_MAXIMUM_SIZE_OF_FILES_EXCEEDED" +msgstr "Tamaño máximo de archivos superado." + diff --git a/res/po/et.po b/res/po/et.po new file mode 100755 index 0000000..d67daf4 --- /dev/null +++ b/res/po/et.po @@ -0,0 +1,57 @@ +msgid "IDS_MF_POP_ERR_FOLDER_NAME_EMPTY" +msgstr "Sisestage kausta nimi." + +msgid "IDS_MF_BODY_DOCUMENTS" +msgstr "Dokumendid" + +msgid "IDS_MF_OPT_DEFAULT_RINGTONE" +msgstr "Vaikimisi helin" + +msgid "IDS_MF_POP_INVALID_FILE_NAME" +msgstr "Vigane failinimi." + +msgid "IDS_MF_POP_UNABLE_TO_PLAY_DURING_CALL" +msgstr "Kõne ajal ei saa esitada." + +msgid "IDS_MUSIC_POP_UNABLE_TO_ADD_SOME_ITEMS_DONT_EXIST" +msgstr "Ei saa lisada. Monesid uksuseid ei ole olemas." + +msgid "IDS_ST_BODY_DEFAULT_NOTIFICATION_SOUND_ABB" +msgstr "Teavituse vaikeheli" + +msgid "IDS_MF_HEADER_SELECT_ITEMS" +msgstr "Vali üksused" + +msgid "IDS_VR_POP_INVALID_CHARACTER_ENTERED_TRY_AGAIN" +msgstr "Sisestati vale tähemärk. Proovige uuesti" + +msgid "IDS_ST_BODY_PHONEPROFILES_SILENT" +msgstr "Vaikne" + +msgid "IDS_IV_POP_YOU_CAN_SELECT_UP_TO_PD_ITEMS" +msgstr "Te voite valida kuni %d uksust." + +msgid "IDS_MF_POP_DELETE_Q" +msgstr "Kustutada?" + +msgid "IDS_MF_BODY_SD_CARD_ABB" +msgstr "SD-kaart" + +msgid "IDS_MF_BODY_DEVICE_MEMORY_ABB" +msgstr "Seadme mälu" + +msgid "IDS_MUSIC_POP_UNABLE_TO_PLAY_ERROR_OCCURRED" +msgstr "Ei saa esitada. Ilmnes tõrge." + +msgid "IDS_TPLATFORM_ACBUTTON_DONE_ABB" +msgstr "VALMIS" + +msgid "IDS_TPLATFORM_ACBUTTON_CANCEL_ABB" +msgstr "TÜHISTA" + +msgid "IDS_CHATON_POP_MAXIMUM_FILE_SIZE_HPD_MB_EXCEEDED" +msgstr "Faili maksimaalne suurus (%d MB) on ületatud." + +msgid "IDS_IM_POP_MAXIMUM_SIZE_OF_FILES_EXCEEDED" +msgstr "Maksimaalne failide suurus on ületatud." + diff --git a/res/po/eu.po b/res/po/eu.po new file mode 100755 index 0000000..9873fd4 --- /dev/null +++ b/res/po/eu.po @@ -0,0 +1,57 @@ +msgid "IDS_MF_POP_ERR_FOLDER_NAME_EMPTY" +msgstr "Idatzi karpetaren izena." + +msgid "IDS_MF_BODY_DOCUMENTS" +msgstr "Dokumentuak" + +msgid "IDS_MF_OPT_DEFAULT_RINGTONE" +msgstr "Dei doinu lehenetsia" + +msgid "IDS_MF_POP_INVALID_FILE_NAME" +msgstr "Fitxategi izen baliogabea" + +msgid "IDS_MF_POP_UNABLE_TO_PLAY_DURING_CALL" +msgstr "Ezin da deian zehar erreproduzitu" + +msgid "IDS_MUSIC_POP_UNABLE_TO_ADD_SOME_ITEMS_DONT_EXIST" +msgstr "Ezin da gehitu. Elementu batzuk ez daude." + +msgid "IDS_ST_BODY_DEFAULT_NOTIFICATION_SOUND_ABB" +msgstr "Jakinarazpenetarako lehenespenezko soinua" + +msgid "IDS_MF_HEADER_SELECT_ITEMS" +msgstr "Hautatu elementuak" + +msgid "IDS_VR_POP_INVALID_CHARACTER_ENTERED_TRY_AGAIN" +msgstr "Karaktere baliogabea adierazi dituzu. Saiatu berriz." + +msgid "IDS_ST_BODY_PHONEPROFILES_SILENT" +msgstr "Isila" + +msgid "IDS_IV_POP_YOU_CAN_SELECT_UP_TO_PD_ITEMS" +msgstr "%d elementu arte aukera ditzakezu" + +msgid "IDS_MF_POP_DELETE_Q" +msgstr "Ezabatu?" + +msgid "IDS_MF_BODY_SD_CARD_ABB" +msgstr "SD txartela" + +msgid "IDS_MF_BODY_DEVICE_MEMORY_ABB" +msgstr "Gailuaren memoria" + +msgid "IDS_MUSIC_POP_UNABLE_TO_PLAY_ERROR_OCCURRED" +msgstr "Ezin da erreproduzitu. Errorea gertatu da." + +msgid "IDS_TPLATFORM_ACBUTTON_DONE_ABB" +msgstr "EGINA" + +msgid "IDS_TPLATFORM_ACBUTTON_CANCEL_ABB" +msgstr "UTZI" + +msgid "IDS_CHATON_POP_MAXIMUM_FILE_SIZE_HPD_MB_EXCEEDED" +msgstr "Fitxategiaren gehieneko neurria (%d MB) gaindituta" + +msgid "IDS_IM_POP_MAXIMUM_SIZE_OF_FILES_EXCEEDED" +msgstr "Fitxategien gehienezko neurria gaindituta" + diff --git a/res/po/fi.po b/res/po/fi.po new file mode 100755 index 0000000..b6b7ad9 --- /dev/null +++ b/res/po/fi.po @@ -0,0 +1,57 @@ +msgid "IDS_MF_POP_ERR_FOLDER_NAME_EMPTY" +msgstr "Kirjoita kansion nimi." + +msgid "IDS_MF_BODY_DOCUMENTS" +msgstr "Asiakirjat" + +msgid "IDS_MF_OPT_DEFAULT_RINGTONE" +msgstr "Oletussoittoääni" + +msgid "IDS_MF_POP_INVALID_FILE_NAME" +msgstr "Virheellinen tiedostonimi" + +msgid "IDS_MF_POP_UNABLE_TO_PLAY_DURING_CALL" +msgstr "Puhelun aikana ei voi toistaa." + +msgid "IDS_MUSIC_POP_UNABLE_TO_ADD_SOME_ITEMS_DONT_EXIST" +msgstr "Lisäys ei onnistu. Joitain kohteita ei löydy." + +msgid "IDS_ST_BODY_DEFAULT_NOTIFICATION_SOUND_ABB" +msgstr "Oletusilmoitusääni" + +msgid "IDS_MF_HEADER_SELECT_ITEMS" +msgstr "Valitse kohteet" + +msgid "IDS_VR_POP_INVALID_CHARACTER_ENTERED_TRY_AGAIN" +msgstr "Annettu virheellinen merkki. Yritä uudelleen." + +msgid "IDS_ST_BODY_PHONEPROFILES_SILENT" +msgstr "Äänetön" + +msgid "IDS_IV_POP_YOU_CAN_SELECT_UP_TO_PD_ITEMS" +msgstr "Voit valita enintään %d kohdetta." + +msgid "IDS_MF_POP_DELETE_Q" +msgstr "Poistetaanko?" + +msgid "IDS_MF_BODY_SD_CARD_ABB" +msgstr "SD-kortti" + +msgid "IDS_MF_BODY_DEVICE_MEMORY_ABB" +msgstr "Laitteen muisti" + +msgid "IDS_MUSIC_POP_UNABLE_TO_PLAY_ERROR_OCCURRED" +msgstr "Ei voi toistaa. Tapahtui virhe." + +msgid "IDS_TPLATFORM_ACBUTTON_DONE_ABB" +msgstr "VALMIS" + +msgid "IDS_TPLATFORM_ACBUTTON_CANCEL_ABB" +msgstr "PERUUTA" + +msgid "IDS_CHATON_POP_MAXIMUM_FILE_SIZE_HPD_MB_EXCEEDED" +msgstr "Tiedoston enimmäiskoko (%d Mt) on ylitetty." + +msgid "IDS_IM_POP_MAXIMUM_SIZE_OF_FILES_EXCEEDED" +msgstr "Tiedostojen enimmäiskoko on saavutettu." + diff --git a/res/po/fr.po b/res/po/fr.po new file mode 100755 index 0000000..7e8ede7 --- /dev/null +++ b/res/po/fr.po @@ -0,0 +1,57 @@ +msgid "IDS_MF_POP_ERR_FOLDER_NAME_EMPTY" +msgstr "Entrer nom du dossier" + +msgid "IDS_MF_BODY_DOCUMENTS" +msgstr "Documents" + +msgid "IDS_MF_OPT_DEFAULT_RINGTONE" +msgstr "Sonnerie par défaut" + +msgid "IDS_MF_POP_INVALID_FILE_NAME" +msgstr "Nom de fichier incorrect" + +msgid "IDS_MF_POP_UNABLE_TO_PLAY_DURING_CALL" +msgstr "Lecture impossible pendant un appel" + +msgid "IDS_MUSIC_POP_UNABLE_TO_ADD_SOME_ITEMS_DONT_EXIST" +msgstr "Ajout impossible. Certains éléments n'existent pas." + +msgid "IDS_ST_BODY_DEFAULT_NOTIFICATION_SOUND_ABB" +msgstr "Son de notif. par défaut" + +msgid "IDS_MF_HEADER_SELECT_ITEMS" +msgstr "Sélectionner éléments" + +msgid "IDS_VR_POP_INVALID_CHARACTER_ENTERED_TRY_AGAIN" +msgstr "Caractère non valide saisi. Réessayez." + +msgid "IDS_ST_BODY_PHONEPROFILES_SILENT" +msgstr "Discret" + +msgid "IDS_IV_POP_YOU_CAN_SELECT_UP_TO_PD_ITEMS" +msgstr "Vous pouvez sélectionner jusqu'à %d éléments." + +msgid "IDS_MF_POP_DELETE_Q" +msgstr "Supprimer ?" + +msgid "IDS_MF_BODY_SD_CARD_ABB" +msgstr "Carte SD" + +msgid "IDS_MF_BODY_DEVICE_MEMORY_ABB" +msgstr "Mémoire de l'appareil" + +msgid "IDS_MUSIC_POP_UNABLE_TO_PLAY_ERROR_OCCURRED" +msgstr "Lecture impossible. Une erreur s'est produite." + +msgid "IDS_TPLATFORM_ACBUTTON_DONE_ABB" +msgstr "OK" + +msgid "IDS_TPLATFORM_ACBUTTON_CANCEL_ABB" +msgstr "ANNULER" + +msgid "IDS_CHATON_POP_MAXIMUM_FILE_SIZE_HPD_MB_EXCEEDED" +msgstr "Taille maximale de fichiers (%d Mo) dépassée" + +msgid "IDS_IM_POP_MAXIMUM_SIZE_OF_FILES_EXCEEDED" +msgstr "Taille maximale des fichiers dépassée" + diff --git a/res/po/fr_CA.po b/res/po/fr_CA.po new file mode 100755 index 0000000..6719e27 --- /dev/null +++ b/res/po/fr_CA.po @@ -0,0 +1,57 @@ +msgid "IDS_MF_POP_ERR_FOLDER_NAME_EMPTY" +msgstr "Saisir le nom de dossier." + +msgid "IDS_MF_BODY_DOCUMENTS" +msgstr "Documents" + +msgid "IDS_MF_OPT_DEFAULT_RINGTONE" +msgstr "Sonnerie par défaut" + +msgid "IDS_MF_POP_INVALID_FILE_NAME" +msgstr "Nom de fichier incorrect." + +msgid "IDS_MF_POP_UNABLE_TO_PLAY_DURING_CALL" +msgstr "Impossible de lire le message pendant un appel." + +msgid "IDS_MUSIC_POP_UNABLE_TO_ADD_SOME_ITEMS_DONT_EXIST" +msgstr "Ajout impossible. Certains éléments n'existent pas." + +msgid "IDS_ST_BODY_DEFAULT_NOTIFICATION_SOUND_ABB" +msgstr "Son de notif. par défaut" + +msgid "IDS_MF_HEADER_SELECT_ITEMS" +msgstr "Sélectionner éléments" + +msgid "IDS_VR_POP_INVALID_CHARACTER_ENTERED_TRY_AGAIN" +msgstr "Caractère non valide saisi. Réessayez" + +msgid "IDS_ST_BODY_PHONEPROFILES_SILENT" +msgstr "Silencieux" + +msgid "IDS_IV_POP_YOU_CAN_SELECT_UP_TO_PD_ITEMS" +msgstr "Vous pouvez sélectionner jusqu'à %d éléments." + +msgid "IDS_MF_POP_DELETE_Q" +msgstr "Supprimer ?" + +msgid "IDS_MF_BODY_SD_CARD_ABB" +msgstr "Carte SD" + +msgid "IDS_MF_BODY_DEVICE_MEMORY_ABB" +msgstr "Mémoire de l'appareil" + +msgid "IDS_MUSIC_POP_UNABLE_TO_PLAY_ERROR_OCCURRED" +msgstr "Lecture impossible. Une erreur s'est produite." + +msgid "IDS_TPLATFORM_ACBUTTON_DONE_ABB" +msgstr "OK" + +msgid "IDS_TPLATFORM_ACBUTTON_CANCEL_ABB" +msgstr "ANNULER" + +msgid "IDS_CHATON_POP_MAXIMUM_FILE_SIZE_HPD_MB_EXCEEDED" +msgstr "Taille maximale de fichiers (%d Mo) dépassée." + +msgid "IDS_IM_POP_MAXIMUM_SIZE_OF_FILES_EXCEEDED" +msgstr "Taille maximale des fichiers dépassée." + diff --git a/res/po/ga.po b/res/po/ga.po new file mode 100755 index 0000000..b617ca6 --- /dev/null +++ b/res/po/ga.po @@ -0,0 +1,57 @@ +msgid "IDS_MF_POP_ERR_FOLDER_NAME_EMPTY" +msgstr "Iontráil ainm an fhillteáin" + +msgid "IDS_MF_BODY_DOCUMENTS" +msgstr "Doiciméid" + +msgid "IDS_MF_OPT_DEFAULT_RINGTONE" +msgstr "Clingthon réamhshocraithe" + +msgid "IDS_MF_POP_INVALID_FILE_NAME" +msgstr "Comhadainm neamhbhailí." + +msgid "IDS_MF_POP_UNABLE_TO_PLAY_DURING_CALL" +msgstr "Ní féidir seinm le linn glao." + +msgid "IDS_MUSIC_POP_UNABLE_TO_ADD_SOME_ITEMS_DONT_EXIST" +msgstr "Ní féidir cur leis. Níl roinnt míreanna ann." + +msgid "IDS_ST_BODY_DEFAULT_NOTIFICATION_SOUND_ABB" +msgstr "Fuaim fógra réamhshoc." + +msgid "IDS_MF_HEADER_SELECT_ITEMS" +msgstr "Roghnaigh míreanna" + +msgid "IDS_VR_POP_INVALID_CHARACTER_ENTERED_TRY_AGAIN" +msgstr "Carachtar neamhbhailí iontráilte. Triail arís." + +msgid "IDS_ST_BODY_PHONEPROFILES_SILENT" +msgstr "Tostach" + +msgid "IDS_IV_POP_YOU_CAN_SELECT_UP_TO_PD_ITEMS" +msgstr "Is féidir leat suas le %d mír a roghnú" + +msgid "IDS_MF_POP_DELETE_Q" +msgstr "Scrios?" + +msgid "IDS_MF_BODY_SD_CARD_ABB" +msgstr "Cárta SD" + +msgid "IDS_MF_BODY_DEVICE_MEMORY_ABB" +msgstr "Cuimhne an ghléis" + +msgid "IDS_MUSIC_POP_UNABLE_TO_PLAY_ERROR_OCCURRED" +msgstr "Ní féidir seinm. Tharla earráid." + +msgid "IDS_TPLATFORM_ACBUTTON_DONE_ABB" +msgstr "DÉANTA" + +msgid "IDS_TPLATFORM_ACBUTTON_CANCEL_ABB" +msgstr "CUIR AR CEAL" + +msgid "IDS_CHATON_POP_MAXIMUM_FILE_SIZE_HPD_MB_EXCEEDED" +msgstr "Uasmhéid an chomhaid (%d MB) sáraithe." + +msgid "IDS_IM_POP_MAXIMUM_SIZE_OF_FILES_EXCEEDED" +msgstr "Uasmhéid na gcomhad sáraithe." + diff --git a/res/po/gl.po b/res/po/gl.po new file mode 100755 index 0000000..81265ec --- /dev/null +++ b/res/po/gl.po @@ -0,0 +1,57 @@ +msgid "IDS_MF_POP_ERR_FOLDER_NAME_EMPTY" +msgstr "Introducir nome de carpeta" + +msgid "IDS_MF_BODY_DOCUMENTS" +msgstr "Documentos" + +msgid "IDS_MF_OPT_DEFAULT_RINGTONE" +msgstr "Melodía predeterminada" + +msgid "IDS_MF_POP_INVALID_FILE_NAME" +msgstr "Nome de arquivo non válido" + +msgid "IDS_MF_POP_UNABLE_TO_PLAY_DURING_CALL" +msgstr "Non se pode reproducir durante a chamada" + +msgid "IDS_MUSIC_POP_UNABLE_TO_ADD_SOME_ITEMS_DONT_EXIST" +msgstr "Non se pode engadir. Algúns elementos non existe." + +msgid "IDS_ST_BODY_DEFAULT_NOTIFICATION_SOUND_ABB" +msgstr "Son notificación predet." + +msgid "IDS_MF_HEADER_SELECT_ITEMS" +msgstr "Seleccionar elementos" + +msgid "IDS_VR_POP_INVALID_CHARACTER_ENTERED_TRY_AGAIN" +msgstr "Inseriuse un carácter non válido. Téntao de novo." + +msgid "IDS_ST_BODY_PHONEPROFILES_SILENT" +msgstr "Silencioso" + +msgid "IDS_IV_POP_YOU_CAN_SELECT_UP_TO_PD_ITEMS" +msgstr "Podes seleccionar ata %d elementos" + +msgid "IDS_MF_POP_DELETE_Q" +msgstr "Eliminar?" + +msgid "IDS_MF_BODY_SD_CARD_ABB" +msgstr "Tarxeta SD" + +msgid "IDS_MF_BODY_DEVICE_MEMORY_ABB" +msgstr "Memoria do dispositivo" + +msgid "IDS_MUSIC_POP_UNABLE_TO_PLAY_ERROR_OCCURRED" +msgstr "Non se pode reproducir. Produciuse un erro." + +msgid "IDS_TPLATFORM_ACBUTTON_DONE_ABB" +msgstr "FEITO" + +msgid "IDS_TPLATFORM_ACBUTTON_CANCEL_ABB" +msgstr "CANCELAR" + +msgid "IDS_CHATON_POP_MAXIMUM_FILE_SIZE_HPD_MB_EXCEEDED" +msgstr "Superouse o tamaño máximo do arquivo (%d MB)" + +msgid "IDS_IM_POP_MAXIMUM_SIZE_OF_FILES_EXCEEDED" +msgstr "Superouse o tamaño máximo dos arquivos" + diff --git a/res/po/gu.po b/res/po/gu.po new file mode 100755 index 0000000..ec72667 --- /dev/null +++ b/res/po/gu.po @@ -0,0 +1,57 @@ +msgid "IDS_MF_POP_ERR_FOLDER_NAME_EMPTY" +msgstr "ફોલ્ડરનું નામ દાખલ કરો." + +msgid "IDS_MF_BODY_DOCUMENTS" +msgstr "દસ્તાવેજો" + +msgid "IDS_MF_OPT_DEFAULT_RINGTONE" +msgstr "મૂળભૂત રિંગટોન" + +msgid "IDS_MF_POP_INVALID_FILE_NAME" +msgstr "અમાન્ય ફાઇલ નામ." + +msgid "IDS_MF_POP_UNABLE_TO_PLAY_DURING_CALL" +msgstr "કૉલ દરમ્યાન ચલાવવામાં અક્ષમ." + +msgid "IDS_MUSIC_POP_UNABLE_TO_ADD_SOME_ITEMS_DONT_EXIST" +msgstr "જોડવામાં અક્ષમ. કેટલીક વસ્તુઓ હાજર નથી." + +msgid "IDS_ST_BODY_DEFAULT_NOTIFICATION_SOUND_ABB" +msgstr "મૂળભૂત સૂચના ધ્વનિ" + +msgid "IDS_MF_HEADER_SELECT_ITEMS" +msgstr "વસ્તુઓ પસંદ કરો" + +msgid "IDS_VR_POP_INVALID_CHARACTER_ENTERED_TRY_AGAIN" +msgstr "અમાન્ય અક્ષર દાખલ કર્યો છે. ફરી પ્રયાસ કરો." + +msgid "IDS_ST_BODY_PHONEPROFILES_SILENT" +msgstr "શાંત" + +msgid "IDS_IV_POP_YOU_CAN_SELECT_UP_TO_PD_ITEMS" +msgstr "તમે %d વસ્તુઓ સુધી પસંદ કરી શકો છો." + +msgid "IDS_MF_POP_DELETE_Q" +msgstr "કાઢી નાખવું?" + +msgid "IDS_MF_BODY_SD_CARD_ABB" +msgstr "SD કાર્ડ" + +msgid "IDS_MF_BODY_DEVICE_MEMORY_ABB" +msgstr "ઉપકરણ સ્મૃતિ" + +msgid "IDS_MUSIC_POP_UNABLE_TO_PLAY_ERROR_OCCURRED" +msgstr "પ્લે કરવામાં અસમર્થ. ભૂલ થઈ છે." + +msgid "IDS_TPLATFORM_ACBUTTON_DONE_ABB" +msgstr "पूर्ण" + +msgid "IDS_TPLATFORM_ACBUTTON_CANCEL_ABB" +msgstr "रद्द करें + +msgid "IDS_CHATON_POP_MAXIMUM_FILE_SIZE_HPD_MB_EXCEEDED" +msgstr "મહત્તમ ફાઇલ કદ (%d MB) વટાવ્યું." + +msgid "IDS_IM_POP_MAXIMUM_SIZE_OF_FILES_EXCEEDED" +msgstr "ફાઇલ્સની મહત્તમ કદ વટાવાઈ ગઈ." + diff --git a/res/po/hi.po b/res/po/hi.po new file mode 100755 index 0000000..b8278e5 --- /dev/null +++ b/res/po/hi.po @@ -0,0 +1,57 @@ +msgid "IDS_MF_POP_ERR_FOLDER_NAME_EMPTY" +msgstr "फोल्डर नाम प्रविष्ट करें।" + +msgid "IDS_MF_BODY_DOCUMENTS" +msgstr "दस्तावेज" + +msgid "IDS_MF_OPT_DEFAULT_RINGTONE" +msgstr "डिफॉल्ट रिंगटोन" + +msgid "IDS_MF_POP_INVALID_FILE_NAME" +msgstr "फाइल नाम अवैध है।" + +msgid "IDS_MF_POP_UNABLE_TO_PLAY_DURING_CALL" +msgstr "कॉल के दौरान चलाने में असमर्थ।" + +msgid "IDS_MUSIC_POP_UNABLE_TO_ADD_SOME_ITEMS_DONT_EXIST" +msgstr "जोड़ने में अक्षम। कुछ मद मौजूद नहीं हैं।" + +msgid "IDS_ST_BODY_DEFAULT_NOTIFICATION_SOUND_ABB" +msgstr "डिफॉल्ट अधिसूचना ध्वनि" + +msgid "IDS_MF_HEADER_SELECT_ITEMS" +msgstr "मदें चुनें" + +msgid "IDS_VR_POP_INVALID_CHARACTER_ENTERED_TRY_AGAIN" +msgstr "अमान्य वर्ण प्रविष्ट किए गए। फिर से प्रयास करें।" + +msgid "IDS_ST_BODY_PHONEPROFILES_SILENT" +msgstr "शांत" + +msgid "IDS_IV_POP_YOU_CAN_SELECT_UP_TO_PD_ITEMS" +msgstr "आप %d मद तक चुन सकते हैं" + +msgid "IDS_MF_POP_DELETE_Q" +msgstr "हटाएँ?" + +msgid "IDS_MF_BODY_SD_CARD_ABB" +msgstr "SD कार्ड" + +msgid "IDS_MF_BODY_DEVICE_MEMORY_ABB" +msgstr "डिवाइस मेमोरी" + +msgid "IDS_MUSIC_POP_UNABLE_TO_PLAY_ERROR_OCCURRED" +msgstr "चलाने में असमर्थ। त्रुटि पाई गई।" + +msgid "IDS_TPLATFORM_ACBUTTON_DONE_ABB" +msgstr "पूर्ण" + +msgid "IDS_TPLATFORM_ACBUTTON_CANCEL_ABB" +msgstr "रद्द करें" + +msgid "IDS_CHATON_POP_MAXIMUM_FILE_SIZE_HPD_MB_EXCEEDED" +msgstr "अधिकतम फ़ाइल आकार (%d MB) पार हुआ।" + +msgid "IDS_IM_POP_MAXIMUM_SIZE_OF_FILES_EXCEEDED" +msgstr "फाइलों का अधिकतम आकार पार कर गया है।" + diff --git a/res/po/hr.po b/res/po/hr.po new file mode 100755 index 0000000..6003ea3 --- /dev/null +++ b/res/po/hr.po @@ -0,0 +1,57 @@ +msgid "IDS_MF_POP_ERR_FOLDER_NAME_EMPTY" +msgstr "Unesite naziv mape." + +msgid "IDS_MF_BODY_DOCUMENTS" +msgstr "Dokumenti" + +msgid "IDS_MF_OPT_DEFAULT_RINGTONE" +msgstr "Zadani ton zvona" + +msgid "IDS_MF_POP_INVALID_FILE_NAME" +msgstr "Neispravno ime datoteke." + +msgid "IDS_MF_POP_UNABLE_TO_PLAY_DURING_CALL" +msgstr "Nemoguće reprod. tijekom poziva." + +msgid "IDS_MUSIC_POP_UNABLE_TO_ADD_SOME_ITEMS_DONT_EXIST" +msgstr "Nemoguće dodati. Neke stavke ne postoje." + +msgid "IDS_ST_BODY_DEFAULT_NOTIFICATION_SOUND_ABB" +msgstr "Zadani ton obavijesti" + +msgid "IDS_MF_HEADER_SELECT_ITEMS" +msgstr "Odaberite stavke" + +msgid "IDS_VR_POP_INVALID_CHARACTER_ENTERED_TRY_AGAIN" +msgstr "Unesen neispravan znak. Pokušajte ponovno" + +msgid "IDS_ST_BODY_PHONEPROFILES_SILENT" +msgstr "Bešumno" + +msgid "IDS_IV_POP_YOU_CAN_SELECT_UP_TO_PD_ITEMS" +msgstr "Možete odabrati do %d stavki." + +msgid "IDS_MF_POP_DELETE_Q" +msgstr "Obrisati?" + +msgid "IDS_MF_BODY_SD_CARD_ABB" +msgstr "SD kartica" + +msgid "IDS_MF_BODY_DEVICE_MEMORY_ABB" +msgstr "Memorija uređaja" + +msgid "IDS_MUSIC_POP_UNABLE_TO_PLAY_ERROR_OCCURRED" +msgstr "Greška reprodukcije." + +msgid "IDS_TPLATFORM_ACBUTTON_DONE_ABB" +msgstr "GOTOVO" + +msgid "IDS_TPLATFORM_ACBUTTON_CANCEL_ABB" +msgstr "ODUSTANI" + +msgid "IDS_CHATON_POP_MAXIMUM_FILE_SIZE_HPD_MB_EXCEEDED" +msgstr "Premašena maksimalna veličina datoteke (%d MB)." + +msgid "IDS_IM_POP_MAXIMUM_SIZE_OF_FILES_EXCEEDED" +msgstr "Maks. veličina datoteke." + diff --git a/res/po/hu.po b/res/po/hu.po new file mode 100755 index 0000000..25d62a6 --- /dev/null +++ b/res/po/hu.po @@ -0,0 +1,57 @@ +msgid "IDS_MF_POP_ERR_FOLDER_NAME_EMPTY" +msgstr "Adja meg a mappa nevét." + +msgid "IDS_MF_BODY_DOCUMENTS" +msgstr "Dokumentumok" + +msgid "IDS_MF_OPT_DEFAULT_RINGTONE" +msgstr "Alapértelmezett csengőhang" + +msgid "IDS_MF_POP_INVALID_FILE_NAME" +msgstr "Érvénytelen fájlnév" + +msgid "IDS_MF_POP_UNABLE_TO_PLAY_DURING_CALL" +msgstr "Hívás közben nem lehet lejátszani." + +msgid "IDS_MUSIC_POP_UNABLE_TO_ADD_SOME_ITEMS_DONT_EXIST" +msgstr "Nem adható hozzá. Egyes tételek nem léteznek." + +msgid "IDS_ST_BODY_DEFAULT_NOTIFICATION_SOUND_ABB" +msgstr "Alapért. értesítési hang" + +msgid "IDS_MF_HEADER_SELECT_ITEMS" +msgstr "Tételek kijelölése" + +msgid "IDS_VR_POP_INVALID_CHARACTER_ENTERED_TRY_AGAIN" +msgstr "Érvénytelen karaktert vitt be. Próbálja újra" + +msgid "IDS_ST_BODY_PHONEPROFILES_SILENT" +msgstr "Csendes" + +msgid "IDS_IV_POP_YOU_CAN_SELECT_UP_TO_PD_ITEMS" +msgstr "Legfeljebb %d tételt jelölhet ki." + +msgid "IDS_MF_POP_DELETE_Q" +msgstr "Törli?" + +msgid "IDS_MF_BODY_SD_CARD_ABB" +msgstr "SD-kártya" + +msgid "IDS_MF_BODY_DEVICE_MEMORY_ABB" +msgstr "Eszközmemória" + +msgid "IDS_MUSIC_POP_UNABLE_TO_PLAY_ERROR_OCCURRED" +msgstr "Nem játszható le. Hiba történt." + +msgid "IDS_TPLATFORM_ACBUTTON_DONE_ABB" +msgstr "KÉSZ" + +msgid "IDS_TPLATFORM_ACBUTTON_CANCEL_ABB" +msgstr "MÉGSE" + +msgid "IDS_CHATON_POP_MAXIMUM_FILE_SIZE_HPD_MB_EXCEEDED" +msgstr "Túllépte a maximális fájlméretet (%d MB)." + +msgid "IDS_IM_POP_MAXIMUM_SIZE_OF_FILES_EXCEEDED" +msgstr "Túllépte a maximális fájlméretet." + diff --git a/res/po/hy.po b/res/po/hy.po new file mode 100755 index 0000000..206ec92 --- /dev/null +++ b/res/po/hy.po @@ -0,0 +1,57 @@ +msgid "IDS_MF_POP_ERR_FOLDER_NAME_EMPTY" +msgstr "Մուտքագրեք թղթապանակի անունը:" + +msgid "IDS_MF_BODY_DOCUMENTS" +msgstr "Փաստաթղթեր" + +msgid "IDS_MF_OPT_DEFAULT_RINGTONE" +msgstr "Լռելյայն զանգի մեղեդի" + +msgid "IDS_MF_POP_INVALID_FILE_NAME" +msgstr "Անվավեր ֆայլի անուն:" + +msgid "IDS_MF_POP_UNABLE_TO_PLAY_DURING_CALL" +msgstr "Անհնար է վերարտադրել կանչի ընթացքում:" + +msgid "IDS_MUSIC_POP_UNABLE_TO_ADD_SOME_ITEMS_DONT_EXIST" +msgstr "Հնարավոր չէ ավելացնել: Որոշ տարրեր գոյություն չունեն:" + +msgid "IDS_ST_BODY_DEFAULT_NOTIFICATION_SOUND_ABB" +msgstr "Կանխադրված ծանուցման ձայն" + +msgid "IDS_MF_HEADER_SELECT_ITEMS" +msgstr "Ընտրել տարրեր" + +msgid "IDS_VR_POP_INVALID_CHARACTER_ENTERED_TRY_AGAIN" +msgstr "Անվավեր նիշ է մուտքագրվել: Նորից փորձեք" + +msgid "IDS_ST_BODY_PHONEPROFILES_SILENT" +msgstr "Անձայն" + +msgid "IDS_IV_POP_YOU_CAN_SELECT_UP_TO_PD_ITEMS" +msgstr "Կարող եք ընտրել մինչև %d տարր:" + +msgid "IDS_MF_POP_DELETE_Q" +msgstr "Ջնջե՞լ" + +msgid "IDS_MF_BODY_SD_CARD_ABB" +msgstr "SD քարտ" + +msgid "IDS_MF_BODY_DEVICE_MEMORY_ABB" +msgstr "Սարքի հիշողություն" + +msgid "IDS_MUSIC_POP_UNABLE_TO_PLAY_ERROR_OCCURRED" +msgstr "Անհնար է նվագարկել. սխալ է տեղի ունեցել:" + +msgid "IDS_TPLATFORM_ACBUTTON_DONE_ABB" +msgstr "ԱՐՎԱԾ" + +msgid "IDS_TPLATFORM_ACBUTTON_CANCEL_ABB" +msgstr "ԴԱԴԱՐԵՑՆԵԼ" + +msgid "IDS_CHATON_POP_MAXIMUM_FILE_SIZE_HPD_MB_EXCEEDED" +msgstr "Ֆայլի առավելագույն չափը (%d ՄԲ) գերազանցվել է:" + +msgid "IDS_IM_POP_MAXIMUM_SIZE_OF_FILES_EXCEEDED" +msgstr "Ֆայլերի առավելագույն քանակը գերազանցվել է:" + diff --git a/res/po/is.po b/res/po/is.po new file mode 100755 index 0000000..d0364d9 --- /dev/null +++ b/res/po/is.po @@ -0,0 +1,57 @@ +msgid "IDS_MF_POP_ERR_FOLDER_NAME_EMPTY" +msgstr "Ritið heiti möppu." + +msgid "IDS_MF_BODY_DOCUMENTS" +msgstr "Skjöl" + +msgid "IDS_MF_OPT_DEFAULT_RINGTONE" +msgstr "Sjálfgefnir hringitónar" + +msgid "IDS_MF_POP_INVALID_FILE_NAME" +msgstr "Ógilt skráarheiti." + +msgid "IDS_MF_POP_UNABLE_TO_PLAY_DURING_CALL" +msgstr "Ekki er hægt að spila á meðan símtal stendur yfir." + +msgid "IDS_MUSIC_POP_UNABLE_TO_ADD_SOME_ITEMS_DONT_EXIST" +msgstr "Mistókst að bæta við. Sumir hlutir eru ekki til." + +msgid "IDS_ST_BODY_DEFAULT_NOTIFICATION_SOUND_ABB" +msgstr "Sjálfg. tilkynningatónn" + +msgid "IDS_MF_HEADER_SELECT_ITEMS" +msgstr "Velja hluti" + +msgid "IDS_VR_POP_INVALID_CHARACTER_ENTERED_TRY_AGAIN" +msgstr "Ógildur stafur sleginn inn. Reyndu aftur." + +msgid "IDS_ST_BODY_PHONEPROFILES_SILENT" +msgstr "Án hljóðs" + +msgid "IDS_IV_POP_YOU_CAN_SELECT_UP_TO_PD_ITEMS" +msgstr "Hægt er velja allt að %d hluti." + +msgid "IDS_MF_POP_DELETE_Q" +msgstr "Á að eyða?" + +msgid "IDS_MF_BODY_SD_CARD_ABB" +msgstr "SD-kort" + +msgid "IDS_MF_BODY_DEVICE_MEMORY_ABB" +msgstr "Innra minni tækis" + +msgid "IDS_MUSIC_POP_UNABLE_TO_PLAY_ERROR_OCCURRED" +msgstr "Mistókst að spila. Villa kom upp." + +msgid "IDS_TPLATFORM_ACBUTTON_DONE_ABB" +msgstr "LOKIÐ" + +msgid "IDS_TPLATFORM_ACBUTTON_CANCEL_ABB" +msgstr "HÆTTA VIÐ" + +msgid "IDS_CHATON_POP_MAXIMUM_FILE_SIZE_HPD_MB_EXCEEDED" +msgstr "Hámarksstærð skráar (%d MB) hefur verið náð." + +msgid "IDS_IM_POP_MAXIMUM_SIZE_OF_FILES_EXCEEDED" +msgstr "Hámarksstærð skráa er náð." + diff --git a/res/po/it_IT.po b/res/po/it_IT.po new file mode 100755 index 0000000..595112c --- /dev/null +++ b/res/po/it_IT.po @@ -0,0 +1,57 @@ +msgid "IDS_MF_POP_ERR_FOLDER_NAME_EMPTY" +msgstr "Inserite nome cartella" + +msgid "IDS_MF_BODY_DOCUMENTS" +msgstr "Documenti" + +msgid "IDS_MF_OPT_DEFAULT_RINGTONE" +msgstr "Suoneria predefinita" + +msgid "IDS_MF_POP_INVALID_FILE_NAME" +msgstr "Nome del file non valido." + +msgid "IDS_MF_POP_UNABLE_TO_PLAY_DURING_CALL" +msgstr "Impossibile riprodurre durante una chiamata." + +msgid "IDS_MUSIC_POP_UNABLE_TO_ADD_SOME_ITEMS_DONT_EXIST" +msgstr "Impossibile aggiungere. Alcuni elementi non esistono." + +msgid "IDS_ST_BODY_DEFAULT_NOTIFICATION_SOUND_ABB" +msgstr "Suoneria predef. notifica" + +msgid "IDS_MF_HEADER_SELECT_ITEMS" +msgstr "Seleziona elementi" + +msgid "IDS_VR_POP_INVALID_CHARACTER_ENTERED_TRY_AGAIN" +msgstr "Carattere inserito non valido. Riprovate." + +msgid "IDS_ST_BODY_PHONEPROFILES_SILENT" +msgstr "Silenzioso" + +msgid "IDS_IV_POP_YOU_CAN_SELECT_UP_TO_PD_ITEMS" +msgstr "È possibile selezionare fino a %d elementi." + +msgid "IDS_MF_POP_DELETE_Q" +msgstr "Eliminare?" + +msgid "IDS_MF_BODY_SD_CARD_ABB" +msgstr "Scheda SD" + +msgid "IDS_MF_BODY_DEVICE_MEMORY_ABB" +msgstr "Memoria dispositivo" + +msgid "IDS_MUSIC_POP_UNABLE_TO_PLAY_ERROR_OCCURRED" +msgstr "Impossibile riprodurre. Si è verificato un errore." + +msgid "IDS_TPLATFORM_ACBUTTON_DONE_ABB" +msgstr "FATTO" + +msgid "IDS_TPLATFORM_ACBUTTON_CANCEL_ABB" +msgstr "ANNULLA" + +msgid "IDS_CHATON_POP_MAXIMUM_FILE_SIZE_HPD_MB_EXCEEDED" +msgstr "La dimensione massima del file (%d MB) è stata superata." + +msgid "IDS_IM_POP_MAXIMUM_SIZE_OF_FILES_EXCEEDED" +msgstr "Dimensioni massime dei file superate." + diff --git a/res/po/ja_JP.po b/res/po/ja_JP.po new file mode 100755 index 0000000..a619e46 --- /dev/null +++ b/res/po/ja_JP.po @@ -0,0 +1,57 @@ +msgid "IDS_MF_POP_ERR_FOLDER_NAME_EMPTY" +msgstr "フォルダ名を入力してください。" + +msgid "IDS_MF_BODY_DOCUMENTS" +msgstr "ドキュメント" + +msgid "IDS_MF_OPT_DEFAULT_RINGTONE" +msgstr "標準音" + +msgid "IDS_MF_POP_INVALID_FILE_NAME" +msgstr "ファイル名が正しくありません。" + +msgid "IDS_MF_POP_UNABLE_TO_PLAY_DURING_CALL" +msgstr "通話中は再生できません。" + +msgid "IDS_MUSIC_POP_UNABLE_TO_ADD_SOME_ITEMS_DONT_EXIST" +msgstr "一部のアイテムが存在しないため、追加できません。" + +msgid "IDS_ST_BODY_DEFAULT_NOTIFICATION_SOUND_ABB" +msgstr "標準通知音" + +msgid "IDS_MF_HEADER_SELECT_ITEMS" +msgstr "アイテムを選択" + +msgid "IDS_VR_POP_INVALID_CHARACTER_ENTERED_TRY_AGAIN" +msgstr "無効な文字が入力されました。再度実行してください。" + +msgid "IDS_ST_BODY_PHONEPROFILES_SILENT" +msgstr "サイレント" + +msgid "IDS_IV_POP_YOU_CAN_SELECT_UP_TO_PD_ITEMS" +msgstr "%dアイテムまで選択できます。" + +msgid "IDS_MF_POP_DELETE_Q" +msgstr "削除しますか?" + +msgid "IDS_MF_BODY_SD_CARD_ABB" +msgstr "外部SDカード" + +msgid "IDS_MF_BODY_DEVICE_MEMORY_ABB" +msgstr "システムメモリ(本体)" + +msgid "IDS_MUSIC_POP_UNABLE_TO_PLAY_ERROR_OCCURRED" +msgstr "再生できません。エラーが発生しました。" + +msgid "IDS_TPLATFORM_ACBUTTON_DONE_ABB" +msgstr "完了" + +msgid "IDS_TPLATFORM_ACBUTTON_CANCEL_ABB" +msgstr "キャンセル" + +msgid "IDS_CHATON_POP_MAXIMUM_FILE_SIZE_HPD_MB_EXCEEDED" +msgstr "最大ファイルサイズ(%dMB)を超えました。" + +msgid "IDS_IM_POP_MAXIMUM_SIZE_OF_FILES_EXCEEDED" +msgstr "ファイルの最大サイズを超えました。" + diff --git a/res/po/ka.po b/res/po/ka.po new file mode 100755 index 0000000..b2f002b --- /dev/null +++ b/res/po/ka.po @@ -0,0 +1,57 @@ +msgid "IDS_MF_POP_ERR_FOLDER_NAME_EMPTY" +msgstr "შეიყვანეთ საქაღალდის სახელი." + +msgid "IDS_MF_BODY_DOCUMENTS" +msgstr "დოკუმენტები" + +msgid "IDS_MF_OPT_DEFAULT_RINGTONE" +msgstr "ავტომატურად შერჩეული ზარი" + +msgid "IDS_MF_POP_INVALID_FILE_NAME" +msgstr "ფაილის არასწორი დასახელება." + +msgid "IDS_MF_POP_UNABLE_TO_PLAY_DURING_CALL" +msgstr "ვერ დაუკრავთ ზარის დროს." + +msgid "IDS_MUSIC_POP_UNABLE_TO_ADD_SOME_ITEMS_DONT_EXIST" +msgstr "ვერ ემატება. ზოგიერთი ელემენტი არ არის." + +msgid "IDS_ST_BODY_DEFAULT_NOTIFICATION_SOUND_ABB" +msgstr "შეტყობინების საწყისი ხმა" + +msgid "IDS_MF_HEADER_SELECT_ITEMS" +msgstr "ელემენტების არჩევა" + +msgid "IDS_VR_POP_INVALID_CHARACTER_ENTERED_TRY_AGAIN" +msgstr "აკრეფილია არასწორი სიმბოლო. კიდევ მოსინჯეთ" + +msgid "IDS_ST_BODY_PHONEPROFILES_SILENT" +msgstr "ჩუმი" + +msgid "IDS_IV_POP_YOU_CAN_SELECT_UP_TO_PD_ITEMS" +msgstr "მაქსიმუმ %d ელემენტის არჩევა შეგიძლიათ." + +msgid "IDS_MF_POP_DELETE_Q" +msgstr "წაიშალოს?" + +msgid "IDS_MF_BODY_SD_CARD_ABB" +msgstr "SD ბარათი" + +msgid "IDS_MF_BODY_DEVICE_MEMORY_ABB" +msgstr "აპარატის მეხსიერება" + +msgid "IDS_MUSIC_POP_UNABLE_TO_PLAY_ERROR_OCCURRED" +msgstr "ვერ დაუკრავთ. შეცდომა მოხდა." + +msgid "IDS_TPLATFORM_ACBUTTON_DONE_ABB" +msgstr "მზადაა" + +msgid "IDS_TPLATFORM_ACBUTTON_CANCEL_ABB" +msgstr "გაუქმება" + +msgid "IDS_CHATON_POP_MAXIMUM_FILE_SIZE_HPD_MB_EXCEEDED" +msgstr "გადაჭარბებულია ფაილის მაქსიმალური ზომა (%d მბ)." + +msgid "IDS_IM_POP_MAXIMUM_SIZE_OF_FILES_EXCEEDED" +msgstr "გადაჭარბებულია ფაილების მაქსიმალური ზომა." + diff --git a/res/po/kk.po b/res/po/kk.po new file mode 100755 index 0000000..f23c662 --- /dev/null +++ b/res/po/kk.po @@ -0,0 +1,57 @@ +msgid "IDS_MF_POP_ERR_FOLDER_NAME_EMPTY" +msgstr "Қалта атын енгізңіз." + +msgid "IDS_MF_BODY_DOCUMENTS" +msgstr "Құжаттар" + +msgid "IDS_MF_OPT_DEFAULT_RINGTONE" +msgstr "Әдепкі үн" + +msgid "IDS_MF_POP_INVALID_FILE_NAME" +msgstr "Файлдың аты қате." + +msgid "IDS_MF_POP_UNABLE_TO_PLAY_DURING_CALL" +msgstr "Сөйлесу барысында ойнатуға мүмкіндік жоқ." + +msgid "IDS_MUSIC_POP_UNABLE_TO_ADD_SOME_ITEMS_DONT_EXIST" +msgstr "Қосу мүмкін емес. Кейбір элементтер жоқ." + +msgid "IDS_ST_BODY_DEFAULT_NOTIFICATION_SOUND_ABB" +msgstr "Әдепкі хабарлау дыбысы" + +msgid "IDS_MF_HEADER_SELECT_ITEMS" +msgstr "Элементтерді таңдау" + +msgid "IDS_VR_POP_INVALID_CHARACTER_ENTERED_TRY_AGAIN" +msgstr "Қате таңба енгізілді. Әрекетті қайталаңыз" + +msgid "IDS_ST_BODY_PHONEPROFILES_SILENT" +msgstr "Дыбыссыз" + +msgid "IDS_IV_POP_YOU_CAN_SELECT_UP_TO_PD_ITEMS" +msgstr "%d элементке дейін таңдауға болады." + +msgid "IDS_MF_POP_DELETE_Q" +msgstr "Өшіресіз бе?" + +msgid "IDS_MF_BODY_SD_CARD_ABB" +msgstr "SD картасы" + +msgid "IDS_MF_BODY_DEVICE_MEMORY_ABB" +msgstr "Құрылғы жады" + +msgid "IDS_MUSIC_POP_UNABLE_TO_PLAY_ERROR_OCCURRED" +msgstr "Ойнату мүмкін емес. Қате пайда болды." + +msgid "IDS_TPLATFORM_ACBUTTON_DONE_ABB" +msgstr "ДАЙЫН" + +msgid "IDS_TPLATFORM_ACBUTTON_CANCEL_ABB" +msgstr "БАС ТАРТУ" + +msgid "IDS_CHATON_POP_MAXIMUM_FILE_SIZE_HPD_MB_EXCEEDED" +msgstr "Ең үлкен файл өлшемінен (%d МБ) асып кетті." + +msgid "IDS_IM_POP_MAXIMUM_SIZE_OF_FILES_EXCEEDED" +msgstr "Файлдардың ең үлкен өлшемінен асып кетті." + diff --git a/res/po/kn.po b/res/po/kn.po new file mode 100755 index 0000000..d0f51c8 --- /dev/null +++ b/res/po/kn.po @@ -0,0 +1,57 @@ +msgid "IDS_MF_POP_ERR_FOLDER_NAME_EMPTY" +msgstr "ಫೋಲ್ಡರ್ ಹೆಸರನ್ನು ನಮೂದಿಸಿ." + +msgid "IDS_MF_BODY_DOCUMENTS" +msgstr "ಡಾಕ್ಯುಮೆಂಟ್ಗಳು" + +msgid "IDS_MF_OPT_DEFAULT_RINGTONE" +msgstr "ಡೀಫಾಲ್ಟ್ ರಿಂಗ್ಟೋನ್" + +msgid "IDS_MF_POP_INVALID_FILE_NAME" +msgstr "ಅಸಿಂಧು ಫೈಲ್ ಹೆಸರು." + +msgid "IDS_MF_POP_UNABLE_TO_PLAY_DURING_CALL" +msgstr "ಕರೆಯ ಸಮಯದಲ್ಲಿ ಪ್ಲೇ ಮಾಡಲಾಗುತ್ತಿಲ್ಲ." + +msgid "IDS_MUSIC_POP_UNABLE_TO_ADD_SOME_ITEMS_DONT_EXIST" +msgstr "ಸೇರಿಸಲಾಗುತ್ತಿಲ್ಲ. ಒಂದೇ ಐಟಂ ಅಸ್ತಿತ್ವದಲ್ಲಿಲ್ಲ." + +msgid "IDS_ST_BODY_DEFAULT_NOTIFICATION_SOUND_ABB" +msgstr "ಡೀಫಾಲ್ಟ್ ಪ್ರಕಟಣೆ ಶಬ್ದ" + +msgid "IDS_MF_HEADER_SELECT_ITEMS" +msgstr "ಅಂಶಗಳನ್ನು ಆರಿಸಿ" + +msgid "IDS_VR_POP_INVALID_CHARACTER_ENTERED_TRY_AGAIN" +msgstr "ಅಮಾನ್ಯ ಅಕ್ಷರ ನಮೂದಿಸಲಾಗಿದೆ. ಮತ್ತೊಮ್ಮೆ ಪ್ರಯತ್ನಿಸಿ." + +msgid "IDS_ST_BODY_PHONEPROFILES_SILENT" +msgstr "ನಿಶ್ಯಬ್ದ" + +msgid "IDS_IV_POP_YOU_CAN_SELECT_UP_TO_PD_ITEMS" +msgstr "%d ಅಂಶಗಳವರೆಗೆ ನೀವು ಆರಿಸಬಹುದು." + +msgid "IDS_MF_POP_DELETE_Q" +msgstr "ಅಳಿಸಲೇ?" + +msgid "IDS_MF_BODY_SD_CARD_ABB" +msgstr "SD ಕಾರ್ಡ್" + +msgid "IDS_MF_BODY_DEVICE_MEMORY_ABB" +msgstr "ಸಾಧನ ಸ್ಮರಣೆ" + +msgid "IDS_MUSIC_POP_UNABLE_TO_PLAY_ERROR_OCCURRED" +msgstr "ಪ್ಲೇ ಮಾಡಲು ಅಸಮರ್ಥ. ದೋಷ ಸಂಭವಿಸಿದೆ." + +msgid "IDS_TPLATFORM_ACBUTTON_DONE_ABB" +msgstr "ಮುಗಿದಿದೆ" + +msgid "IDS_TPLATFORM_ACBUTTON_CANCEL_ABB" +msgstr "ರದ್ದುಮಾಡಿ" + +msgid "IDS_CHATON_POP_MAXIMUM_FILE_SIZE_HPD_MB_EXCEEDED" +msgstr "ಗರಿಷ್ಠ ಫೈಲ್ ಗಾತ್ರ (%d MB) ಮೀರಿದೆ." + +msgid "IDS_IM_POP_MAXIMUM_SIZE_OF_FILES_EXCEEDED" +msgstr "ಫೈಲ್ಗಳ ಗರಿಷ್ಠ ಗಾತ್ರ ಮೀರಿದೆ." + diff --git a/res/po/ko_KR.po b/res/po/ko_KR.po new file mode 100755 index 0000000..1eb2afd --- /dev/null +++ b/res/po/ko_KR.po @@ -0,0 +1,57 @@ +msgid "IDS_MF_POP_ERR_FOLDER_NAME_EMPTY" +msgstr "폴더 이름을 입력하세요." + +msgid "IDS_MF_BODY_DOCUMENTS" +msgstr "문서" + +msgid "IDS_MF_OPT_DEFAULT_RINGTONE" +msgstr "기본 벨소리" + +msgid "IDS_MF_POP_INVALID_FILE_NAME" +msgstr "파일 이름이 바르지 않습니다." + +msgid "IDS_MF_POP_UNABLE_TO_PLAY_DURING_CALL" +msgstr "통화 중에는 재생할 수 없습니다." + +msgid "IDS_MUSIC_POP_UNABLE_TO_ADD_SOME_ITEMS_DONT_EXIST" +msgstr "일부 항목이 없어 추가할 수 없습니다." + +msgid "IDS_ST_BODY_DEFAULT_NOTIFICATION_SOUND_ABB" +msgstr "기본 알림음" + +msgid "IDS_MF_HEADER_SELECT_ITEMS" +msgstr "항목 선택" + +msgid "IDS_VR_POP_INVALID_CHARACTER_ENTERED_TRY_AGAIN" +msgstr "입력한 문자가 바르지 않습니다. 다시 시도하세요." + +msgid "IDS_ST_BODY_PHONEPROFILES_SILENT" +msgstr "무음" + +msgid "IDS_IV_POP_YOU_CAN_SELECT_UP_TO_PD_ITEMS" +msgstr "%d개까지 선택할 수 있습니다." + +msgid "IDS_MF_POP_DELETE_Q" +msgstr "삭제할까요?" + +msgid "IDS_MF_BODY_SD_CARD_ABB" +msgstr "SD 카드" + +msgid "IDS_MF_BODY_DEVICE_MEMORY_ABB" +msgstr "디바이스 저장공간" + +msgid "IDS_MUSIC_POP_UNABLE_TO_PLAY_ERROR_OCCURRED" +msgstr "재생할 수 없습니다. 오류가 발생하였습니다." + +msgid "IDS_TPLATFORM_ACBUTTON_DONE_ABB" +msgstr "완료" + +msgid "IDS_TPLATFORM_ACBUTTON_CANCEL_ABB" +msgstr "취소" + +msgid "IDS_CHATON_POP_MAXIMUM_FILE_SIZE_HPD_MB_EXCEEDED" +msgstr "최대 파일 크기 %dMB를 초과하였습니다." + +msgid "IDS_IM_POP_MAXIMUM_SIZE_OF_FILES_EXCEEDED" +msgstr "최대 파일 크기를 초과하였습니다." + diff --git a/res/po/lt.po b/res/po/lt.po new file mode 100755 index 0000000..369442c --- /dev/null +++ b/res/po/lt.po @@ -0,0 +1,57 @@ +msgid "IDS_MF_POP_ERR_FOLDER_NAME_EMPTY" +msgstr "Įrašyti aplanko pavadinimą." + +msgid "IDS_MF_BODY_DOCUMENTS" +msgstr "Dokumentai" + +msgid "IDS_MF_OPT_DEFAULT_RINGTONE" +msgstr "Numatytoji melodija" + +msgid "IDS_MF_POP_INVALID_FILE_NAME" +msgstr "Neleistinas failo pavadinimas." + +msgid "IDS_MF_POP_UNABLE_TO_PLAY_DURING_CALL" +msgstr "Negalima paleisti skambučio metu." + +msgid "IDS_MUSIC_POP_UNABLE_TO_ADD_SOME_ITEMS_DONT_EXIST" +msgstr "Nepavyko pridėti. Kai kurie elementai neegzistuoja." + +msgid "IDS_ST_BODY_DEFAULT_NOTIFICATION_SOUND_ABB" +msgstr "Numatyto pranešimo garsas" + +msgid "IDS_MF_HEADER_SELECT_ITEMS" +msgstr "Rinktis elementus" + +msgid "IDS_VR_POP_INVALID_CHARACTER_ENTERED_TRY_AGAIN" +msgstr "Įvestas neteisingas simbolis. Bandykite vėl" + +msgid "IDS_ST_BODY_PHONEPROFILES_SILENT" +msgstr "Tylusis" + +msgid "IDS_IV_POP_YOU_CAN_SELECT_UP_TO_PD_ITEMS" +msgstr "Galite pasirinkti iki %d elementų." + +msgid "IDS_MF_POP_DELETE_Q" +msgstr "Ar trinti?" + +msgid "IDS_MF_BODY_SD_CARD_ABB" +msgstr "SD kortelė" + +msgid "IDS_MF_BODY_DEVICE_MEMORY_ABB" +msgstr "Įrenginio atmintis" + +msgid "IDS_MUSIC_POP_UNABLE_TO_PLAY_ERROR_OCCURRED" +msgstr "Neįmanoma paleisti. Įvyko klaida." + +msgid "IDS_TPLATFORM_ACBUTTON_DONE_ABB" +msgstr "ATLIKTA" + +msgid "IDS_TPLATFORM_ACBUTTON_CANCEL_ABB" +msgstr "ATŠAUKTI" + +msgid "IDS_CHATON_POP_MAXIMUM_FILE_SIZE_HPD_MB_EXCEEDED" +msgstr "Viršytas didžiausias failo dydis (%d MB)." + +msgid "IDS_IM_POP_MAXIMUM_SIZE_OF_FILES_EXCEEDED" +msgstr "Viršytas leistinas failų dydis." + diff --git a/res/po/lv.po b/res/po/lv.po new file mode 100755 index 0000000..5557342 --- /dev/null +++ b/res/po/lv.po @@ -0,0 +1,57 @@ +msgid "IDS_MF_POP_ERR_FOLDER_NAME_EMPTY" +msgstr "Ievadiet mapes nosaukumu." + +msgid "IDS_MF_BODY_DOCUMENTS" +msgstr "Dokumenti" + +msgid "IDS_MF_OPT_DEFAULT_RINGTONE" +msgstr "Noklusējuma zvana signāls" + +msgid "IDS_MF_POP_INVALID_FILE_NAME" +msgstr "Nederīgs faila nosaukums." + +msgid "IDS_MF_POP_UNABLE_TO_PLAY_DURING_CALL" +msgstr "Sarunas laikā nevar veikt atskaņošanu." + +msgid "IDS_MUSIC_POP_UNABLE_TO_ADD_SOME_ITEMS_DONT_EXIST" +msgstr "Nevar pievienot. Daži objekti nepastāv." + +msgid "IDS_ST_BODY_DEFAULT_NOTIFICATION_SOUND_ABB" +msgstr "Paziņojumu noklus. skaņa" + +msgid "IDS_MF_HEADER_SELECT_ITEMS" +msgstr "Objektu izvēle" + +msgid "IDS_VR_POP_INVALID_CHARACTER_ENTERED_TRY_AGAIN" +msgstr "Ievadīta nederīga rakstzīme. Mēģiniet vēlreiz" + +msgid "IDS_ST_BODY_PHONEPROFILES_SILENT" +msgstr "Klusums" + +msgid "IDS_IV_POP_YOU_CAN_SELECT_UP_TO_PD_ITEMS" +msgstr "Varat izvēlēties līdz pat %d objektiem." + +msgid "IDS_MF_POP_DELETE_Q" +msgstr "Vai dzēst?" + +msgid "IDS_MF_BODY_SD_CARD_ABB" +msgstr "SD kartē" + +msgid "IDS_MF_BODY_DEVICE_MEMORY_ABB" +msgstr "Ierīces atmiņa" + +msgid "IDS_MUSIC_POP_UNABLE_TO_PLAY_ERROR_OCCURRED" +msgstr "Nevar atskaņot. Radās kļūda." + +msgid "IDS_TPLATFORM_ACBUTTON_DONE_ABB" +msgstr "GATAVS" + +msgid "IDS_TPLATFORM_ACBUTTON_CANCEL_ABB" +msgstr "ATCELT" + +msgid "IDS_CHATON_POP_MAXIMUM_FILE_SIZE_HPD_MB_EXCEEDED" +msgstr "Pārsniegts maksimālais faila lielums (%d MB)." + +msgid "IDS_IM_POP_MAXIMUM_SIZE_OF_FILES_EXCEEDED" +msgstr "Pārsniegts maksimālais failu lielums." + diff --git a/res/po/mk.po b/res/po/mk.po new file mode 100755 index 0000000..8a98f1b --- /dev/null +++ b/res/po/mk.po @@ -0,0 +1,57 @@ +msgid "IDS_MF_POP_ERR_FOLDER_NAME_EMPTY" +msgstr "Внесете име за папката." + +msgid "IDS_MF_BODY_DOCUMENTS" +msgstr "Документи" + +msgid "IDS_MF_OPT_DEFAULT_RINGTONE" +msgstr "Основно ѕвонење" + +msgid "IDS_MF_POP_INVALID_FILE_NAME" +msgstr "Неправилно име на фајл." + +msgid "IDS_MF_POP_UNABLE_TO_PLAY_DURING_CALL" +msgstr "Не може да се пушти за време на разговор." + +msgid "IDS_MUSIC_POP_UNABLE_TO_ADD_SOME_ITEMS_DONT_EXIST" +msgstr "Не може да се додаде. Некои содржини не постојат." + +msgid "IDS_ST_BODY_DEFAULT_NOTIFICATION_SOUND_ABB" +msgstr "Основен звук за известување" + +msgid "IDS_MF_HEADER_SELECT_ITEMS" +msgstr "Изберете записи" + +msgid "IDS_VR_POP_INVALID_CHARACTER_ENTERED_TRY_AGAIN" +msgstr "Внесен е неважечки знак. Обидете се повторно" + +msgid "IDS_ST_BODY_PHONEPROFILES_SILENT" +msgstr "Нечујно" + +msgid "IDS_IV_POP_YOU_CAN_SELECT_UP_TO_PD_ITEMS" +msgstr "Може да изберете најмногу %d записи." + +msgid "IDS_MF_POP_DELETE_Q" +msgstr "Да се избрише?" + +msgid "IDS_MF_BODY_SD_CARD_ABB" +msgstr "SD-картичка" + +msgid "IDS_MF_BODY_DEVICE_MEMORY_ABB" +msgstr "Меморија на уредот" + +msgid "IDS_MUSIC_POP_UNABLE_TO_PLAY_ERROR_OCCURRED" +msgstr "Не може да се емитува. Дојде до грешка." + +msgid "IDS_TPLATFORM_ACBUTTON_DONE_ABB" +msgstr "ГОТОВО" + +msgid "IDS_TPLATFORM_ACBUTTON_CANCEL_ABB" +msgstr "ОТКАЖИ" + +msgid "IDS_CHATON_POP_MAXIMUM_FILE_SIZE_HPD_MB_EXCEEDED" +msgstr "Надмината е максималната големина за фајл (%d MB)." + +msgid "IDS_IM_POP_MAXIMUM_SIZE_OF_FILES_EXCEEDED" +msgstr "Надмината е максималната големина за фајловите." + diff --git a/res/po/ml.po b/res/po/ml.po new file mode 100755 index 0000000..1726dfe --- /dev/null +++ b/res/po/ml.po @@ -0,0 +1,57 @@ +msgid "IDS_MF_POP_ERR_FOLDER_NAME_EMPTY" +msgstr "ഫോൾഡർ പേര് നൽകുക" + +msgid "IDS_MF_BODY_DOCUMENTS" +msgstr "പ്രമാണങ്ങള്" + +msgid "IDS_MF_OPT_DEFAULT_RINGTONE" +msgstr "സ്ഥിരസ്ഥിതി റിംഗ്ടോണ്" + +msgid "IDS_MF_POP_INVALID_FILE_NAME" +msgstr "ഫയല് നാമം അസാധുവാണ്." + +msgid "IDS_MF_POP_UNABLE_TO_PLAY_DURING_CALL" +msgstr "കോളിനിടെ പ്ലേചെയ്യാന് ആവുന്നില്ല." + +msgid "IDS_MUSIC_POP_UNABLE_TO_ADD_SOME_ITEMS_DONT_EXIST" +msgstr "ചേര്ക്കാനാവില്ല. ചില ഇനങ്ങള് നിലവിലില്ല." + +msgid "IDS_ST_BODY_DEFAULT_NOTIFICATION_SOUND_ABB" +msgstr "സ്ഥിരസ്ഥിതി അറിയിപ്പ് ശബ്ദം" + +msgid "IDS_MF_HEADER_SELECT_ITEMS" +msgstr "ഇനങ്ങള് തിരഞ്ഞെടുക്കുക" + +msgid "IDS_VR_POP_INVALID_CHARACTER_ENTERED_TRY_AGAIN" +msgstr "അസാധുവായ അക്ഷരം നല്കി. വീണ്ടും ശ്രമിക്കുക" + +msgid "IDS_ST_BODY_PHONEPROFILES_SILENT" +msgstr "നിശബ്ദം" + +msgid "IDS_IV_POP_YOU_CAN_SELECT_UP_TO_PD_ITEMS" +msgstr "%d ഇനങ്ങള് വരെ നിങ്ങള്ക്ക് തിരഞ്ഞെടുക്കാം." + +msgid "IDS_MF_POP_DELETE_Q" +msgstr "ഇല്ലാതാക്കണോ?" + +msgid "IDS_MF_BODY_SD_CARD_ABB" +msgstr "SD കാര്ഡ്" + +msgid "IDS_MF_BODY_DEVICE_MEMORY_ABB" +msgstr "ഉപകരണ മെമ്മറി" + +msgid "IDS_MUSIC_POP_UNABLE_TO_PLAY_ERROR_OCCURRED" +msgstr "പ്ലേ ചെയ്യാനാവുന്നില്ല. പിശക് സംഭവിച്ചു." + +msgid "IDS_TPLATFORM_ACBUTTON_DONE_ABB" +msgstr "ചെയ്തു" + +msgid "IDS_TPLATFORM_ACBUTTON_CANCEL_ABB" +msgstr "റദ്ദാക് + +msgid "IDS_CHATON_POP_MAXIMUM_FILE_SIZE_HPD_MB_EXCEEDED" +msgstr "പരമാവധി ഫയല് വലുപ്പം (%d MB) കവിഞ്ഞു." + +msgid "IDS_IM_POP_MAXIMUM_SIZE_OF_FILES_EXCEEDED" +msgstr "ഫയലുകളുടെ പരമാവധി വലിപ്പം അതികരിച്ചു." + diff --git a/res/po/mr.po b/res/po/mr.po new file mode 100755 index 0000000..5fd939a --- /dev/null +++ b/res/po/mr.po @@ -0,0 +1,57 @@ +msgid "IDS_MF_POP_ERR_FOLDER_NAME_EMPTY" +msgstr "फोल्डरचे नाव प्रविष्ट करा." + +msgid "IDS_MF_BODY_DOCUMENTS" +msgstr "दस्तऐवज" + +msgid "IDS_MF_OPT_DEFAULT_RINGTONE" +msgstr "डिफॉल्ट रिंगटोन" + +msgid "IDS_MF_POP_INVALID_FILE_NAME" +msgstr "फाइलचा नाव अवैध आहे." + +msgid "IDS_MF_POP_UNABLE_TO_PLAY_DURING_CALL" +msgstr "कॉल दरम्यान चालू करण्यास अक्षम." + +msgid "IDS_MUSIC_POP_UNABLE_TO_ADD_SOME_ITEMS_DONT_EXIST" +msgstr "जोडण्यास अक्षम. काही आयटम्स अस्तित्वात नाही." + +msgid "IDS_ST_BODY_DEFAULT_NOTIFICATION_SOUND_ABB" +msgstr "डिफॉल्ट अधिसूचना ध्वनी" + +msgid "IDS_MF_HEADER_SELECT_ITEMS" +msgstr "आयटेम्स निवडा" + +msgid "IDS_VR_POP_INVALID_CHARACTER_ENTERED_TRY_AGAIN" +msgstr "अवैध वर्ण प्रविष्ट केले. पुन्हा प्रयत्न करा." + +msgid "IDS_ST_BODY_PHONEPROFILES_SILENT" +msgstr "शांत" + +msgid "IDS_IV_POP_YOU_CAN_SELECT_UP_TO_PD_ITEMS" +msgstr "आपण %d आयटम्स पर्यंत निवड करू शकता." + +msgid "IDS_MF_POP_DELETE_Q" +msgstr "काढून टाकायचे?" + +msgid "IDS_MF_BODY_SD_CARD_ABB" +msgstr "SD कार्ड" + +msgid "IDS_MF_BODY_DEVICE_MEMORY_ABB" +msgstr "उपकरण मेमरी" + +msgid "IDS_MUSIC_POP_UNABLE_TO_PLAY_ERROR_OCCURRED" +msgstr "चालू करण्यास अक्षम. त्रुटी आली." + +msgid "IDS_TPLATFORM_ACBUTTON_DONE_ABB" +msgstr "झाले" + +msgid "IDS_TPLATFORM_ACBUTTON_CANCEL_ABB" +msgstr "रद्द करा" + +msgid "IDS_CHATON_POP_MAXIMUM_FILE_SIZE_HPD_MB_EXCEEDED" +msgstr "अत्याधिक फाईलचा आकार (%d MB) ओलांडला." + +msgid "IDS_IM_POP_MAXIMUM_SIZE_OF_FILES_EXCEEDED" +msgstr "फाइलींचा अधिकतम आकार ओलांडला आहे." + diff --git a/res/po/nb.po b/res/po/nb.po new file mode 100755 index 0000000..64f4a9d --- /dev/null +++ b/res/po/nb.po @@ -0,0 +1,57 @@ +msgid "IDS_MF_POP_ERR_FOLDER_NAME_EMPTY" +msgstr "Angi mappenavn." + +msgid "IDS_MF_BODY_DOCUMENTS" +msgstr "Dokumenter" + +msgid "IDS_MF_OPT_DEFAULT_RINGTONE" +msgstr "Standard ringetone" + +msgid "IDS_MF_POP_INVALID_FILE_NAME" +msgstr "Ugyldig filnavn." + +msgid "IDS_MF_POP_UNABLE_TO_PLAY_DURING_CALL" +msgstr "Kan ikke spille av under samtale." + +msgid "IDS_MUSIC_POP_UNABLE_TO_ADD_SOME_ITEMS_DONT_EXIST" +msgstr "Kan ikke legge til. Noen elemeneter finnes ikke." + +msgid "IDS_ST_BODY_DEFAULT_NOTIFICATION_SOUND_ABB" +msgstr "Standard varselslyd" + +msgid "IDS_MF_HEADER_SELECT_ITEMS" +msgstr "Velg elementer" + +msgid "IDS_VR_POP_INVALID_CHARACTER_ENTERED_TRY_AGAIN" +msgstr "Ugyldig tegn angitt. Prøv på nytt." + +msgid "IDS_ST_BODY_PHONEPROFILES_SILENT" +msgstr "Stille" + +msgid "IDS_IV_POP_YOU_CAN_SELECT_UP_TO_PD_ITEMS" +msgstr "Du kan velge opptil %d elementer." + +msgid "IDS_MF_POP_DELETE_Q" +msgstr "Slette?" + +msgid "IDS_MF_BODY_SD_CARD_ABB" +msgstr "SD-kort" + +msgid "IDS_MF_BODY_DEVICE_MEMORY_ABB" +msgstr "Enhetsminne" + +msgid "IDS_MUSIC_POP_UNABLE_TO_PLAY_ERROR_OCCURRED" +msgstr "Kan ikke spille av. Det oppstod en feil." + +msgid "IDS_TPLATFORM_ACBUTTON_DONE_ABB" +msgstr "FULLFØRT" + +msgid "IDS_TPLATFORM_ACBUTTON_CANCEL_ABB" +msgstr "AVBRYT" + +msgid "IDS_CHATON_POP_MAXIMUM_FILE_SIZE_HPD_MB_EXCEEDED" +msgstr "Maksimal filstørrelse (%d MB) overskredet." + +msgid "IDS_IM_POP_MAXIMUM_SIZE_OF_FILES_EXCEEDED" +msgstr "Maksimal filstørrelse oversteget." + diff --git a/res/po/nl.po b/res/po/nl.po new file mode 100755 index 0000000..bc73cdb --- /dev/null +++ b/res/po/nl.po @@ -0,0 +1,57 @@ +msgid "IDS_MF_POP_ERR_FOLDER_NAME_EMPTY" +msgstr "Mapnaam invoeren" + +msgid "IDS_MF_BODY_DOCUMENTS" +msgstr "Documenten" + +msgid "IDS_MF_OPT_DEFAULT_RINGTONE" +msgstr "Standaardbeltoon" + +msgid "IDS_MF_POP_INVALID_FILE_NAME" +msgstr "Ongeldige bestandsnaam." + +msgid "IDS_MF_POP_UNABLE_TO_PLAY_DURING_CALL" +msgstr "Niet mogelijk tijdens gesprek." + +msgid "IDS_MUSIC_POP_UNABLE_TO_ADD_SOME_ITEMS_DONT_EXIST" +msgstr "Kan niet toevoegen. Sommige items bestaan niet." + +msgid "IDS_ST_BODY_DEFAULT_NOTIFICATION_SOUND_ABB" +msgstr "Standaardgeluid melding" + +msgid "IDS_MF_HEADER_SELECT_ITEMS" +msgstr "Items selecteren" + +msgid "IDS_VR_POP_INVALID_CHARACTER_ENTERED_TRY_AGAIN" +msgstr "Ongeldig teken ingevoerd. Probeer het opnieuw." + +msgid "IDS_ST_BODY_PHONEPROFILES_SILENT" +msgstr "Stil" + +msgid "IDS_IV_POP_YOU_CAN_SELECT_UP_TO_PD_ITEMS" +msgstr "U kunt maximaal %d items selecteren." + +msgid "IDS_MF_POP_DELETE_Q" +msgstr "Verwijderen?" + +msgid "IDS_MF_BODY_SD_CARD_ABB" +msgstr "SD-kaart" + +msgid "IDS_MF_BODY_DEVICE_MEMORY_ABB" +msgstr "Apparaatgeheugen" + +msgid "IDS_MUSIC_POP_UNABLE_TO_PLAY_ERROR_OCCURRED" +msgstr "Kan niet afspelen. Fout opgetreden." + +msgid "IDS_TPLATFORM_ACBUTTON_DONE_ABB" +msgstr "GEREED" + +msgid "IDS_TPLATFORM_ACBUTTON_CANCEL_ABB" +msgstr "ANNULEREN" + +msgid "IDS_CHATON_POP_MAXIMUM_FILE_SIZE_HPD_MB_EXCEEDED" +msgstr "Maximale bestandsgrootte (%d MB) overschreden." + +msgid "IDS_IM_POP_MAXIMUM_SIZE_OF_FILES_EXCEEDED" +msgstr "Maximumgrootte van bestanden overschreden." + diff --git a/res/po/or.po b/res/po/or.po new file mode 100755 index 0000000..7e3cc9a --- /dev/null +++ b/res/po/or.po @@ -0,0 +1,57 @@ +msgid "IDS_MF_POP_ERR_FOLDER_NAME_EMPTY" +msgstr "ଫୋଲ୍ଡର୍ ନାମ ପ୍ରବେଶ କରନ୍ତୁ" + +msgid "IDS_MF_BODY_DOCUMENTS" +msgstr "ଡକ୍ୟୁମେଣ୍ଟଗୁଡିକ" + +msgid "IDS_MF_OPT_DEFAULT_RINGTONE" +msgstr "ଡିଫଲ୍ଟ ରିଂଟୋନ୍" + +msgid "IDS_MF_POP_INVALID_FILE_NAME" +msgstr "ଅବୈଧ ଫାଇଲ୍ ନାମ।" + +msgid "IDS_MF_POP_UNABLE_TO_PLAY_DURING_CALL" +msgstr "କଲ୍ ସମୟରେ ଧ୍ୱନି ଚାଳନ କରିବାକୁ ଅସମର୍ଥ ଅଟେ।" + +msgid "IDS_MUSIC_POP_UNABLE_TO_ADD_SOME_ITEMS_DONT_EXIST" +msgstr "ଯୋଡିବାକୁ ଅସମର୍ଥ । କିଛି ଆଇଟମ୍ଗୁଡିକ ବିଦ୍ୟମାନ ନାହିଁ।" + +msgid "IDS_ST_BODY_DEFAULT_NOTIFICATION_SOUND_ABB" +msgstr "ଡିଫଲ୍ଟ ବିଜ୍ଞପ୍ତି ଧ୍ୱନି" + +msgid "IDS_MF_HEADER_SELECT_ITEMS" +msgstr "ଆଇଟମଗୁଡିକ ଚୟନ" + +msgid "IDS_VR_POP_INVALID_CHARACTER_ENTERED_TRY_AGAIN" +msgstr "ଅବୈଧ କମ୍ ପ୍ରବେଶ ହେଲା। ପୁନଃଚେଷ୍ଟା କରନ୍ତୁ।" + +msgid "IDS_ST_BODY_PHONEPROFILES_SILENT" +msgstr "ଶାନ୍ତ" + +msgid "IDS_IV_POP_YOU_CAN_SELECT_UP_TO_PD_ITEMS" +msgstr "ଆପଣ %dଟି ଆଇଟମ୍ ପର୍ଯ୍ୟନ୍ତ ଚୟନ କରିପାରିବେ।" + +msgid "IDS_MF_POP_DELETE_Q" +msgstr "ବିଲୋପ କରିବେ?" + +msgid "IDS_MF_BODY_SD_CARD_ABB" +msgstr "SD କାର୍ଡ୍" + +msgid "IDS_MF_BODY_DEVICE_MEMORY_ABB" +msgstr "ଡିଭାଇସ୍ ମେମୋରୀ" + +msgid "IDS_MUSIC_POP_UNABLE_TO_PLAY_ERROR_OCCURRED" +msgstr "ଚାଳନ କରିବାକୁ ଅସମର୍ଥ। ତ୍ରୁଟି ଘଟିଲା।" + +msgid "IDS_TPLATFORM_ACBUTTON_DONE_ABB" +msgstr "ସମାପ୍ତ" + +msgid "IDS_TPLATFORM_ACBUTTON_CANCEL_ABB" +msgstr "ବାତିଲ୍" + +msgid "IDS_CHATON_POP_MAXIMUM_FILE_SIZE_HPD_MB_EXCEEDED" +msgstr "ସର୍ବାଧିକ ଫାଇଲ୍ ଆକାର (%d MB) ଅତିକ୍ରମ କରିଛି।" + +msgid "IDS_IM_POP_MAXIMUM_SIZE_OF_FILES_EXCEEDED" +msgstr "ଫାଇଲ୍ଗୁଡିକର ସର୍ବାଧିକ ଆକାର ଅତିକ୍ରମ କରିଛି।" + diff --git a/res/po/pa.po b/res/po/pa.po new file mode 100755 index 0000000..2f33b38 --- /dev/null +++ b/res/po/pa.po @@ -0,0 +1,57 @@ +msgid "IDS_MF_POP_ERR_FOLDER_NAME_EMPTY" +msgstr "ਫੋਲਡਰ ਨਾਂ ਦਾਖ਼ਲ ਕਰੋ।" + +msgid "IDS_MF_BODY_DOCUMENTS" +msgstr "ਦਸਤਾਵੇਜ਼" + +msgid "IDS_MF_OPT_DEFAULT_RINGTONE" +msgstr "ਡਿਫਾੱਲਟ ਰਿੰਗਟੋਨ" + +msgid "IDS_MF_POP_INVALID_FILE_NAME" +msgstr "ਅਵੈਧ ਫਾਈਲ ਨਾਂ।" + +msgid "IDS_MF_POP_UNABLE_TO_PLAY_DURING_CALL" +msgstr "ਕਾੱਲ ਦੇ ਦੌਰਾਨ ਪਲੇ ਕਰਨ ਵਿੱਚ ਅਸਮਰੱਥ।" + +msgid "IDS_MUSIC_POP_UNABLE_TO_ADD_SOME_ITEMS_DONT_EXIST" +msgstr "ਜੋੜਨ ਵਿੱਚ ਅਸਮਰੱਥ। ਕੁਝ ਆਈਟਮ ਮੌਜੂਦ ਨਹੀਂ ਹਨ।" + +msgid "IDS_ST_BODY_DEFAULT_NOTIFICATION_SOUND_ABB" +msgstr "ਡਿਫਾੱਲਟ ਸੂਚਨਾ ਧੁਨੀ" + +msgid "IDS_MF_HEADER_SELECT_ITEMS" +msgstr "ਆਈਟਮਸ ਚੁਣੋ" + +msgid "IDS_VR_POP_INVALID_CHARACTER_ENTERED_TRY_AGAIN" +msgstr "ਅਵੈਧ ਵਰਣ ਦਾਖ਼ਲ ਹੋਇਆ। ਦੁਬਾਰਾ ਕੋਸ਼ਿਸ਼ ਕਰੋ।" + +msgid "IDS_ST_BODY_PHONEPROFILES_SILENT" +msgstr "ਸ਼ਾਂਤ" + +msgid "IDS_IV_POP_YOU_CAN_SELECT_UP_TO_PD_ITEMS" +msgstr "ਤੁਸੀਂ %d ਤੱਕ ਆਈਟਮਸ ਚੁਣ ਸਕਦੇ ਹੋ।" + +msgid "IDS_MF_POP_DELETE_Q" +msgstr "ਮਿਟਾਉਣਾ ਹੈ?" + +msgid "IDS_MF_BODY_SD_CARD_ABB" +msgstr "SD ਕਾਰਡ" + +msgid "IDS_MF_BODY_DEVICE_MEMORY_ABB" +msgstr "ਡਿਵਾਈਸ ਮੈਮਰੀ" + +msgid "IDS_MUSIC_POP_UNABLE_TO_PLAY_ERROR_OCCURRED" +msgstr "ਪਲੇ ਕਰਨ ਵਿੱਚ ਅਸਮਰੱਥ। ਤਰੁੱਟੀ ਉਤਪੰਨ ਹੋਈ।" + +msgid "IDS_TPLATFORM_ACBUTTON_DONE_ABB" +msgstr "ਪੂਰਨ" + +msgid "IDS_TPLATFORM_ACBUTTON_CANCEL_ABB" +msgstr "ਰੱਦ ਕਰੋ" + +msgid "IDS_CHATON_POP_MAXIMUM_FILE_SIZE_HPD_MB_EXCEEDED" +msgstr "ਅਧਿਕਤਮ ਫਾਈਲ ਆਕਾਰ (%d MB) ਵਧਾਇਆ ਗਿਆ।" + +msgid "IDS_IM_POP_MAXIMUM_SIZE_OF_FILES_EXCEEDED" +msgstr "ਫਾਇਲਾਂ ਦਾ ਅਧਿਕਤਮ ਆਕਾਰ ਜ਼ਿਆਦਾ ਹੋ ਗਿਆ ਹੈ।" + diff --git a/res/po/pl.po b/res/po/pl.po new file mode 100755 index 0000000..67f1a08 --- /dev/null +++ b/res/po/pl.po @@ -0,0 +1,57 @@ +msgid "IDS_MF_POP_ERR_FOLDER_NAME_EMPTY" +msgstr "Wpisz nazwę katalogu." + +msgid "IDS_MF_BODY_DOCUMENTS" +msgstr "Dokumenty" + +msgid "IDS_MF_OPT_DEFAULT_RINGTONE" +msgstr "Domyślny dzwonek" + +msgid "IDS_MF_POP_INVALID_FILE_NAME" +msgstr "Nieprawidłowa nazwa pliku" + +msgid "IDS_MF_POP_UNABLE_TO_PLAY_DURING_CALL" +msgstr "Niedozwolone podczas połączenia." + +msgid "IDS_MUSIC_POP_UNABLE_TO_ADD_SOME_ITEMS_DONT_EXIST" +msgstr "Nie można dodać. Niektóre elementy nie istnieją." + +msgid "IDS_ST_BODY_DEFAULT_NOTIFICATION_SOUND_ABB" +msgstr "Domyślny dźwięk powiadom." + +msgid "IDS_MF_HEADER_SELECT_ITEMS" +msgstr "Wybierz elementy" + +msgid "IDS_VR_POP_INVALID_CHARACTER_ENTERED_TRY_AGAIN" +msgstr "Wpisano nieprawidłowy znak. Spróbuj ponownie" + +msgid "IDS_ST_BODY_PHONEPROFILES_SILENT" +msgstr "Cichy" + +msgid "IDS_IV_POP_YOU_CAN_SELECT_UP_TO_PD_ITEMS" +msgstr "Maksymalna liczba elementów, które można wybrać: %d." + +msgid "IDS_MF_POP_DELETE_Q" +msgstr "Usunąć?" + +msgid "IDS_MF_BODY_SD_CARD_ABB" +msgstr "Karta pamięci" + +msgid "IDS_MF_BODY_DEVICE_MEMORY_ABB" +msgstr "Pamięć urządzenia" + +msgid "IDS_MUSIC_POP_UNABLE_TO_PLAY_ERROR_OCCURRED" +msgstr "Nie można odtworzyć. Wystąpił błąd." + +msgid "IDS_TPLATFORM_ACBUTTON_DONE_ABB" +msgstr "GOTOWE" + +msgid "IDS_TPLATFORM_ACBUTTON_CANCEL_ABB" +msgstr "ANULUJ" + +msgid "IDS_CHATON_POP_MAXIMUM_FILE_SIZE_HPD_MB_EXCEEDED" +msgstr "Przekroczono maksymalny rozmiar pliku (%d MB)." + +msgid "IDS_IM_POP_MAXIMUM_SIZE_OF_FILES_EXCEEDED" +msgstr "Przekroczono maksymalny rozmiar plików." + diff --git a/res/po/pt_BR.po b/res/po/pt_BR.po new file mode 100755 index 0000000..ef19575 --- /dev/null +++ b/res/po/pt_BR.po @@ -0,0 +1,57 @@ +msgid "IDS_MF_POP_ERR_FOLDER_NAME_EMPTY" +msgstr "Insira o nome da pasta." + +msgid "IDS_MF_BODY_DOCUMENTS" +msgstr "Documentos" + +msgid "IDS_MF_OPT_DEFAULT_RINGTONE" +msgstr "Toque padrão" + +msgid "IDS_MF_POP_INVALID_FILE_NAME" +msgstr "Nome de arquivo\ninválido." + +msgid "IDS_MF_POP_UNABLE_TO_PLAY_DURING_CALL" +msgstr "Impossível durante chamada." + +msgid "IDS_MUSIC_POP_UNABLE_TO_ADD_SOME_ITEMS_DONT_EXIST" +msgstr "Impossível adicionar. Alguns itens não existem." + +msgid "IDS_ST_BODY_DEFAULT_NOTIFICATION_SOUND_ABB" +msgstr "Som de notificação padrão" + +msgid "IDS_MF_HEADER_SELECT_ITEMS" +msgstr "Selecionar itens" + +msgid "IDS_VR_POP_INVALID_CHARACTER_ENTERED_TRY_AGAIN" +msgstr "Caractere inválido inserido. Tente novamente" + +msgid "IDS_ST_BODY_PHONEPROFILES_SILENT" +msgstr "Silencioso" + +msgid "IDS_IV_POP_YOU_CAN_SELECT_UP_TO_PD_ITEMS" +msgstr "Você pode selecionar até %d itens." + +msgid "IDS_MF_POP_DELETE_Q" +msgstr "Apagar?" + +msgid "IDS_MF_BODY_SD_CARD_ABB" +msgstr "Cartão SD" + +msgid "IDS_MF_BODY_DEVICE_MEMORY_ABB" +msgstr "Memória do dispositivo" + +msgid "IDS_MUSIC_POP_UNABLE_TO_PLAY_ERROR_OCCURRED" +msgstr "Impossível reproduzir. Ocorreu um erro." + +msgid "IDS_TPLATFORM_ACBUTTON_DONE_ABB" +msgstr "CONCLUÍDO" + +msgid "IDS_TPLATFORM_ACBUTTON_CANCEL_ABB" +msgstr "CANCELAR" + +msgid "IDS_CHATON_POP_MAXIMUM_FILE_SIZE_HPD_MB_EXCEEDED" +msgstr "Tamanho máximo do arquivo (%d MB) excedido." + +msgid "IDS_IM_POP_MAXIMUM_SIZE_OF_FILES_EXCEEDED" +msgstr "Tamanho máximo dos arquivos excedido." + diff --git a/res/po/pt_PT.po b/res/po/pt_PT.po new file mode 100755 index 0000000..1b3671c --- /dev/null +++ b/res/po/pt_PT.po @@ -0,0 +1,57 @@ +msgid "IDS_MF_POP_ERR_FOLDER_NAME_EMPTY" +msgstr "Introduzir nome da pasta." + +msgid "IDS_MF_BODY_DOCUMENTS" +msgstr "Documentos" + +msgid "IDS_MF_OPT_DEFAULT_RINGTONE" +msgstr "Tom de toque padrão" + +msgid "IDS_MF_POP_INVALID_FILE_NAME" +msgstr "Nome do ficheiro inválido." + +msgid "IDS_MF_POP_UNABLE_TO_PLAY_DURING_CALL" +msgstr "Impossível tocar durante a chamada." + +msgid "IDS_MUSIC_POP_UNABLE_TO_ADD_SOME_ITEMS_DONT_EXIST" +msgstr "Impossível adicionar. Alguns itens não existem." + +msgid "IDS_ST_BODY_DEFAULT_NOTIFICATION_SOUND_ABB" +msgstr "Som padrão p/ notificações" + +msgid "IDS_MF_HEADER_SELECT_ITEMS" +msgstr "Seleccionar itens" + +msgid "IDS_VR_POP_INVALID_CHARACTER_ENTERED_TRY_AGAIN" +msgstr "Introduzidos caracteres inválidos. Tente novamente." + +msgid "IDS_ST_BODY_PHONEPROFILES_SILENT" +msgstr "Silencioso" + +msgid "IDS_IV_POP_YOU_CAN_SELECT_UP_TO_PD_ITEMS" +msgstr "Pode seleccionar até %d itens." + +msgid "IDS_MF_POP_DELETE_Q" +msgstr "Eliminar?" + +msgid "IDS_MF_BODY_SD_CARD_ABB" +msgstr "Cartão SD" + +msgid "IDS_MF_BODY_DEVICE_MEMORY_ABB" +msgstr "Memória do dispositivo" + +msgid "IDS_MUSIC_POP_UNABLE_TO_PLAY_ERROR_OCCURRED" +msgstr "Impossível reproduzir. Ocorreu um erro." + +msgid "IDS_TPLATFORM_ACBUTTON_DONE_ABB" +msgstr "CONCLUÍDO" + +msgid "IDS_TPLATFORM_ACBUTTON_CANCEL_ABB" +msgstr "CANCELAR" + +msgid "IDS_CHATON_POP_MAXIMUM_FILE_SIZE_HPD_MB_EXCEEDED" +msgstr "Tamanho máximo de ficheiro (%d MB) excedido." + +msgid "IDS_IM_POP_MAXIMUM_SIZE_OF_FILES_EXCEEDED" +msgstr "Tamanho máximo dos ficheiros excedido." + diff --git a/res/po/ro.po b/res/po/ro.po new file mode 100755 index 0000000..e632659 --- /dev/null +++ b/res/po/ro.po @@ -0,0 +1,57 @@ +msgid "IDS_MF_POP_ERR_FOLDER_NAME_EMPTY" +msgstr "Introduceţi numele folderului." + +msgid "IDS_MF_BODY_DOCUMENTS" +msgstr "Documente" + +msgid "IDS_MF_OPT_DEFAULT_RINGTONE" +msgstr "Sonerie de apel implicită" + +msgid "IDS_MF_POP_INVALID_FILE_NAME" +msgstr "Nume fişier incorect" + +msgid "IDS_MF_POP_UNABLE_TO_PLAY_DURING_CALL" +msgstr "Imposibil de redat în timpul unui apel" + +msgid "IDS_MUSIC_POP_UNABLE_TO_ADD_SOME_ITEMS_DONT_EXIST" +msgstr "Imposibil de adăugat. Unele elemente nu există." + +msgid "IDS_ST_BODY_DEFAULT_NOTIFICATION_SOUND_ABB" +msgstr "Sunet de notific. implicit" + +msgid "IDS_MF_HEADER_SELECT_ITEMS" +msgstr "Selectare elemente" + +msgid "IDS_VR_POP_INVALID_CHARACTER_ENTERED_TRY_AGAIN" +msgstr "Aţi introdus un caracter nevalid. Încercaţi din nou" + +msgid "IDS_ST_BODY_PHONEPROFILES_SILENT" +msgstr "Silenţios" + +msgid "IDS_IV_POP_YOU_CAN_SELECT_UP_TO_PD_ITEMS" +msgstr "Puteţi selecta maximum %d elemente." + +msgid "IDS_MF_POP_DELETE_Q" +msgstr "Ştergeţi?" + +msgid "IDS_MF_BODY_SD_CARD_ABB" +msgstr "Cartelă SD" + +msgid "IDS_MF_BODY_DEVICE_MEMORY_ABB" +msgstr "Memorie dispozitiv" + +msgid "IDS_MUSIC_POP_UNABLE_TO_PLAY_ERROR_OCCURRED" +msgstr "Imposibil de redat. A avut loc o eroare." + +msgid "IDS_TPLATFORM_ACBUTTON_DONE_ABB" +msgstr "EFECTUAT" + +msgid "IDS_TPLATFORM_ACBUTTON_CANCEL_ABB" +msgstr "ANULARE" + +msgid "IDS_CHATON_POP_MAXIMUM_FILE_SIZE_HPD_MB_EXCEEDED" +msgstr "S-a depăşit dimensiunea maximă a fişierului (%d MO)." + +msgid "IDS_IM_POP_MAXIMUM_SIZE_OF_FILES_EXCEEDED" +msgstr "Dimensiune maximă de fişiere depăşită" + diff --git a/res/po/ru_RU.po b/res/po/ru_RU.po new file mode 100755 index 0000000..c2ff69c --- /dev/null +++ b/res/po/ru_RU.po @@ -0,0 +1,57 @@ +msgid "IDS_MF_POP_ERR_FOLDER_NAME_EMPTY" +msgstr "Введите имя папки." + +msgid "IDS_MF_BODY_DOCUMENTS" +msgstr "Документы" + +msgid "IDS_MF_OPT_DEFAULT_RINGTONE" +msgstr "Мелодия по умолчанию" + +msgid "IDS_MF_POP_INVALID_FILE_NAME" +msgstr "Неверное имя файла" + +msgid "IDS_MF_POP_UNABLE_TO_PLAY_DURING_CALL" +msgstr "Воспроизведение во время вызова невозможно." + +msgid "IDS_MUSIC_POP_UNABLE_TO_ADD_SOME_ITEMS_DONT_EXIST" +msgstr "Невозможно добавить. Некоторые элементы не существуют." + +msgid "IDS_ST_BODY_DEFAULT_NOTIFICATION_SOUND_ABB" +msgstr "Стандартное уведомление" + +msgid "IDS_MF_HEADER_SELECT_ITEMS" +msgstr "Выберите элементы" + +msgid "IDS_VR_POP_INVALID_CHARACTER_ENTERED_TRY_AGAIN" +msgstr "Введен недопустимый символ. Повторите попытку" + +msgid "IDS_ST_BODY_PHONEPROFILES_SILENT" +msgstr "Без звука" + +msgid "IDS_IV_POP_YOU_CAN_SELECT_UP_TO_PD_ITEMS" +msgstr "Можно выбрать до %d элементов." + +msgid "IDS_MF_POP_DELETE_Q" +msgstr "Удалить?" + +msgid "IDS_MF_BODY_SD_CARD_ABB" +msgstr "Карта памяти SD" + +msgid "IDS_MF_BODY_DEVICE_MEMORY_ABB" +msgstr "Память устройства" + +msgid "IDS_MUSIC_POP_UNABLE_TO_PLAY_ERROR_OCCURRED" +msgstr "Сбой воспроизведения. Произошла ошибка." + +msgid "IDS_TPLATFORM_ACBUTTON_DONE_ABB" +msgstr "ГОТОВО" + +msgid "IDS_TPLATFORM_ACBUTTON_CANCEL_ABB" +msgstr "ОТМЕНА" + +msgid "IDS_CHATON_POP_MAXIMUM_FILE_SIZE_HPD_MB_EXCEEDED" +msgstr "Превышен максимальный размер файла (%d МБ)." + +msgid "IDS_IM_POP_MAXIMUM_SIZE_OF_FILES_EXCEEDED" +msgstr "Превышен максимальный размер файлов." + diff --git a/res/po/si.po b/res/po/si.po new file mode 100755 index 0000000..d68ea59 --- /dev/null +++ b/res/po/si.po @@ -0,0 +1,57 @@ +msgid "IDS_MF_POP_ERR_FOLDER_NAME_EMPTY" +msgstr "ෆෝල්ඩර නාමය ඇතුල් කරන්න." + +msgid "IDS_MF_BODY_DOCUMENTS" +msgstr "ලේඛන" + +msgid "IDS_MF_OPT_DEFAULT_RINGTONE" +msgstr "පෙරනිමි රිංග්ටෝනය" + +msgid "IDS_MF_POP_INVALID_FILE_NAME" +msgstr "අවලංගු ගොනු නාමය." + +msgid "IDS_MF_POP_UNABLE_TO_PLAY_DURING_CALL" +msgstr "ඇමතුම අතරතුර වාදනය කළ නොහැක." + +msgid "IDS_MUSIC_POP_UNABLE_TO_ADD_SOME_ITEMS_DONT_EXIST" +msgstr "එක් කළ නොහැක. ඇතැම් අයිතම නොපවතී." + +msgid "IDS_ST_BODY_DEFAULT_NOTIFICATION_SOUND_ABB" +msgstr "පෙරනිමි දැනුම්දීම් හඬ" + +msgid "IDS_MF_HEADER_SELECT_ITEMS" +msgstr "අයිතම තෝරන්න" + +msgid "IDS_VR_POP_INVALID_CHARACTER_ENTERED_TRY_AGAIN" +msgstr "වැරදි අකුරු ඇතුල් කර තිබේ. නැවත උත්සාහ කරන්න." + +msgid "IDS_ST_BODY_PHONEPROFILES_SILENT" +msgstr "නිහඬ" + +msgid "IDS_IV_POP_YOU_CAN_SELECT_UP_TO_PD_ITEMS" +msgstr "ඔබට %d දක්වා අයිතම තේරිය හැකිය." + +msgid "IDS_MF_POP_DELETE_Q" +msgstr "මකන්නද?" + +msgid "IDS_MF_BODY_SD_CARD_ABB" +msgstr "SD කාඩ්පත" + +msgid "IDS_MF_BODY_DEVICE_MEMORY_ABB" +msgstr "උපාංග මතකය" + +msgid "IDS_MUSIC_POP_UNABLE_TO_PLAY_ERROR_OCCURRED" +msgstr "ධාවනය කල නොහැක. දෝෂයක් හට ගැනිණි." + +msgid "IDS_TPLATFORM_ACBUTTON_DONE_ABB" +msgstr "නිමයි" + +msgid "IDS_TPLATFORM_ACBUTTON_CANCEL_ABB" +msgstr "අවලංගු කර." + +msgid "IDS_CHATON_POP_MAXIMUM_FILE_SIZE_HPD_MB_EXCEEDED" +msgstr "උපරිම ඇමුණුම් ප්රමාණය (%d MB) ඉක්මවා ඇත." + +msgid "IDS_IM_POP_MAXIMUM_SIZE_OF_FILES_EXCEEDED" +msgstr "උපරිම ගොනු ප්රමාණය ඉක්මවිය." + diff --git a/res/po/sk.po b/res/po/sk.po new file mode 100755 index 0000000..fd9e89f --- /dev/null +++ b/res/po/sk.po @@ -0,0 +1,57 @@ +msgid "IDS_MF_POP_ERR_FOLDER_NAME_EMPTY" +msgstr "Zadajte názov priečinka." + +msgid "IDS_MF_BODY_DOCUMENTS" +msgstr "Dokumenty" + +msgid "IDS_MF_OPT_DEFAULT_RINGTONE" +msgstr "Predvolené zvonenie" + +msgid "IDS_MF_POP_INVALID_FILE_NAME" +msgstr "Neplatný názov súboru." + +msgid "IDS_MF_POP_UNABLE_TO_PLAY_DURING_CALL" +msgstr "Počas hovoru sa nedá prehrávať." + +msgid "IDS_MUSIC_POP_UNABLE_TO_ADD_SOME_ITEMS_DONT_EXIST" +msgstr "Nedá sa pridať. Niektoré položky neexistujú." + +msgid "IDS_ST_BODY_DEFAULT_NOTIFICATION_SOUND_ABB" +msgstr "Predvolený zvuk oznámení" + +msgid "IDS_MF_HEADER_SELECT_ITEMS" +msgstr "Vybrať položky" + +msgid "IDS_VR_POP_INVALID_CHARACTER_ENTERED_TRY_AGAIN" +msgstr "Zadali ste neplatný znak. Skúste to znova" + +msgid "IDS_ST_BODY_PHONEPROFILES_SILENT" +msgstr "Tichý" + +msgid "IDS_IV_POP_YOU_CAN_SELECT_UP_TO_PD_ITEMS" +msgstr "Môžete vybrať maximálne %d položiek." + +msgid "IDS_MF_POP_DELETE_Q" +msgstr "Odstrániť?" + +msgid "IDS_MF_BODY_SD_CARD_ABB" +msgstr "Karta SD" + +msgid "IDS_MF_BODY_DEVICE_MEMORY_ABB" +msgstr "Pamäť zariadenia" + +msgid "IDS_MUSIC_POP_UNABLE_TO_PLAY_ERROR_OCCURRED" +msgstr "Nedá sa prehrať. Vyskytla sa chyba." + +msgid "IDS_TPLATFORM_ACBUTTON_DONE_ABB" +msgstr "HOTOVO" + +msgid "IDS_TPLATFORM_ACBUTTON_CANCEL_ABB" +msgstr "ZRUŠIŤ" + +msgid "IDS_CHATON_POP_MAXIMUM_FILE_SIZE_HPD_MB_EXCEEDED" +msgstr "Prekročila sa maximálna veľkosť súboru (%d MB)." + +msgid "IDS_IM_POP_MAXIMUM_SIZE_OF_FILES_EXCEEDED" +msgstr "Prekročila sa maximálna veľkosť súborov." + diff --git a/res/po/sl.po b/res/po/sl.po new file mode 100755 index 0000000..bd6afff --- /dev/null +++ b/res/po/sl.po @@ -0,0 +1,57 @@ +msgid "IDS_MF_POP_ERR_FOLDER_NAME_EMPTY" +msgstr "Vnesite ime mape." + +msgid "IDS_MF_BODY_DOCUMENTS" +msgstr "Dokumenti" + +msgid "IDS_MF_OPT_DEFAULT_RINGTONE" +msgstr "Privzeta melodija zvonjenja" + +msgid "IDS_MF_POP_INVALID_FILE_NAME" +msgstr "Neveljavno ime datoteke." + +msgid "IDS_MF_POP_UNABLE_TO_PLAY_DURING_CALL" +msgstr "Ni mogoče predvajati med klicem." + +msgid "IDS_MUSIC_POP_UNABLE_TO_ADD_SOME_ITEMS_DONT_EXIST" +msgstr "Ni mogoče dodati. Nekateri predmeti ne obstajajo." + +msgid "IDS_ST_BODY_DEFAULT_NOTIFICATION_SOUND_ABB" +msgstr "Privzeti zvok za obvestilo" + +msgid "IDS_MF_HEADER_SELECT_ITEMS" +msgstr "Izberite elemente" + +msgid "IDS_VR_POP_INVALID_CHARACTER_ENTERED_TRY_AGAIN" +msgstr "Vnesli ste neveljaven znak. Poskusite znova" + +msgid "IDS_ST_BODY_PHONEPROFILES_SILENT" +msgstr "Tiho" + +msgid "IDS_IV_POP_YOU_CAN_SELECT_UP_TO_PD_ITEMS" +msgstr "Izberete lahko do %d elementov." + +msgid "IDS_MF_POP_DELETE_Q" +msgstr "Izbrišem?" + +msgid "IDS_MF_BODY_SD_CARD_ABB" +msgstr "Kartica SD" + +msgid "IDS_MF_BODY_DEVICE_MEMORY_ABB" +msgstr "Pomnilnik naprave" + +msgid "IDS_MUSIC_POP_UNABLE_TO_PLAY_ERROR_OCCURRED" +msgstr "Ni mogoče predvajati. Prišlo je do napake." + +msgid "IDS_TPLATFORM_ACBUTTON_DONE_ABB" +msgstr "KONČANO" + +msgid "IDS_TPLATFORM_ACBUTTON_CANCEL_ABB" +msgstr "PREKLIČI" + +msgid "IDS_CHATON_POP_MAXIMUM_FILE_SIZE_HPD_MB_EXCEEDED" +msgstr "Največja dovoljena velikost datoteke (%d MB) je presežena." + +msgid "IDS_IM_POP_MAXIMUM_SIZE_OF_FILES_EXCEEDED" +msgstr "Največja dovoljena velikost datotek je presežena." + diff --git a/res/po/sr.po b/res/po/sr.po new file mode 100755 index 0000000..eabb966 --- /dev/null +++ b/res/po/sr.po @@ -0,0 +1,57 @@ +msgid "IDS_MF_POP_ERR_FOLDER_NAME_EMPTY" +msgstr "Unesi ime foldera" + +msgid "IDS_MF_BODY_DOCUMENTS" +msgstr "Dokumenti" + +msgid "IDS_MF_OPT_DEFAULT_RINGTONE" +msgstr "Podrazumevani ton zvona" + +msgid "IDS_MF_POP_INVALID_FILE_NAME" +msgstr "Neispravan naziv fajla" + +msgid "IDS_MF_POP_UNABLE_TO_PLAY_DURING_CALL" +msgstr "Nemoguće reprodukovati tokom poziva." + +msgid "IDS_MUSIC_POP_UNABLE_TO_ADD_SOME_ITEMS_DONT_EXIST" +msgstr "Nemoguće dodati. Neke stavke ne postoje." + +msgid "IDS_ST_BODY_DEFAULT_NOTIFICATION_SOUND_ABB" +msgstr "Podrazumevani zvuk" + +msgid "IDS_MF_HEADER_SELECT_ITEMS" +msgstr "Izaberi stavke" + +msgid "IDS_VR_POP_INVALID_CHARACTER_ENTERED_TRY_AGAIN" +msgstr "Unet je neispravan karakter. Pokušaj ponovo" + +msgid "IDS_ST_BODY_PHONEPROFILES_SILENT" +msgstr "Nečujno" + +msgid "IDS_IV_POP_YOU_CAN_SELECT_UP_TO_PD_ITEMS" +msgstr "Možete izabrati do %d stavki." + +msgid "IDS_MF_POP_DELETE_Q" +msgstr "Obriši?" + +msgid "IDS_MF_BODY_SD_CARD_ABB" +msgstr "SD kartica" + +msgid "IDS_MF_BODY_DEVICE_MEMORY_ABB" +msgstr "Memorija uređaja" + +msgid "IDS_MUSIC_POP_UNABLE_TO_PLAY_ERROR_OCCURRED" +msgstr "Nemoguće reprodukovati. Nastala je greška." + +msgid "IDS_TPLATFORM_ACBUTTON_DONE_ABB" +msgstr "GOTOVO" + +msgid "IDS_TPLATFORM_ACBUTTON_CANCEL_ABB" +msgstr "OTKAŽI" + +msgid "IDS_CHATON_POP_MAXIMUM_FILE_SIZE_HPD_MB_EXCEEDED" +msgstr "Premašena je maksimalna veličina fajla (%d MB)." + +msgid "IDS_IM_POP_MAXIMUM_SIZE_OF_FILES_EXCEEDED" +msgstr "Pređena maksimalna veličina fajlova." + diff --git a/res/po/sv.po b/res/po/sv.po new file mode 100755 index 0000000..350ab50 --- /dev/null +++ b/res/po/sv.po @@ -0,0 +1,57 @@ +msgid "IDS_MF_POP_ERR_FOLDER_NAME_EMPTY" +msgstr "Ange mappnamn." + +msgid "IDS_MF_BODY_DOCUMENTS" +msgstr "Dokument" + +msgid "IDS_MF_OPT_DEFAULT_RINGTONE" +msgstr "Standardringsignal" + +msgid "IDS_MF_POP_INVALID_FILE_NAME" +msgstr "Ogiltigt filnamn." + +msgid "IDS_MF_POP_UNABLE_TO_PLAY_DURING_CALL" +msgstr "Kan inte spela upp under samtal." + +msgid "IDS_MUSIC_POP_UNABLE_TO_ADD_SOME_ITEMS_DONT_EXIST" +msgstr "Det går inte att lägga till. En del objekt finns inte." + +msgid "IDS_ST_BODY_DEFAULT_NOTIFICATION_SOUND_ABB" +msgstr "Standardljud" + +msgid "IDS_MF_HEADER_SELECT_ITEMS" +msgstr "Välj objekt" + +msgid "IDS_VR_POP_INVALID_CHARACTER_ENTERED_TRY_AGAIN" +msgstr "Ogiltigt tecken har angivits. Försök igen." + +msgid "IDS_ST_BODY_PHONEPROFILES_SILENT" +msgstr "Tyst" + +msgid "IDS_IV_POP_YOU_CAN_SELECT_UP_TO_PD_ITEMS" +msgstr "Du kan välja upp till %d objekt." + +msgid "IDS_MF_POP_DELETE_Q" +msgstr "Radera?" + +msgid "IDS_MF_BODY_SD_CARD_ABB" +msgstr "SD-kort" + +msgid "IDS_MF_BODY_DEVICE_MEMORY_ABB" +msgstr "Enhetsminne" + +msgid "IDS_MUSIC_POP_UNABLE_TO_PLAY_ERROR_OCCURRED" +msgstr "Det går inte att spela upp. Ett fel inträffade." + +msgid "IDS_TPLATFORM_ACBUTTON_DONE_ABB" +msgstr "KLAR" + +msgid "IDS_TPLATFORM_ACBUTTON_CANCEL_ABB" +msgstr "AVBRYT" + +msgid "IDS_CHATON_POP_MAXIMUM_FILE_SIZE_HPD_MB_EXCEEDED" +msgstr "Högsta tillåtna filstorlek (%d MB) har överskridits." + +msgid "IDS_IM_POP_MAXIMUM_SIZE_OF_FILES_EXCEEDED" +msgstr "Högsta filstorlek överskreds." + diff --git a/res/po/ta.po b/res/po/ta.po new file mode 100755 index 0000000..c2f1de5 --- /dev/null +++ b/res/po/ta.po @@ -0,0 +1,57 @@ +msgid "IDS_MF_POP_ERR_FOLDER_NAME_EMPTY" +msgstr "கோப்புறை பெயரை உள்ளிடுக." + +msgid "IDS_MF_BODY_DOCUMENTS" +msgstr "ஆவணங்கள்" + +msgid "IDS_MF_OPT_DEFAULT_RINGTONE" +msgstr "டீஃபால்ட் ரிங்டோன்" + +msgid "IDS_MF_POP_INVALID_FILE_NAME" +msgstr "தவறான கோப்பின் பெயர்." + +msgid "IDS_MF_POP_UNABLE_TO_PLAY_DURING_CALL" +msgstr "அழைப்பின்போது இயக்க இயலாது." + +msgid "IDS_MUSIC_POP_UNABLE_TO_ADD_SOME_ITEMS_DONT_EXIST" +msgstr "சேர்க்க முடியவில்லை. சில உருப்படிகள் இல்லை." + +msgid "IDS_ST_BODY_DEFAULT_NOTIFICATION_SOUND_ABB" +msgstr "டீஃபால்ட் அறிவிப்பு ஒலி" + +msgid "IDS_MF_HEADER_SELECT_ITEMS" +msgstr "உருப்படிகளை தேர்வுசெய்க" + +msgid "IDS_VR_POP_INVALID_CHARACTER_ENTERED_TRY_AGAIN" +msgstr "தவறான எழுத்து உள்ளிடப்பட்டது. மீண்டும் முயலுக." + +msgid "IDS_ST_BODY_PHONEPROFILES_SILENT" +msgstr "அமைதி" + +msgid "IDS_IV_POP_YOU_CAN_SELECT_UP_TO_PD_ITEMS" +msgstr "%d உருப்படிகள் வரை நீங்கள் தேர்வுசெய்யலாம்." + +msgid "IDS_MF_POP_DELETE_Q" +msgstr "நீக்கவா?" + +msgid "IDS_MF_BODY_SD_CARD_ABB" +msgstr "SD அட்டை" + +msgid "IDS_MF_BODY_DEVICE_MEMORY_ABB" +msgstr "சாதன நினைவகம்" + +msgid "IDS_MUSIC_POP_UNABLE_TO_PLAY_ERROR_OCCURRED" +msgstr "இயக்க இயலாது. பிழை ஏற்பட்டுள்ளது." + +msgid "IDS_TPLATFORM_ACBUTTON_DONE_ABB" +msgstr "முடிந்தது" + +msgid "IDS_TPLATFORM_ACBUTTON_CANCEL_ABB" +msgstr "ரத்துசெய்க" + +msgid "IDS_CHATON_POP_MAXIMUM_FILE_SIZE_HPD_MB_EXCEEDED" +msgstr "அதிகபட்ச கோப்பளவு (%d MB) கடந்துவிட்டது." + +msgid "IDS_IM_POP_MAXIMUM_SIZE_OF_FILES_EXCEEDED" +msgstr "அதிகபட்ச கோப்புகளின் அளவை தாண்டியது." + diff --git a/res/po/te.po b/res/po/te.po new file mode 100755 index 0000000..85aa1fb --- /dev/null +++ b/res/po/te.po @@ -0,0 +1,57 @@ +msgid "IDS_MF_POP_ERR_FOLDER_NAME_EMPTY" +msgstr "ఫోల్డర్ పేరును నమోదు చేయండి." + +msgid "IDS_MF_BODY_DOCUMENTS" +msgstr "పత్రాలు" + +msgid "IDS_MF_OPT_DEFAULT_RINGTONE" +msgstr "డిఫాల్ట్ రింగ్టోన్" + +msgid "IDS_MF_POP_INVALID_FILE_NAME" +msgstr "చెల్లని ఫైల్ పేరు." + +msgid "IDS_MF_POP_UNABLE_TO_PLAY_DURING_CALL" +msgstr "కాల్ సమయంలో ప్లే చేయడం సాధ్యం కాదు." + +msgid "IDS_MUSIC_POP_UNABLE_TO_ADD_SOME_ITEMS_DONT_EXIST" +msgstr "జోడించడం సాధ్యం కాదు. కొన్ని ఐటెమ్లు లేవు." + +msgid "IDS_ST_BODY_DEFAULT_NOTIFICATION_SOUND_ABB" +msgstr "డిఫాల్ట్ నోటిఫికేషన్ ధ్వని" + +msgid "IDS_MF_HEADER_SELECT_ITEMS" +msgstr "ఐటమ్లను ఎంచుకోండి" + +msgid "IDS_VR_POP_INVALID_CHARACTER_ENTERED_TRY_AGAIN" +msgstr "చెల్లని అక్షరం నమోదు చేయబడింది. మళ్లీ ప్రయత్నించండి." + +msgid "IDS_ST_BODY_PHONEPROFILES_SILENT" +msgstr "నిశ్శబ్దం" + +msgid "IDS_IV_POP_YOU_CAN_SELECT_UP_TO_PD_ITEMS" +msgstr "మీరు %d ఐటెమ్ల వరకు ఎంచుకోవచ్చు." + +msgid "IDS_MF_POP_DELETE_Q" +msgstr "తొలగించాలా?" + +msgid "IDS_MF_BODY_SD_CARD_ABB" +msgstr "SD కార్డ్" + +msgid "IDS_MF_BODY_DEVICE_MEMORY_ABB" +msgstr "పరికరం మెమరీ" + +msgid "IDS_MUSIC_POP_UNABLE_TO_PLAY_ERROR_OCCURRED" +msgstr "ప్లే చేయడం సాధ్యం కాదు. లోపం ఏర్పడింది." + +msgid "IDS_TPLATFORM_ACBUTTON_DONE_ABB" +msgstr "పూర్తయింది" + +msgid "IDS_TPLATFORM_ACBUTTON_CANCEL_ABB" +msgstr "రద్దు చేయి" + +msgid "IDS_CHATON_POP_MAXIMUM_FILE_SIZE_HPD_MB_EXCEEDED" +msgstr "గరిష్ఠ ఫైల్ పరిమాణం (%d MB) మించిపోయింది." + +msgid "IDS_IM_POP_MAXIMUM_SIZE_OF_FILES_EXCEEDED" +msgstr "ఫైళ్ల యొక్క గరిష్ట సంఖ్యను మించిపోయారు." + diff --git a/res/po/tr_TR.po b/res/po/tr_TR.po new file mode 100755 index 0000000..ba25717 --- /dev/null +++ b/res/po/tr_TR.po @@ -0,0 +1,57 @@ +msgid "IDS_MF_POP_ERR_FOLDER_NAME_EMPTY" +msgstr "Klasör adını girin." + +msgid "IDS_MF_BODY_DOCUMENTS" +msgstr "Belgeler" + +msgid "IDS_MF_OPT_DEFAULT_RINGTONE" +msgstr "Varsayılan zil sesi" + +msgid "IDS_MF_POP_INVALID_FILE_NAME" +msgstr "Dosya adı geçersiz." + +msgid "IDS_MF_POP_UNABLE_TO_PLAY_DURING_CALL" +msgstr "Görüşme sırasında çalınamaz." + +msgid "IDS_MUSIC_POP_UNABLE_TO_ADD_SOME_ITEMS_DONT_EXIST" +msgstr "Eklenemiyor. Bazı öğeler bulunamadı." + +msgid "IDS_ST_BODY_DEFAULT_NOTIFICATION_SOUND_ABB" +msgstr "Varsayılan bildirim sesi" + +msgid "IDS_MF_HEADER_SELECT_ITEMS" +msgstr "Öğeleri seç" + +msgid "IDS_VR_POP_INVALID_CHARACTER_ENTERED_TRY_AGAIN" +msgstr "Geçersiz karakter girildi. Yeniden deneyin." + +msgid "IDS_ST_BODY_PHONEPROFILES_SILENT" +msgstr "Sessiz" + +msgid "IDS_IV_POP_YOU_CAN_SELECT_UP_TO_PD_ITEMS" +msgstr "%d öğeye kadar seçebilirsiniz." + +msgid "IDS_MF_POP_DELETE_Q" +msgstr "Sil?" + +msgid "IDS_MF_BODY_SD_CARD_ABB" +msgstr "SD kart" + +msgid "IDS_MF_BODY_DEVICE_MEMORY_ABB" +msgstr "Cihaz hafızası" + +msgid "IDS_MUSIC_POP_UNABLE_TO_PLAY_ERROR_OCCURRED" +msgstr "Çalınamıyor. Hata meydana geldi." + +msgid "IDS_TPLATFORM_ACBUTTON_DONE_ABB" +msgstr "BİTTİ" + +msgid "IDS_TPLATFORM_ACBUTTON_CANCEL_ABB" +msgstr "İPTAL" + +msgid "IDS_CHATON_POP_MAXIMUM_FILE_SIZE_HPD_MB_EXCEEDED" +msgstr "Maksimum dosya boyutu (%d MB) aşıldı." + +msgid "IDS_IM_POP_MAXIMUM_SIZE_OF_FILES_EXCEEDED" +msgstr "Maksimum dosya boyutu aşıldı." + diff --git a/res/po/uk.po b/res/po/uk.po new file mode 100755 index 0000000..e49293d --- /dev/null +++ b/res/po/uk.po @@ -0,0 +1,57 @@ +msgid "IDS_MF_POP_ERR_FOLDER_NAME_EMPTY" +msgstr "Введіть назву папки" + +msgid "IDS_MF_BODY_DOCUMENTS" +msgstr "Документи" + +msgid "IDS_MF_OPT_DEFAULT_RINGTONE" +msgstr "Стандартний звук дзвінка" + +msgid "IDS_MF_POP_INVALID_FILE_NAME" +msgstr "Хибна назва файла." + +msgid "IDS_MF_POP_UNABLE_TO_PLAY_DURING_CALL" +msgstr "Неможливо відтворити під час виклику." + +msgid "IDS_MUSIC_POP_UNABLE_TO_ADD_SOME_ITEMS_DONT_EXIST" +msgstr "Неможливо додати. Деяких об’єктів не існує." + +msgid "IDS_ST_BODY_DEFAULT_NOTIFICATION_SOUND_ABB" +msgstr "Стандартний звук" + +msgid "IDS_MF_HEADER_SELECT_ITEMS" +msgstr "Вибір об’єктів" + +msgid "IDS_VR_POP_INVALID_CHARACTER_ENTERED_TRY_AGAIN" +msgstr "Введено хибний символ. Cпробуйте ще раз" + +msgid "IDS_ST_BODY_PHONEPROFILES_SILENT" +msgstr "Без звуку" + +msgid "IDS_IV_POP_YOU_CAN_SELECT_UP_TO_PD_ITEMS" +msgstr "Можна вибрати до %d об’єктів." + +msgid "IDS_MF_POP_DELETE_Q" +msgstr "Видалити?" + +msgid "IDS_MF_BODY_SD_CARD_ABB" +msgstr "Карта пам’яті" + +msgid "IDS_MF_BODY_DEVICE_MEMORY_ABB" +msgstr "Пам’ять пристрою" + +msgid "IDS_MUSIC_POP_UNABLE_TO_PLAY_ERROR_OCCURRED" +msgstr "Неможливо відтворити. Сталася помилка." + +msgid "IDS_TPLATFORM_ACBUTTON_DONE_ABB" +msgstr "ГОТОВО" + +msgid "IDS_TPLATFORM_ACBUTTON_CANCEL_ABB" +msgstr "СКАСУВАТИ" + +msgid "IDS_CHATON_POP_MAXIMUM_FILE_SIZE_HPD_MB_EXCEEDED" +msgstr "Перевищено максимальний розмір файла (%d МБ)." + +msgid "IDS_IM_POP_MAXIMUM_SIZE_OF_FILES_EXCEEDED" +msgstr "Перевищено максимальний розмір файлів." + diff --git a/data/po/update-po.sh b/res/po/update-po.sh index ff5bff7..5e49f90 100644..100755 --- a/data/po/update-po.sh +++ b/res/po/update-po.sh @@ -1,11 +1,11 @@ #!/bin/sh -PACKAGE=ug-myfile-efl -SRCROOT=../ +PACKAGE=myfile +SRCROOT=../../source 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="en_US en_GB ja ko zh_CN" +ALL_LINGUAS="te" XGETTEXT=/usr/bin/xgettext MSGMERGE=/usr/bin/msgmerge diff --git a/res/po/uz.po b/res/po/uz.po new file mode 100755 index 0000000..8bc8459 --- /dev/null +++ b/res/po/uz.po @@ -0,0 +1,57 @@ +msgid "IDS_MF_POP_ERR_FOLDER_NAME_EMPTY" +msgstr "Jild nomini kiriting." + +msgid "IDS_MF_BODY_DOCUMENTS" +msgstr "Hujjatlar" + +msgid "IDS_MF_OPT_DEFAULT_RINGTONE" +msgstr "Birlamchi o'rnatilgan rington" + +msgid "IDS_MF_POP_INVALID_FILE_NAME" +msgstr "Noto‘g‘ri fayl nomi." + +msgid "IDS_MF_POP_UNABLE_TO_PLAY_DURING_CALL" +msgstr "Qo‘ng‘iroq mobaynida o‘ynatib bo‘lmaydi." + +msgid "IDS_MUSIC_POP_UNABLE_TO_ADD_SOME_ITEMS_DONT_EXIST" +msgstr "Qo‘shib bo‘lmaydi. Ba’zi elementlar mavjud emas." + +msgid "IDS_ST_BODY_DEFAULT_NOTIFICATION_SOUND_ABB" +msgstr "Bildir. birlamchi ohangi" + +msgid "IDS_MF_HEADER_SELECT_ITEMS" +msgstr "Elementlar tanlash" + +msgid "IDS_VR_POP_INVALID_CHARACTER_ENTERED_TRY_AGAIN" +msgstr "Mumkin bo‘lmagan belgi kiritildi. Qayta urinib ko‘ring" + +msgid "IDS_ST_BODY_PHONEPROFILES_SILENT" +msgstr "Ovozsiz" + +msgid "IDS_IV_POP_YOU_CAN_SELECT_UP_TO_PD_ITEMS" +msgstr "Eng ko‘pi bilan %d element tanlashingiz mumkin." + +msgid "IDS_MF_POP_DELETE_Q" +msgstr "O'chirilsinmi?" + +msgid "IDS_MF_BODY_SD_CARD_ABB" +msgstr "SD-karta" + +msgid "IDS_MF_BODY_DEVICE_MEMORY_ABB" +msgstr "Qurilma xotirasi" + +msgid "IDS_MUSIC_POP_UNABLE_TO_PLAY_ERROR_OCCURRED" +msgstr "O‘ynatib bo‘lmaydi. Xato yuz berdi." + +msgid "IDS_TPLATFORM_ACBUTTON_DONE_ABB" +msgstr "BAJARILDI" + +msgid "IDS_TPLATFORM_ACBUTTON_CANCEL_ABB" +msgstr "BEKOR QILISH" + +msgid "IDS_CHATON_POP_MAXIMUM_FILE_SIZE_HPD_MB_EXCEEDED" +msgstr "Fayl o‘lchami maksimal miqdordan (%d Mb) oshib ketdi." + +msgid "IDS_IM_POP_MAXIMUM_SIZE_OF_FILES_EXCEEDED" +msgstr "Fayllar o‘lchami ruxsat etilgan maksimal qiymatdan oshdi." + diff --git a/res/po/zh_CN.po b/res/po/zh_CN.po new file mode 100755 index 0000000..41dabf8 --- /dev/null +++ b/res/po/zh_CN.po @@ -0,0 +1,57 @@ +msgid "IDS_MF_POP_ERR_FOLDER_NAME_EMPTY" +msgstr "输入文件夹名称" + +msgid "IDS_MF_BODY_DOCUMENTS" +msgstr "文档" + +msgid "IDS_MF_OPT_DEFAULT_RINGTONE" +msgstr "默认铃声" + +msgid "IDS_MF_POP_INVALID_FILE_NAME" +msgstr "文件名无效" + +msgid "IDS_MF_POP_UNABLE_TO_PLAY_DURING_CALL" +msgstr "通话中无法播放" + +msgid "IDS_MUSIC_POP_UNABLE_TO_ADD_SOME_ITEMS_DONT_EXIST" +msgstr "无法添加。部分项目不存在。" + +msgid "IDS_ST_BODY_DEFAULT_NOTIFICATION_SOUND_ABB" +msgstr "默认通知声音" + +msgid "IDS_MF_HEADER_SELECT_ITEMS" +msgstr "选择项目" + +msgid "IDS_VR_POP_INVALID_CHARACTER_ENTERED_TRY_AGAIN" +msgstr "输入的字符无效。请重试。" + +msgid "IDS_ST_BODY_PHONEPROFILES_SILENT" +msgstr "静音" + +msgid "IDS_IV_POP_YOU_CAN_SELECT_UP_TO_PD_ITEMS" +msgstr "最多可选择%d个项目。" + +msgid "IDS_MF_POP_DELETE_Q" +msgstr "删除?" + +msgid "IDS_MF_BODY_SD_CARD_ABB" +msgstr "SD卡" + +msgid "IDS_MF_BODY_DEVICE_MEMORY_ABB" +msgstr "手机内存" + +msgid "IDS_MUSIC_POP_UNABLE_TO_PLAY_ERROR_OCCURRED" +msgstr "无法播放。出错。" + +msgid "IDS_TPLATFORM_ACBUTTON_DONE_ABB" +msgstr "完成" + +msgid "IDS_TPLATFORM_ACBUTTON_CANCEL_ABB" +msgstr "取消" + +msgid "IDS_CHATON_POP_MAXIMUM_FILE_SIZE_HPD_MB_EXCEEDED" +msgstr "已超过最大文件大小(%d MB)。" + +msgid "IDS_IM_POP_MAXIMUM_SIZE_OF_FILES_EXCEEDED" +msgstr "已达到文件最大尺寸。" + diff --git a/res/po/zh_HK.po b/res/po/zh_HK.po new file mode 100755 index 0000000..88c5e96 --- /dev/null +++ b/res/po/zh_HK.po @@ -0,0 +1,57 @@ +msgid "IDS_MF_POP_ERR_FOLDER_NAME_EMPTY" +msgstr "輸入資料夾名稱。" + +msgid "IDS_MF_BODY_DOCUMENTS" +msgstr "文件" + +msgid "IDS_MF_OPT_DEFAULT_RINGTONE" +msgstr "預設鈴聲" + +msgid "IDS_MF_POP_INVALID_FILE_NAME" +msgstr "檔案名稱無效" + +msgid "IDS_MF_POP_UNABLE_TO_PLAY_DURING_CALL" +msgstr "通話期間無法播放。" + +msgid "IDS_MUSIC_POP_UNABLE_TO_ADD_SOME_ITEMS_DONT_EXIST" +msgstr "無法加入。一些項目不存在。" + +msgid "IDS_ST_BODY_DEFAULT_NOTIFICATION_SOUND_ABB" +msgstr "預設通知聲音" + +msgid "IDS_MF_HEADER_SELECT_ITEMS" +msgstr "選擇項目" + +msgid "IDS_VR_POP_INVALID_CHARACTER_ENTERED_TRY_AGAIN" +msgstr "輸入的字元無效。請重試。" + +msgid "IDS_ST_BODY_PHONEPROFILES_SILENT" +msgstr "靜音" + +msgid "IDS_IV_POP_YOU_CAN_SELECT_UP_TO_PD_ITEMS" +msgstr "最多可選擇 %d 個項目。" + +msgid "IDS_MF_POP_DELETE_Q" +msgstr "刪除嗎?" + +msgid "IDS_MF_BODY_SD_CARD_ABB" +msgstr "SD 卡" + +msgid "IDS_MF_BODY_DEVICE_MEMORY_ABB" +msgstr "裝置記憶體" + +msgid "IDS_MUSIC_POP_UNABLE_TO_PLAY_ERROR_OCCURRED" +msgstr "無法播放。發生錯誤。" + +msgid "IDS_TPLATFORM_ACBUTTON_DONE_ABB" +msgstr "完成" + +msgid "IDS_TPLATFORM_ACBUTTON_CANCEL_ABB" +msgstr "取消" + +msgid "IDS_CHATON_POP_MAXIMUM_FILE_SIZE_HPD_MB_EXCEEDED" +msgstr "已超過檔案大小上限 (%d MB)。" + +msgid "IDS_IM_POP_MAXIMUM_SIZE_OF_FILES_EXCEEDED" +msgstr "超出檔案大小上限。" + diff --git a/res/po/zh_TW.po b/res/po/zh_TW.po new file mode 100755 index 0000000..3de7204 --- /dev/null +++ b/res/po/zh_TW.po @@ -0,0 +1,57 @@ +msgid "IDS_MF_POP_ERR_FOLDER_NAME_EMPTY" +msgstr "輸入資料夾名稱。" + +msgid "IDS_MF_BODY_DOCUMENTS" +msgstr "文件" + +msgid "IDS_MF_OPT_DEFAULT_RINGTONE" +msgstr "預設鈴聲" + +msgid "IDS_MF_POP_INVALID_FILE_NAME" +msgstr "檔案名稱無效" + +msgid "IDS_MF_POP_UNABLE_TO_PLAY_DURING_CALL" +msgstr "通話期間無法播放。" + +msgid "IDS_MUSIC_POP_UNABLE_TO_ADD_SOME_ITEMS_DONT_EXIST" +msgstr "無法新增。有些項目不存在。" + +msgid "IDS_ST_BODY_DEFAULT_NOTIFICATION_SOUND_ABB" +msgstr "預設通知音效" + +msgid "IDS_MF_HEADER_SELECT_ITEMS" +msgstr "選擇項目" + +msgid "IDS_VR_POP_INVALID_CHARACTER_ENTERED_TRY_AGAIN" +msgstr "輸入的字元無效。請重試。" + +msgid "IDS_ST_BODY_PHONEPROFILES_SILENT" +msgstr "靜音" + +msgid "IDS_IV_POP_YOU_CAN_SELECT_UP_TO_PD_ITEMS" +msgstr "最多可以選擇 %d 個項目。" + +msgid "IDS_MF_POP_DELETE_Q" +msgstr "要刪除嗎?" + +msgid "IDS_MF_BODY_SD_CARD_ABB" +msgstr "SD 卡" + +msgid "IDS_MF_BODY_DEVICE_MEMORY_ABB" +msgstr "裝置記憶體" + +msgid "IDS_MUSIC_POP_UNABLE_TO_PLAY_ERROR_OCCURRED" +msgstr "無法播放。發生錯誤。" + +msgid "IDS_TPLATFORM_ACBUTTON_DONE_ABB" +msgstr "完成" + +msgid "IDS_TPLATFORM_ACBUTTON_CANCEL_ABB" +msgstr "取消" + +msgid "IDS_CHATON_POP_MAXIMUM_FILE_SIZE_HPD_MB_EXCEEDED" +msgstr "已超過檔案最大上限 (%d MB)。" + +msgid "IDS_IM_POP_MAXIMUM_SIZE_OF_FILES_EXCEEDED" +msgstr "檔案最大的大小已超過。" + diff --git a/sounds/Tizen_touch.wav b/sounds/Tizen_touch.wav Binary files differnew file mode 100644 index 0000000..ef6e6ae --- /dev/null +++ b/sounds/Tizen_touch.wav diff --git a/src/common/file-system/mf-ug-file-attr.c b/src/common/file-system/mf-ug-file-attr.c index 4376de2..a27cedf 100644 --- a/src/common/file-system/mf-ug-file-attr.c +++ b/src/common/file-system/mf-ug-file-attr.c @@ -1,512 +1,588 @@ /* - * 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. - */ +* Copyright (c) 2000-2015 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. +* +*/ #include <regex.h> #include <sys/types.h> #include <media_content.h> -#include <drm_client.h> -#include <drm_client_types.h> +#include <metadata_extractor.h> +#include <mime_type.h> + #include "mf-ug-fs-util.h" #include "mf-ug-util.h" +#include "mf-ug-file-util.h" -#define MF_UG_PHONE_DEFAULT_LEVEL 2 /*the phone path is /opt/media, it consists of opt and media two parts*/ -#define MF_UG_MMC_DEFAULT_LEVEL 3 /*the mmc path is /opt/storage/sdcard, it consists of opt and storage and sdcard three parts*/ +#define MF_UG_PHONE_DEFAULT_LEVEL 2 /*the phone path is /opt/media, it consists of opt and media two parts*/ +#define MF_UG_MMC_DEFAULT_LEVEL 3 /*the mmc path is /opt/storage/sdcard, it consists of opt and storage and sdcard three parts*/ #define CONDITION_LENGTH 200 #define UG_CONDITION_IMAGE_VIDEO "(MEDIA_TYPE=0 OR MEDIA_TYPE=1)" typedef struct __ug_filter_s ug_filter_s; struct __ug_filter_s { - char *cond; /*set media type or favorite type, or other query statement*/ - media_content_collation_e collate_type; /*collate type*/ - media_content_order_e sort_type; /*sort type*/ - char *sort_keyword; /*sort keyword*/ - int offset; /*offset*/ - int count; /*count*/ - bool with_meta; /*whether get image or video info*/ + char *cond; /*set media type or favorite type, or other query statement*/ + media_content_collation_e collate_type; /*collate type*/ + media_content_order_e sort_type; /*sort type*/ + char *sort_keyword; /*sort keyword*/ + int offset; /*offset*/ + int count; /*count*/ + bool with_meta; /*whether get image or video info*/ }; typedef struct __ug_transfer_data_s ug_transfer_data_s; struct __ug_transfer_data_s { - const char *file_path; - char *thumbnail_path; + const char *file_path; + char *thumbnail_path; + media_info_h *media; }; struct _ug_ftype_by_mime { - const char *mime; - mf_ug_fs_file_type ftype; + const char *mime; + mf_ug_fs_file_type ftype; }; static struct _ug_ftype_by_mime mime_type[] = { - {"image/png", UG_FILE_TYPE_IMAGE}, - {"image/jpeg", UG_FILE_TYPE_IMAGE}, - {"image/gif", UG_FILE_TYPE_IMAGE}, - {"image/bmp", UG_FILE_TYPE_IMAGE}, - {"image/vnd.wap.wbmp", UG_FILE_TYPE_IMAGE}, - - {"video/x-msvideo", UG_FILE_TYPE_VIDEO}, - {"video/mp4", UG_FILE_TYPE_VIDEO}, - {"video/3gpp", UG_FILE_TYPE_VIDEO}, - {"video/x-ms-asf", UG_FILE_TYPE_VIDEO}, - {"video/x-ms-wmv", UG_FILE_TYPE_VIDEO}, - {"video/x-matroska", UG_FILE_TYPE_VIDEO}, - - {"audio/mpeg", UG_FILE_TYPE_MUSIC}, - {"audio/x-wav", UG_FILE_TYPE_MUSIC}, - {"application/x-smaf", UG_FILE_TYPE_MUSIC}, - {"audio/mxmf", UG_FILE_TYPE_MUSIC}, - {"audio/midi", UG_FILE_TYPE_MUSIC}, - {"audio/x-xmf", UG_FILE_TYPE_MUSIC}, - {"audio/x-ms-wma", UG_FILE_TYPE_MUSIC}, - {"audio/aac", UG_FILE_TYPE_MUSIC}, - {"audio/ac3", UG_FILE_TYPE_MUSIC}, - {"audio/ogg", UG_FILE_TYPE_MUSIC}, - {"audio/vorbis", UG_FILE_TYPE_MUSIC}, - {"audio/imelody", UG_FILE_TYPE_MUSIC}, - {"audio/iMelody", UG_FILE_TYPE_MUSIC}, - {"audio/x-rmf", UG_FILE_TYPE_MUSIC}, - {"application/vnd.smaf", UG_FILE_TYPE_MUSIC}, - {"audio/mobile-xmf", UG_FILE_TYPE_MUSIC}, - {"audio/mid", UG_FILE_TYPE_MUSIC}, - {"audio/vnd.ms-playready.media.pya", UG_FILE_TYPE_MUSIC}, - {"audio/imy", UG_FILE_TYPE_MUSIC}, - {"audio/m4a", UG_FILE_TYPE_MUSIC}, - {"audio/melody", UG_FILE_TYPE_MUSIC}, - {"audio/mmf", UG_FILE_TYPE_MUSIC}, - {"audio/mp3", UG_FILE_TYPE_MUSIC}, - {"audio/mp4", UG_FILE_TYPE_MUSIC}, - {"audio/MP4A-LATM", UG_FILE_TYPE_MUSIC}, - {"audio/mpeg3", UG_FILE_TYPE_MUSIC}, - {"audio/mpeg4", UG_FILE_TYPE_MUSIC}, - {"audio/mpg", UG_FILE_TYPE_MUSIC}, - {"audio/mpg3", UG_FILE_TYPE_MUSIC}, - {"audio/smaf", UG_FILE_TYPE_MUSIC}, - {"audio/sp-midi", UG_FILE_TYPE_MUSIC}, - {"audio/wav", UG_FILE_TYPE_MUSIC}, - {"audio/wave", UG_FILE_TYPE_MUSIC}, - {"audio/wma", UG_FILE_TYPE_MUSIC}, - {"audio/xmf", UG_FILE_TYPE_MUSIC}, - {"audio/x-mid", UG_FILE_TYPE_MUSIC}, - {"audio/x-midi", UG_FILE_TYPE_MUSIC}, - {"audio/x-mp3", UG_FILE_TYPE_MUSIC}, - {"audio/-mpeg", UG_FILE_TYPE_MUSIC}, - {"audio/x-mpeg", UG_FILE_TYPE_MUSIC}, - {"audio/x-mpegaudio", UG_FILE_TYPE_MUSIC}, - {"audio/x-mpg", UG_FILE_TYPE_MUSIC}, - {"audio/x-ms-asf", UG_FILE_TYPE_MUSIC}, - {"audio/x-wave", UG_FILE_TYPE_MUSIC}, - - {"application/pdf", UG_FILE_TYPE_PDF}, - - {"application/msword", UG_FILE_TYPE_DOC}, - {"application/vnd.openxmlformats-officedocument.wordprocessingml.document", UG_FILE_TYPE_DOC}, - - {"application/vnd.ms-powerpoint", UG_FILE_TYPE_PPT}, - {"application/vnd.openxmlformats-officedocument.presentationml.presentation", UG_FILE_TYPE_PPT}, - - {"application/vnd.ms-excel", UG_FILE_TYPE_EXCEL}, - {"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet", UG_FILE_TYPE_EXCEL}, - - {"audio/AMR", UG_FILE_TYPE_VOICE}, - {"audio/AMR-WB", UG_FILE_TYPE_VOICE}, - {"audio/amr", UG_FILE_TYPE_VOICE}, - {"audio/amr-wb", UG_FILE_TYPE_VOICE}, - {"audio/x-amr", UG_FILE_TYPE_VOICE}, - - {"text/html", UG_FILE_TYPE_HTML}, - - {"application/x-shockwave-flash", UG_FILE_TYPE_FLASH}, - {"video/x-flv", UG_FILE_TYPE_FLASH}, - - {"text/plain", UG_FILE_TYPE_TXT}, - - {"text/x-opml+xml", UG_FILE_TYPE_RSS}, - - {"text/vnd.sun.j2me.app-descriptor", UG_FILE_TYPE_JAVA}, - {"application/x-java-archive", UG_FILE_TYPE_JAVA}, - - {NULL, UG_FILE_TYPE_ETC}, + {"image/png", UG_FILE_TYPE_IMAGE}, + {"image/jpeg", UG_FILE_TYPE_IMAGE}, + {"image/gif", UG_FILE_TYPE_IMAGE}, + {"image/bmp", UG_FILE_TYPE_IMAGE}, + {"image/vnd.wap.wbmp", UG_FILE_TYPE_IMAGE}, + + {"video/x-msvideo", UG_FILE_TYPE_VIDEO}, + {"video/mp4", UG_FILE_TYPE_VIDEO}, + {"video/3gpp", UG_FILE_TYPE_VIDEO}, + {"video/x-ms-asf", UG_FILE_TYPE_VIDEO}, + {"video/x-ms-wmv", UG_FILE_TYPE_VIDEO}, + {"video/x-matroska", UG_FILE_TYPE_VIDEO}, + + {"audio/mpeg", UG_FILE_TYPE_MUSIC}, + {"audio/x-wav", UG_FILE_TYPE_MUSIC}, + {"application/x-smaf", UG_FILE_TYPE_MUSIC}, + {"audio/mxmf", UG_FILE_TYPE_MUSIC}, + {"audio/midi", UG_FILE_TYPE_MUSIC}, + {"audio/x-xmf", UG_FILE_TYPE_MUSIC}, + {"audio/x-ms-wma", UG_FILE_TYPE_MUSIC}, + {"audio/aac", UG_FILE_TYPE_MUSIC}, + {"audio/ac3", UG_FILE_TYPE_MUSIC}, + {"audio/ogg", UG_FILE_TYPE_MUSIC}, + {"audio/vorbis", UG_FILE_TYPE_MUSIC}, + {"audio/imelody", UG_FILE_TYPE_MUSIC}, + {"audio/iMelody", UG_FILE_TYPE_MUSIC}, + {"audio/x-rmf", UG_FILE_TYPE_MUSIC}, + {"application/vnd.smaf", UG_FILE_TYPE_MUSIC}, + {"audio/mobile-xmf", UG_FILE_TYPE_MUSIC}, + {"audio/mid", UG_FILE_TYPE_MUSIC}, + {"audio/vnd.ms-playready.media.pya", UG_FILE_TYPE_MUSIC}, + {"audio/imy", UG_FILE_TYPE_MUSIC}, + {"audio/m4a", UG_FILE_TYPE_MUSIC}, + {"audio/melody", UG_FILE_TYPE_MUSIC}, + {"audio/mmf", UG_FILE_TYPE_MUSIC}, + {"audio/mp3", UG_FILE_TYPE_MUSIC}, + {"audio/mp4", UG_FILE_TYPE_MUSIC}, + {"audio/MP4A-LATM", UG_FILE_TYPE_MUSIC}, + {"audio/mpeg3", UG_FILE_TYPE_MUSIC}, + {"audio/mpeg4", UG_FILE_TYPE_MUSIC}, + {"audio/mpg", UG_FILE_TYPE_MUSIC}, + {"audio/mpg3", UG_FILE_TYPE_MUSIC}, + {"audio/smaf", UG_FILE_TYPE_MUSIC}, + {"audio/sp-midi", UG_FILE_TYPE_MUSIC}, + {"audio/wav", UG_FILE_TYPE_MUSIC}, + {"audio/wave", UG_FILE_TYPE_MUSIC}, + {"audio/wma", UG_FILE_TYPE_MUSIC}, + {"audio/xmf", UG_FILE_TYPE_MUSIC}, + {"audio/x-mid", UG_FILE_TYPE_MUSIC}, + {"audio/x-midi", UG_FILE_TYPE_MUSIC}, + {"audio/x-mp3", UG_FILE_TYPE_MUSIC}, + {"audio/-mpeg", UG_FILE_TYPE_MUSIC}, + {"audio/x-mpeg", UG_FILE_TYPE_MUSIC}, + {"audio/x-mpegaudio", UG_FILE_TYPE_MUSIC}, + {"audio/x-mpg", UG_FILE_TYPE_MUSIC}, + {"audio/x-ms-asf", UG_FILE_TYPE_MUSIC}, + {"audio/x-wave", UG_FILE_TYPE_MUSIC}, + {"audio/x-vorbis+ogg", UG_FILE_TYPE_MUSIC}, + {"application/pdf", UG_FILE_TYPE_PDF}, + + {"application/msword", UG_FILE_TYPE_DOC}, + {"application/vnd.openxmlformats-officedocument.wordprocessingml.document", UG_FILE_TYPE_DOC}, + + {"application/vnd.ms-powerpoint", UG_FILE_TYPE_PPT}, + {"application/vnd.openxmlformats-officedocument.presentationml.presentation", UG_FILE_TYPE_PPT}, + + {"application/vnd.ms-excel", UG_FILE_TYPE_EXCEL}, + {"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet", UG_FILE_TYPE_EXCEL}, + + {"audio/AMR", UG_FILE_TYPE_VOICE}, + {"audio/AMR-WB", UG_FILE_TYPE_VOICE}, + {"audio/amr", UG_FILE_TYPE_VOICE}, + {"audio/amr-wb", UG_FILE_TYPE_VOICE}, + {"audio/x-amr", UG_FILE_TYPE_VOICE}, + + {"text/html", UG_FILE_TYPE_HTML}, + + {"application/x-shockwave-flash", UG_FILE_TYPE_FLASH}, + {"video/x-flv", UG_FILE_TYPE_FLASH}, + + {"text/plain", UG_FILE_TYPE_GUL}, + + {"text/x-opml+xml", UG_FILE_TYPE_RSS}, + + {"text/vnd.sun.j2me.app-descriptor", UG_FILE_TYPE_JAVA}, + {"application/x-java-archive", UG_FILE_TYPE_JAVA}, + {"application/snb", UG_FILE_TYPE_SNB}, + {"application/x-hwp", UG_FILE_TYPE_HWP}, + {"application/vnd.tizen.package", UG_FILE_TYPE_TPK}, + + {NULL, UG_FILE_TYPE_ETC}, }; static char *icon_array[UG_FILE_TYPE_MAX] = { - [UG_FILE_TYPE_DIR] = UG_ICON_FOLDER, - [UG_FILE_TYPE_IMAGE] = UG_ICON_IMAGE, - [UG_FILE_TYPE_VIDEO] = UG_ICON_VIDEO, - [UG_FILE_TYPE_MUSIC] = UG_ICON_MUSIC, - [UG_FILE_TYPE_SOUND] = UG_ICON_SOUND, - [UG_FILE_TYPE_PDF] = UG_ICON_PDF, - [UG_FILE_TYPE_DOC] = UG_ICON_DOC, - [UG_FILE_TYPE_PPT] = UG_ICON_PPT, - [UG_FILE_TYPE_EXCEL] = UG_ICON_EXCEL, - [UG_FILE_TYPE_VOICE] = UG_ICON_VOICE, - [UG_FILE_TYPE_HTML] = UG_ICON_HTML, - [UG_FILE_TYPE_FLASH] = UG_ICON_FLASH, - [UG_FILE_TYPE_TXT] = UG_ICON_TXT, - [UG_FILE_TYPE_VCONTACT] = UG_ICON_VCONTACT, - [UG_FILE_TYPE_VCALENDAR] = UG_ICON_VCALENDAR, - [UG_FILE_TYPE_VNOTE] = UG_ICON_VNOTE, - [UG_FILE_TYPE_RSS] = UG_ICON_RSS, - [UG_FILE_TYPE_JAVA] = UG_ICON_JAVA, + [UG_FILE_TYPE_DIR] = UG_ICON_FOLDER, + [UG_FILE_TYPE_IMAGE] = UG_ICON_IMAGE, + [UG_FILE_TYPE_VIDEO] = UG_ICON_VIDEO, + [UG_FILE_TYPE_MUSIC] = UG_ICON_MUSIC, + [UG_FILE_TYPE_SOUND] = UG_ICON_MUSIC, + [UG_FILE_TYPE_PDF] = UG_ICON_PDF, + [UG_FILE_TYPE_DOC] = UG_ICON_DOC, + [UG_FILE_TYPE_PPT] = UG_ICON_PPT, + [UG_FILE_TYPE_EXCEL] = UG_ICON_EXCEL, + [UG_FILE_TYPE_VOICE] = UG_ICON_MUSIC, + [UG_FILE_TYPE_HTML] = UG_ICON_HTML, + [UG_FILE_TYPE_FLASH] = UG_ICON_FLASH, + [UG_FILE_TYPE_TXT] = UG_ICON_TXT, + [UG_FILE_TYPE_VCONTACT] = UG_ICON_VCONTACT, + [UG_FILE_TYPE_VCALENDAR] = UG_ICON_VCALENDAR, + [UG_FILE_TYPE_VNOTE] = UG_ICON_TXT, + [UG_FILE_TYPE_RSS] = UG_ICON_RSS, + [UG_FILE_TYPE_JAVA] = UG_ICON_JAVA, + [UG_FILE_TYPE_TPK] = UG_ICON_TPK, + [UG_FILE_TYPE_HWP] = UG_ICON_HWP, + [UG_FILE_TYPE_SNB] = UG_ICON_SNB, + [UG_FILE_TYPE_GUL] = UG_ICON_GUL, }; + +int mf_ug_file_attr_media_has_video(const char *filename) +{ + UG_TRACE_BEGIN; + if (!filename) { + goto CATCH_ERROR; + } + SECURE_DEBUG("filename is [%s]", filename); + int ret = 0; + + metadata_extractor_h handle = NULL; + ret = metadata_extractor_create(&handle); + if (ret != METADATA_EXTRACTOR_ERROR_NONE) { + ug_error("metadata_extractor_create().. %d", ret); + goto CATCH_ERROR; + } + + ret = metadata_extractor_set_path(handle, filename); + if (ret != METADATA_EXTRACTOR_ERROR_NONE) { + ug_error("metadata_extractor_set_path().. %d", ret); + goto CATCH_ERROR; + } + + char *value = NULL; + + ret = metadata_extractor_get_metadata(handle, METADATA_HAS_VIDEO, &value); + if (ret == METADATA_EXTRACTOR_ERROR_NONE && value) { + if (g_strcmp0(value, "1") == 0) { + ug_error("ret is [%d] value is [%s]", ret, "1"); + if (handle) + metadata_extractor_destroy(handle); + + UG_SAFE_FREE_CHAR(value); + UG_TRACE_END; + return 1; + } + } + ug_error("ret is [%d] value is [%s]", ret, value); + UG_SAFE_FREE_CHAR(value); + + if (handle) + metadata_extractor_destroy(handle); + + UG_TRACE_END; + return 0; + + CATCH_ERROR: + if (handle) + metadata_extractor_destroy(handle); + + UG_TRACE_END; + return 0; +} + + /********************* -**Function name: __mf_ug_file_attr_get_category_by_file_ext -**Parameter: const char* file_ext -**Return value: mf_ug_fs_file_type +**Function name: __mf_ug_file_attr_get_category_by_file_ext +**Parameter: const char* file_ext +**Return value: mf_ug_fs_file_type ** **Action: -** Get file category by extention +** Get file category by extention ** *********************/ static mf_ug_fs_file_type __mf_ug_file_attr_get_category_by_file_ext(const char *file_ext, const char *fullpath) { - int i = 0; - - if (file_ext == NULL) { - return UG_FILE_TYPE_ETC; - } - - if (file_ext[0] == '.') { - i = 1; - } - - switch (file_ext[i]) { - case 'a': - case 'A': - if (strcasecmp("ASF", &file_ext[i]) == 0) { - return UG_FILE_TYPE_VIDEO; - } - if (strcasecmp("AMR", &file_ext[i]) == 0) { - return UG_FILE_TYPE_VOICE; - } - if (strcasecmp("AWB", &file_ext[i]) == 0) { - return UG_FILE_TYPE_VOICE; - } - if (strcasecmp("AAC", &file_ext[i]) == 0) { - return UG_FILE_TYPE_MUSIC; - } - if (strcasecmp("AVI", &file_ext[i]) == 0) { - return UG_FILE_TYPE_VIDEO; - } - if (strcasecmp("AAC", &file_ext[i]) == 0) { - return UG_FILE_TYPE_MUSIC; - } - - break; - case 'b': - case 'B': - if (strcasecmp("BMP", &file_ext[i]) == 0) { - return UG_FILE_TYPE_IMAGE; - } - break; - case 'd': - case 'D': - if (strcasecmp("DOC", &file_ext[i]) == 0) { - return UG_FILE_TYPE_DOC; - } - if (strcasecmp("DOCX", &file_ext[i]) == 0) { - return UG_FILE_TYPE_DOC; - } - if (strcasecmp("DIVX", &file_ext[i]) == 0) { - if (mf_ug_file_attr_is_drm_file(fullpath) == 0) { - return UG_FILE_TYPE_DRM; - } else { - return UG_FILE_TYPE_VIDEO; - } - } - if (strcasecmp("DCF", &file_ext[i]) == 0) { - return UG_FILE_TYPE_DRM; - } - break; - case 'g': - case 'G': - if (strcasecmp("GIF", &file_ext[i]) == 0) { - return UG_FILE_TYPE_IMAGE; - } - if (strcasecmp("G72", &file_ext[i]) == 0) { - return UG_FILE_TYPE_MUSIC; - } - break; - case 'h': - case 'H': - if (strcasecmp("H263", &file_ext[i]) == 0) { - return UG_FILE_TYPE_MUSIC; - } - if (strcasecmp("HTML", &file_ext[i]) == 0) { - return UG_FILE_TYPE_HTML; - } - if (strcasecmp("HTM", &file_ext[i]) == 0) { - return UG_FILE_TYPE_HTML; - } - break; - case 'i': - case 'I': - if (strcasecmp("IMY", &file_ext[i]) == 0) { - return UG_FILE_TYPE_SOUND; - } - if (strcasecmp("IPK", &file_ext[i]) == 0) { - return UG_FILE_TYPE_APP; - } - if (strcasecmp("isma", &file_ext[i]) == 0) { - if (mf_ug_file_attr_is_drm_file(fullpath) == 0) { - return UG_FILE_TYPE_DRM; - } else { - return UG_FILE_TYPE_SOUND; - } - } - if (strcasecmp("ismv", &file_ext[i]) == 0) { - if (mf_ug_file_attr_is_drm_file(fullpath) == 0) { - return UG_FILE_TYPE_DRM; - } else { - return UG_FILE_TYPE_SOUND; - } - } - break; - case 'j': - case 'J': - if (strcasecmp("JAD", &file_ext[i]) == 0) { - return UG_FILE_TYPE_JAVA; - } - if (strcasecmp("JAR", &file_ext[i]) == 0) { - return UG_FILE_TYPE_JAVA; - } - - if (strcasecmp("JPG", &file_ext[i]) == 0) { - return UG_FILE_TYPE_IMAGE; - } - if (strcasecmp("JPEG", &file_ext[i]) == 0) { - return UG_FILE_TYPE_IMAGE; - } - if (strcasecmp("JPE", &file_ext[i]) == 0) { - return UG_FILE_TYPE_IMAGE; - } - break; - case 'm': - case 'M': - if (strcasecmp("MMF", &file_ext[i]) == 0) { - return UG_FILE_TYPE_SOUND; - } - if (strcasecmp("MP3", &file_ext[i]) == 0) { - return UG_FILE_TYPE_MUSIC; - } - if (strcasecmp("MID", &file_ext[i]) == 0) { - return UG_FILE_TYPE_SOUND; - } - if (strcasecmp("MIDI", &file_ext[i]) == 0) { - return UG_FILE_TYPE_SOUND; - } - if (strcasecmp("MP4", &file_ext[i]) == 0) { - return UG_FILE_TYPE_VIDEO; - } - if (strcasecmp("MPG", &file_ext[i]) == 0) { - return UG_FILE_TYPE_VIDEO; - } - if (strcasecmp("MPEG", &file_ext[i]) == 0) { - return UG_FILE_TYPE_VIDEO; - } - if (strcasecmp("M4A", &file_ext[i]) == 0) { - return UG_FILE_TYPE_MUSIC; - } - if (strcasecmp("M3G", &file_ext[i]) == 0) { - return UG_FILE_TYPE_FLASH; - } - if (strcasecmp("MXMF", &file_ext[i]) == 0) { - return UG_FILE_TYPE_SOUND; - } - if (strcasecmp("MKV", &file_ext[i]) == 0) { - return UG_FILE_TYPE_VIDEO; - } - if (strcasecmp("MKA", &file_ext[i]) == 0) { - return UG_FILE_TYPE_MUSIC; - } - break; - case 'o': - case 'O': - if (strcasecmp("opml", &file_ext[i]) == 0) { - return UG_FILE_TYPE_RSS; - } - break; - case 'p': - case 'P': - if (strcasecmp("PNG", &file_ext[i]) == 0) { - return UG_FILE_TYPE_IMAGE; - } - if (strcasecmp("PJPEG", &file_ext[i]) == 0) { - return UG_FILE_TYPE_IMAGE; - } - if (strcasecmp("PDF", &file_ext[i]) == 0) { - return UG_FILE_TYPE_PDF; - } - if (strcasecmp("PPT", &file_ext[i]) == 0) { - return UG_FILE_TYPE_PPT; - } - if (strcasecmp("PPTX", &file_ext[i]) == 0) { - return UG_FILE_TYPE_PPT; - } - if (strcasecmp("PEM", &file_ext[i]) == 0) { - return UG_FILE_TYPE_CERTIFICATION; - } - break; - case 'r': - case 'R': - break; - case 's': - case 'S': - if (strcasecmp("SDP", &file_ext[i]) == 0) { - return UG_FILE_TYPE_VIDEO; - } - if (strcasecmp("SPM", &file_ext[i]) == 0) { - return UG_FILE_TYPE_SOUND; - } - if (strcasecmp("SMP", &file_ext[i]) == 0) { - return UG_FILE_TYPE_SOUND; - } - if (strcasecmp("SPF", &file_ext[i]) == 0) { - return UG_FILE_TYPE_SOUND; - } - if (strcasecmp("SWF", &file_ext[i]) == 0) { - return UG_FILE_TYPE_FLASH; - } - if (strcasecmp("SCN", &file_ext[i]) == 0) { - return UG_FILE_TYPE_MOVIE_MAKER; - } - if (strcasecmp("SVG", &file_ext[i]) == 0) { - return UG_FILE_TYPE_SVG; - } - if (strcasecmp("SVGZ", &file_ext[i]) == 0) { - return UG_FILE_TYPE_SVG; - } - break; - case 't': - case 'T': - if (strcasecmp("TXT", &file_ext[i]) == 0) { - return UG_FILE_TYPE_TXT; - } - if (strcasecmp("THM", &file_ext[i]) == 0) { - return UG_FILE_TYPE_THEME; - } - break; - case 'v': - case 'V': - if (strcasecmp("VCF", &file_ext[i]) == 0) { - return UG_FILE_TYPE_VCONTACT; - } - if (strcasecmp("VCS", &file_ext[i]) == 0) { - return UG_FILE_TYPE_VCALENDAR; - } - if (strcasecmp("VNT", &file_ext[i]) == 0) { - return UG_FILE_TYPE_VNOTE; - } - if (strcasecmp("VBM", &file_ext[i]) == 0) { - return UG_FILE_TYPE_VBOOKMARK; - } - break; - case 'w': - case 'W': - if (strcasecmp("WAV", &file_ext[i]) == 0) { - return UG_FILE_TYPE_SOUND; - } - if (strcasecmp("WBMP", &file_ext[i]) == 0) { - return UG_FILE_TYPE_IMAGE; - } - if (strcasecmp("WGT", &file_ext[i]) == 0) { - return UG_FILE_TYPE_WGT; - } - if (strcasecmp("WMA", &file_ext[i]) == 0) { - return UG_FILE_TYPE_MUSIC; - } - if (strcasecmp("WMV", &file_ext[i]) == 0) { - return UG_FILE_TYPE_VIDEO; - } - break; - case 'x': - case 'X': - if (strcasecmp("XLS", &file_ext[i]) == 0) { - return UG_FILE_TYPE_EXCEL; - } - if (strcasecmp("XLSX", &file_ext[i]) == 0) { - return UG_FILE_TYPE_EXCEL; - } - if (strcasecmp("XMF", &file_ext[i]) == 0) { - return UG_FILE_TYPE_SOUND; - } - if (strcasecmp("XHTML", &file_ext[i]) == 0) { - return UG_FILE_TYPE_HTML; - } - break; - case '3': - if (strcasecmp("3GP", &file_ext[i]) == 0) { - return UG_FILE_TYPE_VIDEO; - } - if (strcasecmp("3GPP", &file_ext[i]) == 0) { - return UG_FILE_TYPE_VIDEO; - } - if (strcasecmp("3G2", &file_ext[i]) == 0) { - return UG_FILE_TYPE_VIDEO; - } - break; - } - - return UG_FILE_TYPE_ETC; + int i = 0; + + if (file_ext == NULL) { + return UG_FILE_TYPE_ETC; + } + + if (file_ext[0] == '.') { + i = 1; + } + + switch (file_ext[i]) { + case 'a': + case 'A': + if (strcasecmp("ASF", &file_ext[i]) == 0) { + return UG_FILE_TYPE_VIDEO; + } + if (strcasecmp("AMR", &file_ext[i]) == 0) { + return UG_FILE_TYPE_VOICE; + } + if (strcasecmp("AWB", &file_ext[i]) == 0) { + return UG_FILE_TYPE_VOICE; + } + if (strcasecmp("AAC", &file_ext[i]) == 0) { + return UG_FILE_TYPE_MUSIC; + } + if (strcasecmp("AVI", &file_ext[i]) == 0) { + return UG_FILE_TYPE_VIDEO; + } + if (strcasecmp("AAC", &file_ext[i]) == 0) { + return UG_FILE_TYPE_MUSIC; + } + + break; + case 'b': + case 'B': + if (strcasecmp("BMP", &file_ext[i]) == 0) { + return UG_FILE_TYPE_IMAGE; + } + break; + case 'd': + case 'D': + if (strcasecmp("DOC", &file_ext[i]) == 0) { + return UG_FILE_TYPE_DOC; + } + if (strcasecmp("DOCX", &file_ext[i]) == 0) { + return UG_FILE_TYPE_DOC; + } + if (strcasecmp("DIVX", &file_ext[i]) == 0) { + { + return UG_FILE_TYPE_VIDEO; + } + } + break; + case 'f': + case 'F': + if (strcasecmp("FLAC", &file_ext[i]) == 0) { + return UG_FILE_TYPE_MUSIC; + } + break; + case 'g': + case 'G': + if (strcasecmp("GIF", &file_ext[i]) == 0) { + return UG_FILE_TYPE_IMAGE; + } + if (strcasecmp("G72", &file_ext[i]) == 0) { + return UG_FILE_TYPE_MUSIC; + } + if (strcasecmp("GUL", &file_ext[i]) == 0) { + return UG_FILE_TYPE_GUL; + } + break; + case 'h': + case 'H': + if (strcasecmp("H263", &file_ext[i]) == 0) { + return UG_FILE_TYPE_MUSIC; + } + if (strcasecmp("HTML", &file_ext[i]) == 0) { + return UG_FILE_TYPE_HTML; + } + if (strcasecmp("HTM", &file_ext[i]) == 0) { + return UG_FILE_TYPE_HTML; + } + if (strcasecmp("HWP", &file_ext[i]) == 0) { + return UG_FILE_TYPE_HWP; + } + break; + case 'i': + case 'I': + if (strcasecmp("IMY", &file_ext[i]) == 0) { + return UG_FILE_TYPE_SOUND; + } + if (strcasecmp("IPK", &file_ext[i]) == 0) { + return UG_FILE_TYPE_APP; + } + if (strcasecmp("isma", &file_ext[i]) == 0) { + return UG_FILE_TYPE_SOUND; + } + if (strcasecmp("ismv", &file_ext[i]) == 0) { + return UG_FILE_TYPE_SOUND; + } + break; + case 'j': + case 'J': + if (strcasecmp("JAD", &file_ext[i]) == 0) { + return UG_FILE_TYPE_JAVA; + } + if (strcasecmp("JAR", &file_ext[i]) == 0) { + return UG_FILE_TYPE_JAVA; + } + + if (strcasecmp("JPG", &file_ext[i]) == 0) { + return UG_FILE_TYPE_IMAGE; + } + if (strcasecmp("JPEG", &file_ext[i]) == 0) { + return UG_FILE_TYPE_IMAGE; + } + if (strcasecmp("JPE", &file_ext[i]) == 0) { + return UG_FILE_TYPE_IMAGE; + } + break; + case 'm': + case 'M': + if (strcasecmp("MMF", &file_ext[i]) == 0) { + return UG_FILE_TYPE_SOUND; + } + if (strcasecmp("MP3", &file_ext[i]) == 0) { + return UG_FILE_TYPE_MUSIC; + } + if (strcasecmp("MID", &file_ext[i]) == 0) { + return UG_FILE_TYPE_SOUND; + } + if (strcasecmp("MIDI", &file_ext[i]) == 0) { + return UG_FILE_TYPE_SOUND; + } + if (strcasecmp("MP4", &file_ext[i]) == 0) { + if (mf_ug_file_attr_media_has_video(fullpath)) + return UG_FILE_TYPE_MP4_VIDEO; + return UG_FILE_TYPE_MP4_AUDIO; + } + if (strcasecmp("MPG", &file_ext[i]) == 0) { + return UG_FILE_TYPE_VIDEO; + } + if (strcasecmp("MPEG", &file_ext[i]) == 0) { + return UG_FILE_TYPE_VIDEO; + } + if (strcasecmp("M4A", &file_ext[i]) == 0) { + return UG_FILE_TYPE_MUSIC; + } + if (strcasecmp("M3G", &file_ext[i]) == 0) { + return UG_FILE_TYPE_FLASH; + } + if (strcasecmp("MXMF", &file_ext[i]) == 0) { + return UG_FILE_TYPE_SOUND; + } + if (strcasecmp("MKV", &file_ext[i]) == 0) { + return UG_FILE_TYPE_VIDEO; + } + if (strcasecmp("MKA", &file_ext[i]) == 0) { + return UG_FILE_TYPE_MUSIC; + } + break; + case 'o': + case 'O': + if (strcasecmp("opml", &file_ext[i]) == 0) { + return UG_FILE_TYPE_RSS; + } + if (strcasecmp("ogg", &file_ext[i]) == 0) { + return UG_FILE_TYPE_MUSIC; + } + break; + case 'p': + case 'P': + if (strcasecmp("PNG", &file_ext[i]) == 0) { + return UG_FILE_TYPE_IMAGE; + } + if (strcasecmp("PJPEG", &file_ext[i]) == 0) { + return UG_FILE_TYPE_IMAGE; + } + if (strcasecmp("PDF", &file_ext[i]) == 0) { + return UG_FILE_TYPE_PDF; + } + if (strcasecmp("PPT", &file_ext[i]) == 0) { + return UG_FILE_TYPE_PPT; + } + if (strcasecmp("PPTX", &file_ext[i]) == 0) { + return UG_FILE_TYPE_PPT; + } + if (strcasecmp("PEM", &file_ext[i]) == 0) { + return UG_FILE_TYPE_CERTIFICATION; + } + break; + case 'r': + case 'R': + break; + case 's': + case 'S': + if (strcasecmp("SDP", &file_ext[i]) == 0) { + return UG_FILE_TYPE_VIDEO; + } + if (strcasecmp("SPM", &file_ext[i]) == 0) { + return UG_FILE_TYPE_SOUND; + } + if (strcasecmp("SMP", &file_ext[i]) == 0) { + return UG_FILE_TYPE_SOUND; + } + if (strcasecmp("SPF", &file_ext[i]) == 0) { + return UG_FILE_TYPE_SOUND; + } + if (strcasecmp("SWF", &file_ext[i]) == 0) { + return UG_FILE_TYPE_FLASH; + } + if (strcasecmp("SCN", &file_ext[i]) == 0) { + return UG_FILE_TYPE_MOVIE_MAKER; + } + if (strcasecmp("SVG", &file_ext[i]) == 0) { + return UG_FILE_TYPE_SVG; + } + if (strcasecmp("SVGZ", &file_ext[i]) == 0) { + return UG_FILE_TYPE_SVG; + } + if (strcasecmp("SNB", &file_ext[i]) == 0) { + return UG_FILE_TYPE_SNB; + } + break; + case 't': + case 'T': + if (strcasecmp("TXT", &file_ext[i]) == 0) { + return UG_FILE_TYPE_TXT; + } + if (strcasecmp("THM", &file_ext[i]) == 0) { + return UG_FILE_TYPE_THEME; + } + if (strcasecmp("TPK", &file_ext[i]) == 0) { + return UG_FILE_TYPE_TPK; + } + break; + case 'v': + case 'V': + if (strcasecmp("VCF", &file_ext[i]) == 0) { + return UG_FILE_TYPE_VCONTACT; + } + if (strcasecmp("VCS", &file_ext[i]) == 0) { + return UG_FILE_TYPE_VCALENDAR; + } + if (strcasecmp("VNT", &file_ext[i]) == 0) { + return UG_FILE_TYPE_VNOTE; + } + if (strcasecmp("VBM", &file_ext[i]) == 0) { + return UG_FILE_TYPE_VBOOKMARK; + } + break; + case 'w': + case 'W': + if (strcasecmp("WAV", &file_ext[i]) == 0) { + return UG_FILE_TYPE_SOUND; + } + if (strcasecmp("WBMP", &file_ext[i]) == 0) { + return UG_FILE_TYPE_IMAGE; + } + if (strcasecmp("WGT", &file_ext[i]) == 0) { + return UG_FILE_TYPE_WGT; + } + if (strcasecmp("WMA", &file_ext[i]) == 0) { + return UG_FILE_TYPE_MUSIC; + } + if (strcasecmp("WMV", &file_ext[i]) == 0) { + return UG_FILE_TYPE_VIDEO; + } + break; + case 'x': + case 'X': + if (strcasecmp("XLS", &file_ext[i]) == 0) { + return UG_FILE_TYPE_EXCEL; + } + if (strcasecmp("XLSX", &file_ext[i]) == 0) { + return UG_FILE_TYPE_EXCEL; + } + if (strcasecmp("XMF", &file_ext[i]) == 0) { + return UG_FILE_TYPE_SOUND; + } + if (strcasecmp("XHTML", &file_ext[i]) == 0) { + return UG_FILE_TYPE_HTML; + } + break; + case '3': + if (strcasecmp("3GP", &file_ext[i]) == 0) { + return UG_FILE_TYPE_VIDEO; + } + if (strcasecmp("3GPP", &file_ext[i]) == 0) { + return UG_FILE_TYPE_VIDEO; + } + if (strcasecmp("3G2", &file_ext[i]) == 0) { + return UG_FILE_TYPE_VIDEO; + } + break; + } + + return UG_FILE_TYPE_ETC; } /********************* -**Function name: mf_ug_file_attr_is_valid_name +**Function name: mf_ug_file_attr_is_valid_name **Parameter: -** const char *filename: the file/dir name we need to check +** const char *filename: the file/dir name we need to check ** **Return value: -** -0x14 if the name is invalid -** 0 if the name is valid +** -0x14 if the name is invalid +** 0 if the name is valid ** **Action: -** check if the name is valid by file name +** check if the name is valid by file name ** *********************/ int mf_ug_file_attr_is_valid_name(const char *filename) { - char *pattern; - int ret, z, cflags = 0; - char ebuf[128]; - regex_t reg; - regmatch_t pm[1]; - const size_t nmatch = 1; - /*/ToDo: ignore the file star with . */ - if (strncmp(filename, ".", 1) == 0) { - return MYFILE_ERR_INVALID_FILE_NAME; - } - - pattern = MYFILE_NAME_PATTERN; - z = regcomp(®, pattern, cflags); - - if (z != 0) { - regerror(z, ®, ebuf, sizeof(ebuf)); - fprintf(stderr, "%s: pattern '%s' \n", ebuf, pattern); - return MYFILE_ERR_INVALID_FILE_NAME; - } - - z = regexec(®, filename, nmatch, pm, 0); - if (z == REG_NOMATCH) { - ret = MYFILE_ERR_NONE; - } else { - ret = MYFILE_ERR_INVALID_FILE_NAME; - } - regfree(®); - return ret; + char *pattern; + int ret, z, cflags = 0; + char ebuf[128]; + regex_t reg; + regmatch_t pm[1]; + const size_t nmatch = 1; + /*/ToDo: ignore the file star with . */ + if (strncmp(filename, ".", 1) == 0) { + return MYFILE_ERR_INVALID_FILE_NAME; + } + + pattern = MYFILE_NAME_PATTERN; + z = regcomp(®, pattern, cflags); + + if (z != 0) { + regerror(z, ®, ebuf, sizeof(ebuf)); + fprintf(stderr, "%s: pattern '%s' \n", ebuf, pattern); + return MYFILE_ERR_INVALID_FILE_NAME; + } + + z = regexec(®, filename, nmatch, pm, 0); + if (z == REG_NOMATCH) { + ret = MYFILE_ERR_NONE; + } else { + ret = MYFILE_ERR_INVALID_FILE_NAME; + } + regfree(®); + return ret; } @@ -525,17 +601,17 @@ int mf_ug_file_attr_is_valid_name(const char *filename) ** Modification : Created function ** ******************************/ -static char *__mf_ug_file_attr_default_icon_get_by_type(mf_ug_fs_file_type ftype) +char *mf_ug_file_attr_default_icon_get_by_type(mf_ug_fs_file_type ftype) { - char *icon_path = NULL; + char *icon_path = NULL; - if (icon_array[ftype]) { - icon_path = strdup(icon_array[ftype]); - } else { - icon_path = strdup(UG_DEFAULT_ICON); - } + if (icon_array[ftype]) { + icon_path = strdup(icon_array[ftype]); + } else { + icon_path = strdup(UG_DEFAULT_ICON); + } - return icon_path; + return icon_path; } @@ -557,763 +633,769 @@ static char *__mf_ug_file_attr_default_icon_get_by_type(mf_ug_fs_file_type ftype ******************************/ int mf_ug_file_attr_get_parent_path(const char *path, char **parent_path) { - ug_mf_retvm_if(path == NULL, MYFILE_ERR_INVALID_ARG, "path is NULL"); - ug_mf_retvm_if(parent_path == NULL, MYFILE_ERR_INVALID_ARG, "parent_path is NULL"); - ug_debug("Path :::: [%s]", path); - - *parent_path = g_strdup(path); - if (*parent_path == NULL) - return MYFILE_ERR_ALLOCATE_FAIL; - - const char *name = NULL; - name = ecore_file_file_get(path); - /* - ** input path and parent_path are check in the caller. - ** parent_path is full path must be like /opt/media/file.ext - ** name is file.ext - ** strlen(parent_path) should large than strlen(name) normally. - ** to take exception like input path is "", we add a if condition - */ - if (strlen(*parent_path) > strlen(name)) - (*parent_path)[strlen(*parent_path) - strlen(name) - 1] = '\0'; - - if (strlen(*parent_path) == 0) { - *parent_path = g_strdup("/"); - } - - return MYFILE_ERR_NONE; + ug_mf_retvm_if(path == NULL, MYFILE_ERR_INVALID_ARG, "path is NULL"); + ug_mf_retvm_if(parent_path == NULL, MYFILE_ERR_INVALID_ARG, "parent_path is NULL"); + + *parent_path = g_strdup(path); + if (*parent_path == NULL) + return MYFILE_ERR_ALLOCATE_FAIL; + + const char *name = NULL; + name = mf_file_get(path); + /* + ** input path and parent_path are check in the caller. + ** parent_path is full path must be like /opt/media/file.ext + ** name is file.ext + ** strlen(parent_path) should large than strlen(name) normally. + ** to take exception like input path is "", we add a if condition + */ + if (strlen(*parent_path) > strlen(name)) + (*parent_path)[strlen(*parent_path) - strlen(name) - 1] = '\0'; + + if (strlen(*parent_path) == 0) { + *parent_path = g_strdup("/"); + } + + return MYFILE_ERR_NONE; } /********************* -**Function name: mf_get_category +**Function name: mf_get_category **Parameter: -** const char* filepath: file fullpath -** mf_ug_fs_file_type *category: output parameter of category +** const char* filepath: file fullpath +** mf_ug_fs_file_type *category: output parameter of category **Return value: -** error code +** error code ** **Action: -** Get file category by file full path +** Get file category by file full path ** *********************/ -int mf_ug_file_attr_get_file_category(const char *filepath, mf_ug_fs_file_type * category) +int mf_ug_file_attr_get_file_category(char *filepath, mf_ug_fs_file_type * category) { - int i = 0; - int flag = 0; - - if (mf_ug_file_attr_is_dir(filepath)) { - *category = UG_FILE_TYPE_DIR; - return MYFILE_ERR_NONE; - } - - const char *filename = NULL; - filename = ecore_file_file_get(filepath); - /*/return value ceck */ - if (filename == NULL) { - *category = UG_FILE_TYPE_NONE; - return MYFILE_ERR_SRC_ARG_INVALID; - } - char file_ext[FILE_EXT_LEN_MAX + 1] = { 0 }; - /*/ToDo: error file name like the last letter is "." */ - for (i = strlen(filename); i >= 0; i--) { - if (filename[i] == '.') { - strncpy(file_ext, &filename[i + 1], FILE_EXT_LEN_MAX); - ug_error("file_ext = %s\n",file_ext); - flag = 1; - break; - } - - if (filename[i] == '/') { - flag = 0; - break; - } - } - - if (flag == 1) { - *category = __mf_ug_file_attr_get_category_by_file_ext(file_ext, filepath); - return MYFILE_ERR_NONE; - } else { - *category = UG_FILE_TYPE_NONE; - return MYFILE_ERR_GET_CATEGORY_FAIL; - } + int i = 0; + int flag = 0; + + if (mf_ug_file_attr_is_dir(filepath)) { + *category = UG_FILE_TYPE_DIR; + return MYFILE_ERR_NONE; + } + + const char *filename = NULL; + filename = mf_file_get(filepath); + /*/return value ceck */ + if (filename == NULL) { + *category = UG_FILE_TYPE_NONE; + return MYFILE_ERR_SRC_ARG_INVALID; + } + char file_ext[FILE_EXT_LEN_MAX + 1] = { 0 }; + /*/ToDo: error file name like the last letter is "." */ + for (i = strlen(filename); i >= 0; i--) { + if (filename[i] == '.') { + strncpy(file_ext, &filename[i + 1], FILE_EXT_LEN_MAX); + flag = 1; + break; + } + + if (filename[i] == '/') { + flag = 0; + break; + } + } + + if (flag == 1) { + *category = __mf_ug_file_attr_get_category_by_file_ext(file_ext, filepath); + return MYFILE_ERR_NONE; + } else { + *category = UG_FILE_TYPE_NONE; + return MYFILE_ERR_GET_CATEGORY_FAIL; + } } /********************* -**Function name: mf_ug_file_attr_get_file_stat +**Function name: mf_ug_file_attr_get_file_stat **Parameter: -** const char* filename: file name -** ugFsNodeInfo **node: output parameter of what we need to refine +** const char* filename: file name +** ugFsNodeInfo **node: output parameter of what we need to refine **Return value: -** error code +** error code ** **Action: -** Get file size and last modified date by file path +** Get file size and last modified date by file path ** *********************/ int mf_ug_file_attr_get_file_stat(const char *filename, ugFsNodeInfo ** node) { - struct stat statbuf; + struct stat statbuf; - ug_mf_retvm_if(filename == NULL, MYFILE_ERR_INVALID_ARG, "filename is null"); - ug_mf_retvm_if(node == NULL, MYFILE_ERR_INVALID_ARG, "node is null"); + ug_mf_retvm_if(filename == NULL, MYFILE_ERR_INVALID_ARG, "filename is null"); + ug_mf_retvm_if(node == NULL, MYFILE_ERR_INVALID_ARG, "node is null"); - if (stat(filename, &statbuf) == -1) { - return MYFILE_ERR_GET_STAT_FAIL; - } + if (stat(filename, &statbuf) == -1) { + return MYFILE_ERR_GET_STAT_FAIL; + } - (*node)->size = statbuf.st_size; - (*node)->date = statbuf.st_mtime; + (*node)->size = statbuf.st_size; + (*node)->date = statbuf.st_mtime; - return MYFILE_ERR_NONE; + return MYFILE_ERR_NONE; } -/********************* -**Function name: mf_ug_file_attr_is_dir -**Parameter: -** const char* filename: file fullpath -**Return value: -** if path is a directory, return 1 -** else, return 0 -** -**Action: -** check if the file path is Directory -** -*********************/ -int mf_ug_file_attr_is_dir(const char *filepath) +int mf_ug_file_attr_get_file_size(const char *filename, off_t *size) { - return ecore_file_is_dir(filepath); + + ug_mf_retvm_if(filename == NULL, MYFILE_ERR_INVALID_ARG, "filename is null"); + struct stat statbuf; + if (stat(filename, &statbuf) == -1) { + return MYFILE_ERR_GET_STAT_FAIL; + } + *size = statbuf.st_size; + return MYFILE_ERR_NONE; + } /********************* -**Function name: mf_ug_file_attr_get_store_type_by_full +**Function name: mf_ug_file_attr_is_dir **Parameter: -** const char* filepath: file full path -** mf_ug_storage_type *store_type: output parameter of storage type +** const char* filename: file fullpath **Return value: -** error code +** if path is a directory, return 1 +** else, return 0 ** **Action: -** Get file storage type by file path +** check if the file path is Directory ** *********************/ -int mf_ug_file_attr_get_store_type_by_full(const char *filepath, mf_ug_storage_type * store_type) +int mf_ug_file_attr_is_dir(const char *filepath) { - if (filepath == NULL || store_type == NULL) { - return MYFILE_ERR_SRC_ARG_INVALID; - } - - if (strncmp(filepath, PHONE_FOLDER, strlen(PHONE_FOLDER)) == 0) { - *store_type = MF_UG_PHONE; - return MYFILE_ERR_NONE; - } else if (strncmp(filepath, MEMORY_FOLDER, strlen(MEMORY_FOLDER)) == 0) { - *store_type = MF_UG_MMC; - return MYFILE_ERR_NONE; - } else { - *store_type = MF_UG_NONE; - return MYFILE_ERR_STORAGE_TYPE_ERROR; - } + return mf_is_dir(filepath); } /********************* -**Function name: mf_ug_file_attr_is_drm_file +**Function name: mf_ug_file_attr_get_store_type_by_full **Parameter: -** const char* filepath: file full path -** +** const char* filepath: file full path +** mf_ug_storage_type *store_type: output parameter of storage type **Return value: -** true if it is a DRM file -** false if it is not a DRM file +** error code ** **Action: -** check if file is drm file +** Get file storage type by file path ** *********************/ -int mf_ug_file_attr_is_drm_file(const char *file_fullpath) +int mf_ug_file_attr_get_store_type_by_full(const char *filepath, mf_ug_storage_type * store_type) { - if (file_fullpath == NULL) - return MYFILE_ERR_DRM_PERMISSION_DENY; - drm_bool_type_e drmFlag = DRM_FALSE; - int res = 0; - res = drm_is_drm_file(file_fullpath, &drmFlag); - - if (res == DRM_RETURN_SUCCESS && drmFlag == DRM_TRUE) - return 0; - else - return MYFILE_ERR_DRM_PERMISSION_DENY; + if (filepath == NULL || store_type == NULL) { + return MYFILE_ERR_SRC_ARG_INVALID; + } + + if (strncmp(filepath, PHONE_FOLDER, strlen(PHONE_FOLDER)) == 0) { + *store_type = MF_UG_PHONE; + return MYFILE_ERR_NONE; + } else if (strncmp(filepath, MEMORY_FOLDER, strlen(MEMORY_FOLDER)) == 0) { + *store_type = MF_UG_MMC; + return MYFILE_ERR_NONE; + } else { + *store_type = MF_UG_NONE; + return MYFILE_ERR_STORAGE_TYPE_ERROR; + } } /********************* -**Function name: mf_ug_file_attr_get_file_ext +**Function name: mf_ug_file_attr_get_file_ext **Parameter: -** const char* filepath: file full path -** char *file_ext: output parameter of file extension +** const char* filepath: file full path +** char *file_ext: output parameter of file extension ** **Return value: -** error code +** error code ** **Action: -** get file extension by file full path +** get file extension by file full path ** *********************/ int mf_ug_file_attr_get_file_ext(const char *filepath, char **file_ext) { - ug_mf_retvm_if(filepath == NULL, MYFILE_ERR_INVALID_FILE_NAME, "filepath is NULL"); - ug_mf_retvm_if(file_ext == NULL, MYFILE_ERR_INVALID_FILE_NAME, "file_ext is NULL"); - - const char *filename = NULL; - filename = ecore_file_file_get(filepath); - - if (filename == NULL) { - return MYFILE_ERR_INVALID_FILE_NAME; - } - - char *pdot = strrchr(filename, '.'); - - if (!pdot) { - return MYFILE_ERR_EXT_GET_ERROR; - } else if (pdot != filepath) { - *file_ext = g_strdup(pdot + 1); - return MYFILE_ERR_NONE; - } else { - return MYFILE_ERR_EXT_GET_ERROR; - } + ug_mf_retvm_if(filepath == NULL, MYFILE_ERR_INVALID_FILE_NAME, "filepath is NULL"); + ug_mf_retvm_if(file_ext == NULL, MYFILE_ERR_INVALID_FILE_NAME, "file_ext is NULL"); + + const char *filename = NULL; + filename = mf_file_get(filepath); + + if (filename == NULL) { + return MYFILE_ERR_INVALID_FILE_NAME; + } + + char *pdot = strrchr(filename, '.'); + + if (!pdot) { + return MYFILE_ERR_EXT_GET_ERROR; + } else if (pdot != filepath) { + *file_ext = g_strdup(pdot + 1); + return MYFILE_ERR_NONE; + } else { + return MYFILE_ERR_EXT_GET_ERROR; + } } - - /********************* -**Function name: mf_ug_file_attr_is_right_dir_path +**Function name: mf_ug_file_attr_is_right_dir_path **Parameter: -** const char *filename: the file/dir name we need to check +** const char *filename: the file/dir name we need to check ** **Return value: -** error code +** error code ** **Action: -** check if the dir path is correct +** check if the dir path is correct ** *********************/ int mf_ug_file_attr_is_right_dir_path(const char *dir_path) { - int result = MYFILE_ERR_NONE; - int length = 0; + int result = MYFILE_ERR_NONE; + int length = 0; - length = strlen(dir_path); - if (length == 0) { - return MYFILE_ERR_INVALID_DIR_PATH; - } + length = strlen(dir_path); + if (length == 0) { + return MYFILE_ERR_INVALID_DIR_PATH; + } - if (dir_path[length - 1] == '/' && length > 1) { - return MYFILE_ERR_INVALID_DIR_PATH; - } + if (dir_path[length - 1] == '/' && length > 1) { + return MYFILE_ERR_INVALID_DIR_PATH; + } - if (dir_path[0] != '/') { - return MYFILE_ERR_INVALID_DIR_PATH; - } + if (dir_path[0] != '/') { + return MYFILE_ERR_INVALID_DIR_PATH; + } - const char *file_name = NULL; - file_name = ecore_file_file_get(dir_path); - result = mf_ug_file_attr_is_valid_name(file_name); + const char *file_name = NULL; + file_name = mf_file_get(dir_path); + result = mf_ug_file_attr_is_valid_name(file_name); - if (result != MYFILE_ERR_NONE) { - ug_mf_error("Is NOT Valid dir path name"); - } + if (result != MYFILE_ERR_NONE) { + ug_mf_error("Is NOT Valid dir path name"); + } - return result; + return result; } /********************* -**Function name: mf_ug_file_attr_is_right_file_path +**Function name: mf_ug_file_attr_is_right_file_path **Parameter: -** const char *filename: the file/dir name we need to check +** const char *filename: the file/dir name we need to check ** **Return value: -** error code +** error code ** **Action: -** check if the file path is correct +** check if the file path is correct ** *********************/ int mf_ug_file_attr_is_right_file_path(const char *file_path) { - int result = MYFILE_ERR_NONE; + int result = MYFILE_ERR_NONE; - if (strlen(file_path) == 0) { - return MYFILE_ERR_INVALID_FILE_PATH; - } + if (strlen(file_path) == 0) { + return MYFILE_ERR_INVALID_FILE_PATH; + } - if (file_path[0] != '/') { - return MYFILE_ERR_INVALID_DIR_PATH; - } + if (file_path[0] != '/') { + return MYFILE_ERR_INVALID_DIR_PATH; + } - const char *file_name = NULL; - file_name = ecore_file_file_get(file_path); - result = mf_ug_file_attr_is_valid_name(file_name); - if (result != MYFILE_ERR_NONE) { - ug_mf_error("Is NOT Valid dir path name"); - } + const char *file_name = NULL; + file_name = mf_file_get(file_path); + result = mf_ug_file_attr_is_valid_name(file_name); + if (result != MYFILE_ERR_NONE) { + ug_mf_error("Is NOT Valid dir path name"); + } - return result; + return result; } - static int __mf_ug_create_filter(filter_h *filter, ug_filter_s *condition) { - ug_mf_retvm_if(filter == NULL, -1, "filter is NULL"); - ug_mf_retvm_if(condition == NULL, -1, "condition is NULL"); - - int ret = MEDIA_CONTENT_ERROR_NONE; - filter_h tmp_filter = NULL; - ret = media_filter_create(&tmp_filter); - if(ret != MEDIA_CONTENT_ERROR_NONE) { - ug_debug("Fail to create filter"); - return ret; - } - if (condition->cond) { - ret = media_filter_set_condition(tmp_filter, condition->cond, - condition->collate_type); - if(ret != MEDIA_CONTENT_ERROR_NONE) { - ug_debug("Fail to set condition"); - goto ERROR; - } - } - - if (condition->sort_keyword) { - ret = media_filter_set_order(tmp_filter, condition->sort_type, - condition->sort_keyword, - condition->collate_type); - if(ret != MEDIA_CONTENT_ERROR_NONE) { - ug_debug("Fail to set order"); - goto ERROR; - } - } - - ug_debug("offset is %d, count is %d", condition->offset, condition->count); - if (condition->offset != -1 && condition->count != -1 && - condition->count > condition->offset) { - ret = media_filter_set_offset(tmp_filter, condition->offset, - condition->count); - if(ret != MEDIA_CONTENT_ERROR_NONE) { - ug_debug("Fail to set offset"); - goto ERROR; - } - } - *filter = tmp_filter; - return ret; + ug_mf_retvm_if(filter == NULL, -1, "filter is NULL"); + ug_mf_retvm_if(condition == NULL, -1, "condition is NULL"); + + int ret = MEDIA_CONTENT_ERROR_NONE; + filter_h tmp_filter = NULL; + ret = media_filter_create(&tmp_filter); + if (ret != MEDIA_CONTENT_ERROR_NONE) { + return ret; + } + if (condition->cond) { + ret = media_filter_set_condition(tmp_filter, condition->cond, + condition->collate_type); + if (ret != MEDIA_CONTENT_ERROR_NONE) { + ug_debug("Fail to set condition"); + goto ERROR; + } + } + + if (condition->sort_keyword) { + ret = media_filter_set_order(tmp_filter, condition->sort_type, + condition->sort_keyword, + condition->collate_type); + if (ret != MEDIA_CONTENT_ERROR_NONE) { + ug_debug("Fail to set order"); + goto ERROR; + } + } + + if (condition->offset != -1 && condition->count != -1 && + condition->count > condition->offset) { + ret = media_filter_set_offset(tmp_filter, condition->offset, + condition->count); + if (ret != MEDIA_CONTENT_ERROR_NONE) { + ug_debug("Fail to set offset"); + goto ERROR; + } + } + *filter = tmp_filter; + return ret; ERROR: - if (tmp_filter) { - media_filter_destroy(tmp_filter); - tmp_filter = NULL; - } - return ret; + if (tmp_filter) { + media_filter_destroy(tmp_filter); + tmp_filter = NULL; + } + return ret; } static int __mf_ug_destroy_filter(filter_h filter) { - ug_mf_retvm_if(filter == NULL, -1, "filter is NULL"); - int ret = MEDIA_CONTENT_ERROR_NONE; - ret = media_filter_destroy(filter); + ug_mf_retvm_if(filter == NULL, -1, "filter is NULL"); + int ret = MEDIA_CONTENT_ERROR_NONE; + ret = media_filter_destroy(filter); - return ret; + return ret; } static bool __mf_ug_local_data_get_media_thumbnail_cb(media_info_h media, void *data) { - ug_mf_retvm_if(data == NULL, -1, "filter is NULL"); - ug_transfer_data_s *tmp_data = (ug_transfer_data_s *)data; + ug_mf_retvm_if(data == NULL, -1, "filter is NULL"); + ug_transfer_data_s *tmp_data = (ug_transfer_data_s *)data; + media_info_clone(tmp_data->media, media); - media_info_get_thumbnail_path(media, &(tmp_data->thumbnail_path)); + media_info_get_thumbnail_path(media, &(tmp_data->thumbnail_path)); - return false; + return false; } - - int static __mf_ug_local_thumbnail_get(void *data, ug_filter_s *condition) { - int ret = -1; - filter_h filter = NULL; - ret = __mf_ug_create_filter(&filter, condition); - if (ret != 0) { - ug_debug("Create filter failed"); - return ret; - } + int ret = -1; + filter_h filter = NULL; + ret = __mf_ug_create_filter(&filter, condition); + if (ret != 0) { + ug_debug("Create filter failed"); + return ret; + } - ret = media_info_foreach_media_from_db(filter, - __mf_ug_local_data_get_media_thumbnail_cb, - data); - if (ret != 0) { - ug_debug("media_info_foreach_media_from_db failed: %d", ret); - } else { - ug_debug("media_info_foreach_media_from_db success!", ret); - } - __mf_ug_destroy_filter(filter); + ret = media_info_foreach_media_from_db(filter, + __mf_ug_local_data_get_media_thumbnail_cb, + data); + if (ret != 0) { + ug_debug("media_info_foreach_media_from_db failed: %d", ret); + } else { + ug_debug("media_info_foreach_media_from_db success!", ret); + } + __mf_ug_destroy_filter(filter); - return ret; + return ret; } int mf_ug_file_attr_get_thumbnail(void *data) { - ug_mf_retvm_if(data == NULL, -1, "data is NULL"); + ug_mf_retvm_if(data == NULL, -1, "data is NULL"); - ug_transfer_data_s *mp_data = (ug_transfer_data_s *)data; - ug_filter_s filter; - int ret = -1; + ug_transfer_data_s *mp_data = (ug_transfer_data_s *)data; + ug_filter_s filter; + int ret = -1; - memset(&filter, 0, sizeof(ug_filter_s)); + memset(&filter, 0, sizeof(ug_filter_s)); - char *condition = NULL; - condition = g_strdup_printf("%s and MEDIA_PATH=\"%s\"", UG_CONDITION_IMAGE_VIDEO, mp_data->file_path); - ug_debug("condition [%s]", condition); - filter.cond = condition; - filter.collate_type = MEDIA_CONTENT_COLLATE_DEFAULT; - filter.sort_type = MEDIA_CONTENT_ORDER_DESC; - filter.sort_keyword = MEDIA_MODIFIED_TIME; - filter.with_meta = true; + char *condition = NULL; + condition = g_strdup_printf("%s and MEDIA_PATH=\"%s\"", UG_CONDITION_IMAGE_VIDEO, mp_data->file_path); + filter.cond = condition; + filter.collate_type = MEDIA_CONTENT_COLLATE_DEFAULT; + filter.sort_type = MEDIA_CONTENT_ORDER_DESC; + filter.sort_keyword = MEDIA_MODIFIED_TIME; + filter.with_meta = true; - ret = __mf_ug_local_thumbnail_get(data, &filter); - UG_SAFE_FREE_CHAR(condition); + ret = __mf_ug_local_thumbnail_get(data, &filter); + UG_SAFE_FREE_CHAR(condition); - return ret; + return ret; } -int mf_ug_file_attr_get_file_icon(const char *file_path, int *error_code, char **thumbnail) +int mf_ug_file_attr_get_file_icon(char *file_path, int *error_code, char **thumbnail, media_info_h *media_info) { - int index = 0; - char *icon_path = NULL; - mf_ug_fs_file_type ftype = UG_FILE_TYPE_NONE; - int thumbnail_type = MF_UG_THUMBNAIL_TYPE_DEFAULT; - const char *mime = NULL; - - ug_mf_retvm_if(file_path == NULL, MF_UG_THUMBNAIL_TYPE_DEFAULT, "file_path is NULL"); - - efreet_mime_init(); - mime = efreet_mime_type_get(file_path); - - if (mime == NULL) { - ug_mf_warnig("Fail to aul_get_mime_from_file(), set etc icon"); - efreet_mime_shutdown(); - return thumbnail_type; - } - - for (index = 0; mime_type[index].mime; index++) { - if (strncmp(mime, mime_type[index].mime, strlen(mime)) == 0) { - ftype = mime_type[index].ftype; - break; - } - } - - icon_path = __mf_ug_file_attr_default_icon_get_by_type(ftype); - ug_debug("ftype is [%d] icon_path is [%s]", ftype, icon_path); - - switch (ftype) { - case UG_FILE_TYPE_IMAGE: - case UG_FILE_TYPE_VIDEO: - { - int err = 0; - ug_transfer_data_s tmp_data; - memset(&tmp_data,0x00,sizeof(ug_transfer_data_s)); - tmp_data.file_path = file_path; - err = mf_ug_file_attr_get_thumbnail(&tmp_data); - if (err == 0) { - icon_path = g_strdup(tmp_data.thumbnail_path); - thumbnail_type = MF_UG_THUMBNAIL_TYPE_THUMBNAIL; - } else { - icon_path = NULL; - if (error_code) - *error_code = err; - } - } - break; - default: - icon_path = __mf_ug_file_attr_default_icon_get_by_type(ftype); - thumbnail_type = MF_UG_THUMBNAIL_TYPE_DEFAULT; - break; - } - - ug_debug("mime [%s], file type [%d], icon_path [%s]", mime, ftype, icon_path); - *thumbnail = icon_path; - efreet_mime_shutdown(); - - return thumbnail_type; + int index = 0; + char *icon_path = NULL; + mf_ug_fs_file_type ftype = UG_FILE_TYPE_NONE; + int thumbnail_type = MF_UG_THUMBNAIL_TYPE_DEFAULT; + char *mime = NULL; + int retcode = -1; + + ug_mf_retvm_if(file_path == NULL, MF_UG_THUMBNAIL_TYPE_DEFAULT, "file_path is NULL"); + + int ret = mf_ug_file_attr_get_file_category(file_path, &ftype); + if (ret != MYFILE_ERR_NONE || ftype == UG_FILE_TYPE_NONE || ftype == UG_FILE_TYPE_ETC) { + retcode = mime_type_get_mime_type(file_path, &mime); + if ((mime == NULL) || (retcode != MIME_TYPE_ERROR_NONE)) { + ug_debug("Fail to get mime type, set etc icon"); + return thumbnail_type; + } + + ug_debug("mime is [%s]", mime); + for (index = 0; mime_type[index].mime; index++) { + if (strncmp(mime, mime_type[index].mime, strlen(mime)) == 0) { + ftype = mime_type[index].ftype; + break; + } + } + } + + UG_SAFE_FREE_CHAR(mime); + + switch (ftype) { + case UG_FILE_TYPE_IMAGE: + case UG_FILE_TYPE_VIDEO: + { + int err = 0; + ug_transfer_data_s tmp_data; + memset(&tmp_data, 0x00, sizeof(ug_transfer_data_s)); + tmp_data.file_path = file_path; + tmp_data.media = media_info; + err = mf_ug_file_attr_get_thumbnail(&tmp_data); + if (err == 0) { + icon_path = g_strdup(tmp_data.thumbnail_path); + thumbnail_type = MF_UG_THUMBNAIL_TYPE_THUMBNAIL; + } else { + icon_path = NULL; + if (error_code) + *error_code = err; + } + } + break; + default: + icon_path = mf_ug_file_attr_default_icon_get_by_type(ftype); + thumbnail_type = MF_UG_THUMBNAIL_TYPE_DEFAULT; + break; + } + + *thumbnail = icon_path; + return thumbnail_type; } static int mf_ug_file_attr_get_path_level(const char *fullpath, int *level) { - if (fullpath == NULL) { - return MYFILE_ERR_SRC_ARG_INVALID; - } - - if (mf_ug_file_attr_is_right_dir_path(fullpath) != 0) { - return MYFILE_ERR_INVALID_PATH; - } - - mf_ug_storage_type storage_t = 0; - int start_level = 0; - int error_code = mf_ug_file_attr_get_store_type_by_full(fullpath, &storage_t); - if (error_code != 0) { - return error_code; - } - - if (storage_t == MF_UG_PHONE) { - start_level = MF_UG_PHONE_DEFAULT_LEVEL; - } else if (storage_t == MF_UG_MMC) { - start_level = MF_UG_MMC_DEFAULT_LEVEL; - } - - char *temp = strdup(fullpath); - if (temp == NULL) { - return MYFILE_ERR_UNKNOW_ERROR; - } - - int count = 0; - - gchar **result = NULL; - gchar **params = NULL; - result = g_strsplit(temp, "/", 0); - - if (result == NULL) { - free(temp); - temp = NULL; - return MYFILE_ERR_UNKNOW_ERROR; - } - - for (params = result; *params; params++) { - count++; - } - - g_strfreev(result); - *level = count - start_level - 1; - free(temp); - return MYFILE_ERR_NONE; + if (fullpath == NULL) { + return MYFILE_ERR_SRC_ARG_INVALID; + } + + if (mf_ug_file_attr_is_right_dir_path(fullpath) != 0) { + return MYFILE_ERR_INVALID_PATH; + } + + mf_ug_storage_type storage_t = 0; + int start_level = 0; + int error_code = mf_ug_file_attr_get_store_type_by_full(fullpath, &storage_t); + if (error_code != 0) { + return error_code; + } + + if (storage_t == MF_UG_PHONE) { + start_level = MF_UG_PHONE_DEFAULT_LEVEL; + } else if (storage_t == MF_UG_MMC) { + start_level = MF_UG_MMC_DEFAULT_LEVEL; + } + + char *temp = strdup(fullpath); + if (temp == NULL) { + return MYFILE_ERR_UNKNOW_ERROR; + } + + int count = 0; + + gchar **result = NULL; + gchar **params = NULL; + result = g_strsplit(temp, "/", 0); + + if (result == NULL) { + free(temp); + temp = NULL; + return MYFILE_ERR_UNKNOW_ERROR; + } + + for (params = result; *params; params++) { + count++; + } + + g_strfreev(result); + *level = count - start_level - 1; + free(temp); + return MYFILE_ERR_NONE; } - int mf_ug_file_attr_is_in_system_folder(char *fullpath, int level, bool * result) { - if (fullpath == NULL) { - return MYFILE_ERR_SRC_ARG_INVALID; - } - - mf_ug_storage_type storage_t = 0; - int error_code = mf_ug_file_attr_get_store_type_by_full(fullpath, &storage_t); - if (error_code != 0) { - return error_code; - } - - const char *name = NULL; - name = ecore_file_file_get(fullpath); - char *parent_path = malloc(MYFILE_DIR_PATH_LEN_MAX + 1); - - if (parent_path == NULL) { - return MYFILE_ERR_ALLOCATE_FAIL; - } - memset(parent_path, 0, MYFILE_DIR_PATH_LEN_MAX + 1); - error_code = mf_ug_file_attr_get_parent_path(fullpath, &parent_path); - - if (error_code != 0) { - - free(parent_path); - parent_path = NULL; - return error_code; - } - - if (storage_t == MF_UG_PHONE || storage_t == MF_UG_MMC) { - if (level == 1) { - if ((strlen(name) == strlen(IMAGE_AND_VIDEO)) && strcmp(name, IMAGE_AND_VIDEO) == 0) { - *result = true; - } else if ((strlen(name) == strlen(SOUND_AND_MUSIC)) && strcmp(name, SOUND_AND_MUSIC) == 0) { - *result = true; - } else if ((strlen(name) == strlen(DOWNLOADS)) && strcmp(name, DOWNLOADS) == 0) { - *result = true; - } else if ((strlen(name) == strlen(CAMERA_SHOTS)) && strcmp(name, CAMERA_SHOTS) == 0) { - *result = true; - } else { - *result = false; - } - } else if (level == 2) { - const char *parent_name = NULL; - parent_name = ecore_file_file_get(parent_path); - if (storage_t == MF_UG_PHONE && (strlen(parent_name) == strlen(DOWNLOADS)) && strcmp(parent_name, DOWNLOADS) == 0) { - if ((strlen(name) == strlen(OTHERS)) && !strcmp(OTHERS, name)) { - *result = true; - } else { - *result = false; - } - } else if ((strlen(parent_name) == strlen(SOUND_AND_MUSIC)) && strcmp(parent_name, SOUND_AND_MUSIC) == 0) { - if ((strlen(name) == strlen(FM_RADIO)) && !strcmp(FM_RADIO, name)) { - *result = true; - } else if ((strlen(name) == strlen(MUSIC)) && !strcmp(MUSIC, name)) { - *result = true; - } else if ((strlen(name) == strlen(RINGTONES)) && !strcmp(RINGTONES, name)) { - *result = true; - } else if ((strlen(name) == strlen(ALERTS)) && !strcmp(ALERTS, name)) { - *result = true; - } else if ((strlen(name) == strlen(VOICE_RECORDER)) && !strcmp(VOICE_RECORDER, name)) { - *result = true; - } else { - *result = false; - } - } else if ((strlen(parent_name) == strlen(IMAGE_AND_VIDEO)) && strcmp(parent_name, IMAGE_AND_VIDEO) == 0) { - if ((strlen(name) == strlen(WALLPAPER)) && !strcmp(WALLPAPER, name)) { - *result = true; - } else if ((strlen(name) == strlen(MY_PHOTO_CLIPS)) && !strcmp(MY_PHOTO_CLIPS, name)) { - *result = true; - } else if ((strlen(name) == strlen(MY_ALBUM)) && !strcmp(MY_ALBUM, name)) { - *result = true; - } else if ((strlen(name) == strlen(MY_VIDEO_CLIPS)) && !strcmp(MY_VIDEO_CLIPS, name)) { - *result = true; - } else { - *result = false; - } - } else { - *result = false; - } - } else { - if (parent_path) { - free(parent_path); - parent_path = NULL; - } - return MYFILE_ERR_STORAGE_TYPE_ERROR; - } - } - - else { - if (parent_path) { - free(parent_path); - parent_path = NULL; - } - *result = false; - return MYFILE_ERR_STORAGE_TYPE_ERROR; - } - - if (parent_path) { - free(parent_path); - parent_path = NULL; - } - return MYFILE_ERR_NONE; + if (fullpath == NULL) { + return MYFILE_ERR_SRC_ARG_INVALID; + } + + mf_ug_storage_type storage_t = 0; + int error_code = mf_ug_file_attr_get_store_type_by_full(fullpath, &storage_t); + if (error_code != 0) { + return error_code; + } + + const char *name = NULL; + name = mf_file_get(fullpath); + char *parent_path = malloc(MYFILE_DIR_PATH_LEN_MAX + 1); + + if (parent_path == NULL) { + return MYFILE_ERR_ALLOCATE_FAIL; + } + memset(parent_path, 0, MYFILE_DIR_PATH_LEN_MAX + 1); + error_code = mf_ug_file_attr_get_parent_path(fullpath, &parent_path); + + if (error_code != 0) { + + free(parent_path); + parent_path = NULL; + return error_code; + } + + if (storage_t == MF_UG_PHONE || storage_t == MF_UG_MMC) { + if (level == 1) { + if ((strlen(name) == strlen(IMAGE_AND_VIDEO)) && strcmp(name, IMAGE_AND_VIDEO) == 0) { + *result = true; + } else if ((strlen(name) == strlen(SOUND_AND_MUSIC)) && strcmp(name, SOUND_AND_MUSIC) == 0) { + *result = true; + } else if ((strlen(name) == strlen(DOWNLOADS)) && strcmp(name, DOWNLOADS) == 0) { + *result = true; + } else if ((strlen(name) == strlen(CAMERA_SHOTS)) && strcmp(name, CAMERA_SHOTS) == 0) { + *result = true; + } else { + *result = false; + } + } else if (level == 2) { + const char *parent_name = NULL; + parent_name = mf_file_get(parent_path); + if (storage_t == MF_UG_PHONE && (strlen(parent_name) == strlen(DOWNLOADS)) && strcmp(parent_name, DOWNLOADS) == 0) { + if ((strlen(name) == strlen(OTHERS)) && !strcmp(OTHERS, name)) { + *result = true; + } else { + *result = false; + } + } else if ((strlen(parent_name) == strlen(SOUND_AND_MUSIC)) && strcmp(parent_name, SOUND_AND_MUSIC) == 0) { + if ((strlen(name) == strlen(FM_RADIO)) && !strcmp(FM_RADIO, name)) { + *result = true; + } else if ((strlen(name) == strlen(MUSIC)) && !strcmp(MUSIC, name)) { + *result = true; + } else if ((strlen(name) == strlen(RINGTONES)) && !strcmp(RINGTONES, name)) { + *result = true; + } else if ((strlen(name) == strlen(ALERTS)) && !strcmp(ALERTS, name)) { + *result = true; + } else if ((strlen(name) == strlen(VOICE_RECORDER)) && !strcmp(VOICE_RECORDER, name)) { + *result = true; + } else { + *result = false; + } + } else if ((strlen(parent_name) == strlen(IMAGE_AND_VIDEO)) && strcmp(parent_name, IMAGE_AND_VIDEO) == 0) { + if ((strlen(name) == strlen(WALLPAPER)) && !strcmp(WALLPAPER, name)) { + *result = true; + } else if ((strlen(name) == strlen(MY_PHOTO_CLIPS)) && !strcmp(MY_PHOTO_CLIPS, name)) { + *result = true; + } else if ((strlen(name) == strlen(MY_ALBUM)) && !strcmp(MY_ALBUM, name)) { + *result = true; + } else if ((strlen(name) == strlen(MY_VIDEO_CLIPS)) && !strcmp(MY_VIDEO_CLIPS, name)) { + *result = true; + } else { + *result = false; + } + } else { + *result = false; + } + } else { + if (parent_path) { + free(parent_path); + parent_path = NULL; + } + return MYFILE_ERR_STORAGE_TYPE_ERROR; + } + } + + else { + if (parent_path) { + free(parent_path); + parent_path = NULL; + } + *result = false; + return MYFILE_ERR_STORAGE_TYPE_ERROR; + } + + if (parent_path) { + free(parent_path); + parent_path = NULL; + } + return MYFILE_ERR_NONE; } - int mf_ug_file_attr_is_system_dir(char *fullpath, bool * result) { - if (fullpath == NULL) { - ug_debug("source argument invalid"); - return MYFILE_ERR_SRC_ARG_INVALID; - } - - if (mf_ug_file_attr_is_dir(fullpath) == 0) { - ug_debug("source is not exist"); - return MYFILE_ERR_SRC_NOT_EXIST; - } - - int level = 0; - int error_code = 0; - - error_code = mf_ug_file_attr_get_path_level(fullpath, &level); - if (error_code != 0) { - ug_debug("Fail to get path level"); - return error_code; - } - - if (level >= 3 || level <= 0) { - *result = false; - ug_debug("Path Level is wrong"); - return MYFILE_ERR_NONE; - } - error_code = mf_ug_file_attr_is_in_system_folder(fullpath, level, result); - - if (error_code != 0) { - ug_debug("Fail .. is in system folder err :: %d", error_code); - return error_code; - } - - return MYFILE_ERR_NONE; + if (fullpath == NULL) { + ug_debug("source argument invalid"); + return MYFILE_ERR_SRC_ARG_INVALID; + } + + if (mf_ug_file_attr_is_dir(fullpath) == 0) { + ug_debug("source is not exist"); + return MYFILE_ERR_SRC_NOT_EXIST; + } + + int level = 0; + int error_code = 0; + + error_code = mf_ug_file_attr_get_path_level(fullpath, &level); + if (error_code != 0) { + ug_debug("Fail to get path level"); + return error_code; + } + + if (level >= 3 || level <= 0) { + *result = false; + ug_debug("Path Level is wrong"); + return MYFILE_ERR_NONE; + } + error_code = mf_ug_file_attr_is_in_system_folder(fullpath, level, result); + + if (error_code != 0) { + ug_debug("Fail .. is in system folder err :: %d", error_code); + return error_code; + } + + return MYFILE_ERR_NONE; + +} + +mf_ug_fs_file_type mf_ug_file_attr_get_file_type(const char *mime) +{ + int index; + mf_ug_fs_file_type ftype = UG_FILE_TYPE_NONE; + for (index = 0; mime_type[index].mime; index++) { + if (strncmp(mime, mime_type[index].mime, strlen(mime)) == 0) { + ftype = mime_type[index].ftype; + } + } + return ftype; } mf_ug_fs_file_type mf_ug_file_attr_get_file_type_by_mime(const char *file_path) { - int index; - mf_ug_fs_file_type ftype = UG_FILE_TYPE_NONE; - const char *mime = NULL; - efreet_mime_init(); - mime = efreet_mime_type_get(file_path); - - if (mime == NULL) { - ug_debug("Fail to aul_get_mime_from_file(), set etc icon"); - efreet_mime_shutdown(); - return ftype; - } - - for (index = 0; mime_type[index].mime; index++) { - if (strncmp(mime, mime_type[index].mime, strlen(mime)) == 0) { - ftype = mime_type[index].ftype; - return ftype; - } - } - efreet_mime_shutdown(); - - return ftype; + int index; + mf_ug_fs_file_type ftype = UG_FILE_TYPE_NONE; + char *mime = NULL; + int retcode = -1; + + retcode = mime_type_get_mime_type(file_path, &mime); + if ((mime == NULL) || (retcode != MIME_TYPE_ERROR_NONE)) { + ug_debug("Fail to aul_get_mime_from_file(), set etc icon"); + return ftype; + } + + for (index = 0; mime_type[index].mime; index++) { + if (strncmp(mime, mime_type[index].mime, strlen(mime)) == 0) { + ftype = mime_type[index].ftype; + UG_SAFE_FREE_CHAR(mime); + return ftype; + } + } + + UG_SAFE_FREE_CHAR(mime); + return ftype; } int mf_ug_file_attr_is_duplicated_name(const char *dir, const char *name) { - char *file_path = g_strconcat(dir, "/", name, NULL); - if (ecore_file_exists(file_path)) { - UG_SAFE_FREE_CHAR(file_path); - return MYFILE_ERR_DUPLICATED_NAME; - } else { - UG_SAFE_FREE_CHAR(file_path); - return MYFILE_ERR_NONE; - } + char *file_path = g_strconcat(dir, "/", name, NULL); + + if (file_path != NULL) { + if (mf_file_exists(file_path)) { + UG_SAFE_FREE_CHAR(file_path); + return MYFILE_ERR_DUPLICATED_NAME; + } else { + UG_SAFE_FREE_CHAR(file_path); + return MYFILE_ERR_NONE; + } + } + + return MYFILE_ERR_NONE; } int mf_ug_file_attr_get_logical_path_by_full(const char *full_path, char **path) { - ug_mf_retvm_if(full_path == NULL, MYFILE_ERR_INVALID_FILE_PATH, "fullpath is NULL"); - ug_mf_retvm_if(path == NULL, MYFILE_ERR_INVALID_FILE_PATH, "path is NULL"); - - mf_ug_storage_type store_type = 0; - int root_len = 0; - int error_code = 0; - - error_code = mf_ug_file_attr_get_store_type_by_full(full_path, &store_type); - - *path = g_strdup(full_path); - if (*path == NULL) { - return MYFILE_ERR_ALLOCATE_MEMORY_FAIL; - } - - memset(*path, 0, strlen(*path)); - switch (store_type) { - case MF_UG_PHONE: - root_len = strlen(PHONE_FOLDER); - break; - case MF_UG_MMC: - root_len = strlen(MEMORY_FOLDER); - break; - default: - return MYFILE_ERR_STORAGE_TYPE_ERROR; - } - - /* - ** *path has the same length with full_path - ** strlen(*path) is 0 since the memset called - ** we use length of full_path to reprecent the *path's - */ - g_strlcpy(*path, full_path + root_len, strlen(full_path)); - if (strlen(*path) == 0) { - UG_SAFE_FREE_CHAR(*path); - *path = g_strdup("/"); - } - - return MYFILE_ERR_NONE; + ug_mf_retvm_if(full_path == NULL, MYFILE_ERR_INVALID_FILE_PATH, "fullpath is NULL"); + ug_mf_retvm_if(path == NULL, MYFILE_ERR_INVALID_FILE_PATH, "path is NULL"); + + mf_ug_storage_type store_type = 0; + int root_len = 0; + + mf_ug_file_attr_get_store_type_by_full(full_path, &store_type); + + *path = g_strdup(full_path); + if (*path == NULL) { + return MYFILE_ERR_ALLOCATE_MEMORY_FAIL; + } + + memset(*path, 0, strlen(*path)); + switch (store_type) { + case MF_UG_PHONE: + root_len = strlen(PHONE_FOLDER); + break; + case MF_UG_MMC: + root_len = strlen(MEMORY_FOLDER); + break; + default: + return MYFILE_ERR_STORAGE_TYPE_ERROR; + } + + /* + ** *path has the same length with full_path + ** strlen(*path) is 0 since the memset called + ** we use length of full_path to reprecent the *path's + */ + g_strlcpy(*path, full_path + root_len, strlen(full_path)); + if (strlen(*path) == 0) { + UG_SAFE_FREE_CHAR(*path); + *path = g_strdup("/"); + } + + return MYFILE_ERR_NONE; } +char *mf_ug_file_attr_sound_title_get(const char *fullpath) +{ + metadata_extractor_h metadata = NULL; + char *title = NULL; + int ret = metadata_extractor_create(&metadata); + if (ret == METADATA_EXTRACTOR_ERROR_NONE && metadata) { + ret = metadata_extractor_set_path(metadata, fullpath); + if (ret == METADATA_EXTRACTOR_ERROR_NONE) { + ret = metadata_extractor_get_metadata(metadata, METADATA_TITLE, &title); + } + metadata_extractor_destroy(metadata); + } + + return title; +} diff --git a/src/common/file-system/mf-ug-fs-oper.c b/src/common/file-system/mf-ug-fs-oper.c index ad1c556..43c2c27 100644 --- a/src/common/file-system/mf-ug-fs-oper.c +++ b/src/common/file-system/mf-ug-fs-oper.c @@ -1,23 +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. - */ +* Copyright (c) 2000-2015 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. +* +*/ + + + #include <libgen.h> #include <glib.h> #include "mf-ug-fs-util.h" #include "mf-ug-util.h" +#include "mf-ug-fm-svc-wrapper.h" +#include "mf-ug-file-util.h" static int __mf_ug_fs_oper_sort_by_date_cb_O2R(const void *d1, const void *d2); static int __mf_ug_fs_oper_sort_by_name_cb_A2Z(const void *d1, const void *d2); @@ -29,466 +35,356 @@ static int __mf_ug_fs_oper_sort_by_type_cb_Z2A(const void *d1, const void *d2); static int __mf_ug_fs_oper_sort_by_size_cb_L2S(const void *d1, const void *d2); /********************* -**Function name: __mf_ug_fs_oper_file_system_error +**Function name: __mf_ug_fs_oper_file_system_error **Parameter: -** const char* src: source path -** const char* dst: destination path -** int check_option: check option +** const char* src: source path +** const char* dst: destination path +** int check_option: check option ** **Return value: -** error code +** error code ** **Action: -** input parameter checking +** input parameter checking ** *********************/ static const char *__mf_ug_fs_oper_get_file(const char *path) { - char *result = NULL; - - if (!path) { - return NULL; - } - if ((result = strrchr(path, '/'))) { - result++; - } else { - result = (char *)path; - } - return result; + char *result = NULL; + + if (!path) { + return NULL; + } + if ((result = strrchr(path, '/'))) { + result++; + } else { + result = (char *)path; + } + return result; } static int __mf_ug_fs_oper_file_system_error(const char *src, const char *dst, int check_option) { - if ((check_option & MF_ERROR_CHECK_SRC_ARG_VALID) && (src == NULL)) { - return MYFILE_ERR_SRC_ARG_INVALID; - } - if ((check_option & MF_ERROR_CHECK_SRC_EXIST) && (!ecore_file_exists(src))) { - return MYFILE_ERR_SRC_NOT_EXIST; - } - - if (check_option & MF_ERROR_CHECK_SRC_PATH_VALID) { - if (!ecore_file_is_dir(src)) { - if (mf_ug_file_attr_is_right_file_path(src)) { - return MYFILE_ERR_INVALID_FILE_PATH; - } - } else { - if (mf_ug_file_attr_is_right_dir_path(src)) { - return MYFILE_ERR_INVALID_DIR_PATH; - } - } - } - - if (check_option & MF_ERROR_CHECK_DUPLICATED) { - char *parent_path = NULL; - - if (!mf_ug_file_attr_get_parent_path(dst, &parent_path)) { - if (mf_ug_file_attr_is_duplicated_name(parent_path, __mf_ug_fs_oper_get_file(dst))) { - UG_SAFE_FREE_CHAR(parent_path); - return MYFILE_ERR_DUPLICATED_NAME; - } - UG_SAFE_FREE_CHAR(parent_path); - } else { - UG_SAFE_FREE_CHAR(parent_path); - return MYFILE_ERR_GET_PARENT_PATH_FAIL; - } - } - return MYFILE_ERR_NONE; + if ((check_option & MF_ERROR_CHECK_SRC_ARG_VALID) && (src == NULL)) { + return MYFILE_ERR_SRC_ARG_INVALID; + } + if ((check_option & MF_ERROR_CHECK_SRC_EXIST) && (!mf_file_exists(src))) { + return MYFILE_ERR_SRC_NOT_EXIST; + } + + if (check_option & MF_ERROR_CHECK_SRC_PATH_VALID) { + if (!mf_is_dir(src)) { + if (mf_ug_file_attr_is_right_file_path(src)) { + return MYFILE_ERR_INVALID_FILE_PATH; + } + } else { + if (mf_ug_file_attr_is_right_dir_path(src)) { + return MYFILE_ERR_INVALID_DIR_PATH; + } + } + } + + if (check_option & MF_ERROR_CHECK_DUPLICATED) { + char *parent_path = NULL; + + if (!mf_ug_file_attr_get_parent_path(dst, &parent_path)) { + if (mf_ug_file_attr_is_duplicated_name(parent_path, __mf_ug_fs_oper_get_file(dst))) { + UG_SAFE_FREE_CHAR(parent_path); + return MYFILE_ERR_DUPLICATED_NAME; + } + UG_SAFE_FREE_CHAR(parent_path); + } else { + UG_SAFE_FREE_CHAR(parent_path); + return MYFILE_ERR_GET_PARENT_PATH_FAIL; + } + } + return MYFILE_ERR_NONE; } /********************* -**Function name: mf_ug_fs_oper_read_dir +**Function name: mf_ug_fs_oper_read_dir **Parameter: -** char *path: path which we need to read -** Eina_List** dir_list: output parameter of dir list under specified path -** Eina_List** file_list: output parameter of file list under specified path +** char *path: path which we need to read +** Eina_List** dir_list: output parameter of dir list under specified path +** Eina_List** file_list: output parameter of file list under specified path ** **Return value: -** error code +** error code ** **Action: -** read element under the specified path +** read element under the specified path ** *********************/ -int mf_ug_fs_oper_read_dir(const char *path, Eina_List **dir_list, Eina_List **file_list) +int mf_ug_fs_oper_read_dir(char *path, Eina_List **dir_list, Eina_List **file_list) { - UG_TRACE_BEGIN; - DIR *pDir = NULL; - struct dirent *ent; - - ug_mf_retvm_if(path == NULL, MYFILE_ERR_INVALID_ARG, "path is null"); - ug_mf_retvm_if(dir_list == NULL, MYFILE_ERR_INVALID_ARG, "dir_list is null"); - ug_mf_retvm_if(file_list == NULL, MYFILE_ERR_INVALID_ARG, "file_list is null"); - - int option = MF_ERROR_CHECK_SRC_ARG_VALID | MF_ERROR_CHECK_SRC_EXIST | MF_ERROR_CHECK_SRC_PATH_VALID; - int ret = __mf_ug_fs_oper_file_system_error(path, NULL, option); - - if (ret != MYFILE_ERR_NONE) { - return ret; - } - - pDir = opendir(path); - - if (pDir == NULL) { - return MYFILE_ERR_DIR_OPEN_FAIL; - } - - while ((ent = readdir(pDir)) != NULL) { - GString *childpath = NULL; - ugFsNodeInfo *pNode = NULL; - - if (strncmp(ent->d_name, ".", 1) == 0 || strcmp(ent->d_name, "..") == 0) { - continue; - } - - if ((ent->d_type & DT_DIR) == 0 && (ent->d_type & DT_REG) == 0) { - continue; - } -#ifdef UG_DEBUG_FOLDER_OPTION - if ((ent->d_type & DT_DIR) != 0) { - if ((strlen(path) == strlen(PHONE_FOLDER)) && (strcmp(path, PHONE_FOLDER) == 0) - && (strlen(ent->d_name) == strlen(DEBUG_FOLDER)) && (strcmp(ent->d_name, DEBUG_FOLDER) == 0)) { - continue; - } - } + UG_TRACE_BEGIN; + DIR *pDir = NULL; + struct dirent *ent; + + ug_mf_retvm_if(path == NULL, MYFILE_ERR_INVALID_ARG, "path is null"); + ug_mf_retvm_if(dir_list == NULL, MYFILE_ERR_INVALID_ARG, "dir_list is null"); + ug_mf_retvm_if(file_list == NULL, MYFILE_ERR_INVALID_ARG, "file_list is null"); + + int option = MF_ERROR_CHECK_SRC_ARG_VALID | MF_ERROR_CHECK_SRC_EXIST | MF_ERROR_CHECK_SRC_PATH_VALID; + int ret = __mf_ug_fs_oper_file_system_error(path, NULL, option); + int storage_type = mf_ug_fm_svc_wapper_get_location(path); + + if (ret != MYFILE_ERR_NONE) { + return ret; + } + + pDir = opendir(path); + + if (pDir == NULL) { + return MYFILE_ERR_DIR_OPEN_FAIL; + } + + while ((ent = readdir(pDir)) != NULL) { + GString *childpath = NULL; + ugFsNodeInfo *pNode = NULL; + + if (strncmp(ent->d_name, ".", 1) == 0 || strcmp(ent->d_name, "..") == 0) { + continue; + } + + if ((ent->d_type & DT_DIR) == 0 && (ent->d_type & DT_REG) == 0) { + continue; + } +#ifdef UG_DEBUG_FOLDER_OPTION + if ((ent->d_type & DT_DIR) != 0) { + if ((strlen(path) == strlen(PHONE_FOLDER)) && (strcmp(path, PHONE_FOLDER) == 0) + && (strlen(ent->d_name) == strlen(DEBUG_FOLDER)) && (strcmp(ent->d_name, DEBUG_FOLDER) == 0)) { + continue; + } + } #endif - pNode = (ugFsNodeInfo *) malloc(sizeof(ugFsNodeInfo)); - - if (pNode == NULL) { - continue; - } - memset(pNode, 0, sizeof(ugFsNodeInfo)); - snprintf(pNode->path, sizeof(pNode->path), "%s", path); - snprintf(pNode->name, sizeof(pNode->name), "%s", ent->d_name); - if (ent->d_type & DT_DIR) { - pNode->type = UG_FILE_TYPE_DIR; - } else if (ent->d_type & DT_REG) { - mf_ug_file_attr_get_file_category(ent->d_name, &(pNode->type)); - } - childpath = g_string_new(path); - if (childpath == NULL) { - free(pNode); - pNode = NULL; - continue; - } - g_string_append_printf(childpath, "/%s", ent->d_name); - mf_ug_file_attr_get_file_stat(childpath->str, &pNode); - if (pNode->type == UG_FILE_TYPE_DIR) { - ug_mf_debug("dir append\n"); - *dir_list = eina_list_append(*dir_list, pNode); - } else { - ug_mf_debug("file append\n"); - ret = mf_ug_file_attr_get_file_ext(childpath->str, &pNode->ext); - if (ret != MYFILE_ERR_NONE) { - pNode->ext = NULL; - } - *file_list = eina_list_append(*file_list, pNode); - } - - g_string_free(childpath, TRUE); - } - closedir(pDir); - UG_TRACE_END; - - return MYFILE_ERR_NONE; -} - -/********************* -**Function name: __mf_ug_fs_oper_exec_filter -**Parameter: -** ugFsNodeInfo* pnode_info: the node we need to check for filter -** int option: filter -** -**Return value: -** error code -** -**Action: -** check if the node satisfied the filter option -*********************/ -static mf_ug_drm_file_mime_type __mf_ug_fs_oper_get_drm_file_type_by_mime(char *mime_type) -{ - gchar **result = NULL; - if (mime_type != NULL) { - result = g_strsplit(mime_type, "/", 0); - if (result && (*result)) { - ug_mf_debug("*result is [%s]", *result); - if (g_strcmp0(*result, "audio") == 0) { - g_strfreev(result); - return MF_UG_DRM_RINGTONE_FILE; - } else if (g_strcmp0(*result, "image") == 0) { - g_strfreev(result); - return MF_UG_DRM_IMAGE_FILE; - } else { - g_strfreev(result); - return MF_UG_DRM_UNKNOW_FILE; - } - } else { - g_strfreev(result); - return MF_UG_DRM_UNKNOW_FILE; - } - } else { - return MF_UG_DRM_UNKNOW_FILE; - } -} - -mf_ug_drm_file_mime_type mf_ug_fs_oper_get_drm_type(char *path) -{ - drm_result_e res = 0; - drm_content_info_s dcf_content_info; - - res = drm_get_content_info(path, &dcf_content_info); - - - if (res == DRM_RETURN_SUCCESS) { - mf_ug_drm_file_mime_type drm_mime_type = __mf_ug_fs_oper_get_drm_file_type_by_mime(dcf_content_info.mime_type); - return drm_mime_type; - } else { - return MF_UG_DRM_UNKNOW_FILE; - } -} - -int mf_ug_fs_oper_drm_is_action_allowed(const char *path, drm_action_type_e action, drm_setas_category_e category) -{ - drm_bool_type_e is_allowed = 0; - drm_action_allowed_data_s action_data; - - int ret = -1; - memset(&action_data,0x0,sizeof(drm_action_allowed_data_s)); - UG_SAFE_STRCPY(action_data.file_path, path); - - action_data.data = category; - - ret = drm_is_action_allowed(action,&action_data,&is_allowed); - if(DRM_RETURN_SUCCESS == ret && DRM_TRUE == is_allowed){ - return true; - }else{ - return false; - } -} - -bool mf_ug_fs_oper_drm_is_valid(const char *path, drm_permission_type_e perm_type) -{ - int res = DRM_RETURN_SUCCESS; - drm_license_status_e licence_status = DRM_LICENSE_STATUS_UNDEFINED; - if (path) { - res = drm_get_license_status(path, perm_type, &licence_status); - } - - ug_error("res is [%d] licence is [%d]", res, licence_status); - if (res == DRM_RETURN_SUCCESS && licence_status == DRM_LICENSE_STATUS_VALID) { - return true; - } else { - return false; - } - -} -static bool __mf_ug_fs_oper_exec_drm_filter(ugFsNodeInfo *pnode_info, int option) -{ - if (pnode_info == NULL) { - return FALSE; - } - - int result = -1; - char *fullpath = NULL; - drm_result_e res = DRM_RETURN_INTERNAL_ERROR; - if (option & MF_UG_FILTER_DRM_ALL) { - return TRUE; - } - - if (option & MF_UG_FILTER_DRM_WITHOUT_FL) { - fullpath = g_strconcat(pnode_info->path, "/", pnode_info->name, NULL); - res = mf_ug_fs_oper_drm_is_action_allowed(fullpath, DRM_IS_FORWARDING_ALLOWED, DRM_SETAS_NONE); - if (res == DRM_RETURN_SUCCESS) { - return FALSE; - } else { - return TRUE; - } - } - - if (option & MF_UG_FILTER_DRM_IMAGE) { - fullpath = g_strconcat(pnode_info->path, "/", pnode_info->name, NULL); - - result = mf_ug_fs_oper_drm_is_action_allowed(fullpath, DRM_HAS_VALID_SETAS_STATUS, DRM_SETAS_WALLPAPER); - if (result) { - mf_ug_drm_file_mime_type drm_mime_type = mf_ug_fs_oper_get_drm_type(fullpath); - if (drm_mime_type == MF_UG_DRM_IMAGE_FILE) - return TRUE; - else - return FALSE; - } else { - return FALSE; - } - } - - if (option & MF_UG_FILTER_DRM_RINGTONE) { - fullpath = g_strconcat(pnode_info->path, "/", pnode_info->name, NULL); - - result = mf_ug_fs_oper_drm_is_action_allowed(fullpath, DRM_HAS_VALID_SETAS_STATUS, DRM_SETAS_RINGTONE); - if (result) { - mf_ug_drm_file_mime_type drm_mime_type = mf_ug_fs_oper_get_drm_type(fullpath); - if (drm_mime_type == MF_UG_DRM_RINGTONE_FILE) - return TRUE; - else - return FALSE; - } else { - return FALSE; - } - - } - - return FALSE; + pNode = (ugFsNodeInfo *) malloc(sizeof(ugFsNodeInfo)); + + if (pNode == NULL) { + continue; + } + memset(pNode, 0, sizeof(ugFsNodeInfo)); + /*set path */ + pNode->path = g_strdup(path); + /*set name */ + pNode->name = g_strdup(ent->d_name); + pNode->storage_type = storage_type; + if (ent->d_type & DT_DIR) { + pNode->type = UG_FILE_TYPE_DIR; + } else if (ent->d_type & DT_REG) { + char *real_name = g_strconcat(pNode->path, "/", ent->d_name, NULL); + + if (real_name != NULL) { + mf_ug_file_attr_get_file_category(real_name, &(pNode->type)); + SECURE_DEBUG(" file is [%s] type is [%d]", real_name, (pNode->type)); + UG_SAFE_FREE_CHAR(real_name); + } + } + childpath = g_string_new(path); + if (childpath == NULL) { + free(pNode); + pNode = NULL; + continue; + } + g_string_append_printf(childpath, "/%s", ent->d_name); + mf_ug_file_attr_get_file_stat(childpath->str, &pNode); + if (pNode->type == UG_FILE_TYPE_DIR) { + ug_mf_debug("dir append\n"); + *dir_list = eina_list_append(*dir_list, pNode); + } else { + ug_mf_debug("file append\n"); + ret = mf_ug_file_attr_get_file_ext(childpath->str, &pNode->ext); + if (ret != MYFILE_ERR_NONE) { + pNode->ext = NULL; + } + *file_list = eina_list_append(*file_list, pNode); + } + + g_string_free(childpath, TRUE); + } + closedir(pDir); + UG_TRACE_END; + + return MYFILE_ERR_NONE; } static bool __mf_ug_fs_oper_exec_filter(ugFsNodeInfo *pnode_info, int option) { - if (pnode_info == NULL) { - return FALSE; - } - if (option & UG_FILTER_CATEGORY_IMAGE) { - if (pnode_info->type == UG_FILE_TYPE_IMAGE) { - return TRUE; - } - } - if (option & UG_FILTER_CATEGORY_VIDEO) { - if (pnode_info->type == UG_FILE_TYPE_VIDEO) { - return TRUE; - } - } - if (option & UG_FILTER_CATEGORY_SOUND) { - if (pnode_info->type == UG_FILE_TYPE_SOUND) { - return TRUE; - } - } - if (option & UG_FILTER_CATEGORY_VOICE) { - if (pnode_info->type == UG_FILE_TYPE_VOICE) { - return TRUE; - } - } - if (option & UG_FILTER_CATEGORY_MUSIC) { - if (pnode_info->type == UG_FILE_TYPE_MUSIC) { - return TRUE; - } - } - if (option & UG_FILTER_CATEGORY_HTML) { - if (pnode_info->type == UG_FILE_TYPE_HTML) { - return TRUE; - } - } - if (option & UG_FILTER_CATEGORY_FLASH) { - if (pnode_info->type == UG_FILE_TYPE_FLASH) { - return TRUE; - } - } - if (option & UG_FILTER_CATEGORY_GAME) { - if (pnode_info->type == UG_FILE_TYPE_GAME) { - return TRUE; - } - } - if (option & UG_FILTER_CATEGORY_APP) { - if (pnode_info->type == UG_FILE_TYPE_APP) { - return TRUE; - } - } - if (option & UG_FILTER_CATEGORY_THEME) { - if (pnode_info->type == UG_FILE_TYPE_THEME) { - return TRUE; - } - } - if (option & UG_FILTER_CATEGORY_DOC) { - if (pnode_info->type == UG_FILE_TYPE_DOC) { - return TRUE; - } - } - if (option & UG_FILTER_CATEGORY_EXCEL) { - if (pnode_info->type == UG_FILE_TYPE_EXCEL) { - return TRUE; - } - } - if (option & UG_FILTER_CATEGORY_PPT) { - if (pnode_info->type == UG_FILE_TYPE_PPT) { - return TRUE; - } - } - if (option & UG_FILTER_CATEGORY_PDF) { - if (pnode_info->type == UG_FILE_TYPE_PDF) { - return TRUE; - } - } - if (option & UG_FILTER_CATEGORY_TXT) { - if (pnode_info->type == UG_FILE_TYPE_TXT) { - return TRUE; - } - } - if (option & UG_FILTER_CATEGORY_VCONTACT) { - if (pnode_info->type == UG_FILE_TYPE_VCONTACT) { - return TRUE; - } - } - if (option & UG_FILTER_CATEGORY_VCALENDAR) { - if (pnode_info->type == UG_FILE_TYPE_VCALENDAR) { - return TRUE; - } - } - if (option & UG_FILTER_CATEGORY_VNOTE) { - if (pnode_info->type == UG_FILE_TYPE_VNOTE) { - return TRUE; - } - } - if (option & UG_FILTER_CATEGORY_VBOOKMARK) { - if (pnode_info->type == UG_FILE_TYPE_VBOOKMARK) { - return TRUE; - } - } - if (option & UG_FILTER_CATEGORY_VIDEO_PROJECT) { - if (pnode_info->type == UG_FILE_TYPE_VIDEO_PROJECT) { - return TRUE; - } - } - if (option & UG_FILTER_CATEGORY_SVG) { - if (pnode_info->type == UG_FILE_TYPE_SVG) { - return TRUE; - } - } - if (option & UG_FILTER_CATEGORY_RSS) { - if (pnode_info->type == UG_FILE_TYPE_RSS) { - return TRUE; - } - } - if (option & UG_FILTER_CATEGORY_ETC) { - if (pnode_info->type == UG_FILE_TYPE_ETC) { - return TRUE; - } - } - return FALSE; + if (option == UG_FILTER_CATEGORY_ALL) { + return TRUE; + } + if (pnode_info == NULL) { + return FALSE; + } + if (option & UG_FILTER_CATEGORY_IMAGE) { + if (pnode_info->type == UG_FILE_TYPE_IMAGE) { + return TRUE; + } + } + if (option & UG_FILTER_CATEGORY_VIDEO) { + if (pnode_info->type == UG_FILE_TYPE_VIDEO) { + return TRUE; + } + } + if (option & UG_FILTER_CATEGORY_SOUND) { + if (pnode_info->type == UG_FILE_TYPE_SOUND) { + return TRUE; + } + } + if (option & UG_FILTER_CATEGORY_VOICE) { + if (pnode_info->type == UG_FILE_TYPE_VOICE) { + return TRUE; + } + } + if (option & UG_FILTER_CATEGORY_MUSIC) { + if (pnode_info->type == UG_FILE_TYPE_MUSIC) { + return TRUE; + } + } + if (option & UG_FILTER_CATEGORY_HTML) { + if (pnode_info->type == UG_FILE_TYPE_HTML) { + return TRUE; + } + } + if (option & UG_FILTER_CATEGORY_FLASH) { + if (pnode_info->type == UG_FILE_TYPE_FLASH) { + return TRUE; + } + } + if (option & UG_FILTER_CATEGORY_GAME) { + if (pnode_info->type == UG_FILE_TYPE_GAME) { + return TRUE; + } + } + if (option & UG_FILTER_CATEGORY_APP) { + if (pnode_info->type == UG_FILE_TYPE_APP) { + return TRUE; + } + } + if (option & UG_FILTER_CATEGORY_THEME) { + if (pnode_info->type == UG_FILE_TYPE_THEME) { + return TRUE; + } + } + if (option & UG_FILTER_CATEGORY_DOC) { + if (pnode_info->type == UG_FILE_TYPE_DOC) { + return TRUE; + } + } + if (option & UG_FILTER_CATEGORY_EXCEL) { + if (pnode_info->type == UG_FILE_TYPE_EXCEL) { + return TRUE; + } + } + if (option & UG_FILTER_CATEGORY_PPT) { + if (pnode_info->type == UG_FILE_TYPE_PPT) { + return TRUE; + } + } + if (option & UG_FILTER_CATEGORY_PDF) { + if (pnode_info->type == UG_FILE_TYPE_PDF) { + return TRUE; + } + } + if (option & UG_FILTER_CATEGORY_TXT) { + if (pnode_info->type == UG_FILE_TYPE_TXT) { + return TRUE; + } + } + if (option & UG_FILTER_CATEGORY_VCONTACT) { + if (pnode_info->type == UG_FILE_TYPE_VCONTACT) { + return TRUE; + } + } + if (option & UG_FILTER_CATEGORY_VCALENDAR) { + if (pnode_info->type == UG_FILE_TYPE_VCALENDAR) { + return TRUE; + } + } + if (option & UG_FILTER_CATEGORY_VNOTE) { + if (pnode_info->type == UG_FILE_TYPE_VNOTE) { + return TRUE; + } + } + if (option & UG_FILTER_CATEGORY_VBOOKMARK) { + if (pnode_info->type == UG_FILE_TYPE_VBOOKMARK) { + return TRUE; + } + } + if (option & UG_FILTER_CATEGORY_VIDEO_PROJECT) { + if (pnode_info->type == UG_FILE_TYPE_VIDEO_PROJECT) { + return TRUE; + } + } + if (option & UG_FILTER_CATEGORY_SVG) { + if (pnode_info->type == UG_FILE_TYPE_SVG) { + return TRUE; + } + } + if (option & UG_FILTER_CATEGORY_RSS) { + if (pnode_info->type == UG_FILE_TYPE_RSS) { + return TRUE; + } + } + if (option & UG_FILTER_CATEGORY_ETC) { + if (pnode_info->type == UG_FILE_TYPE_ETC) { + return TRUE; + } + } + + if (option & UG_FILTER_CATEGORY_MP4_AUDIO) { + if (pnode_info->type == UG_FILE_TYPE_MP4_AUDIO) { + return TRUE; + } + } + if (option & UG_FILTER_CATEGORY_MP4_VIDEO) { + if (pnode_info->type == UG_FILE_TYPE_MP4_VIDEO) { + return TRUE; + } + } + if (option & UG_FILTER_CATEGORY_HWP) { + if (pnode_info->type == UG_FILE_TYPE_HWP) { + return TRUE; + } + } + if (option & UG_FILTER_CATEGORY_SNB) { + if (pnode_info->type == UG_FILE_TYPE_SNB) { + return TRUE; + } + } + if (option & UG_FILTER_CATEGORY_GUL) { + if (pnode_info->type == UG_FILE_TYPE_GUL) { + return TRUE; + } + } + return FALSE; } -int mf_ug_fs_oper_list_filter(Eina_List *in_list, Eina_List **out_list, int option, int drm_opt) +int mf_ug_fs_oper_list_filter(Eina_List *in_list, Eina_List **out_list, int option) { - ug_mf_debug(); - if (in_list == NULL) { - return MYFILE_ERR_SRC_ARG_INVALID; - } - - if (out_list == NULL) { - return MYFILE_ERR_DST_ARG_INVALID; - } - - if (option == 0) { - *out_list = in_list; - return MYFILE_ERR_NONE; - } - - Eina_List *l = NULL; - ugFsNodeInfo *data = NULL; - EINA_LIST_FOREACH(in_list, l, data) { - if (data->type == UG_FILE_TYPE_DRM && __mf_ug_fs_oper_exec_drm_filter(data, drm_opt)) { - ug_debug("file [%s] is drm file", data->name); - *out_list = eina_list_append(*out_list, data); - } else if (__mf_ug_fs_oper_exec_filter(data, option)) { - *out_list = eina_list_append(*out_list, data); - } - } - return MYFILE_ERR_NONE; + ug_mf_debug(); + if (in_list == NULL) { + return MYFILE_ERR_SRC_ARG_INVALID; + } + + if (out_list == NULL) { + return MYFILE_ERR_DST_ARG_INVALID; + } + + if (option == 0) { + *out_list = in_list; + return MYFILE_ERR_NONE; + } + + Eina_List *l = NULL; + ugFsNodeInfo *data = NULL; + EINA_LIST_FOREACH(in_list, l, data) { + if (__mf_ug_fs_oper_exec_filter(data, option)) { + *out_list = eina_list_append(*out_list, data); + } + } + return MYFILE_ERR_NONE; } /****************************** @@ -510,525 +406,528 @@ int mf_ug_fs_oper_list_filter(Eina_List *in_list, Eina_List **out_list, int opti ******************************/ int mf_ug_fs_oper_list_filter_by_extension(Eina_List *in_list, Eina_List **out_list, char *ext) { - if (in_list == NULL) { - return MYFILE_ERR_SRC_ARG_INVALID; - } - - if (out_list == NULL) { - return MYFILE_ERR_DST_ARG_INVALID; - } - - if (ext == NULL) { - *out_list = in_list; - return MYFILE_ERR_NONE; - } - - Eina_List *l = NULL; - ugFsNodeInfo *data = NULL; - - char *seps = ";"; - char *temp_ext = malloc(strlen(ext) + 1); - gchar **result = NULL; - gchar **params = NULL; - - EINA_LIST_FOREACH(in_list, l, data) { - memset(temp_ext, 0, strlen(ext) + 1); - strncpy(temp_ext, ext, strlen(ext)); - result = g_strsplit(temp_ext, seps, 0); - if (result == NULL) { - continue; - } - for (params = result; *params; params++) { - if (data->ext == NULL) - break; - if (strcasecmp(data->ext, *params) == 0) { - *out_list = eina_list_append(*out_list, data); - break; - } - } - - g_strfreev(result); - result = NULL; - } - free(temp_ext); - return MYFILE_ERR_NONE; + if (in_list == NULL) { + return MYFILE_ERR_SRC_ARG_INVALID; + } + + if (out_list == NULL) { + return MYFILE_ERR_DST_ARG_INVALID; + } + + if (ext == NULL) { + *out_list = in_list; + return MYFILE_ERR_NONE; + } + + Eina_List *l = NULL; + ugFsNodeInfo *data = NULL; + + char *seps = ";"; + char *temp_ext = malloc(strlen(ext) + 1); + if (temp_ext == NULL) + return MYFILE_ERR_ALLOCATE_FAIL; + + gchar **result = NULL; + gchar **params = NULL; + + EINA_LIST_FOREACH(in_list, l, data) { + if (data) { + memset(temp_ext, 0, strlen(ext) + 1); + strncpy(temp_ext, ext, strlen(ext)); + result = g_strsplit(temp_ext, seps, 0); + if (result == NULL) { + continue; + } + for (params = result; *params; params++) { + if (data->ext == NULL) + break; + if (strcasecmp(data->ext, *params) == 0) { + *out_list = eina_list_append(*out_list, data); + break; + } + } + + g_strfreev(result); + result = NULL; + } + } + free(temp_ext); + return MYFILE_ERR_NONE; } static int __mf_ug_fs_oper_sort_by_priority(const void *d1, const void *d2, int sequence_type) { - int ret = 0; - switch(sequence_type) { - case MF_UG_SORT_BY_PRIORITY_TYPE_A2Z: - ret = __mf_ug_fs_oper_sort_by_date_cb_O2R(d1, d2); - if (ret == 0) { - ret = __mf_ug_fs_oper_sort_by_size_cb_S2L(d1, d2); - if (ret == 0) { - ret = __mf_ug_fs_oper_sort_by_name_cb_A2Z(d1, d2); - } - } - break; - case MF_UG_SORT_BY_PRIORITY_TYPE_Z2A: - ret = __mf_ug_fs_oper_sort_by_date_cb_R2O(d1, d2); - if (ret == 0) { - ret = __mf_ug_fs_oper_sort_by_size_cb_L2S(d1, d2); - if (ret == 0) { - ret = __mf_ug_fs_oper_sort_by_name_cb_Z2A(d1, d2); - } - } - break; - case MF_UG_SORT_BY_PRIORITY_DATE_O2R: - ret = __mf_ug_fs_oper_sort_by_size_cb_S2L(d1, d2); - if (ret == 0) { - ret = __mf_ug_fs_oper_sort_by_name_cb_A2Z(d1, d2); - } - break; - case MF_UG_SORT_BY_PRIORITY_DATE_R2O: - ret = __mf_ug_fs_oper_sort_by_size_cb_L2S(d1, d2); - if (ret == 0) { - ret = __mf_ug_fs_oper_sort_by_name_cb_Z2A(d1, d2); - } - break; - case MF_UG_SORT_BY_PRIORITY_SIZE_S2L: - ret = __mf_ug_fs_oper_sort_by_name_cb_A2Z(d1, d2); - break; - case MF_UG_SORT_BY_PRIORITY_SIZE_L2S: - ret = __mf_ug_fs_oper_sort_by_name_cb_Z2A(d1, d2); - break; - default: - break; - } - return ret; + int ret = 0; + switch (sequence_type) { + case MF_UG_SORT_BY_PRIORITY_TYPE_A2Z: + ret = __mf_ug_fs_oper_sort_by_date_cb_O2R(d1, d2); + if (ret == 0) { + ret = __mf_ug_fs_oper_sort_by_size_cb_S2L(d1, d2); + if (ret == 0) { + ret = __mf_ug_fs_oper_sort_by_name_cb_A2Z(d1, d2); + } + } + break; + case MF_UG_SORT_BY_PRIORITY_TYPE_Z2A: + ret = __mf_ug_fs_oper_sort_by_date_cb_R2O(d1, d2); + if (ret == 0) { + ret = __mf_ug_fs_oper_sort_by_size_cb_L2S(d1, d2); + if (ret == 0) { + ret = __mf_ug_fs_oper_sort_by_name_cb_Z2A(d1, d2); + } + } + break; + case MF_UG_SORT_BY_PRIORITY_DATE_O2R: + ret = __mf_ug_fs_oper_sort_by_size_cb_S2L(d1, d2); + if (ret == 0) { + ret = __mf_ug_fs_oper_sort_by_name_cb_A2Z(d1, d2); + } + break; + case MF_UG_SORT_BY_PRIORITY_DATE_R2O: + ret = __mf_ug_fs_oper_sort_by_size_cb_L2S(d1, d2); + if (ret == 0) { + ret = __mf_ug_fs_oper_sort_by_name_cb_Z2A(d1, d2); + } + break; + case MF_UG_SORT_BY_PRIORITY_SIZE_S2L: + ret = __mf_ug_fs_oper_sort_by_name_cb_A2Z(d1, d2); + break; + case MF_UG_SORT_BY_PRIORITY_SIZE_L2S: + ret = __mf_ug_fs_oper_sort_by_name_cb_Z2A(d1, d2); + break; + default: + break; + } + return ret; } /********************* -**Function name: __sort_by_name_cb +**Function name: __sort_by_name_cb **Parameter: -** const void *d1: node1 to compare -** const void *d2: node2 to compare +** const void *d1: node1 to compare +** const void *d2: node2 to compare ** **Return value: -** -1 if d1 > d2 -** 0 if d1 = d2 -** 1 if d1 > d2 +** -1 if d1 > d2 +** 0 if d1 = d2 +** 1 if d1 > d2 ** **Action: -** sort the list order by the Assic table +** sort the list order by the Assic table ** *********************/ static int __mf_ug_fs_oper_sort_by_name_cb_A2Z(const void *d1, const void *d2) { - ugFsNodeInfo *txt1 = (ugFsNodeInfo *) d1; - ugFsNodeInfo *txt2 = (ugFsNodeInfo *) d2; - gchar *name1 = NULL; - gchar *name2 = NULL; - int result = 0; - - if (!txt1) { - return (1); - } - if (!txt2) { - return (-1); - } - - name1 = g_ascii_strdown(txt1->name, strlen(txt1->name)); - if (name1 == NULL) { - return (-1); - } - name2 = g_ascii_strdown(txt2->name, strlen(txt2->name)); - if (name2 == NULL) { - g_free(name1); - name1 = NULL; - return (-1); - } - result = g_strcmp0(name1, name2); - - g_free(name1); - name1 = NULL; - g_free(name2); - name2 = NULL; - return result; + ugFsNodeInfo *txt1 = (ugFsNodeInfo *) d1; + ugFsNodeInfo *txt2 = (ugFsNodeInfo *) d2; + gchar *name1 = NULL; + gchar *name2 = NULL; + int result = 0; + + if (!txt1) { + return (1); + } + if (!txt2) { + return (-1); + } + + name1 = g_ascii_strdown(txt1->name, strlen(txt1->name)); + if (name1 == NULL) { + return (-1); + } + name2 = g_ascii_strdown(txt2->name, strlen(txt2->name)); + if (name2 == NULL) { + g_free(name1); + name1 = NULL; + return (-1); + } + result = g_strcmp0(name1, name2); + + g_free(name1); + name1 = NULL; + g_free(name2); + name2 = NULL; + return result; } /********************* -**Function name: __sort_by_date_cb +**Function name: __sort_by_date_cb **Parameter: -** const void *d1: node1 to compare -** const void *d2: node2 to compare +** const void *d1: node1 to compare +** const void *d2: node2 to compare ** **Return value: -** -1 if d1 > d2 -** 0 if d1 = d2 -** 1 if d1 > d2 +** -1 if d1 > d2 +** 0 if d1 = d2 +** 1 if d1 > d2 ** **Action: -** sort the list order by the later created the later shown +** sort the list order by the later created the later shown *********************/ static int __mf_ug_fs_oper_sort_by_date_cb_O2R(const void *d1, const void *d2) { - int ret = 0; - ugFsNodeInfo *time1 = (ugFsNodeInfo *) d1; - ugFsNodeInfo *time2 = (ugFsNodeInfo *) d2; - - if (!d1) { - return 1; - } - if (!d2) { - return -1; - } - - if (time1->date > time2->date) { - ret = 1; - } else if (time1->date < time2->date) { - ret = -1; - } else { - ret = 0; - } - - if (ret == 0) { - ret = __mf_ug_fs_oper_sort_by_priority(d1, d2, MF_UG_SORT_BY_PRIORITY_DATE_O2R); - } - return ret; + int ret = 0; + ugFsNodeInfo *time1 = (ugFsNodeInfo *) d1; + ugFsNodeInfo *time2 = (ugFsNodeInfo *) d2; + + if (!d1) { + return 1; + } + if (!d2) { + return -1; + } + + if (time1->date > time2->date) { + ret = 1; + } else if (time1->date < time2->date) { + ret = -1; + } else { + ret = 0; + } + + if (ret == 0) { + ret = __mf_ug_fs_oper_sort_by_priority(d1, d2, MF_UG_SORT_BY_PRIORITY_DATE_O2R); + } + return ret; } /********************* -**Function name: __sort_by_type_cb +**Function name: __sort_by_type_cb **Parameter: -** const void *d1: node1 to compare -** const void *d2: node2 to compare +** const void *d1: node1 to compare +** const void *d2: node2 to compare ** **Return value: -** -1 if d1 < d2 -** 0 if d1 = d2 -** 1 if d1 > d2 +** -1 if d1 < d2 +** 0 if d1 = d2 +** 1 if d1 > d2 ** **Action: -** sort the list order by the category type value +** sort the list order by the category type value *********************/ static int __mf_ug_fs_oper_sort_by_type_cb_A2Z(const void *d1, const void *d2) { - ugFsNodeInfo *type1 = (ugFsNodeInfo *) d1; - ugFsNodeInfo *type2 = (ugFsNodeInfo *) d2; - gchar *ext1 = NULL; - gchar *ext2 = NULL; - int result = 0; - - if (type1 == NULL || type1->ext == NULL) { - return 1; - } - - if (type2 == NULL || type2->ext == NULL) { - return -1; - } - ext1 = g_ascii_strdown(type1->ext, strlen(type1->ext)); - if (ext1 == NULL) { - return (-1); - } - ext2 = g_ascii_strdown(type2->ext, strlen(type2->ext)); - if (ext2 == NULL) { - g_free(ext1); - ext1 = NULL; - return (-1); - } - result = g_strcmp0(ext1, ext2); - - g_free(ext1); - ext1 = NULL; - g_free(ext2); - ext2 = NULL; - - if (result == 0) { - result = __mf_ug_fs_oper_sort_by_priority(d1, d2, MF_UG_SORT_BY_PRIORITY_TYPE_A2Z); - } - - return result; + ugFsNodeInfo *type1 = (ugFsNodeInfo *) d1; + ugFsNodeInfo *type2 = (ugFsNodeInfo *) d2; + gchar *ext1 = NULL; + gchar *ext2 = NULL; + int result = 0; + + if (type1 == NULL || type1->ext == NULL) { + return 1; + } + + if (type2 == NULL || type2->ext == NULL) { + return -1; + } + ext1 = g_ascii_strdown(type1->ext, strlen(type1->ext)); + if (ext1 == NULL) { + return (-1); + } + ext2 = g_ascii_strdown(type2->ext, strlen(type2->ext)); + if (ext2 == NULL) { + g_free(ext1); + ext1 = NULL; + return (-1); + } + result = g_strcmp0(ext1, ext2); + + g_free(ext1); + ext1 = NULL; + g_free(ext2); + ext2 = NULL; + + if (result == 0) { + result = __mf_ug_fs_oper_sort_by_priority(d1, d2, MF_UG_SORT_BY_PRIORITY_TYPE_A2Z); + } + + return result; } -/*order: the one with smaller size will be shown earlier*/ +/*order: the one with smaller size will be shown earlier*/ /********************* -**Function name: __sort_by_name_cb +**Function name: __sort_by_name_cb **Parameter: -** const void *d1: node1 to compare -** const void *d2: node2 to compare +** const void *d1: node1 to compare +** const void *d2: node2 to compare ** **Return value: -** -1 if d1 > d2 -** 0 if d1 = d2 -** 1 if d1 > d2 +** -1 if d1 > d2 +** 0 if d1 = d2 +** 1 if d1 > d2 ** **Action: -** sort the list order by size, rule is the smaller the later shown +** sort the list order by size, rule is the smaller the later shown *********************/ static int __mf_ug_fs_oper_sort_by_size_cb_S2L(const void *d1, const void *d2) { - int ret = 0; - ugFsNodeInfo *size1 = (ugFsNodeInfo *) d1; - ugFsNodeInfo *size2 = (ugFsNodeInfo *) d2; - - if (!d1) { - return 1; - } - - if (!d2) { - return -1; - } - - if (size1->size > size2->size) { - ret = 1; - } else if (size1->size < size2->size) { - ret = -1; - } else { - ret = 0; - } - - if (ret == 0) { - ret = __mf_ug_fs_oper_sort_by_priority(d1, d2, MF_UG_SORT_BY_PRIORITY_SIZE_S2L); - } - return ret; + int ret = 0; + ugFsNodeInfo *size1 = (ugFsNodeInfo *) d1; + ugFsNodeInfo *size2 = (ugFsNodeInfo *) d2; + + if (!d1) { + return 1; + } + + if (!d2) { + return -1; + } + + if (size1->size > size2->size) { + ret = 1; + } else if (size1->size < size2->size) { + ret = -1; + } else { + ret = 0; + } + + if (ret == 0) { + ret = __mf_ug_fs_oper_sort_by_priority(d1, d2, MF_UG_SORT_BY_PRIORITY_SIZE_S2L); + } + return ret; } /********************* -**Function name: __mf_fs_oper_sort_by_name_cb_Z2A +**Function name: __mf_fs_oper_sort_by_name_cb_Z2A **Parameter: -** const void *d1: node1 to compare -** const void *d2: node2 to compare +** const void *d1: node1 to compare +** const void *d2: node2 to compare ** **Return value: -** 1 if d1 > d2 -** -1 if d1 <= d2 +** 1 if d1 > d2 +** -1 if d1 <= d2 ** **Action: -** sort the list order by the Assic table +** sort the list order by the Assic table ** *********************/ static int __mf_ug_fs_oper_sort_by_name_cb_Z2A(const void *d1, const void *d2) { - ugFsNodeInfo *txt1 = (ugFsNodeInfo *) d1; - ugFsNodeInfo *txt2 = (ugFsNodeInfo *) d2; - - int result = 0; - - if (!txt1) { - return (1); - } - if (!txt2) { - return (-1); - } - result = strcasecmp(txt1->name, txt2->name); - - if (result < 0) { - return (1); - } else { - return (-1); - } + ugFsNodeInfo *txt1 = (ugFsNodeInfo *) d1; + ugFsNodeInfo *txt2 = (ugFsNodeInfo *) d2; + + int result = 0; + + if (!txt1) { + return (1); + } + if (!txt2) { + return (-1); + } + result = strcasecmp(txt1->name, txt2->name); + + if (result < 0) { + return (1); + } else { + return (-1); + } } /********************* -**Function name: __sort_by_date_cb +**Function name: __sort_by_date_cb **Parameter: -** const void *d1: node1 to compare -** const void *d2: node2 to compare +** const void *d1: node1 to compare +** const void *d2: node2 to compare ** **Return value: -** -1 if d1 > d2 -** 0 if d1 = d2 -** 1 if d1 < d2 +** -1 if d1 > d2 +** 0 if d1 = d2 +** 1 if d1 < d2 ** **Action: -** sort the list order by the later created the later shown +** sort the list order by the later created the later shown *********************/ static int __mf_ug_fs_oper_sort_by_date_cb_R2O(const void *d1, const void *d2) { - int ret = 0; - ugFsNodeInfo *time1 = (ugFsNodeInfo *) d1; - ugFsNodeInfo *time2 = (ugFsNodeInfo *) d2; - - if (!d1) { - return -1; - } - if (!d2) { - return 1; - } - if (time1->date > time2->date) { - ret = -1; - } else if (time1->date < time2->date) { - ret = 1; - } else { - ret = 0; - } - - if (ret == 0) { - ret = __mf_ug_fs_oper_sort_by_priority(d1, d2, MF_UG_SORT_BY_PRIORITY_DATE_R2O); - } - return ret; + int ret = 0; + ugFsNodeInfo *time1 = (ugFsNodeInfo *) d1; + ugFsNodeInfo *time2 = (ugFsNodeInfo *) d2; + + if (!d1) { + return -1; + } + if (!d2) { + return 1; + } + if (time1->date > time2->date) { + ret = -1; + } else if (time1->date < time2->date) { + ret = 1; + } else { + ret = 0; + } + + if (ret == 0) { + ret = __mf_ug_fs_oper_sort_by_priority(d1, d2, MF_UG_SORT_BY_PRIORITY_DATE_R2O); + } + return ret; } /********************* -**Function name: __sort_by_type_cb +**Function name: __sort_by_type_cb **Parameter: -** const void *d1: node1 to compare -** const void *d2: node2 to compare +** const void *d1: node1 to compare +** const void *d2: node2 to compare ** **Return value: -** -1 if d1 > d2 -** 0 if d1 = d2 -** 1 if d1 < d2 +** -1 if d1 > d2 +** 0 if d1 = d2 +** 1 if d1 < d2 ** **Action: -** sort the list order by the category type value +** sort the list order by the category type value *********************/ static int __mf_ug_fs_oper_sort_by_type_cb_Z2A(const void *d1, const void *d2) { - ugFsNodeInfo *type1 = (ugFsNodeInfo *) d1; - ugFsNodeInfo *type2 = (ugFsNodeInfo *) d2; - gchar *ext1 = NULL; - gchar *ext2 = NULL; - int result = 0; - - if (type1 == NULL || type1->ext == NULL) { - return -1; - } - - if (type2 == NULL || type2->ext == NULL) { - return 1; - } - - ext1 = g_ascii_strdown(type1->ext, strlen(type1->ext)); - if (ext1 == NULL) { - return (1); - } - ext2 = g_ascii_strdown(type2->ext, strlen(type2->ext)); - if (ext2 == NULL) { - g_free(ext1); - ext1 = NULL; - return (-1); - } - result = g_strcmp0(ext1, ext2); - g_free(ext1); - ext1 = NULL; - g_free(ext2); - ext2 = NULL; - if (result == 0) { - result = __mf_ug_fs_oper_sort_by_priority(d1, d2, MF_UG_SORT_BY_PRIORITY_TYPE_Z2A); - } - - return -result; + ugFsNodeInfo *type1 = (ugFsNodeInfo *) d1; + ugFsNodeInfo *type2 = (ugFsNodeInfo *) d2; + gchar *ext1 = NULL; + gchar *ext2 = NULL; + int result = 0; + + if (type1 == NULL || type1->ext == NULL) { + return -1; + } + + if (type2 == NULL || type2->ext == NULL) { + return 1; + } + + ext1 = g_ascii_strdown(type1->ext, strlen(type1->ext)); + if (ext1 == NULL) { + return (1); + } + ext2 = g_ascii_strdown(type2->ext, strlen(type2->ext)); + if (ext2 == NULL) { + g_free(ext1); + ext1 = NULL; + return (-1); + } + result = g_strcmp0(ext1, ext2); + g_free(ext1); + ext1 = NULL; + g_free(ext2); + ext2 = NULL; + if (result == 0) { + result = __mf_ug_fs_oper_sort_by_priority(d1, d2, MF_UG_SORT_BY_PRIORITY_TYPE_Z2A); + } + + return -result; } -/*order: the one with smaller size will be shown earlier*/ +/*order: the one with smaller size will be shown earlier*/ /********************* -**Function name: __sort_by_name_cb +**Function name: __sort_by_name_cb **Parameter: -** const void *d1: node1 to compare -** const void *d2: node2 to compare +** const void *d1: node1 to compare +** const void *d2: node2 to compare ** **Return value: -** -1 if d1 > d2 -** 0 if d1 = d2 -** 1 if d1 < d2 +** -1 if d1 > d2 +** 0 if d1 = d2 +** 1 if d1 < d2 ** **Action: -** sort the list order by size, rule is the smaller the later shown +** sort the list order by size, rule is the smaller the later shown *********************/ static int __mf_ug_fs_oper_sort_by_size_cb_L2S(const void *d1, const void *d2) { - int ret = 0; - ugFsNodeInfo *size1 = (ugFsNodeInfo *) d1; - ugFsNodeInfo *size2 = (ugFsNodeInfo *) d2; - - if (!d1) { - return -1; - } - - if (!d2) { - return 1; - } - - if (size1->size > size2->size) { - ret = -1; - } else if (size1->size < size2->size) { - ret = 1; - } else { - ret = 0; - } - - if (ret == 0) { - ret = __mf_ug_fs_oper_sort_by_priority(d1, d2, MF_UG_SORT_BY_PRIORITY_SIZE_L2S); - } - return ret; + int ret = 0; + ugFsNodeInfo *size1 = (ugFsNodeInfo *) d1; + ugFsNodeInfo *size2 = (ugFsNodeInfo *) d2; + + if (!d1) { + return -1; + } + + if (!d2) { + return 1; + } + + if (size1->size > size2->size) { + ret = -1; + } else if (size1->size < size2->size) { + ret = 1; + } else { + ret = 0; + } + + if (ret == 0) { + ret = __mf_ug_fs_oper_sort_by_priority(d1, d2, MF_UG_SORT_BY_PRIORITY_SIZE_L2S); + } + return ret; } /********************* -**Function name: mf_fs_oper_sort_list +**Function name: mf_fs_oper_sort_list **Parameter: -** Eina_List **list: the list we need to sort -** int sort_opt: sort option +** Eina_List **list: the list we need to sort +** int sort_opt: sort option ** **Return value: -** void +** void ** **Action: -** sort the list order by sort option with the call back +** sort the list order by sort option with the call back *********************/ void mf_ug_fs_oper_sort_list(Eina_List **list, int sort_opt) { - Eina_Compare_Cb sort_func = NULL; - if (!(*list)) { - return; - } - switch (sort_opt) { - case MF_UG_SORT_BY_NAME_A2Z: - sort_func = __mf_ug_fs_oper_sort_by_name_cb_A2Z; - break; - case MF_UG_SORT_BY_TYPE_A2Z: - sort_func = __mf_ug_fs_oper_sort_by_type_cb_A2Z; - break; - case MF_UG_SORT_BY_SIZE_S2L: - sort_func = __mf_ug_fs_oper_sort_by_size_cb_S2L; - break; - case MF_UG_SORT_BY_DATE_O2R: - sort_func = __mf_ug_fs_oper_sort_by_date_cb_O2R; - break; - case MF_UG_SORT_BY_NAME_Z2A: - sort_func = __mf_ug_fs_oper_sort_by_name_cb_Z2A; - break; - case MF_UG_SORT_BY_TYPE_Z2A: - sort_func = __mf_ug_fs_oper_sort_by_type_cb_Z2A; - break; - case MF_UG_SORT_BY_SIZE_L2S: - sort_func = __mf_ug_fs_oper_sort_by_size_cb_L2S; - break; - case MF_UG_SORT_BY_DATE_R2O: - sort_func = __mf_ug_fs_oper_sort_by_date_cb_R2O; - break; - default: - sort_func = __mf_ug_fs_oper_sort_by_type_cb_A2Z; - break; - } - *list = eina_list_sort(*list, eina_list_count(*list), sort_func); + Eina_Compare_Cb sort_func = NULL; + if (!(*list)) { + return; + } + switch (sort_opt) { + case MF_UG_SORT_BY_NAME_A2Z: + sort_func = __mf_ug_fs_oper_sort_by_name_cb_A2Z; + break; + case MF_UG_SORT_BY_TYPE_A2Z: + sort_func = __mf_ug_fs_oper_sort_by_type_cb_A2Z; + break; + case MF_UG_SORT_BY_SIZE_S2L: + sort_func = __mf_ug_fs_oper_sort_by_size_cb_S2L; + break; + case MF_UG_SORT_BY_DATE_O2R: + sort_func = __mf_ug_fs_oper_sort_by_date_cb_O2R; + break; + case MF_UG_SORT_BY_NAME_Z2A: + sort_func = __mf_ug_fs_oper_sort_by_name_cb_Z2A; + break; + case MF_UG_SORT_BY_TYPE_Z2A: + sort_func = __mf_ug_fs_oper_sort_by_type_cb_Z2A; + break; + case MF_UG_SORT_BY_SIZE_L2S: + sort_func = __mf_ug_fs_oper_sort_by_size_cb_L2S; + break; + case MF_UG_SORT_BY_DATE_R2O: + sort_func = __mf_ug_fs_oper_sort_by_date_cb_R2O; + break; + default: + sort_func = __mf_ug_fs_oper_sort_by_type_cb_A2Z; + break; + } + *list = eina_list_sort(*list, eina_list_count(*list), sort_func); } int mf_ug_fs_oper_create_dir(const char *dir) { - int option = MF_ERROR_CHECK_SRC_ARG_VALID | MF_ERROR_CHECK_DUPLICATED; - int ret = __mf_ug_fs_oper_file_system_error(dir, dir, option); - - if (ret != 0) { - return ret; - } + int option = MF_ERROR_CHECK_SRC_ARG_VALID | MF_ERROR_CHECK_DUPLICATED; + int ret = __mf_ug_fs_oper_file_system_error(dir, dir, option); - ret = mf_ug_file_attr_is_right_dir_path(dir); + if (ret != 0) { + return ret; + } - if (ret != 0) { - return ret; - } + ret = mf_ug_file_attr_is_right_dir_path(dir); - mode_t default_mode = S_IRUSR | S_IWUSR | S_IXUSR | S_IRGRP | S_IXGRP | S_IROTH | S_IXOTH; + if (ret != 0) { + return ret; + } + if (!mf_mkpath(dir)) { + return MYFILE_ERR_DIR_CREATE_FAIL; + } - if (mkdir(dir, default_mode) < 0) { - return MYFILE_ERR_DIR_CREATE_FAIL; - } - return MYFILE_ERR_NONE; + return MYFILE_ERR_NONE; } diff --git a/src/common/mf-ug-cb.c b/src/common/mf-ug-cb.c index f7ad1a5..ac3c977 100644 --- a/src/common/mf-ug-cb.c +++ b/src/common/mf-ug-cb.c @@ -1,25 +1,24 @@ /* - * 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. - */ +* Copyright (c) 2000-2015 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. +* +*/ #include <stdio.h> -#include <Elementary.h> -#include <vconf.h> -#include <vconf-keys.h> #include <pthread.h> -#include <power.h> +#include <Elementary.h> +#include <device/power.h> #include "mf-ug-main.h" #include "mf-ug-util.h" @@ -29,11 +28,21 @@ #include "mf-ug-fm-svc-wrapper.h" #include "mf-ug-resource.h" #include "mf-ug-list-play.h" +#include "mf-ug-widget.h" +#include "mf-ug-cb.h" +#include "mf-ug-db-handle.h" +#include "mf-ug-music.h" +#include "mf-ug-ringtone-view.h" +#include "mf-ug-file-util.h" + +#define UG_MAX_LEN_VIB_DURATION 0.5 -#define UG_MAX_LEN_VIB_DURATION 0.5 #ifdef UG_OPERATION_SELECT_MODE -#define RESULT_KEY "http://tizen.org/appcontrol/data/selected" + #define RESULT_KEY "http://tizen.org/appcontrol/data/selected" #endif + +bool g_is_press_cancel_button = false; + /****************************** ** Prototype : mf_ug_cb_back_button_cb ** Description : @@ -52,110 +61,140 @@ ** ******************************/ -void mf_ug_cb_back_button_cb(void *data, Evas_Object *obj, void *event_info) +Eina_Bool mf_ug_ringtone_present_del_result(void *data) +{ + UG_TRACE_BEGIN; + ugData *ugd = (ugData *)data; + ug_mf_retvm_if(ugd == NULL, EINA_FALSE, "ugData is NULL"); + + if (ugd->ug_UiGadget.ug_iSoundMode != mf_ug_sound_mode_none && ugd->ug_UiGadget.default_ringtone) { + if (mf_ug_popup_present_flag_get()) { + char *result = NULL; + app_control_h app_control = NULL; + result = g_strdup(DEFAULT_RINGTONE_MARK); + if (result) { + SECURE_ERROR("result is [%s]", result); + int ret = 0; + ret = app_control_create(&app_control); + if (ret == APP_CONTROL_ERROR_NONE) { + app_control_add_extra_data(app_control, "result", result); + app_control_add_extra_data(app_control, APP_CONTROL_DATA_SELECTED, result); + ug_send_result_full(ugd->ug, app_control, APP_CONTROL_RESULT_SUCCEEDED); + app_control_destroy(app_control); + } + SECURE_DEBUG("result is [%s]", result); + UG_SAFE_FREE_CHAR(result); + return EINA_TRUE; + } + + } + } + return EINA_FALSE; +} + +bool mf_ug_cb_back_operation(void *data) { - UG_TRACE_BEGIN; - ugData *ugd = (ugData *)data; - ug_mf_retm_if(ugd == NULL, "ugData is NULL"); - - if (ugd->ug_Status.ug_bCancelDisableFlag) { - return; - } - if (0 != ugd->ug_ListPlay.ug_Player) { - mf_ug_list_play_destory_playing_file(ugd); - UG_SAFE_FREE_CHAR(ugd->ug_ListPlay.ug_pPlayFilePath); - } - if (ugd->ug_Status.ug_iMore == UG_MORE_SEARCH) { - - ugNaviBar *pNavi_s = mf_ug_navi_bar_get_in_use_navi(ugd); - ug_mf_retm_if(pNavi_s == NULL, "get navi failed"); - Evas_Object *playout = ugd->ug_MainWindow.ug_pNaviLayout; - ug_mf_retm_if(playout == NULL, "get conformant failed"); - Evas_Object *newContent = NULL; - - newContent = mf_ug_genlist_create_content_list_view(ugd); - - Evas_Object *unUsed = elm_object_part_content_unset(playout, "part1"); - evas_object_del(unUsed); - - elm_object_part_content_set(playout, "part1", newContent); - ugd->ug_Status.ug_iMore = UG_MORE_DEFAULT; - } else { - if (ugd->ug_Status.ug_bSettingEntry == true && ugd->ug_Status.ug_bInSettingView == false) { - Eina_List *l = NULL; - void *item = NULL; - ugNaviBar *pNavi_s = NULL; - ugNaviBar *pNavi_toshow = NULL; - GString *title = NULL; - - if (ugd->ug_ListPlay.ug_iPlayState == PLAY_STATE_PLAYING || ugd->ug_ListPlay.ug_iPlayState == PLAY_STATE_PAUSED) { - mf_ug_list_play_destory_playing_file(ugd); - UG_SAFE_FREE_CHAR(ugd->ug_ListPlay.ug_pPlayFilePath); - } - - EINA_LIST_FOREACH(ugd->ug_MainWindow.ug_pNaviBarList, l, item) { - pNavi_s = (ugNaviBar *)item; - if (pNavi_s == NULL) - return; - if (g_strcmp0(pNavi_s->ug_pNaviLabel, MF_UG_LABEL_PHONE) == 0) { - if (pNavi_s->ug_pCurrentPath != NULL) { - free(pNavi_s->ug_pCurrentPath); - pNavi_s->ug_pCurrentPath = NULL; - } - pNavi_s->ug_pCurrentPath = strdup(ugd->ug_Status.ug_pEntryPath); - pNavi_s->ug_bNaviFlagInUse = true; - pNavi_toshow = pNavi_s; - } else { - if (pNavi_s->ug_pCurrentPath != NULL) { - free(pNavi_s->ug_pCurrentPath); - pNavi_s->ug_pCurrentPath = NULL; - } - pNavi_s->ug_pCurrentPath = strdup(MEMORY_FOLDER); - pNavi_s->ug_bNaviFlagInUse = false; - } - - } - - if (pNavi_toshow == NULL) { - ug_debug("pNavi_toshow is NULL"); - return; - } - - if (ugd->ug_Status.ug_pPath) { - g_string_free(ugd->ug_Status.ug_pPath, TRUE); - ugd->ug_Status.ug_pPath = NULL; - } - - ugd->ug_Status.ug_bInSettingView = true; - - if (ugd->ug_Status.ug_pPath) { - g_string_free(ugd->ug_Status.ug_pPath, TRUE); - ugd->ug_Status.ug_pPath = NULL; - } - - pNavi_toshow->ug_pCurrentPath = strdup(ugd->ug_Status.ug_pEntryPath); - ugd->ug_Status.ug_pPath = g_string_new(pNavi_toshow->ug_pCurrentPath); - title = mf_ug_fm_svc_wapper_get_file_name(ugd->ug_Status.ug_pPath); - - if (title != NULL) { - pNavi_toshow->ug_pNaviTitle = g_strdup(title->str); - g_string_free(title, TRUE); - title = NULL; - } - ugd->ug_Status.ug_iViewType = mf_ug_view_normal; - mf_ug_navi_bar_create_default_view(ugd); - mf_ug_ctrl_bar_set_item_disable(ugd); - - elm_object_item_text_set(ugd->ug_MainWindow.ug_pNaviItem, pNavi_toshow->ug_pNaviTitle); - elm_naviframe_item_title_visible_set(ugd->ug_MainWindow.ug_pNaviItem, EINA_TRUE); - - } else { - ug_destroy_me(ugd->ug); - } - - } - UG_TRACE_END; + UG_TRACE_BEGIN; + ugData *ugd = (ugData *)data; + + mf_ug_view_node_s *view_node = NULL; + view_node = mf_ug_util_path_pop(); + if (view_node && view_node->path) { + if (g_strcmp0(ugd->ug_Status.ug_launch_path, view_node->path) == 0 && ugd->ug_Status.ug_launch_view == ugd->ug_Status.ug_iViewType) { + mf_ug_util_view_node_free(&view_node); + return true; + } + } + view_node = NULL; + view_node = mf_ug_util_path_top_get(); + if (view_node) { + UG_SAFE_FREE_GSTRING(ugd->ug_Status.ug_pPath); + ugd->ug_Status.ug_pPath = g_string_new(view_node->path); + ugd->ug_Status.ug_iViewType = view_node->view_type; + ug_error("================= top path is [%s] view_type is [%d] ", ugd->ug_Status.ug_pPath->str, ugd->ug_Status.ug_iViewType); + mf_ug_navi_bar_create_default_view(ugd); + /*} modify by wangyan + } modify by wangyan*/ + mf_ug_navi_bar_set_ctrl_item_disable(ugd); + elm_naviframe_item_title_enabled_set(ugd->ug_MainWindow.ug_pNaviItem, EINA_TRUE, EINA_FALSE); + return false; + } else { + return true; + } + return true; + +} + +Eina_Bool mf_ug_cb_back_button_cb(void *data, Elm_Object_Item *it) +{ + UG_TRACE_BEGIN; + ugData *ugd = (ugData *)data; + ug_mf_retvm_if(ugd == NULL, EINA_FALSE, "ugData is NULL"); + + if (ugd->ug_Status.ug_bCancelDisableFlag) { + return EINA_FALSE; + } + if (0 != ugd->ug_ListPlay.ug_Player) { + mf_ug_list_play_destory_playing_file(ugd); + ugd->ug_ListPlay.play_data = NULL; + UG_SAFE_FREE_CHAR(ugd->ug_ListPlay.ug_pPlayFilePath); + } + if (ugd->ug_Status.ug_iViewType == mf_ug_view_ringtone_del) { + ugd->ug_Status.ug_iViewType = mf_ug_view_normal; + ugd->ug_Status.ug_iCheckedCount = 0; + ugd->ug_Status.ug_bSelectAllChecked = EINA_FALSE; + mf_ug_create_rintone_view(ugd); + mf_ug_main_update_ctrl_in_idle(ugd); + return EINA_FALSE; + } + if (ugd->ug_Status.ug_iMore == UG_MORE_SEARCH) { + Evas_Object *playout = ugd->ug_MainWindow.ug_pNaviLayout; + ug_mf_retvm_if(playout == NULL, EINA_FALSE, "get conformant failed"); + Evas_Object *newContent = NULL; + + newContent = mf_ug_genlist_create_content_list_view(ugd); + + Evas_Object *unUsed = elm_object_part_content_unset(playout, "part1"); + evas_object_del(unUsed); + + elm_object_part_content_set(playout, "part1", newContent); + ugd->ug_Status.ug_iMore = UG_MORE_DEFAULT; + } else { + bool is_exit_ug = true;/*Fix the P130924-02121 bug*/ + if (g_is_press_cancel_button == true) { + is_exit_ug = true; + } else { + is_exit_ug = mf_ug_cb_back_operation(ugd); + } + g_is_press_cancel_button = false;/*initiate it.*/ + ug_error("is_exit_ug is [%d]", is_exit_ug); + if (is_exit_ug) { + /*Fix the P130910-01714 problem, when back from the UG, the other app will be crashed. need to communicate with other app, then apply the new code. + Fix the P131009-01740, and P130902-01617*/ + if (!mf_ug_ringtone_present_del_result(ugd)) { + app_control_h service = NULL; + int ret = app_control_create(&service); + if (ret == APP_CONTROL_ERROR_NONE) { + ug_send_result_full(ugd->ug, service, APP_CONTROL_RESULT_FAILED); + app_control_destroy(service); + } + } + ug_destroy_me(ugd->ug); + ugd->ug = NULL; + } + } + UG_TRACE_END; + return EINA_FALSE; + +} +void mf_ug_cb_cancel_button_cb(void *data, Evas_Object *obj, void *event_info) +{ + UG_TRACE_BEGIN; + ugData *ugd = (ugData *)data; + ug_mf_retm_if(ugd == NULL, "ugData is NULL"); + g_is_press_cancel_button = true; + mf_ug_cb_back_button_cb(ugd, NULL); } /****************************** @@ -175,236 +214,268 @@ void mf_ug_cb_back_button_cb(void *data, Evas_Object *obj, void *event_info) ** Modification : Created function ** ******************************/ - -void mf_ug_cb_add_button_cb(void *data, Evas_Object *obj, void *event_info) +static void __mf_ug_cb_ringtone_set(void *data) { - UG_TRACE_BEGIN; - ugData *ugd = (ugData *)data; - ug_mf_retm_if(ugd == NULL, "ugData is NULL"); - - service_h service; - - char *result = NULL; - - if (ugd->ug_Status.ug_b_NaviPushFlag) { - UG_TRACE_END; - return; - } - - if (ugd->ug_UiGadget.ug_iSelectMode == EXPORT_MODE || ugd->ug_UiGadget.ug_iSelectMode == SAVE_MODE) { - result = g_strdup(ugd->ug_Status.ug_pPath->str); - } else { - result = mf_ug_util_get_send_result(ugd); - } - if (ugd->ug_Status.ug_bRingtoneSet) { - ug_error("result is [%s]", result); - int ret = MYFILE_ERR_NONE; - ret = mf_ug_file_attr_is_drm_file(result); - ug_error("ret is [%d]", ret); - if (ret == MYFILE_ERR_NONE) { - ret = mf_ug_fs_oper_drm_is_valid(result, DRM_PERMISSION_TYPE_PLAY); - ug_error("ret is [%d]", ret); - if (ret == true) { - ret = mf_ug_fs_oper_drm_is_action_allowed(result, DRM_HAS_VALID_SETAS_STATUS, DRM_SETAS_RINGTONE); - ug_error("ret is [%d]", ret); - } - if (ret == false) { - mf_ug_popup_create(ugd, UG_POPMODE_TEXT, NULL, MF_UG_LABEL_DRM_UNABLE_SET, NULL, NULL, NULL, NULL, NULL); - return; - } - } - } - if (result) { - int ret = 0; - ret = service_create(&service); - if (ret == SERVICE_ERROR_NONE) { -#ifdef UG_OPERATION_SELECT_MODE - if (ugd->ug_UiGadget.ug_bOperationSelectFlag) { - service_add_extra_data(service, RESULT_KEY, result); - } else { - service_add_extra_data(service, "result", result); - } -#else - service_add_extra_data(service, "result", result); -#endif - ug_send_result(ugd->ug, service); - service_destroy(service); - } - ug_debug("result is [%s]", result); - UG_SAFE_FREE_CHAR(result); - } - - if (0 != ugd->ug_ListPlay.ug_Player) { - mf_ug_list_play_destory_playing_file(ugd); - UG_SAFE_FREE_CHAR(ugd->ug_ListPlay.ug_pPlayFilePath); - } - ug_destroy_me(ugd->ug); - UG_TRACE_END; + UG_TRACE_BEGIN; + ugData *ugd = (ugData *)data; + ug_mf_retm_if(ugd == NULL, "ugd is NULL"); + ug_mf_retm_if(ugd->ug == NULL, "ugd is NULL"); /*Fixed the P131011-01548 by jian12.li, sometimes, if the ug is extised, we still send the result to other app.*/ + + char *file_path = mf_ug_util_get_send_result(ugd); + app_control_h app_control = NULL; + if (mf_ug_is_silent(ugd, file_path)) { + UG_SAFE_FREE_CHAR(file_path); + file_path = g_strdup(SILENT); + if (file_path) { + SECURE_DEBUG("result is [%s]", file_path); + int ret = 0; + ret = app_control_create(&app_control); + if (ret == APP_CONTROL_ERROR_NONE) { + app_control_add_extra_data(app_control, "result", file_path); + app_control_add_extra_data(app_control, APP_CONTROL_DATA_SELECTED, file_path); + ug_send_result_full(ugd->ug, app_control, APP_CONTROL_RESULT_SUCCEEDED); + app_control_destroy(app_control); + } + SECURE_DEBUG("result is [%s]", file_path); + UG_SAFE_FREE_CHAR(file_path); + } + ug_destroy_me(ugd->ug); + ugd->ug = NULL; + + } else if (ugd->ug_UiGadget.ug_iSoundMode == mf_ug_sound_mode_alert + || mf_ug_is_default_ringtone(ugd, file_path) + || mf_ug_fm_svc_wapper_is_default_ringtone(ugd, file_path)/*Fixed P140612-01028, only support the added music file */) { + if (file_path) { + SECURE_DEBUG("result is [%s]", file_path); + if (mf_ug_is_default_ringtone(ugd, file_path)) { + UG_SAFE_FREE_CHAR(file_path); + file_path = g_strdup(DEFAULT_RINGTONE_MARK); + } + int ret = 0; + ret = app_control_create(&app_control); + if (ret == APP_CONTROL_ERROR_NONE) { + app_control_add_extra_data(app_control, "result", file_path); + app_control_add_extra_data(app_control, APP_CONTROL_DATA_SELECTED, file_path); + ug_send_result_full(ugd->ug, app_control, APP_CONTROL_RESULT_SUCCEEDED); + app_control_destroy(app_control); + } + SECURE_DEBUG("result is [%s]", file_path); + UG_SAFE_FREE_CHAR(file_path); + } + ug_destroy_me(ugd->ug); + ugd->ug = NULL; + } else { + if (mf_ug_ringtone_is_default(ugd->ug_UiGadget.ug_iSoundMode, file_path)) { + int ret = 0; + ret = app_control_create(&app_control); + if (ret == APP_CONTROL_ERROR_NONE) { + app_control_add_extra_data(app_control, "result", file_path); + app_control_add_extra_data(app_control, APP_CONTROL_DATA_SELECTED, file_path); + ug_send_result_full(ugd->ug, app_control, APP_CONTROL_RESULT_SUCCEEDED); + app_control_destroy(app_control); + } + SECURE_DEBUG("result is [%s]", file_path); + UG_SAFE_FREE_CHAR(file_path); + ug_destroy_me(ugd->ug); + ugd->ug = NULL; + } + } + return; } -void mf_ug_cb_list_by_response_cb(void *data) +static bool __mf_ug_cb_normal_result_send(void *data) { - ugData *ugd = (ugData *)data; - assert(ugd); - - ugNaviBar *pNavi_s = mf_ug_navi_bar_get_in_use_navi(ugd); - ug_mf_retm_if(pNavi_s == NULL, "get navi failed"); - Evas_Object *playout = ugd->ug_MainWindow.ug_pNaviLayout; - ug_mf_retm_if(playout == NULL, "get conformant failed"); - Evas_Object *newContent = NULL; - - newContent = mf_ug_genlist_create_content_list_view(ugd); + UG_TRACE_BEGIN; + ugData *ugd = (ugData *)data; + ug_mf_retv_if(ugd == NULL, false); + ug_mf_retv_if(ugd->ug == NULL, false); /*Fixed the P131011-01548 by jian12.li, sometimes, if the ug is extised, we still send the result to other app.*/ + + bool flag_exit = true; + char *result = NULL; + app_control_h app_control = NULL; + + if (ugd->ug_UiGadget.ug_iSelectMode == EXPORT_MODE || ugd->ug_UiGadget.ug_iSelectMode == SAVE_MODE) { + result = g_strdup(ugd->ug_Status.ug_pPath->str); + } else { + result = mf_ug_util_get_send_result(ugd); + } + + if (result) { + SECURE_ERROR("result is [%s]", result); + int ret = 0; + ret = app_control_create(&app_control); + if (ret == APP_CONTROL_ERROR_NONE) { + int count = 0; + char **array = mf_ug_util_get_send_result_array(ugd, &count); + int i = 0; + if (array) { + app_control_add_extra_data_array(app_control, APP_CONTROL_DATA_SELECTED, (const char **)array, count); + app_control_add_extra_data_array(app_control, APP_CONTROL_DATA_PATH, (const char **)array, count); + app_control_add_extra_data_array(app_control, "path", (const char **)array, count); + for (i = 0; i < count; i++) { + UG_SAFE_FREE_CHAR(array[i]); + } + UG_SAFE_FREE_CHAR(array); + } else { + ug_error("Invalid selection!!"); + } + app_control_add_extra_data(app_control, "result", result); + app_control_add_extra_data(app_control, APP_CONTROL_DATA_SELECTED, result); + ug_send_result_full(ugd->ug, app_control, APP_CONTROL_RESULT_SUCCEEDED); + app_control_destroy(app_control); + } else { + ug_error("failed to create app control."); + } + SECURE_DEBUG("result is [%s]", result); + UG_SAFE_FREE_CHAR(result); + } else { + ug_error("Invalid selection!!"); + } + return flag_exit; +} - Evas_Object *unUsed = elm_object_part_content_unset(playout, "part1"); - evas_object_del(unUsed); +#ifdef UG_OPERATION_SELECT_MODE +static bool __mf_ug_selected_mode_result_send(void *data) +{ + UG_TRACE_BEGIN; + ugData *ugd = (ugData *)data; + ug_mf_retv_if(ugd == NULL, false); + ug_mf_retv_if(ugd->ug == NULL, false);/*Fixed the P131011-01548 by jian12.li, sometimes, if the ug is extised, we still send the result to other app.*/ + + bool flag_exist = true; + app_control_h app_control = NULL; + + if (ugd->ug_UiGadget.ug_bOperationSelectFlag) { + ug_error(); + int ret = 0; + ret = app_control_create(&app_control); + if (ret == APP_CONTROL_ERROR_NONE) { + int count = 0; + char **array = mf_ug_util_get_send_result_array(ugd, &count); + int i = 0; + if (array) { + app_control_add_extra_data_array(app_control, APP_CONTROL_DATA_SELECTED, (const char **)array, count); + app_control_add_extra_data_array(app_control, APP_CONTROL_DATA_PATH, (const char **)array, count); + + for (i = 0; i < count; i++) { + UG_SAFE_FREE_CHAR(array[i]); + } + UG_SAFE_FREE_CHAR(array); + ug_send_result_full(ugd->ug, app_control, APP_CONTROL_RESULT_SUCCEEDED); + app_control_destroy(app_control); + } else { + ug_error("Invalid selection!!"); + app_control_destroy(app_control); + } + } else { + ug_error("failed to create app control."); + } + } else { + flag_exist = __mf_ug_cb_normal_result_send(ugd); + + } + return flag_exist; +} +#endif - elm_object_part_content_set(playout, "part1", newContent); +void mf_ug_cb_add_button_cb(void *data, Evas_Object *obj, void *event_info) +{ + UG_TRACE_BEGIN; + ugData *ugd = (ugData *)data; + ug_mf_retm_if(ugd == NULL, "ugData is NULL"); + + if (0 != ugd->ug_ListPlay.ug_Player) { + ugd->ug_ListPlay.hiden_flag = true; + mf_ug_list_play_destory_playing_file(ugd); + mf_ug_list_disable_play_itc(ugd, false);; + ugd->ug_ListPlay.play_data = NULL; + UG_SAFE_FREE_CHAR(ugd->ug_ListPlay.ug_pPlayFilePath); + } + if (ugd->ug_UiGadget.ug_iSoundMode != mf_ug_sound_mode_none) { + __mf_ug_cb_ringtone_set(ugd); + return; + } +#ifdef UG_OPERATION_SELECT_MODE + if (__mf_ug_selected_mode_result_send(ugd)) { + ug_destroy_me(ugd->ug); + ugd->ug = NULL; + } +#else + if (__mf_ug_cb_normal_result_send(ugd)) { + ug_destroy_me(ugd->ug); + ugd->ug = NULL; + } +#endif + UG_TRACE_END; } - -void mf_ug_cb_list_by_button_callback(void *data, Evas_Object * obj, void *event_info) +void mf_ug_cb_delete_button_confirm_cb(void *data, Evas_Object *obj, void *event_info) { - assert(data); - assert(obj); - ugData *ugd = (ugData *)data; - - Evas_Object *btn = (Evas_Object *)obj; - const char *label = elm_object_text_get(btn); - int iListBySortType = 0; - - if (g_strcmp0(label, MF_UG_LABEL_ASCENDING) == 0 ) { - switch(ugd->ug_Status.ug_iSelectedSortType) { - case 0: - iListBySortType = MF_UG_SORT_BY_NAME_Z2A; - break; - case 1: - iListBySortType = MF_UG_SORT_BY_DATE_R2O; - break; - - case 2: - iListBySortType = MF_UG_SORT_BY_SIZE_L2S; - break; - case 3: - iListBySortType = MF_UG_SORT_BY_TYPE_Z2A; - break; - default: - iListBySortType = MF_UG_SORT_BY_DATE_R2O; - break; - } - } else if(g_strcmp0(label, MF_UG_LABEL_DESCENDING) == 0 ) { - switch(ugd->ug_Status.ug_iSelectedSortType) { - case 0: - iListBySortType = MF_UG_SORT_BY_NAME_A2Z; - break; - case 1: - iListBySortType = MF_UG_SORT_BY_DATE_O2R; - break; - - case 2: - iListBySortType = MF_UG_SORT_BY_SIZE_S2L; - break; - case 3: - iListBySortType = MF_UG_SORT_BY_TYPE_A2Z; - break; - default: - iListBySortType = MF_UG_SORT_BY_DATE_O2R; - break; - } - - } - ugd->ug_Status.ug_iSortType = iListBySortType; - mf_ug_cb_list_by_response_cb(ugd); + ugData *ugd = (ugData *)data; + Evas_Object *btn = (Evas_Object *)obj; + const char *label = elm_object_text_get(btn); + ug_error("label = %s", label); + if (g_strcmp0(label, mf_ug_widget_get_text(MF_UG_LABEL_DELETE)) == 0) { + mf_ug_cb_delete_button_cb(data, obj, event_info); + UG_SAFE_FREE_OBJ(ugd->ug_MainWindow.ug_pNormalPopup); + } else { + UG_SAFE_FREE_OBJ(ugd->ug_MainWindow.ug_pNormalPopup); + } } - -void mf_ug_cb_popup_deleted_cb(void *data, Evas_Object * obj, void *event_info) +void mf_ug_cb_delete_button_popup_create(void *data, Evas_Object *obj, void *event_info) { - ugData *ugd = (ugData *)data; - assert(ugd); - - mf_ug_cb_list_by_button_callback(data, obj, event_info); + UG_TRACE_BEGIN; + ugData *ugd = (ugData *)data; + ug_mf_retm_if(ugd == NULL, "ugData is NULL"); - if (ugd->ug_MainWindow.ug_pNormalPopup != NULL) { - evas_object_del(ugd->ug_MainWindow.ug_pNormalPopup); - } - ugd->ug_MainWindow.ug_pNormalPopup = NULL; + if (ugd->ug_MainWindow.ug_pNormalPopup) { + UG_SAFE_FREE_OBJ(ugd->ug_MainWindow.ug_pNormalPopup); + } + ugd->ug_MainWindow.ug_pNormalPopup = mf_ug_popup_create(ugd, UG_POPMODE_TEXT_TWO_BTN, NULL, MF_UG_BUTTON_LABEL_DEL, MF_UG_LABEL_CANCEL, MF_UG_LABEL_DELETE, NULL, mf_ug_cb_delete_button_confirm_cb, ugd); + UG_TRACE_END; } -void mf_ug_cb_sort_by_cb(void *data, Evas_Object *obj, void *event_info) -{ - UG_TRACE_BEGIN; - ugData *ugd = (ugData *)data; - ug_mf_retm_if(ugd == NULL, "ugData is NULL"); - - if (ugd->ug_Status.ug_b_NaviPushFlag) { - UG_TRACE_END; - return; - } - ugd->ug_MainWindow.ug_pNormalPopup = mf_ug_popup_create(ugd, UG_POPMODE_LIST_BY, MF_UG_LABEL_LIST_BY, - NULL, NULL, NULL, NULL, mf_ug_cb_popup_deleted_cb, ugd); - UG_TRACE_END; -} -void mf_ug_cb_goto_myfile_button_cb(void *data, Evas_Object *obj, void *event_info) +void mf_ug_cb_delete_button_cb(void *data, Evas_Object *obj, void *event_info) { - UG_TRACE_BEGIN; - ugData *ugd = (ugData *)data; - ug_mf_retm_if(ugd == NULL, "ugData is NULL"); - - if (ugd->ug_Status.ug_bCancelDisableFlag) { - ug_debug("ug_Status.ug_bCancelDisableFlag is true"); - return; - } - ugNaviBar *item = NULL; - Eina_List *l = NULL; - - ugNaviBar *pNavi_s = NULL; - ugNaviBar *pNavi_toshow = NULL; - - EINA_LIST_FOREACH(ugd->ug_MainWindow.ug_pNaviBarList, l, item) { - pNavi_s = (ugNaviBar *)item; - if (pNavi_s == NULL) - return; - if (g_strcmp0(pNavi_s->ug_pNaviLabel, MF_UG_LABEL_PHONE) == 0) { - if (pNavi_s->ug_pCurrentPath != NULL) { - free(pNavi_s->ug_pCurrentPath); - pNavi_s->ug_pCurrentPath = NULL; - } - pNavi_s->ug_pCurrentPath = strdup(PHONE_FOLDER); - pNavi_s->ug_bNaviFlagInUse = true; - pNavi_toshow = pNavi_s; - } else { - if (pNavi_s->ug_pCurrentPath != NULL) { - free(pNavi_s->ug_pCurrentPath); - pNavi_s->ug_pCurrentPath = NULL; - } - pNavi_s->ug_pCurrentPath = strdup(MEMORY_FOLDER); - pNavi_s->ug_bNaviFlagInUse = false; - } - - } - - - if (0 != ugd->ug_ListPlay.ug_Player) { - mf_ug_list_play_destory_playing_file(ugd); - UG_SAFE_FREE_CHAR(ugd->ug_ListPlay.ug_pPlayFilePath); - } - - if (ugd->ug_Status.ug_pPath) { - g_string_free(ugd->ug_Status.ug_pPath, TRUE); - ugd->ug_Status.ug_pPath = NULL; - } - ugd->ug_Status.ug_pPath = g_string_new(SOUNDS_FOLDER); - UG_SAFE_FREE_CHAR(pNavi_s->ug_pCurrentPath); - pNavi_s->ug_pCurrentPath = strdup(ugd->ug_Status.ug_pPath->str); - - ugd->ug_Status.ug_bInSettingView = false; - - mf_ug_navi_bar_create_default_view(ugd); - ugd->ug_Status.ug_bCancelDisableFlag = true; - mf_ug_ctrl_bar_set_item_disable(ugd); + UG_TRACE_BEGIN; + ugData *ugd = (ugData *)data; + ug_mf_retm_if(ugd == NULL, "ugData is NULL"); + + if (0 != ugd->ug_ListPlay.ug_Player) { + mf_ug_list_play_destory_playing_file(ugd); + ugd->ug_ListPlay.play_data = NULL; + UG_SAFE_FREE_CHAR(ugd->ug_ListPlay.ug_pPlayFilePath); + } + + Evas_Object *content = ugd->ug_MainWindow.ug_pNaviGenlist; + Elm_Object_Item *gli = elm_genlist_first_item_get(content); + Elm_Object_Item *nli = NULL; + while (gli) { + ugListItemData *params = (ugListItemData *)elm_object_item_data_get(gli); + ug_mf_retm_if(params == NULL, "params is NULL"); + if (params->ug_pCheckBox) { + if (params->ug_bChecked == true) { + if (ugd->ug_UiGadget.ug_iSoundMode == mf_ug_sound_mode_ringtone) { + mf_ug_db_handle_del_ringtone(params->ug_pItemName->str); + } else if (ugd->ug_UiGadget.ug_iSoundMode == mf_ug_sound_mode_alert) { + mf_ug_db_handle_del_alert(params->ug_pItemName->str); + } + } + } + nli = elm_genlist_item_next_get(gli); + gli = nli; + } + + if (ugd->ug_Status.ug_iViewType == mf_ug_view_ringtone_del) { + ugd->ug_Status.ug_iViewType = mf_ug_view_normal; + mf_ug_create_rintone_view(ugd); + return; + } + UG_TRACE_END; } @@ -426,38 +497,38 @@ void mf_ug_cb_goto_myfile_button_cb(void *data, Evas_Object *obj, void *event_in void mf_ug_cb_mass_storage_popup_cb(void *data) { - UG_TRACE_BEGIN; - ugData *ugd = (ugData *)data; - ug_mf_retm_if(ugd == NULL, "ugData is NULL"); + UG_TRACE_BEGIN; + ugData *ugd = (ugData *)data; + ug_mf_retm_if(ugd == NULL, "ugData is NULL"); - mf_ug_cb_back_button_cb(ugd, NULL, NULL); + mf_ug_cb_back_button_cb(ugd, NULL); - if (ugd->ug_MainWindow.ug_pNormalPopup) { - evas_object_del(ugd->ug_MainWindow.ug_pNormalPopup); - ugd->ug_MainWindow.ug_pNormalPopup = NULL; - } - UG_TRACE_END; + if (ugd->ug_MainWindow.ug_pNormalPopup) { + evas_object_del(ugd->ug_MainWindow.ug_pNormalPopup); + ugd->ug_MainWindow.ug_pNormalPopup = NULL; + } + UG_TRACE_END; } void mf_ug_cb_upper_button_pressed_cb(void *data, Evas_Object * obj, void *event_info) { - UG_TRACE_BEGIN; - ug_mf_retm_if(data == NULL, "data is NULL"); + UG_TRACE_BEGIN; + ug_mf_retm_if(data == NULL, "data is NULL"); - Evas_Object *upper_ic = (Evas_Object *)data; - elm_image_file_set(upper_ic, UG_TITLE_ICON_UPPER_PRESS, NULL); + Evas_Object *upper_ic = (Evas_Object *)data; + + elm_image_file_set(upper_ic, UG_EDJ_IMAGE, UG_TITLE_ICON_UPPER_PRESS); } void mf_ug_cb_upper_button_unpressed_cb(void *data, Evas_Object * obj, void *event_info) { - UG_TRACE_BEGIN; - ug_mf_retm_if(data == NULL, "data is NULL"); + UG_TRACE_BEGIN; + ug_mf_retm_if(data == NULL, "data is NULL"); - Evas_Object *upper_ic = (Evas_Object *)data; - elm_image_file_set(upper_ic, UG_TITLE_ICON_UPPER, NULL); + Evas_Object *upper_ic = (Evas_Object *)data; + elm_image_file_set(upper_ic, UG_EDJ_IMAGE, UG_TITLE_ICON_UPPER); } - /****************************** ** Prototype : mf_ug_cb_upper_click_cb ** Description : Samsung @@ -477,262 +548,90 @@ void mf_ug_cb_upper_button_unpressed_cb(void *data, Evas_Object * obj, void *eve ******************************/ void mf_ug_cb_upper_click_cb(void *data, Evas_Object * obj, void *event_info) { - UG_TRACE_BEGIN; - ug_mf_retm_if(data == NULL, "data is NULL"); - ugData *ugd = (ugData *)data; - ugNaviBar *pNavi_s = mf_ug_navi_bar_get_in_use_navi(ugd); - ug_mf_retm_if(pNavi_s == NULL, "pNavi_s is NULL"); - - if (ugd->ug_Status.ug_b_NaviPushFlag) { - UG_TRACE_END; - return; - } - - if (ugd->ug_Status.ug_pPath != NULL && pNavi_s->ug_pCurrentPath != NULL) { - if (g_strcmp0(pNavi_s->ug_pCurrentPath, MF_UG_LABEL_PHONE) == 0 - || g_strcmp0(pNavi_s->ug_pCurrentPath, MF_UG_LABEL_MMC) == 0) { - mf_ug_navi_bar_create_default_view(ugd); - return; - } - GString *new_path = NULL; - char *file_dir = ecore_file_dir_get(pNavi_s->ug_pCurrentPath); - if (file_dir) { - new_path = g_string_new(file_dir); - UG_SAFE_FREE_GSTRING(ugd->ug_Status.ug_pPath); - ugd->ug_Status.ug_pPath = new_path; - UG_SAFE_FREE_CHAR(pNavi_s->ug_pCurrentPath); - pNavi_s->ug_pCurrentPath = strdup(new_path->str); - free(file_dir); - file_dir = NULL; - } else { - ug_debug("file_dir is NULL"); - } - } else { - ugd->ug_Status.ug_pPath = g_string_new(MF_UG_LABEL_PHONE); - pNavi_s->ug_pCurrentPath = strdup(MF_UG_LABEL_PHONE); - } - mf_ug_navi_bar_create_default_view(ugd); - mf_ug_ctrl_bar_set_item_disable(ugd); - UG_TRACE_END; + UG_TRACE_BEGIN; + ug_mf_retm_if(data == NULL, "data is NULL"); + ugData *ugd = (ugData *)data; + if (ugd->ug_Status.ug_pPath != NULL) { + if (mf_ug_fm_svc_wapper_is_root_path(ugd->ug_Status.ug_pPath->str)) { + ugd->ug_Status.ug_iViewType = mf_ug_view_root; + } + + if (g_strcmp0(ugd->ug_Status.ug_pPath->str, mf_ug_widget_get_text(MF_UG_LABEL_PHONE)) == 0 + || g_strcmp0(ugd->ug_Status.ug_pPath->str, mf_ug_widget_get_text(MF_UG_LABEL_MMC)) == 0) { + mf_ug_navi_bar_create_default_view(ugd); + return; + } + GString *new_path = NULL; + char *file_dir = mf_dir_get(ugd->ug_Status.ug_pPath->str); + if (file_dir && ugd->ug_Status.ug_iViewType != mf_ug_view_root) { + new_path = g_string_new(file_dir); + UG_SAFE_FREE_GSTRING(ugd->ug_Status.ug_pPath); + ugd->ug_Status.ug_pPath = new_path; + free(file_dir); + file_dir = NULL; + } else { + ug_debug("file_dir is NULL"); + if (file_dir) { + free(file_dir); + file_dir = NULL; + } + } + } else { + ugd->ug_Status.ug_pPath = g_string_new(mf_ug_widget_get_text(MF_UG_LABEL_PHONE)); + } + mf_ug_navi_bar_create_default_view(ugd); + mf_ug_navi_bar_set_ctrl_item_disable(ugd); + UG_TRACE_END; } void mf_ug_cb_home_button_pressed_cb(void *data, Evas_Object * obj, void *event_info) { - UG_TRACE_BEGIN; - ug_mf_retm_if(data == NULL, "data is NULL"); + UG_TRACE_BEGIN; + ug_mf_retm_if(data == NULL, "data is NULL"); - Evas_Object *home_ic = (Evas_Object *)data; - elm_image_file_set(home_ic, UG_TITLE_ICON_HOME_PRESS, NULL); + Evas_Object *home_ic = (Evas_Object *)data; + elm_image_file_set(home_ic, UG_EDJ_IMAGE, UG_TITLE_ICON_HOME_PRESS); } void mf_ug_cb_home_button_unpressed_cb(void *data, Evas_Object * obj, void *event_info) { - UG_TRACE_BEGIN; - ug_mf_retm_if(data == NULL, "data is NULL"); + UG_TRACE_BEGIN; + ug_mf_retm_if(data == NULL, "data is NULL"); - Evas_Object *home_ic = (Evas_Object *)data; - elm_image_file_set(home_ic, UG_TITLE_ICON_HOME, NULL); + Evas_Object *home_ic = (Evas_Object *)data; + elm_image_file_set(home_ic, UG_EDJ_IMAGE, UG_TITLE_ICON_HOME); } void mf_ug_cb_home_button_cb(void *data, Evas_Object * obj, void *event_info) { - UG_TRACE_BEGIN; - ug_mf_retm_if(data == NULL, "data is NULL"); - ugData *ugd = (ugData *)data; - ugNaviBar *pNavi_s = mf_ug_navi_bar_get_in_use_navi(ugd); - ug_mf_retm_if(pNavi_s == NULL, "pNavi_s is NULL"); - - if (ugd->ug_Status.ug_b_NaviPushFlag) { - UG_TRACE_END; - return; - } - - int storage = MF_UG_PHONE; - - storage = mf_ug_fm_svc_wapper_get_location(ugd->ug_Status.ug_pPath->str); - switch (storage) { - case MF_UG_PHONE: - UG_SAFE_FREE_GSTRING(ugd->ug_Status.ug_pPath); - ugd->ug_Status.ug_pPath = g_string_new(PHONE_FOLDER); - UG_SAFE_FREE_CHAR(pNavi_s->ug_pCurrentPath); - pNavi_s->ug_pCurrentPath = g_strdup(PHONE_FOLDER); - mf_ug_util_set_current_state(ugd, STATE_PHONE); - break; - case MF_UG_MMC: - UG_SAFE_FREE_GSTRING(ugd->ug_Status.ug_pPath); - ugd->ug_Status.ug_pPath = g_string_new(MEMORY_FOLDER); - UG_SAFE_FREE_CHAR(pNavi_s->ug_pCurrentPath); - pNavi_s->ug_pCurrentPath = g_strdup(MEMORY_FOLDER); - mf_ug_util_set_current_state(ugd, STATE_MEMORY); - break; - default: - return; - } - - mf_ug_navi_bar_create_default_view(ugd); - mf_ug_ctrl_bar_set_item_disable(ugd); - UG_TRACE_END; -} - -/****************************** -** Prototype : tab_callback -** Description : -** Input : void *data -** Evas_Object *obj -** void *event_info -** Output : None -** Return Value : -** Calls : -** Called By : -** -** History : -** 1.Date : 2010/12/10 -** Author : Samsung -** Modification : Created function -** -******************************/ -void mf_ug_cb_tab_bar_cb(void *data, const char *path) -{ - UG_TRACE_BEGIN; - ugData *ugd = (ugData *)data; - ug_mf_retm_if(ugd == NULL, "ugd is NULL"); - - - const char *label = NULL; - Evas_Object *newContent = NULL; - Evas_Object *pNaviBar = NULL; - ugNaviBar *pNavi_s_toshow = NULL; - ugNaviBar *pNavi_s_inuse = NULL; - - if (ugd->ug_Status.ug_bSettingEntry == true && ugd->ug_Status.ug_bInSettingView == true) { - return; - } - - int optStorage = 0; - optStorage = mf_ug_fm_svc_wapper_get_location(path); - switch (optStorage) { - case MF_UG_PHONE: - label = MF_UG_LABEL_PHONE; - break; - case MF_UG_MMC: - label = MF_UG_LABEL_MMC; - break; - default: - break; - } - - - if (label != NULL) { - char *rootpath = NULL; - - /*0. set the previous navi to be out of use */ - pNavi_s_inuse = mf_ug_navi_bar_get_in_use_navi(ugd); - - if (pNavi_s_inuse == NULL || pNavi_s_inuse->ug_pNaviLabel == NULL) { - UG_TRACE_END; - return; - } - - pNavi_s_inuse->ug_bNaviFlagInUse = FALSE; - - if (0 != ugd->ug_ListPlay.ug_Player) { - mf_ug_list_play_destory_playing_file(ugd); - UG_SAFE_FREE_CHAR(ugd->ug_ListPlay.ug_pPlayFilePath); - } - - /*if the muisc is playing, destory the play */ - - /*1. get navi bar pointer by the label */ - pNaviBar = ugd->ug_MainWindow.ug_pNaviBar; - pNavi_s_toshow = ug_mf_navi_bar_get_navi_from_navilist(ugd->ug_MainWindow.ug_pNaviBarList, label); - - ug_debug("label is %s", label); - /*2. create navi bar if not created, otherwise get it by pNaviBar */ - if (pNavi_s_toshow == NULL) { - /*2.0 get root path by storage label */ - rootpath = mf_ug_fm_svc_wapper_get_root_path_by_tab_label(label); - if (rootpath == NULL) { - UG_TRACE_END; - return; - } - /*2.1 create the navi for the tab */ - pNavi_s_toshow = calloc(1, sizeof(ugNaviBar)); - if (pNavi_s_toshow == NULL) { - ug_debug("pNavi_s_toshow is NULL"); - free(rootpath); - rootpath = NULL; - return; - } - - pNavi_s_toshow->ug_bNaviFlagInUse = TRUE; - /*2.2 set path as root path of the storage */ - pNavi_s_toshow->ug_pCurrentPath = g_strdup(rootpath); - pNavi_s_toshow->ug_pNaviLabel = strdup(label); - free(rootpath); - rootpath = NULL; - /*2.3 insert phone navi into the navi_list */ - ugd->ug_MainWindow.ug_pNaviBarList = eina_list_append(ugd->ug_MainWindow.ug_pNaviBarList, pNavi_s_toshow); - - } else { - /*/2.1 get the navi of the tab */ - pNavi_s_toshow = mf_ug_navi_bar_get_navi_struct_by_label(ugd, label); - - pNavi_s_toshow->ug_bNaviFlagInUse = TRUE; - } - /*/2.2 set related status value. */ - if (ugd->ug_Status.ug_pPath != NULL) { - g_string_free(ugd->ug_Status.ug_pPath, TRUE); - ugd->ug_Status.ug_pPath = NULL; - } - ugd->ug_Status.ug_pPath = g_string_new(pNavi_s_toshow->ug_pCurrentPath); - ugd->ug_Status.ug_iViewType = mf_ug_view_normal; - mf_ug_navi_bar_create_default_view(ugd); - - mf_ug_ctrl_bar_set_item_disable(ugd); - } else { - ug_debug("Invalid argument: label is NULL\n"); - } - UG_TRACE_END; -} - - -void mf_ug_cb_ctrl_bar_button_cb(void *data, Evas_Object *obj, void *event_info) -{ - - UG_TRACE_BEGIN; - ugData *ugd = (ugData *)data; - ug_mf_retm_if(ugd == NULL, "ugd is NULL"); - ug_mf_retm_if(event_info == NULL, "event_info is NULL"); - const char *label = NULL; - - if (ugd->ug_Status.ug_b_NaviPushFlag) - return; - label = elm_object_item_text_get((Elm_Object_Item *)event_info); - ug_mf_retm_if(label == NULL, "label is NULL"); - - ugNaviBar *pNavi_s = mf_ug_navi_bar_get_in_use_navi(ugd); - if (g_strcmp0(label, MF_UG_LABEL_RINGTONES) == 0) { - if (g_strcmp0(ugd->ug_Status.ug_pPath->str, UG_RINGTION_PATH) != 0) { - UG_SAFE_FREE_GSTRING(ugd->ug_Status.ug_pPath); - ugd->ug_Status.ug_pPath = g_string_new(UG_RINGTION_PATH); - UG_SAFE_FREE_CHAR(pNavi_s->ug_pCurrentPath); - pNavi_s->ug_pCurrentPath = g_strdup(UG_RINGTION_PATH); - mf_ug_util_set_current_state(ugd, STATE_PHONE); - ugd->ug_Status.ug_iCtrlBarType = CTRL_BAR_MUSIC; - mf_ug_navi_bar_create_default_view(ugd); - } - } else if (g_strcmp0(label, MF_UG_LABEL_OTHER_MUSIC) == 0) { - if (g_strcmp0(ugd->ug_Status.ug_pPath->str, UG_MUSIC_PATH) != 0) { - UG_SAFE_FREE_GSTRING(ugd->ug_Status.ug_pPath); - ugd->ug_Status.ug_pPath = g_string_new(UG_MUSIC_PATH); - UG_SAFE_FREE_CHAR(pNavi_s->ug_pCurrentPath); - pNavi_s->ug_pCurrentPath = g_strdup(UG_MUSIC_PATH); - mf_ug_util_set_current_state(ugd, STATE_PHONE); - ugd->ug_Status.ug_iCtrlBarType = CTRL_BAR_RINGTONE; - mf_ug_navi_bar_create_default_view(ugd); - } - } - UG_TRACE_END; + UG_TRACE_BEGIN; + ug_mf_retm_if(data == NULL, "data is NULL"); + ugData *ugd = (ugData *)data; + + int storage = MF_UG_PHONE; + ugd->ug_Status.ug_iViewType = mf_ug_view_root; + + storage = mf_ug_fm_svc_wapper_get_location(ugd->ug_Status.ug_pPath->str); + switch (storage) { + case MF_UG_PHONE: + UG_SAFE_FREE_GSTRING(ugd->ug_Status.ug_pPath); + ugd->ug_Status.ug_pPath = g_string_new(PHONE_FOLDER); + mf_ug_util_set_current_state(ugd, STATE_PHONE); + break; + case MF_UG_MMC: + UG_SAFE_FREE_GSTRING(ugd->ug_Status.ug_pPath); + ugd->ug_Status.ug_pPath = g_string_new(MEMORY_FOLDER); + mf_ug_util_set_current_state(ugd, STATE_MEMORY); + break; + default: + return; + } + ugd->ug_Status.ug_iCheckedCount = 0; + + mf_ug_navi_bar_create_default_view(ugd); + mf_ug_navi_bar_set_ctrl_item_disable(ugd); + mf_ug_util_path_push(ugd->ug_Status.ug_pPath->str, ugd->ug_Status.ug_iViewType); + UG_TRACE_END; } /****************************** @@ -754,20 +653,18 @@ void mf_ug_cb_ctrl_bar_button_cb(void *data, Evas_Object *obj, void *event_info) ******************************/ void mf_ug_cb_list_play_cb(ugListItemData *data, Evas_Object *obj, void *event_info) { - UG_TRACE_BEGIN; - ugListItemData *itemData = data; - ugData *ugd = NULL; - ug_mf_retm_if(itemData == NULL, "itemData is NULL"); - ug_mf_retm_if(itemData->ug_pData == NULL, "ug_pData is NULL"); - - ugd = itemData->ug_pData; + UG_TRACE_BEGIN; + ugListItemData *itemData = data; + ug_mf_retm_if(itemData == NULL, "itemData is NULL"); + ug_mf_retm_if(itemData->ug_pData == NULL, "ug_pData is NULL"); - if (itemData->ug_pData->ug_Status.ug_b_NaviPushFlag) - return; + if (mf_ug_main_is_background()) { + return; + } - mf_ug_list_play_play_music_item(itemData); + mf_ug_list_play_play_music_item(itemData); - UG_TRACE_END; + UG_TRACE_END; } /****************************** @@ -790,12 +687,12 @@ void mf_ug_cb_list_play_cb(ugListItemData *data, Evas_Object *obj, void *event_i ******************************/ void mf_ug_cb_select_info_show_cb(void *data, Evas *e, Evas_Object *obj, void *event_info) { - UG_TRACE_BEGIN; - ugData *ugd = (ugData *)data; - ug_mf_retm_if(ugd == NULL, "ugd is NULL"); - edje_object_signal_emit(_EDJ(ugd->ug_MainWindow.ug_pMainLayout), "elm,state,show,default", "elm"); - UG_TRACE_END; - return; + UG_TRACE_BEGIN; + ugData *ugd = (ugData *)data; + ug_mf_retm_if(ugd == NULL, "ugd is NULL"); + edje_object_signal_emit(_EDJ(ugd->ug_MainWindow.ug_pMainLayout), "elm,state,show,default", "elm"); + UG_TRACE_END; + return; } /****************************** @@ -818,12 +715,12 @@ void mf_ug_cb_select_info_show_cb(void *data, Evas *e, Evas_Object *obj, void *e ******************************/ void mf_ug_cb_select_info_hide_cb(void *data, Evas *e, Evas_Object *obj, void *event_info) { - UG_TRACE_BEGIN; - ugData *ugd = (ugData *)data; - ug_mf_retm_if(ugd == NULL, "ugd is NULL"); - edje_object_signal_emit(_EDJ(ugd->ug_MainWindow.ug_pMainLayout), "elm,state,hide,default", "elm"); - UG_TRACE_END; - return; + UG_TRACE_BEGIN; + ugData *ugd = (ugData *)data; + ug_mf_retm_if(ugd == NULL, "ugd is NULL"); + edje_object_signal_emit(_EDJ(ugd->ug_MainWindow.ug_pMainLayout), "elm,state,hide,default", "elm"); + UG_TRACE_END; + return; } /****************************** @@ -845,19 +742,19 @@ void mf_ug_cb_select_info_hide_cb(void *data, Evas *e, Evas_Object *obj, void *e ******************************/ void mf_ug_cb_select_info_timeout_cb(void *data, Evas_Object *obj, void *event_info) { - UG_TRACE_BEGIN; - ugData *ugd = (ugData *)data; - ug_mf_retm_if(ugd == NULL, "ugd is NULL"); - edje_object_signal_emit(_EDJ(ugd->ug_MainWindow.ug_pMainLayout), "elm,state,hide,default", "elm"); - UG_TRACE_END; - return; + UG_TRACE_BEGIN; + ugData *ugd = (ugData *)data; + ug_mf_retm_if(ugd == NULL, "ugd is NULL"); + edje_object_signal_emit(_EDJ(ugd->ug_MainWindow.ug_pMainLayout), "elm,state,hide,default", "elm"); + UG_TRACE_END; + return; } - /****************************** ** Prototype : mf_ug_cb_mmc_changed_cb ** Description : Samsung -** Input : keynode_t *key +** Input : int storage_id +** storage_state_e state ** void* data ** Output : None ** Return Value : @@ -865,90 +762,65 @@ void mf_ug_cb_select_info_timeout_cb(void *data, Evas_Object *obj, void *event_i ** Called By : ** ** History : -** 1.Date : 2010/12/10 +** 1.Date : 2015/03/24 ** Author : Samsung ** Modification : Created function ** ******************************/ -static void __mf_ug_cb_mmc_remove_view_operation(void *data) +void mf_ug_cb_mmc_changed_cb(int storage_id, storage_state_e state, void *user_data) { - UG_TRACE_BEGIN; - ugData *ugd = (ugData *)data; - ug_mf_retm_if(ugd == NULL, "ugd is NULL"); - - Evas_Object *parent = NULL; - const char *labelStorage = NULL; - parent = ugd->ug_MainWindow.ug_pNaviGenlist; - labelStorage = MEMORY_FOLDER; - - mf_ug_genlist_item_remove(parent, labelStorage); - + UG_TRACE_BEGIN; + ugData *ugd = (ugData *)user_data; + ug_mf_retm_if(ugd == NULL, "ugd is NULL"); + ug_mf_retm_if(ugd->ug_Status.ug_pPath == NULL || ugd->ug_Status.ug_pPath->str == NULL, "ugd->ug_Status.ug_pPath is NULL"); + + int optStorage = MF_UG_NONE; + + if (state == STORAGE_STATE_MOUNTED) { + ugd->ug_Status.ug_iMmcFlag = MMC_ON; + mf_ug_util_storage_insert_action(ugd, mf_ug_widget_get_text(MF_UG_LABEL_MMC)); + } else { + if (state == STORAGE_STATE_REMOVED || state == STORAGE_STATE_UNMOUNTABLE) { + optStorage = MF_UG_MMC; + ugd->ug_Status.ug_iMmcFlag = MMC_OFF; + } + + if (optStorage == MF_UG_NONE) { + ug_debug("get removed storage failed"); + return; + } + mf_ug_util_mmc_remove_action(ugd); + mf_ug_navi_bar_set_ctrl_item_disable(ugd); + } + + mf_ug_navi_bar_title_set(ugd); + + UG_TRACE_END; + return; } -void mf_ug_cb_mmc_changed_cb(keynode_t *key, void *data) +void mf_ug_cb_default_ringtone_changed_cb(system_settings_key_e key, void *data) { - UG_TRACE_BEGIN; - ugData *ugd = (ugData *)data; - ug_mf_retm_if(ugd == NULL, "ugd is NULL"); - ug_mf_retm_if(ugd->ug_Status.ug_pPath == NULL || ugd->ug_Status.ug_pPath->str == NULL, "ugd->ug_Status.ug_pPath is NULL"); - - int optStorage = MF_UG_NONE; - char *labelStorage = NULL; - - if (VCONF_TYPE_INT == vconf_keynode_get_type(key) - && VCONFKEY_SYSMAN_MMC_MOUNTED == vconf_keynode_get_int(key)) { - if (ugd->ug_Status.ug_bInSettingView && ugd->ug_Status.ug_bSettingEntry) { - ugd->ug_Status.ug_iMmcFlag = MMC_ON; - return; - } - ugd->ug_Status.ug_iMmcFlag = MMC_ON; - - mf_ug_util_storage_insert_action(ugd, MF_UG_LABEL_MMC); - } else { - ugNaviBar *pNaviInUseStruct = NULL; - - if (VCONFKEY_SYSMAN_MMC_REMOVED == vconf_keynode_get_int(key) - || VCONFKEY_SYSMAN_MMC_INSERTED_NOT_MOUNTED == vconf_keynode_get_int(key)) { - ug_debug("mmc removed"); - if (ugd->ug_Status.ug_bInSettingView && ugd->ug_Status.ug_bSettingEntry) { - ugd->ug_Status.ug_iMmcFlag = MMC_OFF; - return; - } - optStorage = MF_UG_MMC; - ugd->ug_Status.ug_iMmcFlag = MMC_OFF; - } - - if (optStorage == MF_UG_NONE) { - ug_debug("get removed storage failed"); - return; - } - - labelStorage = MF_UG_LABEL_MMC; - if (mf_ug_fm_svc_wapper_get_location(ugd->ug_Status.ug_pPath->str) == optStorage) { - if (0 != ugd->ug_ListPlay.ug_Player) { - mf_ug_list_play_destory_playing_file(ugd); - UG_SAFE_FREE_CHAR(ugd->ug_ListPlay.ug_pPlayFilePath); - } - - mf_ug_navi_bar_remove_navi_list_item_by_label(ugd, labelStorage); - pNaviInUseStruct = mf_ug_navi_bar_get_in_use_navi(ugd); - ug_debug("label is [%s]pNaviInUseStruct->ug_pCurrentPath is [%s]", pNaviInUseStruct->ug_pNaviLabel, pNaviInUseStruct->ug_pCurrentPath); - mf_ug_navi_bar_refresh_navibar_recovered_view(ugd, pNaviInUseStruct); - } - } - - if(mf_ug_fm_svc_wapper_is_root_path(ugd->ug_Status.ug_pPath)) - { - elm_naviframe_item_title_visible_set(ugd->ug_MainWindow.ug_pNaviItem, EINA_FALSE); - mf_ug_callback_tab_click(ugd); - } - else - { - mf_ug_navi_bar_title_set(ugd); - } - - UG_TRACE_END; - return; + UG_TRACE_BEGIN; + ugData *ugd = (ugData *)data; + ug_mf_retm_if(ugd == NULL, "ugd is NULL"); + ug_mf_retm_if(ugd->ug_UiGadget.default_ringtone == NULL, "ugd->ugUiGadget.default_ringtone is NULL"); + + char *default_ringtone = NULL; + int retcode = -1; + + retcode = system_settings_get_value_string(key, &default_ringtone); + if ((retcode != SYSTEM_SETTINGS_ERROR_NONE)) { + ug_error("failed to get default_ringtone"); + } + + if (default_ringtone) { + UG_SAFE_FREE_CHAR(ugd->ug_UiGadget.default_ringtone); + ugd->ug_UiGadget.default_ringtone = g_strdup(default_ringtone); + } + + UG_TRACE_END; + return; } /****************************** @@ -970,21 +842,21 @@ void mf_ug_cb_mmc_changed_cb(keynode_t *key, void *data) ******************************/ void mf_ug_cb_dir_update_cb(mf_ug_inotify_event event, char *name, void *data) { - UG_TRACE_BEGIN; - ugData *ugd = (ugData *)data; - ug_mf_retm_if(ugd == NULL, "ugData is NULL"); + UG_TRACE_BEGIN; + ugData *ugd = (ugData *)data; + ug_mf_retm_if(ugd == NULL, "ugData is NULL"); - ug_debug("event : %d, name : %s", event, name); + SECURE_DEBUG("event : %d, name : %s", event, name); - ug_dir_event_t buffer; + ug_dir_event_t buffer; - buffer.event = event; - buffer.name = strdup(name); + buffer.event = event; + buffer.name = name; - ecore_pipe_write(ugd->ug_UiGadget.ug_pInotifyPipe, &buffer, sizeof(buffer)); - UG_TRACE_END; + ecore_pipe_write(ugd->ug_UiGadget.ug_pInotifyPipe, &buffer, sizeof(buffer)); + UG_TRACE_END; - return; + return; } /****************************** @@ -1007,695 +879,708 @@ void mf_ug_cb_dir_update_cb(mf_ug_inotify_event event, char *name, void *data) static GString *__mf_ug_cb_dir_pipe_get_parent(GString *path) { - ug_mf_retvm_if(path == NULL, NULL, "path is NULL"); - ug_mf_retvm_if(path->str == NULL, NULL, "path->str is NULL"); - - if (ecore_file_exists(path->str)) { - return path; - } else if (mf_ug_fm_svc_wapper_is_root_path(path)) { - return path; - } else { - GString *parent = mf_ug_fm_svc_wrapper_get_file_parent_path(path); - UG_SAFE_FREE_GSTRING(path); - __mf_ug_cb_dir_pipe_get_parent(parent); - } - return path; + ug_mf_retvm_if(path == NULL, NULL, "path is NULL"); + ug_mf_retvm_if(path->str == NULL, NULL, "path->str is NULL"); + + if (mf_file_exists(path->str)) { + return path; + } else if (mf_ug_fm_svc_wapper_is_root_path(path->str)) { + return path; + } else { + GString *parent = mf_ug_fm_svc_wrapper_get_file_parent_path(path); + UG_SAFE_FREE_GSTRING(path); + __mf_ug_cb_dir_pipe_get_parent(parent); + } + return path; } void mf_ug_cb_dir_pipe_cb(void *data, void *buffer, unsigned int nbyte) { - UG_TRACE_BEGIN; - ugData *ugd = (ugData *)data; - ug_mf_retm_if(ugd == NULL, "ugd is NULL"); - - - if (ugd->ug_ListPlay.ug_iPlayState != PLAY_STATE_INIT) { - return; - } - - if (g_strcmp0(ugd->ug_Status.monitor_path, ugd->ug_Status.ug_pPath->str)) { - return; - } - if (buffer) { - ug_dir_event_t *msg = (ug_dir_event_t *) buffer; - ug_debug("event : %d, name : %s", msg->event, msg->name); - - Evas_Object *newContent = NULL; - ugListItemData *itemData = NULL; - Elm_Object_Item *it = NULL; - GString *parent = NULL; - char *path = NULL; - int count = 0; - - switch (msg->event) { - case UG_MF_INOTI_CREATE: - case UG_MF_INOTI_MOVE_IN: - /*/1 TODO: add new item to list */ - if(msg->name) { - path = g_strconcat(ugd->ug_Status.ug_pPath->str, "/", msg->name, NULL); - int file_type = 0; - if (mf_ug_file_attr_is_dir(path)) { - file_type = UG_FILE_TYPE_DIR; - } else { - file_type = UG_FILE_TYPE_FILE; - } - ugFsNodeInfo *pNode = mf_ug_util_generate_pnode(path, file_type); - if (ugd->ug_MainWindow.ug_pNaviGenlist == NULL) { - - Evas_Object *genlist = NULL; - genlist = elm_genlist_add(ugd->ug_MainWindow.ug_pNaviBar); - 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); - - ugd->ug_MainWindow.ug_pNaviGenlist = genlist; - evas_object_smart_callback_add(genlist, "selected", mf_ug_genlist_selected_gl, ugd); - - evas_object_del(elm_object_part_content_unset(ugd->ug_MainWindow.ug_pNaviLayout, "part1")); - - elm_object_part_content_set(ugd->ug_MainWindow.ug_pNaviLayout, "part1", newContent); - elm_object_part_content_set(ugd->ug_MainWindow.ug_pNaviLayout, "part1", genlist); - } - if (file_type == UG_FILE_TYPE_DIR) { - if (ugd->ug_UiGadget.ug_iSelectMode == MULTI_FILE_MODE || - ugd->ug_UiGadget.ug_iSelectMode == SINGLE_FILE_MODE || - ugd->ug_UiGadget.ug_iSelectMode == IMPORT_MODE || - ugd->ug_UiGadget.ug_iSelectMode == IMPORT_PATH_SELECT_MODE || - ugd->ug_UiGadget.ug_iSelectMode == EXPORT_MODE || - ugd->ug_UiGadget.ug_iSelectMode == SAVE_MODE || - ugd->ug_UiGadget.ug_iSelectMode == IMPORT_SINGLE) { - - mf_ug_genlist_item_append(ugd->ug_MainWindow.ug_pNaviGenlist, pNode, ugd, 0, &ugd->ug_Status.ug_normalitc); - } else { - int groupValue = elm_genlist_items_count(ugd->ug_MainWindow.ug_pNaviGenlist); - mf_ug_genlist_item_append(ugd->ug_MainWindow.ug_pNaviGenlist, pNode, ugd, groupValue, &ugd->ug_Status.ug_itc); - } - } else { - if (ugd->ug_UiGadget.ug_iSelectMode == SINGLE_ALL_MODE || ugd->ug_UiGadget.ug_iSelectMode == SINGLE_FILE_MODE) { - int groupValue = elm_genlist_items_count(ugd->ug_MainWindow.ug_pNaviGenlist); - mf_ug_genlist_item_append(ugd->ug_MainWindow.ug_pNaviGenlist, pNode, ugd, groupValue, &ugd->ug_Status.ug_itc); - } else if (ugd->ug_UiGadget.ug_iSelectMode == EXPORT_MODE || ugd->ug_UiGadget.ug_iSelectMode == SAVE_MODE) { - mf_ug_genlist_item_append(ugd->ug_MainWindow.ug_pNaviGenlist, pNode, ugd, 0, &ugd->ug_Status.ug_normalitc); - } else { - mf_ug_genlist_item_append(ugd->ug_MainWindow.ug_pNaviGenlist, pNode, ugd, 0, &ugd->ug_Status.ug_itc); - } - - } - - if (pNode != NULL) { - UG_SAFE_FREE_CHAR(pNode->ext); - free(pNode); - pNode = NULL; - } - } - break; - case UG_MF_INOTI_DELETE: - case UG_MF_INOTI_MOVE_OUT: - /*/1 TODO: remove item from list */ - path = g_strconcat(ugd->ug_Status.ug_pPath->str, "/", msg->name, NULL); - it = elm_genlist_first_item_get(ugd->ug_MainWindow.ug_pNaviGenlist); - while (it) { - itemData = elm_object_item_data_get(it); - if (itemData->ug_pItemName == NULL || itemData->ug_pItemName->str == NULL) { - ug_debug(); - continue; - } - if (g_strcmp0(path, itemData->ug_pItemName->str) == 0) { - elm_object_item_del(it); - break; - } - - it = elm_genlist_item_next_get(it); - } - count = elm_genlist_items_count(ugd->ug_MainWindow.ug_pNaviGenlist); - ugd->ug_Status.ug_bNoContentFlag = !count; - - break; - case UG_MF_INOTI_MODIFY: - /*/1 TODO: update item in list */ - ugd->ug_MainWindow.ug_pNaviGenlist = newContent = mf_ug_genlist_create_content_list_view(ugd); - mf_ug_navi_bar_set_new_content(ugd->ug_MainWindow.ug_pNaviLayout, newContent); - break; - case UG_MF_INOTI_DELETE_SELF: - case UG_MF_INOTI_MOVE_SELF: - /*/1 TODO: watching directory is removed, change current directory. */ - { - GString *current = NULL; - current = g_string_new(ugd->ug_Status.ug_pPath->str); - parent = __mf_ug_cb_dir_pipe_get_parent(current); - - ugNaviBar *pNavi_s = mf_ug_navi_bar_get_in_use_navi(ugd); - - - g_string_free(ugd->ug_Status.ug_pPath, TRUE); - ugd->ug_Status.ug_pPath = NULL; - ugd->ug_Status.ug_pPath = parent; - - if (pNavi_s->ug_pCurrentPath != NULL) { - free(pNavi_s->ug_pCurrentPath); - pNavi_s->ug_pCurrentPath = NULL; - } - pNavi_s->ug_pCurrentPath = g_strdup(parent->str); - - - - mf_ug_navi_bar_create_default_view(ugd); - } - break; - default: - ug_mf_error("Unknown event"); - break; - } - mf_ug_ctrl_bar_set_item_disable(ugd); - if (msg->name) { - free(msg->name); - msg->name = NULL; - } - } - UG_TRACE_END; + UG_TRACE_BEGIN; + ugData *ugd = (ugData *)data; + ug_mf_retm_if(ugd == NULL, "ugd is NULL"); + + + if (ugd->ug_Status.ug_iViewType == mf_ug_view_root) { + return; + } + + if (g_strcmp0(ugd->ug_Status.monitor_path, ugd->ug_Status.ug_pPath->str)) { + return; + } + if (buffer) { + ug_dir_event_t *msg = (ug_dir_event_t *) buffer; + SECURE_DEBUG("event : %d, name : %s", msg->event, msg->name); + + Evas_Object *newContent = NULL; + ugListItemData *itemData = NULL; + Elm_Object_Item *it = NULL; + GString *parent = NULL; + char *path = NULL; + int count = 0; + + switch (msg->event) { + case UG_MF_INOTI_CREATE: + case UG_MF_INOTI_MOVE_IN: + /*/1 TODO: add new item to list */ + if (msg->name) { + path = g_strconcat(ugd->ug_Status.ug_pPath->str, "/", msg->name, NULL); + int file_type = 0; + if (mf_ug_file_attr_is_dir(path)) { + file_type = UG_FILE_TYPE_DIR; + } else { + file_type = UG_FILE_TYPE_FILE; + } + if (ugd->ug_MainWindow.ug_pNaviGenlist == NULL) { + + Evas_Object *genlist = NULL; + genlist = elm_genlist_add(ugd->ug_MainWindow.ug_pNaviBar); + elm_genlist_mode_set(genlist, ELM_LIST_COMPRESS); + 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); + + ugd->ug_MainWindow.ug_pNaviGenlist = genlist; + evas_object_smart_callback_add(genlist, "selected", mf_ug_genlist_selected_gl, ugd); + + evas_object_del(elm_object_part_content_unset(ugd->ug_MainWindow.ug_pNaviLayout, "part1")); + + elm_object_part_content_set(ugd->ug_MainWindow.ug_pNaviLayout, "part1", newContent); + elm_object_part_content_set(ugd->ug_MainWindow.ug_pNaviLayout, "part1", genlist); + } + if (file_type == UG_FILE_TYPE_DIR) { + if (ugd->ug_UiGadget.ug_iSelectMode == MULTI_FILE_MODE || + ugd->ug_UiGadget.ug_iSelectMode == SINGLE_FILE_MODE || + ugd->ug_UiGadget.ug_iSelectMode == IMPORT_MODE || + ugd->ug_UiGadget.ug_iSelectMode == IMPORT_PATH_SELECT_MODE || + ugd->ug_UiGadget.ug_iSelectMode == EXPORT_MODE || + ugd->ug_UiGadget.ug_iSelectMode == SAVE_MODE || + ugd->ug_UiGadget.ug_iSelectMode == IMPORT_SINGLE) { + + mf_ug_genlist_item_append(ugd->ug_MainWindow.ug_pNaviGenlist, path, ugd, 0, &ugd->ug_Status.ug_1text1icon_itc); + } else { + int groupValue = elm_genlist_items_count(ugd->ug_MainWindow.ug_pNaviGenlist); + mf_ug_genlist_item_append(ugd->ug_MainWindow.ug_pNaviGenlist, path, ugd, groupValue, &ugd->ug_Status.ug_1text3icon_itc); + } + } else { + if (ugd->ug_UiGadget.ug_iSelectMode == SINGLE_ALL_MODE || ugd->ug_UiGadget.ug_iSelectMode == SINGLE_FILE_MODE) { + int groupValue = elm_genlist_items_count(ugd->ug_MainWindow.ug_pNaviGenlist); + mf_ug_genlist_item_append(ugd->ug_MainWindow.ug_pNaviGenlist, path, ugd, groupValue, &ugd->ug_Status.ug_1text3icon_itc); + } else if (ugd->ug_UiGadget.ug_iSelectMode == EXPORT_MODE || ugd->ug_UiGadget.ug_iSelectMode == SAVE_MODE) { + mf_ug_genlist_item_append(ugd->ug_MainWindow.ug_pNaviGenlist, path, ugd, 0, &ugd->ug_Status.ug_1text1icon_itc); + } else { + mf_ug_genlist_item_append(ugd->ug_MainWindow.ug_pNaviGenlist, path, ugd, 0, &ugd->ug_Status.ug_1text3icon_itc); + } + + } + + if (path != NULL) { + free(path); + path = NULL; + } + ugd->ug_Status.ug_bNoContentFlag = EINA_FALSE; + mf_ug_genlist_show_select_info(ugd); + } + break; + case UG_MF_INOTI_DELETE: + case UG_MF_INOTI_MOVE_OUT: + /*/1 TODO: remove item from list */ + path = g_strconcat(ugd->ug_Status.ug_pPath->str, "/", msg->name, NULL); + it = elm_genlist_first_item_get(ugd->ug_MainWindow.ug_pNaviGenlist); + while (it) { + itemData = elm_object_item_data_get(it); + if (itemData->ug_pItemName == NULL || itemData->ug_pItemName->str == NULL) { + continue; + } + if (g_strcmp0(path, itemData->ug_pItemName->str) == 0) { + if (ugd->ug_ListPlay.ug_pPlayFilePath && g_strcmp0(path, ugd->ug_ListPlay.ug_pPlayFilePath) == 0) { + if (0 != ugd->ug_ListPlay.ug_Player) { + mf_ug_list_play_destory_playing_file(ugd); + ugd->ug_ListPlay.play_data = NULL; + UG_SAFE_FREE_CHAR(ugd->ug_ListPlay.ug_pPlayFilePath); + } + } + elm_object_item_del(it); + break; + } + + it = elm_genlist_item_next_get(it); + } + count = elm_genlist_items_count(ugd->ug_MainWindow.ug_pNaviGenlist); + if (count == 0) { + Evas_Object *nocontent = mf_ug_widget_nocontent_create(ugd->ug_MainWindow.ug_pMainLayout, MF_UG_LABEL_NO_RESULT, UG_ICON_MULTI_NO_CONTENTS); + + ugd->ug_Status.ug_bNoContentFlag = true; + Evas_Object *unset = elm_object_part_content_unset(ugd->ug_MainWindow.ug_pNaviLayout, "part1"); + evas_object_del(unset); + ugd->ug_MainWindow.ug_pNaviGenlist = NULL; + elm_object_part_content_set(ugd->ug_MainWindow.ug_pNaviLayout, "part1", nocontent); + /*return nocontent;*/ + } + mf_ug_genlist_show_select_info(ugd); + break; + case UG_MF_INOTI_MODIFY: + + path = g_strconcat(ugd->ug_Status.ug_pPath->str, "/", msg->name, NULL); + if (path) { + it = elm_genlist_first_item_get(ugd->ug_MainWindow.ug_pNaviGenlist); + while (it) { + itemData = elm_object_item_data_get(it); + if (itemData->ug_pItemName == NULL || itemData->ug_pItemName->str == NULL) { + continue; + } + if (g_strcmp0(path, itemData->ug_pItemName->str) == 0) { + UG_SAFE_FREE_CHAR(path); + return; + } + + it = elm_genlist_item_next_get(it); + } + UG_SAFE_FREE_CHAR(path); + } + ugd->ug_MainWindow.ug_pNaviGenlist = newContent = mf_ug_genlist_create_content_list_view(ugd); + mf_ug_navi_bar_set_new_content(ugd->ug_MainWindow.ug_pNaviLayout, newContent); + break; + case UG_MF_INOTI_DELETE_SELF: + case UG_MF_INOTI_MOVE_SELF: + /*/1 TODO: watching directory is removed, change current directory. */ + { + GString *current = NULL; + current = g_string_new(ugd->ug_Status.ug_pPath->str); + parent = __mf_ug_cb_dir_pipe_get_parent(current); + g_string_free(ugd->ug_Status.ug_pPath, TRUE); + ugd->ug_Status.ug_pPath = NULL; + ugd->ug_Status.ug_pPath = parent; + mf_ug_navi_bar_create_default_view(ugd); + } + break; + default: + ug_mf_error("Unknown event"); + break; + } + mf_ug_navi_bar_set_ctrl_item_disable(ugd); + if (msg->name) { + free(msg->name); + msg->name = NULL; + } + } + UG_TRACE_END; } - -#ifdef UG_THUMB_REAL_TIME_UPDATE -Eina_Bool mf_ug_cb_thumb_timer_cb(void *data) +void __mf_ug_popup_show_vk(void *data, Evas_Object *obj, void *event_info) { - ugListItemData *itemData = (ugListItemData *)data; - ug_mf_retvm_if(itemData == NULL, EINA_FALSE, "input params is NULL"); - ugData *ugd = (ugData *)itemData->ug_pData; - ug_mf_retvm_if(ugd == NULL, EINA_FALSE, "ugd is NULL"); - - bool allright_flag = true; - Evas_Object *pContent = NULL; - - if (ugd->ug_Status.ug_pThumbUpdateTimer == NULL) { - return EINA_FALSE; - } - - /****read the realized part of the list****/ - if (itemData->ug_pItem) { - pContent = elm_object_item_widget_get(itemData->ug_pItem); - if (pContent == NULL) { - ugd->ug_Status.ug_pThumbUpdateTimer = NULL; - return EINA_FALSE; - } - } else { - ugd->ug_Status.ug_pThumbUpdateTimer = NULL; - return EINA_FALSE; - } - Eina_List *realized_list = elm_genlist_realized_items_get(pContent); - Eina_List *list = NULL; - Elm_Object_Item *it; - ugListItemData *item_data = NULL; - - if (realized_list == NULL) { - allright_flag = false; - } - - EINA_LIST_FOREACH(realized_list, list, it) { - item_data = (ugListItemData *)elm_object_item_data_get(it); - if (item_data == NULL) - continue; - - if (item_data->ug_bRealThumbFlag == false) { - ug_debug("Update item: %s", item_data->ug_pItemName->str); - if (ecore_file_is_dir(item_data->ug_pItemName->str) == true) { - item_data->ug_pThumbPath = strdup(UG_ICON_FOLDER); - item_data->ug_bRealThumbFlag = true; - elm_object_item_data_set(it, item_data); - elm_genlist_item_update(it); - - } else if (ecore_file_exists(item_data->ug_pItemName->str)) { - char *new_thumb = NULL; - int thumbnail_type = 0; - thumbnail_type = mf_ug_file_attr_get_file_icon(item_data->ug_pItemName->str, NULL, &new_thumb); - if (new_thumb) { - if (thumbnail_type == MF_UG_THUMBNAIL_TYPE_DEFAULT) { - if (item_data->ug_pThumbPath && g_strcmp0(new_thumb, item_data->ug_pThumbPath) == 0) { - allright_flag = FALSE; - } else { - if (item_data->ug_pThumbPath) { - free(item_data->ug_pThumbPath); - item_data->ug_pThumbPath = NULL; - } - item_data->ug_pThumbPath = strdup(new_thumb); - item_data->ug_bRealThumbFlag = TRUE; - elm_object_item_data_set(it, item_data); - elm_genlist_item_update(it); - free(new_thumb); - new_thumb = NULL; - } - - } else { - if (item_data->ug_pThumbPath) { - free(item_data->ug_pThumbPath); - item_data->ug_pThumbPath = NULL; - } - item_data->ug_pThumbPath = strdup(new_thumb); - item_data->ug_bRealThumbFlag = TRUE; - elm_object_item_data_set(it, item_data); - elm_genlist_item_update(it); - free(new_thumb); - new_thumb = NULL; - } - } else { - allright_flag = false; - } - } - } - } - - if (allright_flag == false) { - return EINA_TRUE; - } else { - ugd->ug_Status.ug_pThumbUpdateTimer = NULL; - return EINA_FALSE; - } + UG_TRACE_BEGIN; + ug_mf_retm_if(data == NULL, "data is NULL"); + ugData *ugd = (ugData *)data; + + if (ugd->ug_MainWindow.ug_pNormalPopup) { + evas_object_del(ugd->ug_MainWindow.ug_pNormalPopup); + ugd->ug_MainWindow.ug_pNormalPopup = NULL; + } + + if (ugd->ug_MainWindow.ug_pEntry) { + elm_entry_cursor_end_set(ugd->ug_MainWindow.ug_pEntry); + elm_object_focus_set(ugd->ug_MainWindow.ug_pEntry, EINA_TRUE); + } + UG_TRACE_END; + } -#endif void mf_ug_cb_create_new_folder(void *data, Evas_Object * obj, void *event_info) { - UG_TRACE_BEGIN; - ug_mf_retm_if(data == NULL, "data is NULL"); - - ugData *ugd = (ugData *)data; - UG_SAFE_FREE_OBJ(ugd->ug_MainWindow.ug_pContextPopup); - - if (ugd->ug_Status.ug_b_NaviPushFlag) { - UG_TRACE_END; - return; - } - - if (ugd->ug_Status.ug_iMore == UG_MORE_CREATE_FOLDER) - return; - - int ret = 0; - ugd->ug_Status.ug_iMore = UG_MORE_CREATE_FOLDER; - - ret = mf_ug_util_check_disk_space(ugd); - if (ret == MYFILE_ERR_NO_FREE_SPACE) { - ugd->ug_Status.ug_iMore = UG_MORE_DEFAULT; - return; - } -#ifdef UG_THUMB_REAL_TIME_UPDATE - if (ugd->ug_Status.ug_pThumbUpdateTimer != NULL) { - ecore_timer_del(ugd->ug_Status.ug_pThumbUpdateTimer); - ugd->ug_Status.ug_pThumbUpdateTimer = NULL; - } -#endif - ugd->ug_MainWindow.ug_pNewFolderPopup = mf_ug_popup_create_new_folder_popup(ugd, MF_UG_LABEL_CREATE); + UG_TRACE_BEGIN; + ug_mf_retm_if(data == NULL, "data is NULL"); + + ugData *ugd = (ugData *)data; + UG_SAFE_FREE_OBJ(ugd->ug_MainWindow.ug_pContextPopup); + + if (ugd->ug_Status.ug_iMore == UG_MORE_CREATE_FOLDER) + return; + + int ret = 0; + ugd->ug_Status.ug_iMore = UG_MORE_CREATE_FOLDER; + + ret = mf_ug_util_check_disk_space(ugd); + if (ret == MYFILE_ERR_NO_FREE_SPACE) { + ugd->ug_Status.ug_iMore = UG_MORE_DEFAULT; + return; + } + ugd->ug_MainWindow.ug_pNewFolderPopup = mf_ug_popup_create_new_folder_popup(ugd, MF_UG_LABEL_CREATE); } void mf_ug_cb_warning_popup_cb(void *data, Evas_Object * obj, void *event_info) { - UG_TRACE_BEGIN; - ug_mf_retm_if(data == NULL, "data is NULL"); - ugData *ugd = (ugData *)data; + UG_TRACE_BEGIN; + ug_mf_retm_if(data == NULL, "data is NULL"); + ugData *ugd = (ugData *)data; - Evas_Object *btn = (Evas_Object *)obj; - const char *label = elm_object_text_get(btn); + Evas_Object *btn = (Evas_Object *)obj; + const char *label = elm_object_text_get(btn); - if (g_strcmp0(label, MF_UG_LABEL_OK) == 0 ) { - evas_object_del(ugd->ug_MainWindow.ug_pNormalPopup); - ugd->ug_MainWindow.ug_pNormalPopup = NULL; - } + if (g_strcmp0(label, mf_ug_widget_get_text(MF_UG_LABEL_OK)) == 0) { + evas_object_del(ugd->ug_MainWindow.ug_pNormalPopup); + ugd->ug_MainWindow.ug_pNormalPopup = NULL; + } } void mf_ug_cb_reach_max_len_cb(void *data, Evas_Object * obj, void *event_info) { - UG_TRACE_BEGIN; - ug_mf_retm_if(data == NULL, "data is NULL"); - ugData *ugd = (ugData *)data; - mf_ug_popup_indicator_popup(MF_UG_LABEL_MAX_CHARACTER_REACHED); + UG_TRACE_BEGIN; + ug_mf_retm_if(data == NULL, "data is NULL"); + mf_ug_popup_indicator_popup(mf_ug_widget_get_text(MF_UG_LABEL_MAX_CHARACTER_REACHED)); - UG_TRACE_END; + UG_TRACE_END; } void mf_ug_cb_eraser_clicked_cb(void *data, Evas_Object *obj, const char *emission, const char *source) { - elm_entry_entry_set(data, ""); + elm_entry_entry_set(data, ""); } void mf_ug_cb_cancel_new_folder_cb(void *data, Evas_Object * obj, void *event_info) { - UG_TRACE_BEGIN; - ug_mf_retm_if(data == NULL, "data is NULL"); - ugData *ugd = (ugData *)data; - - ugd->ug_Status.ug_iMore = UG_MORE_DEFAULT; - ecore_imf_context_input_panel_hide(elm_entry_imf_context_get(ugd->ug_MainWindow.ug_pEntry)); - evas_object_del(ugd->ug_MainWindow.ug_pEntry); + UG_TRACE_BEGIN; + ug_mf_retm_if(data == NULL, "data is NULL"); + ugData *ugd = (ugData *)data; - UG_SAFE_FREE_OBJ(ugd->ug_MainWindow.ug_pNewFolderPopup); -} - -static int __mf_cb_imk_cancel_cb(void *data) -{ - UG_TRACE_BEGIN; - ug_mf_retvm_if(data == NULL, false, "data is NULL"); - ugData *ugd = (ugData *)data; - - mf_ug_cb_cancel_new_folder_cb(ugd, NULL, NULL); - ugd->ug_Status.popup_del_idler = NULL; - return 0; -} - - -static void __mf_ug_cb_illegal_char_popup_cb(void *data, Evas_Object * obj, void *event_info) -{ - UG_TRACE_BEGIN; - ug_mf_retm_if(data == NULL, "data is NULL"); - ugData *ugd = (ugData *)data; - - Evas_Object *btn = (Evas_Object *)obj; - const char *label = elm_object_text_get(btn); - - if (g_strcmp0(label, MF_UG_LABEL_YES) == 0 ) { - UG_SAFE_FREE_OBJ(ugd->ug_MainWindow.ug_pNormalPopup); - - Evas_Object *entry = ugd->ug_MainWindow.ug_pEntry; - if (entry != NULL) - elm_object_focus_set(entry, EINA_TRUE); - - } else if (g_strcmp0(label, MF_UG_LABEL_NO) == 0 ) { - UG_SAFE_FREE_OBJ(ugd->ug_MainWindow.ug_pNormalPopup); - ugd->ug_Status.popup_del_idler = ecore_idler_add((Ecore_Task_Cb) __mf_cb_imk_cancel_cb, ugd); - } + ugd->ug_Status.ug_iMore = UG_MORE_DEFAULT; + ecore_imf_context_input_panel_hide(elm_entry_imf_context_get(ugd->ug_MainWindow.ug_pEntry)); + evas_object_del(ugd->ug_MainWindow.ug_pEntry); + UG_SAFE_FREE_OBJ(ugd->ug_MainWindow.ug_pNewFolderPopup); } static int __mf_ug_cb_ime_mkdir_cb(void *data, char *fileName) { - UG_TRACE_BEGIN; - ugData *ugd = (ugData *)data; - - ug_mf_retvm_if(ugd == NULL, MYFILE_ERR_SRC_ARG_INVALID, "ugd is NULL"); - ug_mf_retvm_if(fileName == NULL, MYFILE_ERR_SRC_ARG_INVALID, "data is NULL"); - ug_mf_retvm_if(ugd->ug_Status.ug_pPath == NULL, MYFILE_ERR_SRC_ARG_INVALID, "ugd is NULL"); - ug_mf_retvm_if(ugd->ug_Status.ug_pPath->str == NULL, MYFILE_ERR_SRC_ARG_INVALID, "ugd is NULL"); - - - int ret = 0; - const char *message = NULL; - const char *left_label = NULL; - const char *right_label = NULL; - - left_label = MF_UG_LABEL_YES; - right_label = MF_UG_LABEL_NO; - if (strlen(fileName)) { - - GString *fullpathdir = g_string_new(ugd->ug_Status.ug_pPath->str); - - if (fullpathdir == NULL) { - mf_ug_util_operation_alloc_failed(ugd); - return MYFILE_ERR_ALLOCATE_MEMORY_FAIL; - } - GString *fullpathname = g_string_new(fileName); - - if (fullpathname == NULL) { - g_string_free(fullpathdir, TRUE); - fullpathdir = NULL; - mf_ug_util_operation_alloc_failed(ugd); - return MYFILE_ERR_ALLOCATE_MEMORY_FAIL; - } - /*check the space */ - gchar *test_space = g_strdup(fileName); - if (test_space == NULL) { - g_string_free(fullpathdir, TRUE); - fullpathdir = NULL; - g_string_free(fullpathname, TRUE); - fullpathname = NULL; - mf_ug_util_operation_alloc_failed(ugd); - return MYFILE_ERR_ALLOCATE_MEMORY_FAIL; - } - if (strlen(g_strchug(test_space)) == 0) { - message = MF_UG_LABEL_NAME_INVALID; /*TODO */ - ugd->ug_MainWindow.ug_pNormalPopup = mf_ug_popup_create(ugd, UG_POPMODE_TEXT_TWO_BTN, NULL, message, - left_label, right_label, NULL, - __mf_ug_cb_illegal_char_popup_cb, ugd); - - g_string_free(fullpathdir, TRUE); - fullpathdir = NULL; - g_string_free(fullpathname, TRUE); - fullpathname = NULL; - g_free(test_space); - test_space = NULL; - return MYFILE_ERR_DIR_CREATE_FAIL; - } - - g_free(test_space); - test_space = NULL; - - /*check if input name is valid */ - if (mf_ug_file_attr_is_valid_name(fullpathname->str) == MYFILE_ERR_INVALID_FILE_NAME) { - - message = MF_UG_LABEL_ILLEGAL_CHAR; - ugd->ug_MainWindow.ug_pNormalPopup = mf_ug_popup_create(ugd, UG_POPMODE_TEXT_TWO_BTN, NULL, message, - left_label, right_label, NULL, - __mf_ug_cb_illegal_char_popup_cb, ugd); - g_string_free(fullpathdir, TRUE); - fullpathdir = NULL; - g_string_free(fullpathname, TRUE); - fullpathname = NULL; - - return MYFILE_ERR_DIR_CREATE_FAIL; - } - - GString *fullpath = NULL; - char *temp_fullpath = g_strconcat(fullpathdir->str, "/", fullpathname->str, NULL); - if (temp_fullpath) { - fullpath = g_string_new(temp_fullpath); - - free(temp_fullpath); - temp_fullpath = NULL; - if (fullpath == NULL) { - g_string_free(fullpathdir, TRUE); - fullpathdir = NULL; - g_string_free(fullpathname, TRUE); - fullpathname = NULL; - mf_ug_util_operation_alloc_failed(ugd); - return MYFILE_ERR_ALLOCATE_MEMORY_FAIL; - } - } else { - g_string_free(fullpathdir, TRUE); - fullpathdir = NULL; - g_string_free(fullpathname, TRUE); - fullpathname = NULL; - return MYFILE_ERR_ALLOCATE_MEMORY_FAIL; - } - - /*check whether DIR name is override(DIR name has no extention) */ - /*check whether path length is override */ - if ((strlen(fullpathdir->str) + strlen(fullpathname->str)) > MYFILE_FILE_PATH_LEN_MAX) { - - message = MF_UG_LABEL_PATH_REACH_MAX_LEN; - ugd->ug_MainWindow.ug_pNormalPopup = mf_ug_popup_create(ugd, UG_POPMODE_TEXT_TWO_BTN, NULL, message, - left_label, right_label, NULL, - __mf_ug_cb_illegal_char_popup_cb, ugd); - g_string_free(fullpathdir, TRUE); - fullpathdir = NULL; - g_string_free(fullpathname, TRUE); - fullpathname = NULL; - ret = MYFILE_ERR_DIR_CREATE_FAIL; - } - /*check if duplicated name */ - else if (mf_ug_file_attr_is_duplicated_name(ugd->ug_Status.ug_pPath->str, fileName) == MYFILE_ERR_DUPLICATED_NAME) { - message = MF_UG_LABEL_DUP_NAME; - ugd->ug_MainWindow.ug_pNormalPopup = mf_ug_popup_create(ugd, UG_POPMODE_TEXT_TWO_BTN, NULL, message, - left_label, right_label, NULL, - __mf_ug_cb_illegal_char_popup_cb, ugd); - - g_string_free(fullpathdir, TRUE); - fullpathdir = NULL; - g_string_free(fullpathname, TRUE); - fullpathname = NULL; - ret = MYFILE_ERR_DIR_CREATE_FAIL; - } - /*check if DIR name is all spaces */ - else { - ret = mf_ug_fm_svc_wrapper_create_service(ugd, fullpath); - /*check whether operate on read only area */ - if (errno == EROFS) { - message = MF_UG_LABEL_OPER_READ_ONLY; - ugd->ug_MainWindow.ug_pNormalPopup = mf_ug_popup_create(ugd, UG_POPMODE_TEXT, NULL, message, NULL, NULL, NULL, NULL, NULL); - ret = MYFILE_ERR_DIR_CREATE_FAIL; - } else if (ret) { - message = MF_UG_LABEL_CREATE_DIR_FAILED; - ugd->ug_MainWindow.ug_pNormalPopup = mf_ug_popup_create(ugd, UG_POPMODE_TEXT, NULL, message, NULL, NULL, NULL, NULL, NULL); - } - - g_string_free(fullpathdir, TRUE); - fullpathdir = NULL; - g_string_free(fullpathname, TRUE); - fullpathname = NULL; - g_string_free(fullpath, TRUE); - fullpath = NULL; - - } - } else { - message = MF_UG_LABEL_EMPTY_FOLDER_NAME; - - ugd->ug_MainWindow.ug_pNormalPopup = mf_ug_popup_create(ugd, UG_POPMODE_TEXT_TWO_BTN, NULL, message, - left_label, right_label, NULL, - __mf_ug_cb_illegal_char_popup_cb, ugd); - ret = MYFILE_ERR_DIR_CREATE_FAIL; - } - return ret; + UG_TRACE_BEGIN; + ugData *ugd = (ugData *)data; + + ug_mf_retvm_if(ugd == NULL, MYFILE_ERR_SRC_ARG_INVALID, "ugd is NULL"); + ug_mf_retvm_if(fileName == NULL, MYFILE_ERR_SRC_ARG_INVALID, "data is NULL"); + ug_mf_retvm_if(ugd->ug_Status.ug_pPath == NULL, MYFILE_ERR_SRC_ARG_INVALID, "ugd is NULL"); + ug_mf_retvm_if(ugd->ug_Status.ug_pPath->str == NULL, MYFILE_ERR_SRC_ARG_INVALID, "ugd is NULL"); + + + int ret = 0; + const char *message = NULL; + + if (strlen(fileName)) { + + GString *fullpathdir = g_string_new(ugd->ug_Status.ug_pPath->str); + + if (fullpathdir == NULL) { + mf_ug_util_operation_alloc_failed(ugd); + return MYFILE_ERR_ALLOCATE_MEMORY_FAIL; + } + GString *fullpathname = g_string_new(fileName); + + if (fullpathname == NULL) { + g_string_free(fullpathdir, TRUE); + fullpathdir = NULL; + mf_ug_util_operation_alloc_failed(ugd); + return MYFILE_ERR_ALLOCATE_MEMORY_FAIL; + } + /*check the space */ + gchar *test_space = g_strdup(fileName); + if (test_space == NULL) { + g_string_free(fullpathdir, TRUE); + fullpathdir = NULL; + g_string_free(fullpathname, TRUE); + fullpathname = NULL; + mf_ug_util_operation_alloc_failed(ugd); + return MYFILE_ERR_ALLOCATE_MEMORY_FAIL; + } + if (strlen(g_strchug(test_space)) == 0) { + message = MF_UG_LABEL_NAME_INVALID; /*TODO */ + ugd->ug_MainWindow.ug_pNormalPopup = mf_ug_popup_create(ugd, UG_POPMODE_TEXT, NULL, message, + NULL, NULL, NULL, + __mf_ug_popup_show_vk, ugd); + + g_string_free(fullpathdir, TRUE); + fullpathdir = NULL; + g_string_free(fullpathname, TRUE); + fullpathname = NULL; + g_free(test_space); + test_space = NULL; + return MYFILE_ERR_DIR_CREATE_FAIL; + } + + g_free(test_space); + test_space = NULL; + + /*check if input name is valid */ + if (mf_ug_file_attr_is_valid_name(fullpathname->str) == MYFILE_ERR_INVALID_FILE_NAME) { + + message = MF_UG_LABEL_ILLEGAL_CHAR; + ugd->ug_MainWindow.ug_pNormalPopup = mf_ug_popup_create(ugd, UG_POPMODE_TEXT, NULL, message, + NULL, NULL, NULL, + __mf_ug_popup_show_vk, ugd); + g_string_free(fullpathdir, TRUE); + fullpathdir = NULL; + g_string_free(fullpathname, TRUE); + fullpathname = NULL; + + return MYFILE_ERR_DIR_CREATE_FAIL; + } + + GString *fullpath = NULL; + char *temp_fullpath = g_strconcat(fullpathdir->str, "/", fullpathname->str, NULL); + if (temp_fullpath) { + fullpath = g_string_new(temp_fullpath); + + free(temp_fullpath); + temp_fullpath = NULL; + if (fullpath == NULL) { + g_string_free(fullpathdir, TRUE); + fullpathdir = NULL; + g_string_free(fullpathname, TRUE); + fullpathname = NULL; + mf_ug_util_operation_alloc_failed(ugd); + return MYFILE_ERR_ALLOCATE_MEMORY_FAIL; + } + } else { + g_string_free(fullpathdir, TRUE); + fullpathdir = NULL; + g_string_free(fullpathname, TRUE); + fullpathname = NULL; + return MYFILE_ERR_ALLOCATE_MEMORY_FAIL; + } + + /*check whether DIR name is override(DIR name has no extention) */ + /*check whether path length is override */ + if ((strlen(fullpathdir->str) + strlen(fullpathname->str)) > MYFILE_FILE_PATH_LEN_MAX) { + + message = MF_UG_LABEL_MAX_CHARACTER_REACHED; + ugd->ug_MainWindow.ug_pNormalPopup = mf_ug_popup_create(ugd, UG_POPMODE_TEXT, NULL, message, + NULL, NULL, NULL, + __mf_ug_popup_show_vk, ugd); + g_string_free(fullpathdir, TRUE); + fullpathdir = NULL; + g_string_free(fullpathname, TRUE); + fullpathname = NULL; + ret = MYFILE_ERR_DIR_CREATE_FAIL; + } + /*check if duplicated name */ + else if (mf_ug_file_attr_is_duplicated_name(ugd->ug_Status.ug_pPath->str, fileName) == MYFILE_ERR_DUPLICATED_NAME) { + message = MF_UG_LABEL_DUP_NAME; + ugd->ug_MainWindow.ug_pNormalPopup = mf_ug_popup_create(ugd, UG_POPMODE_TEXT, NULL, message, + NULL, NULL, NULL, + __mf_ug_popup_show_vk, ugd);/*fixe P131022-06134*/ + + g_string_free(fullpathdir, TRUE); + fullpathdir = NULL; + g_string_free(fullpathname, TRUE); + fullpathname = NULL; + ret = MYFILE_ERR_DIR_CREATE_FAIL; + } + /*check if DIR name is all spaces */ + else { + ret = mf_ug_fm_svc_wrapper_create_service(ugd, fullpath); + /*check whether operate on read only area */ + if (errno == EROFS) { + message = MF_UG_LABEL_OPER_READ_ONLY; + ugd->ug_MainWindow.ug_pNormalPopup = mf_ug_popup_create(ugd, UG_POPMODE_TEXT, NULL, message, NULL, NULL, NULL, __mf_ug_popup_show_vk, ugd); + ret = MYFILE_ERR_DIR_CREATE_FAIL; + } else if (ret) { + message = MF_UG_LABEL_CREATE_DIR_FAILED; + ugd->ug_MainWindow.ug_pNormalPopup = mf_ug_popup_create(ugd, UG_POPMODE_TEXT, NULL, message, NULL, NULL, NULL, __mf_ug_popup_show_vk, ugd); + } + + g_string_free(fullpathdir, TRUE); + fullpathdir = NULL; + g_string_free(fullpathname, TRUE); + fullpathname = NULL; + g_string_free(fullpath, TRUE); + fullpath = NULL; + + } + } else { + message = mf_ug_widget_get_text(MF_UG_LABEL_EMPTY_FOLDER_NAME); + + ugd->ug_MainWindow.ug_pNormalPopup = mf_ug_popup_create(ugd, UG_POPMODE_TEXT, NULL, message, + NULL, NULL, NULL, + __mf_ug_popup_show_vk, ugd); + ret = MYFILE_ERR_DIR_CREATE_FAIL; + } + return ret; } void mf_ug_cb_save_cb(void *data, Evas_Object *obj, void *event_info) { - UG_TRACE_BEGIN; - ug_mf_retm_if(data == NULL, "data is NULL"); - ugData *ugd = (ugData *)data; - - if (ugd->ug_Status.ug_b_NaviPushFlag) { - UG_TRACE_END; - return; - } - - int ret = 0; - const char *message = NULL; - const char *left_label = NULL; - const char *right_label = NULL; - - if (ugd->ug_Status.ug_iMore == UG_MORE_CREATE_FOLDER) { - const char *entry_data = NULL; - char *name = NULL; - - /*hide IMF*/ - if (ugd->ug_MainWindow.ug_pEntry != NULL) { - Ecore_IMF_Context *imf_context = elm_entry_imf_context_get(ugd->ug_MainWindow.ug_pEntry); - if (imf_context != NULL) - ecore_imf_context_hide(imf_context); - } - - entry_data = elm_entry_entry_get(ugd->ug_MainWindow.ug_pEntry); - - if (entry_data) { - name = elm_entry_markup_to_utf8(entry_data); - } else { - message = MF_UG_LABEL_GET_NAME_FAILED; - left_label = MF_UG_LABEL_YES; - right_label = MF_UG_LABEL_NO; - ugd->ug_MainWindow.ug_pNormalPopup = mf_ug_popup_create(ugd, UG_POPMODE_TEXT_TWO_BTN, NULL, message, - left_label, right_label, NULL, - __mf_ug_cb_illegal_char_popup_cb, ugd); - return; - } - - if (name == NULL) - return; - - ret = __mf_ug_cb_ime_mkdir_cb(ugd, name); - if (ret == 0) { - ugd->ug_Status.ug_iMore = UG_MORE_DEFAULT; - ecore_imf_context_input_panel_hide(elm_entry_imf_context_get(ugd->ug_MainWindow.ug_pEntry)); - evas_object_del(ugd->ug_MainWindow.ug_pEntry); - UG_SAFE_FREE_OBJ(ugd->ug_MainWindow.ug_pNewFolderPopup); - mf_ug_navi_bar_create_default_view(ugd); - } - - if (name != NULL) { - free(name); - name = NULL; - } - } + UG_TRACE_BEGIN; + ug_mf_retm_if(data == NULL, "data is NULL"); + ugData *ugd = (ugData *)data; + + int ret = 0; + const char *message = NULL; + + if (ugd->ug_Status.ug_iMore == UG_MORE_CREATE_FOLDER) { + const char *entry_data = NULL; + char *name = NULL; + + /*hide IMF*/ + if (ugd->ug_MainWindow.ug_pEntry != NULL) { + Ecore_IMF_Context *imf_context = elm_entry_imf_context_get(ugd->ug_MainWindow.ug_pEntry); + if (imf_context != NULL) + ecore_imf_context_hide(imf_context); + } + + entry_data = elm_entry_entry_get(ugd->ug_MainWindow.ug_pEntry); + + if (entry_data) { + name = elm_entry_markup_to_utf8(entry_data); + } else { + message = MF_UG_LABEL_GET_NAME_FAILED; + ugd->ug_MainWindow.ug_pNormalPopup = mf_ug_popup_create(ugd, UG_POPMODE_TEXT, NULL, message, + NULL, NULL, NULL, + NULL, NULL); + return; + } + + if (name == NULL) + return; + + ret = __mf_ug_cb_ime_mkdir_cb(ugd, name); + if (ret == 0) { + ugd->ug_Status.ug_iMore = UG_MORE_DEFAULT; + ecore_imf_context_input_panel_hide(elm_entry_imf_context_get(ugd->ug_MainWindow.ug_pEntry)); + evas_object_del(ugd->ug_MainWindow.ug_pEntry); + UG_SAFE_FREE_OBJ(ugd->ug_MainWindow.ug_pNewFolderPopup); + mf_ug_navi_bar_create_default_view(ugd); + } + + if (name != NULL) { + free(name); + name = NULL; + } + } } +#if 0 void mf_ug_cb_lcd_state_changed_cb(power_state_e state, void *user_data) { - UG_TRACE_BEGIN; - - ug_mf_retm_if(user_data == NULL, "user_data is NULL"); - ugData *ugd = (ugData *)user_data; - - if(state == POWER_STATE_SCREEN_OFF){ - if (0 != ugd->ug_ListPlay.ug_Player) { - ug_debug("destory the playing file"); - mf_ug_list_play_destory_playing_file(ugd); - mf_ug_list_disable_play_itc(ugd, true); - UG_SAFE_FREE_CHAR(ugd->ug_ListPlay.ug_pPlayFilePath); - } - } - UG_TRACE_END; + UG_TRACE_BEGIN; + + ug_mf_retm_if(user_data == NULL, "user_data is NULL"); + ugData *ugd = (ugData *)user_data; + + if (state == POWER_STATE_SCREEN_OFF) { + if (0 != ugd->ug_ListPlay.ug_Player) { + mf_ug_list_play_destory_playing_file(ugd); + mf_ug_list_disable_play_itc(ugd, true); + ugd->ug_ListPlay.play_data = NULL; + UG_SAFE_FREE_CHAR(ugd->ug_ListPlay.ug_pPlayFilePath); + } + } + UG_TRACE_END; } - +#endif Eina_Bool mf_ug_cb_popup_del_idler_cb(void *data) { - UG_TRACE_BEGIN; - ug_mf_retvm_if(data == NULL, ECORE_CALLBACK_CANCEL, "data is NULL"); - ugData *ugd = (ugData *)data; + UG_TRACE_BEGIN; + ug_mf_retvm_if(data == NULL, ECORE_CALLBACK_CANCEL, "data is NULL"); + ugData *ugd = (ugData *)data; - UG_SAFE_FREE_OBJ(ugd->ug_MainWindow.ug_pSearchPopup); - ugd->ug_Status.popup_del_idler = NULL; + UG_SAFE_FREE_OBJ(ugd->ug_MainWindow.ug_pSearchPopup); + ugd->ug_MainWindow.ug_pSearchLabel = NULL; + ugd->ug_Status.popup_del_idler = NULL; - return ECORE_CALLBACK_CANCEL; + return ECORE_CALLBACK_CANCEL; } void mf_ug_cb_entry_button_pressed_cb(void *data, Evas_Object * obj, void *event_info) { - UG_TRACE_BEGIN; - ug_mf_retm_if(data == NULL, "data is NULL"); + UG_TRACE_BEGIN; + ug_mf_retm_if(data == NULL, "data is NULL"); - Evas_Object *home_button_ic = (Evas_Object *)data; - elm_image_file_set(home_button_ic, UG_ICON_ENTRY_FOLDER_PRESS, NULL); + Evas_Object *home_button_ic = (Evas_Object *)data; + elm_image_file_set(home_button_ic, UG_EDJ_IMAGE, UG_ICON_ENTRY_FOLDER_PRESS); } void mf_ug_cb_entry_button_unpressed_cb(void *data, Evas_Object * obj, void *event_info) { - UG_TRACE_BEGIN; - ug_mf_retm_if(data == NULL, "data is NULL"); + UG_TRACE_BEGIN; + ug_mf_retm_if(data == NULL, "data is NULL"); - Evas_Object *home_button_ic = (Evas_Object *)data; - elm_image_file_set(home_button_ic, UG_ICON_ENTRY_FOLDER, NULL); + Evas_Object *home_button_ic = (Evas_Object *)data; + elm_image_file_set(home_button_ic, UG_EDJ_IMAGE, UG_ICON_ENTRY_FOLDER); } void mf_ug_cb_play_button_pressed_cb(void *data, Evas_Object * obj, void *event_info) { - UG_TRACE_BEGIN; - ug_mf_retm_if(data == NULL, "data is NULL"); - ugData *ugd = (ugData *)data; - - const char *play_icon = NULL; - - Evas_Object *music_icon = elm_object_part_content_get(obj, "icon"); - if(ugd->ug_ListPlay.ug_iPlayState != PLAY_STATE_PLAYING) { - play_icon = UG_ICON_MUSIC_PLAY_WHITE_PRESS; - } else { - play_icon = UG_ICON_MUSIC_PAUSE_WHITE_PRESS; - } - - elm_image_file_set(music_icon, play_icon, NULL); + UG_TRACE_BEGIN; + ug_mf_retm_if(data == NULL, "data is NULL"); + ugData *ugd = (ugData *)data; + + const char *play_icon = NULL; + + Evas_Object *music_icon = elm_object_part_content_get(obj, "icon"); + if (ugd->ug_ListPlay.ug_iPlayState != PLAY_STATE_PLAYING) { + play_icon = UG_ICON_MUSIC_PLAY_WHITE_PRESS; + } else { + play_icon = UG_ICON_MUSIC_PAUSE_WHITE_PRESS; + } + elm_image_file_set(music_icon, UG_EDJ_IMAGE, play_icon); + evas_object_size_hint_min_set(music_icon, ELM_SCALE_SIZE(45), ELM_SCALE_SIZE(45)); } void mf_ug_cb_play_button_unpressed_cb(void *data, Evas_Object * obj, void *event_info) { - UG_TRACE_BEGIN; - ug_mf_retm_if(data == NULL, "data is NULL"); - ugData *ugd = (ugData *)data; + UG_TRACE_BEGIN; + ug_mf_retm_if(data == NULL, "data is NULL"); + ugData *ugd = (ugData *)data; + + const char *play_icon = NULL; + + Evas_Object *music_icon = elm_object_part_content_get(obj, "icon"); + if (ugd->ug_ListPlay.ug_iPlayState != PLAY_STATE_PLAYING) { + play_icon = UG_ICON_MUSIC_PLAY_WHITE; + } else { + play_icon = UG_ICON_MUSIC_PAUSE_WHITE; + } + elm_image_file_set(music_icon, UG_EDJ_IMAGE, play_icon); + evas_object_size_hint_min_set(music_icon, 45, 45); +} - const char *play_icon = NULL; +void mf_ug_cb_more_cb(void *data, Evas_Object * obj, void *event_info) +{ + UG_TRACE_BEGIN; + ug_mf_retm_if(data == NULL, "data is NULL"); + ugData *ugd = (ugData *)data; - Evas_Object *music_icon = elm_object_part_content_get(obj, "icon"); - if(ugd->ug_ListPlay.ug_iPlayState != PLAY_STATE_PLAYING) { - play_icon = UG_ICON_MUSIC_PLAY_WHITE; - } else { - play_icon = UG_ICON_MUSIC_PAUSE_WHITE; - } + mf_ug_context_popup_create_more(ugd, obj); +} - elm_image_file_set(music_icon, play_icon, NULL); +void mf_ug_cb_thumb_created_cb(media_content_error_e error, const char *path, void *user_data) +{ + ug_mf_retm_if(user_data == NULL, "user_data is NULL"); + ug_mf_retm_if(path == NULL, "path is NULL"); + ugListItemData *pListData = (ugListItemData *)user_data; + ug_mf_retm_if(pListData->ug_pItem == NULL, "pListData->item is NULL"); + + if (error == MEDIA_CONTENT_ERROR_NONE && mf_file_exists(path)) { + ug_debug("Update item with new thumbnail[%s]", path); + UG_SAFE_FREE_CHAR(pListData->ug_pThumbPath); + pListData->ug_pThumbPath = g_strdup(path); + pListData->ug_bRealThumbFlag = true; + if (pListData->ug_pItem) { + elm_genlist_item_update(pListData->ug_pItem); + } + } else { + ug_debug("Invalid thumb path!"); + } + pListData->thumbnail_create = EINA_FALSE; } -void mf_ug_cb_more_cb(void *data, Evas_Object * obj, void *event_info) +bool mf_ug_cb_create_thumbnail(void *data, media_thumbnail_completed_cb callback) { - UG_TRACE_BEGIN; - ug_mf_retm_if(data == NULL, "data is NULL"); - ugData *ugd = (ugData *)data; + ug_mf_retvm_if(data == NULL, -1, "filter is NULL"); + ugListItemData *pListData = (ugListItemData *)data; + + int ret = -1; + + ret = media_info_create_thumbnail(pListData->media, callback, + pListData); + if (ret != MEDIA_CONTENT_ERROR_NONE) { + ug_debug("Failed to create thumbnail! ret is [%d]", ret); + return -1; + } + return 0; +} - mf_ug_context_popup_create_more(ugd, obj); +void mf_ug_ringtone_del_cb(void *data, Evas_Object *obj, void *event_info) +{ + UG_TRACE_BEGIN; + ug_mf_retm_if(data == NULL, "data is NULL"); + ugData *ugd = (ugData *)data; + UG_SAFE_FREE_OBJ(ugd->ug_MainWindow.ug_pContextPopup); + ugd->ug_Status.ug_iViewType = mf_ug_view_ringtone_del; + mf_ug_navi_bar_create_delete_view(ugd); + return; +} + +void mf_ug_select_all_cb(void *data, Evas_Object *obj, void *event_info) +{ + UG_TRACE_BEGIN; + ug_mf_retm_if(data == NULL, "data is NULL"); + ugData *ugd = (ugData *)data; + Elm_Object_Item *it = NULL; + ugListItemData *it_data = NULL; + bool state = true; + int prev_check_count = ugd->ug_Status.ug_iCheckedCount; + if (elm_check_state_get(obj) == 1) { + ugd->ug_Status.ug_iCheckedCount = eina_list_count(ugd->ug_UiGadget.ug_pFilterList); + } else { + ugd->ug_Status.ug_iCheckedCount=0; + } + long long int total_item_size = 0; + struct stat stFileInfo; + + if (ugd->ug_Status.ug_iCheckedCount > ugd->ug_UiGadget.ug_iMaxLength) { + ug_error(); + elm_check_state_set(ugd->ug_MainWindow.ug_pSelectAllCheckBox, false); + char *reach_string = mf_ug_widget_get_text(MF_UG_LABEL_REACH_MAX_SHARE_COUNT); + char *max_string = g_strdup_printf(reach_string, ugd->ug_UiGadget.ug_iMaxLength); + /*UG_SAFE_FREE_CHAR(reach_string);*/ + ugd->ug_Status.ug_iCheckedCount = prev_check_count; + ug_error("max_string is [%s]", max_string); + mf_ug_popup_indicator_popup(max_string); + UG_SAFE_FREE_CHAR(max_string); + return; + } + it = elm_genlist_first_item_get(ugd->ug_MainWindow.ug_pNaviGenlist); + while (it) { + it_data = elm_object_item_data_get(it); + stat(it_data->ug_pItemName->str, &stFileInfo); + total_item_size += stFileInfo.st_size; + if (ugd->limitsize > 0 && total_item_size > ugd->limitsize) { + char *noti = NULL; + noti = g_strdup_printf(mf_ug_widget_get_text(MF_UG_LABEL_MAXIMUM_SIZE)); + mf_ug_popup_indicator_popup(noti); + elm_check_state_set(ugd->ug_MainWindow.ug_pSelectAllCheckBox, false); + ugd->ug_Status.ug_iCheckedCount = prev_check_count; + state = false; + + UG_SAFE_FREE_CHAR(noti); + return; + } + it = elm_genlist_item_next_get(it); + } + if(state){ + ugd->selsize = total_item_size; + it = elm_genlist_first_item_get(ugd->ug_MainWindow.ug_pNaviGenlist); + while (it) { + it_data = elm_object_item_data_get(it); + if (elm_check_state_get(obj) == 0) { + it_data->ug_bChecked = 0; + } else { + it_data->ug_bChecked = 1; + } + elm_check_state_set(it_data->ug_pCheckBox, it_data->ug_bChecked); + elm_genlist_item_update(it); + + it = elm_genlist_item_next_get(it); + } + + } + mf_ug_genlist_show_select_info(ugd); + mf_ug_navi_bar_set_ctrl_item_disable(ugd); + + return; } +void mf_ug_item_sel_all_press_cb(void *data, Evas_Object *obj, void *event_info) +{ + UG_TRACE_BEGIN; + ug_mf_retm_if(data == NULL, "data is NULL"); + ugData *ugd = (ugData *)data; + if (ugd->ug_MainWindow.ug_pSelectAllCheckBox) { + Eina_Bool state = elm_check_state_get(ugd->ug_MainWindow.ug_pSelectAllCheckBox); + elm_check_state_set(ugd->ug_MainWindow.ug_pSelectAllCheckBox, !state); + mf_ug_select_all_cb(data, ugd->ug_MainWindow.ug_pSelectAllCheckBox, NULL); + } + return; +} diff --git a/src/common/mf-ug-db-handle.c b/src/common/mf-ug-db-handle.c new file mode 100644 index 0000000..6c45525 --- /dev/null +++ b/src/common/mf-ug-db-handle.c @@ -0,0 +1,183 @@ +/* +* Copyright (c) 2000-2015 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. +* +*/ + + +#include <Eina.h> +#include <Elementary.h> +#include <Ecore.h> + +#include "mf-ug-media.h" +#include "mf-ug-media-db.h" +#include "mf-ug-file-util.h" + +static MFDHandle *mfd_handle = NULL; + +void mf_ug_db_handle_destory() +{ + mf_ug_media_disconnect(mfd_handle); +} + +int mf_ug_db_handle_create() +{ + if (mfd_handle) { + mf_ug_db_handle_destory(); + } + + int ret = mf_ug_media_connect(&mfd_handle); + return ret; +} + +MFDHandle *mf_ug_db_handle_get() +{ + return mfd_handle; +} + +/*1 Shortcut*/ +bool mf_ug_db_handle_get_shortcut_cb(MFSitem *Sitem, void *user_data) +{ + Eina_List **list = (Eina_List **)user_data; + if (Sitem && Sitem->path) { + if (mf_file_exists(Sitem->path)) { + *list = eina_list_append(*list, g_strdup(Sitem->path)); + } else { + mf_ug_media_delete_shortcut(mfd_handle, Sitem->path); + } + } + return true; +} + +void mf_ug_db_handle_get_shortcut_files(void *data) +{ + mf_ug_media_foreach_shortcut_list(mfd_handle, mf_ug_db_handle_get_shortcut_cb, data); +} + + +/*1 Ringtone*/ + +bool mf_ug_db_handle_get_ringtone_cb(mfRingtone *ritem, void *user_data) +{ + Eina_List **list = (Eina_List **)user_data; + if (ritem && ritem->path) { + if (mf_file_exists(ritem->path)) { + *list = eina_list_append(*list, g_strdup(ritem->path)); + } else { + mf_ug_media_delete_ringtone(mfd_handle, ritem->path); + } + } + return true; +} + +void mf_ug_db_handle_get_ringtone_files(void *data) +{ + mf_ug_media_foreach_ringtone_list(mfd_handle, mf_ug_db_handle_get_ringtone_cb, data); +} + + +bool mf_ug_db_handle_find_ringtone(const char *path) +{ + int find = mf_ug_find_ringtone(mfd_handle, path); + return (find == 1 ? true : false); +} + +int mf_ug_db_handle_add_ringtone(const char *ringtone_path, const char *ringtone_name, int storage_type) +{ + bool find = mf_ug_db_handle_find_ringtone(ringtone_path); + int ret = MFD_ERROR_DB_NO_RECORD; + if (find == false) { + ret = mf_ug_media_add_ringtone(mfd_handle, ringtone_path, NULL, storage_type); + } else if (find == true) { + ret = MFD_ERROR_FILE_EXSITED; + } + return ret; +} + +int mf_ug_db_handle_del_ringtone(const char *ringtone_path) +{ + int ret = mf_ug_media_delete_ringtone(mfd_handle, ringtone_path); + return ret; +} + +int mf_ug_db_handle_ringtone_in_db(const char *ringtone_path) +{ + int ret = mf_ug_find_ringtone(mfd_handle, ringtone_path); + return ret; +} + +int mf_ug_db_handle_ringtone_get_count() +{ + int count = 0; + mf_ug_media_get_ringtone_count(mfd_handle, &count); + return count; +} +/*1 Alert*/ + +bool mf_ug_db_handle_get_alert_cb(mfRingtone *ritem, void *user_data) +{ + Eina_List **list = (Eina_List **)user_data; + if (ritem && ritem->path) { + if (mf_file_exists(ritem->path)) { + *list = eina_list_append(*list, g_strdup(ritem->path)); + } else { + mf_ug_media_delete_alert(mfd_handle, ritem->path); + } + } + return true; +} + +void mf_ug_db_handle_get_alert_files(void *data) +{ + mf_ug_media_foreach_alert_list(mfd_handle, mf_ug_db_handle_get_alert_cb, data); +} + + +bool mf_ug_db_handle_find_alert(const char *path) +{ + int find = mf_ug_find_alert(mfd_handle, path); + return (find == 1 ? true : false); +} + +int mf_ug_db_handle_add_alert(const char *alert_path, const char *alert_name, int storage_type) +{ + bool find = mf_ug_db_handle_find_alert(alert_path); + int ret = MFD_ERROR_DB_NO_RECORD; + if (find == false) { + ret = mf_ug_media_add_alert(mfd_handle, alert_path, NULL, storage_type); + } else if (find == true) { + ret = MFD_ERROR_FILE_EXSITED; + } + return ret; +} + +int mf_ug_db_handle_del_alert(const char *alert_path) +{ + int ret = mf_ug_media_delete_alert(mfd_handle, alert_path); + return ret; +} + +int mf_ug_db_handle_alert_in_db(const char *alert_path) +{ + int ret = mf_ug_find_alert(mfd_handle, alert_path); + return ret; +} + +int mf_ug_db_handle_alert_get_count() +{ + int count = 0; + mf_ug_media_get_alert_count(mfd_handle, &count); + return count; +} + diff --git a/src/common/mf-ug-file-util.c b/src/common/mf-ug-file-util.c new file mode 100644 index 0000000..8959e02 --- /dev/null +++ b/src/common/mf-ug-file-util.c @@ -0,0 +1,311 @@ +/* +* Copyright 2000-2015 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. +* +*/ + +#include "mf-ug-file-util.h" + +#define PATH_MAX_SIZE 256 +#define BUF_MAX 16384 +static mode_t default_mode = S_IRUSR | S_IWUSR | S_IXUSR | S_IRGRP | S_IXGRP | S_IROTH | S_IXOTH; + +const char *mf_file_get(const char path[]) +{ + char *file = NULL; + struct stat info = {0,}; + + if (stat(path, &info) == 0) { + file = strrchr(path, '/'); + if (file) { + file++; + } + } + + return file; +} + +char *mf_dir_get(const char path[]) +{ + char *p = NULL; + char buf[PATH_MAX] = {0,}; + struct stat info = {0,}; + + if (stat(path, &info) == 0) { + strncpy(buf, path, PATH_MAX); + buf[PATH_MAX - 1] = 0; + p = dirname(buf); + return strdup(p); + } else { + return ""; + } +} + +int mf_file_exists(const char *path) +{ + struct stat info = {0,}; + + if (stat(path, &info) == 0) + return 1; + else + return 0; +} + +Eina_Bool mf_is_dir(const char *path) +{ + struct stat info = {0,}; + + if (stat(path, &info) == 0) { + if (S_ISDIR(info.st_mode)) { + return 1; + } + } + + return 0; +} + +int mf_is_dir_empty(const char *path) +{ + struct stat info = {0,}; + struct dirent *dp = NULL; + DIR *dirp = NULL; + + dirp = opendir(path); + if (!dirp) + return -1; + + while ((dp = readdir(dirp))) { + if (stat(dp->d_name, &info) == 0 && (strcmp(dp->d_name, ".")) && (strcmp(dp->d_name, ".."))) { + closedir(dirp); + return 0; + } + } + closedir(dirp); + return 1; +} + +int mf_mkdir(const char *dir) +{ + if (mkdir(dir, default_mode) < 0) + return 0; + else + return 1; +} + +static int +mf_mkpath_if_not_exists(const char *path) +{ + struct stat st = {0,}; + if (stat(path, &st) < 0) + return mf_mkdir(path); + else if (!S_ISDIR(st.st_mode)) + return 0; + else + return 1; +} + +int mf_mkpath(const char *path) +{ + char ss[PATH_MAX] = {0,}; + unsigned int i = 0; + + if (mf_is_dir(path)) + return 1; + + for (i = 0; path[i] != '\0'; ss[i] = path[i], i++) { + if (i == sizeof(ss) - 1) + return 0; + + if ((path[i] == '/') && (i > 0)) { + ss[i] = '\0'; + if (!mf_mkpath_if_not_exists(ss)) + return 0; + } + } + ss[i] = '\0'; + + return mf_mkpath_if_not_exists(ss); +} + +char *mf_strip_ext(const char *path) +{ + char *p = NULL; + char *file = NULL; + + p = strrchr(path, '.'); + if (!p) { + file = strdup(path); + } else if (p != path) { + file = malloc(((p - path) + 1) * sizeof(char)); + if (file) { + memcpy(file, path, (p - path)); + file[p - path] = 0; + } + } + + return file; +} + +int mf_file_unlink (const char *filename) +{ + int status = unlink(filename); + if (status < 0) + return 0; + else + return 1; +} + +int mf_file_size(const char *filename) +{ + struct stat info = {0,}; + if (stat(filename, &info) == 0) { + if (!S_ISDIR(info.st_mode)) + return info.st_size; + } + + return 0; +} + +int mf_file_rmdir(const char *filename) +{ + int status = rmdir(filename); + if (status < 0) + return 0; + else + return 1; +} + +Eina_List *mf_file_ls(const char *dir) +{ + char *f = NULL; + DIR *dirp = NULL; + struct dirent *dp = NULL; + Eina_List *list = NULL; + + dirp = opendir(dir); + if (!dirp) + return NULL; + + while ((dp = readdir(dirp))) { + if ((strcmp(dp->d_name , ".")) && (strcmp(dp->d_name , ".."))) { + f = strdup(dp->d_name); + list = eina_list_append(list, f); + } + } + closedir(dirp); + + list = eina_list_sort(list, eina_list_count(list), EINA_COMPARE_CB(strcoll)); + + return list; +} + +int mf_file_recursive_rm(const char *dir) +{ + char buf[PATH_MAX_SIZE] = {0,}; + struct dirent *dp = NULL; + DIR *dirp = NULL; + + if (readlink(dir, buf, sizeof(buf)) > 0) { + return mf_file_unlink(dir); + } + + int ret = mf_is_dir(dir); + if (ret) { + ret = 1; + dirp = opendir(dir); + if (dirp) { + while ((dp = readdir(dirp))) { + if ((strcmp(dp->d_name , ".")) && (strcmp(dp->d_name, ".."))) { + if (!mf_file_recursive_rm(dp->d_name)) + ret = 0; + } + } + closedir(dirp); + } + + if (!mf_file_rmdir(dir)) + ret = 0; + + return ret; + } else { + return mf_file_unlink(dir); + } +} + +int mf_file_cp(const char *src, const char *dst) +{ + FILE *f1 = NULL; + FILE *f2 = NULL; + char buf[BUF_MAX] = {0,}; /*TODO: How about moving buf to heap instead of stack*/ + char realpath1[PATH_MAX_SIZE] = {0,}; + char realpath2[PATH_MAX_SIZE] = {0,}; + size_t num; + int ret = 1; + + if (!realpath(src, realpath1)) + return 0; + + if (realpath(dst, realpath2) && !strcmp(realpath1, realpath2)) + return 0; + + f1 = fopen(src, "rb"); + if (!f1) + return 0; + + f2 = fopen(dst, "wb"); + if (!f2) { + fclose(f1); + return 0; + } + + while ((num = fread(buf, 1, sizeof(buf), f1)) > 0) { + if (fwrite(buf, 1, num, f2) != num) + ret = 0; + } + + fclose(f1); + fclose(f2); + + return ret; +} + +int mf_file_mv(const char *src, const char *dst) +{ + struct stat info = {0,}; + if (stat(dst, &info) == 0) + return 0; + + if (rename(src, dst)) { + memset(&info, 0x00, sizeof(struct stat)); + stat(src, &info); + if (S_ISREG(info.st_mode)) { + mf_file_cp(src, dst); + chmod(dst, info.st_mode); + unlink(src); + return 1; + } + return 0; + } + return 1; +} + + +int mf_remove(const char *filename) +{ + int status = remove(filename); + if (status < 0) + return 0; + else + return 1; +} diff --git a/src/common/mf-ug-fm-svc-wapper.c b/src/common/mf-ug-fm-svc-wapper.c index 4cea7b6..c2a91bb 100644 --- a/src/common/mf-ug-fm-svc-wapper.c +++ b/src/common/mf-ug-fm-svc-wapper.c @@ -1,76 +1,71 @@ /* - * 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. - */ +* Copyright (c) 2000-2015 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. +* +*/ + + -#include <sys/statvfs.h> +#include <sys/statvfs.h> +#include <storage.h> #include "mf-ug-util.h" #include "mf-ug-cb.h" #include "mf-ug-main.h" #include "mf-ug-fm-svc-wrapper.h" #include "mf-ug-fs-util.h" #include "mf-ug-resource.h" - -#define UG_FILTER_CATEGORY_ALL \ -UG_FILTER_CATEGORY_NONE | UG_FILTER_CATEGORY_IMAGE | UG_FILTER_CATEGORY_VIDEO \ -| UG_FILTER_CATEGORY_SOUND | UG_FILTER_CATEGORY_VOICE | UG_FILTER_CATEGORY_MUSIC \ -| UG_FILTER_CATEGORY_HTML | UG_FILTER_CATEGORY_FLASH | UG_FILTER_CATEGORY_GAME \ -| UG_FILTER_CATEGORY_APP | UG_FILTER_CATEGORY_THEME | UG_FILTER_CATEGORY_DOC \ -| UG_FILTER_CATEGORY_EXCEL | UG_FILTER_CATEGORY_PPT | UG_FILTER_CATEGORY_PDF \ -| UG_FILTER_CATEGORY_TXT | UG_FILTER_CATEGORY_VCONTACT | UG_FILTER_CATEGORY_VCALENDAR \ -| UG_FILTER_CATEGORY_VNOTE | UG_FILTER_CATEGORY_VBOOKMARK | UG_FILTER_CATEGORY_VIDEO_PROJECT\ -| UG_FILTER_CATEGORY_SVG | UG_FILTER_CATEGORY_ETC - - -#define MF_UG_PATH_INFO_RETRENCH 128 -#define MF_UG_PATH_INFO_HEAD_LEN(x) strlen(x) -#define MF_UG_PATH_INFO_TRANS_OMIT elm_entry_utf8_to_markup("..") -#define MF_UG_PATH_INFO_LEVEL_BOUNDARY 3 -#define MF_UG_PATH_INFO_LEN_THRESHOLD 4 -#define MF_UG_PATH_INFO_SEP elm_entry_utf8_to_markup("/") +#include "mf-ug-widget.h" +#include "mf-ug-file-util.h" + +#define MF_UG_PATH_INFO_RETRENCH 128 +#define MF_UG_PATH_INFO_HEAD_LEN(x) strlen(x) +#define MF_UG_PATH_INFO_TRANS_OMIT elm_entry_utf8_to_markup("..") +#define MF_UG_PATH_INFO_LEVEL_BOUNDARY 3 +#define MF_UG_PATH_INFO_LEN_THRESHOLD 4 +#define MF_UG_PATH_INFO_SEP elm_entry_utf8_to_markup("/") typedef struct { - int len_orig; - int len_trans; - char *original; - char *transfer; - bool flag_trans; -}ug_pNode; + int len_orig; + int len_trans; + char *original; + char *transfer; + bool flag_trans; +} ug_pNode; /********************* -**Function name: __mf_ug_fm_svc_wapper_COMESFROM +**Function name: __mf_ug_fm_svc_wapper_COMESFROM **Parameter: -** GString* fullpath: fullpath to check the location +** GString* fullpath: fullpath to check the location ** **Return value: -** location of the path +** location of the path ** **Action: -** get storage type by fullpath +** get storage type by fullpath *********************/ static int __mf_ug_fm_svc_wapper_COMESFROM(char *fullpath) { - int len_phone = strlen(PHONE_FOLDER); - int len_memory = strlen(MEMORY_FOLDER); - - if (strncmp(fullpath, PHONE_FOLDER, len_phone) == 0) { - return MF_UG_PHONE; - } else if (strncmp(fullpath, MEMORY_FOLDER, len_memory) == 0) { - return MF_UG_MMC; - } else { - return MYFILE_ERR_STORAGE_TYPE_ERROR; - } + int len_phone = strlen(PHONE_FOLDER); + int len_memory = strlen(MEMORY_FOLDER); + + if (strncmp(fullpath, PHONE_FOLDER, len_phone) == 0) { + return MF_UG_PHONE; + } else if (strncmp(fullpath, MEMORY_FOLDER, len_memory) == 0) { + return MF_UG_MMC; + } else { + return MYFILE_ERR_STORAGE_TYPE_ERROR; + } } /****************************** @@ -93,21 +88,21 @@ static int __mf_ug_fm_svc_wapper_COMESFROM(char *fullpath) ******************************/ static int __mf_ug_fm_svc_wapper_get_file_list(GString *fullpath, Eina_List **dir_list, Eina_List **file_list) { - UG_TRACE_BEGIN; - ug_mf_retvm_if(fullpath == NULL, MYFILE_ERR_INVALID_ARG, "fullpath is NULL"); - ug_mf_retvm_if(fullpath->str == NULL, MYFILE_ERR_INVALID_ARG, "fullpath->str is NULL"); - ug_mf_retvm_if(fullpath->len == 0, MYFILE_ERR_INVALID_ARG, "fullpath->len is 0"); - - int error_code = 0; - - error_code = mf_ug_fs_oper_read_dir(fullpath->str, dir_list, file_list); - if (error_code != 0) { - ug_debug("error_code is [%d]\n", error_code); - } else { - ug_debug("success get the file list\n"); - } - UG_TRACE_END; - return error_code; + UG_TRACE_BEGIN; + ug_mf_retvm_if(fullpath == NULL, MYFILE_ERR_INVALID_ARG, "fullpath is NULL"); + ug_mf_retvm_if(fullpath->str == NULL, MYFILE_ERR_INVALID_ARG, "fullpath->str is NULL"); + ug_mf_retvm_if(fullpath->len == 0, MYFILE_ERR_INVALID_ARG, "fullpath->len is 0"); + + int error_code = 0; + + error_code = mf_ug_fs_oper_read_dir(fullpath->str, dir_list, file_list); + if (error_code != 0) { + ug_debug("error_code is [%d]\n", error_code); + } else { + ug_debug("success get the file list\n"); + } + UG_TRACE_END; + return error_code; } @@ -131,137 +126,113 @@ static int __mf_ug_fm_svc_wapper_get_file_list(GString *fullpath, Eina_List **di ******************************/ unsigned long mf_ug_fm_svc_wapper_get_file_filter(int file_filter_mode) { - unsigned long filter = 0; - switch (file_filter_mode) { - case SHOW_ALL_LIST: - filter |= UG_FILTER_CATEGORY_ALL; - ug_debug("show_all_list:::::::::::::::::::::::::::::::::: filter is [%d]", filter); - break; - case SHOW_IMAGE_LIST: - filter |= UG_FILTER_CATEGORY_IMAGE; - break; - case SHOW_SOUND_LIST: - filter |= UG_FILTER_CATEGORY_MUSIC | UG_FILTER_CATEGORY_SOUND | UG_FILTER_CATEGORY_VOICE; - break; - case SHOW_VIDEO_LIST: - filter |= UG_FILTER_CATEGORY_VIDEO; - break; - case SHOW_FLASH_LIST: - filter |= UG_FILTER_CATEGORY_FLASH; - break; - case SHOW_FOLDER_LIST: - break; - case SHOW_IMAGE_VIDEO_LIST: - filter |= UG_FILTER_CATEGORY_IMAGE | UG_FILTER_CATEGORY_VIDEO; - break; - case SHOW_IMAGE_SOUND_LIST: - filter |= UG_FILTER_CATEGORY_IMAGE | UG_FILTER_CATEGORY_SOUND | UG_FILTER_CATEGORY_MUSIC | UG_FILTER_CATEGORY_VOICE; - break; - case SHOW_VIDEO_SOUND_LIST: - filter |= UG_FILTER_CATEGORY_SOUND | UG_FILTER_CATEGORY_VIDEO | UG_FILTER_CATEGORY_MUSIC | UG_FILTER_CATEGORY_VOICE; - break; - default: - break; - } - return filter; + unsigned long filter = 0; + switch (file_filter_mode) { + case SHOW_ALL_LIST: + filter = UG_FILTER_CATEGORY_ALL; + ug_debug("show_all_list:::::::::::::::::::::::::::::::::: filter is [%d]", filter); + break; + case SHOW_IMAGE_LIST: + filter |= UG_FILTER_CATEGORY_IMAGE; + break; + case SHOW_SOUND_LIST: + filter |= UG_FILTER_CATEGORY_MUSIC | UG_FILTER_CATEGORY_SOUND | UG_FILTER_CATEGORY_VOICE | UG_FILTER_CATEGORY_MP4_AUDIO; + break; + case SHOW_VIDEO_LIST: + filter |= UG_FILTER_CATEGORY_VIDEO | UG_FILTER_CATEGORY_MP4_VIDEO; + break; + case SHOW_FLASH_LIST: + filter |= UG_FILTER_CATEGORY_FLASH; + break; + case SHOW_FOLDER_LIST: + break; + case SHOW_IMAGE_VIDEO_LIST: + filter |= UG_FILTER_CATEGORY_IMAGE | UG_FILTER_CATEGORY_VIDEO | UG_FILTER_CATEGORY_MP4_VIDEO; + break; + case SHOW_IMAGE_SOUND_LIST: + filter |= UG_FILTER_CATEGORY_IMAGE | UG_FILTER_CATEGORY_SOUND | UG_FILTER_CATEGORY_MUSIC | UG_FILTER_CATEGORY_VOICE | UG_FILTER_CATEGORY_MP4_AUDIO; + break; + case SHOW_VIDEO_SOUND_LIST: + filter |= UG_FILTER_CATEGORY_SOUND | UG_FILTER_CATEGORY_VIDEO | UG_FILTER_CATEGORY_MUSIC | UG_FILTER_CATEGORY_VOICE | UG_FILTER_CATEGORY_MP4_AUDIO; + break; + case SHOW_DOCUMENT_LIST: + filter |= UG_FILTER_CATEGORY_DOC | UG_FILTER_CATEGORY_EXCEL | UG_FILTER_CATEGORY_PPT | UG_FILTER_CATEGORY_PDF | UG_FILTER_CATEGORY_TXT | UG_FILTER_CATEGORY_SNB | UG_FILTER_CATEGORY_GUL | UG_FILTER_CATEGORY_HWP; + break; + default: + break; + } + return filter; } -int mf_ug_fm_svc_wapper_get_drm_filter(int drm_filter_mode, unsigned long file_filter) +int mf_ug_fm_svc_wapper_get_file_list_by_filter(ugData *data, GString *fullpath, Eina_List **dir_list, Eina_List **filter_list) { - int drm_filter = 0; - unsigned long filter = file_filter; - unsigned long all = (unsigned long)(UG_FILTER_CATEGORY_ALL); - - switch (drm_filter_mode) { - case DRM_FILTER_ALL: - if (filter == all) { - ug_debug("drm_filter is ALL"); - drm_filter |= MF_UG_FILTER_DRM_ALL; - } else { - if (filter & UG_FILTER_CATEGORY_IMAGE) { - ug_debug("drm_filter is IMAGE"); - drm_filter |= MF_UG_FILTER_DRM_IMAGE; - } - if (filter & UG_FILTER_CATEGORY_SOUND) { - ug_debug("drm_filter is SOUND"); - drm_filter |= MF_UG_FILTER_DRM_RINGTONE; - } - if (filter & UG_FILTER_CATEGORY_MUSIC) { - ug_debug("drm_filter is MUSIC"); - drm_filter |= MF_UG_FILTER_DRM_RINGTONE; - } - } - break; - case DRM_FILTER_WITHOUT_FL: - drm_filter |= MF_UG_FILTER_DRM_WITHOUT_FL; - if (filter == all) { - drm_filter |= MF_UG_FILTER_DRM_ALL; - } else { - if (filter & UG_FILTER_CATEGORY_IMAGE) { - drm_filter |= MF_UG_FILTER_DRM_IMAGE; - } - if (filter & UG_FILTER_CATEGORY_SOUND) { - drm_filter |= MF_UG_FILTER_DRM_RINGTONE; - } - if (filter & UG_FILTER_CATEGORY_MUSIC) { - drm_filter |= MF_UG_FILTER_DRM_RINGTONE; - } - } - break; - default: - break; - } - return drm_filter; + ugData *ugd = data; + ug_mf_retvm_if(ugd == NULL, MYFILE_ERR_INVALID_ARG, "ugd is NULL"); + ug_mf_retvm_if(fullpath == NULL, MYFILE_ERR_INVALID_ARG, "fullpath is NULL"); + ug_mf_retvm_if(fullpath->str == NULL, MYFILE_ERR_INVALID_ARG, "fullpath->str is NULL"); + ug_mf_retvm_if(fullpath->len == 0, MYFILE_ERR_INVALID_ARG, "fullpath->len is 0"); + + int error_code = 0; + int filter_mode = 0; + int file_filter = 0; + int file_list_len = 0; + Eina_List *file_list = NULL; + char *extension = NULL; + + filter_mode = ugd->ug_UiGadget.ug_iFilterMode; + file_filter = ugd->ug_UiGadget.ug_iFileFilter; + + error_code = __mf_ug_fm_svc_wapper_get_file_list(fullpath, dir_list, &file_list); + + if (error_code == 0) { + file_list_len = eina_list_count(file_list); + + if (file_list_len > 0) { + ug_debug("file_filter is [%d]\n", filter_mode); + + if (filter_mode != SHOW_BY_EXTENSION) { + ug_debug("file_filter is [%d] ", file_filter); + error_code = mf_ug_fs_oper_list_filter(file_list, filter_list, file_filter); + } else if (ugd->ug_UiGadget.ug_pExtension != NULL) { + extension = strdup(ugd->ug_UiGadget.ug_pExtension); + error_code = mf_ug_fs_oper_list_filter_by_extension(file_list, filter_list, extension); + free(extension); + } + return error_code; + } + } + return error_code; } -int mf_ug_fm_svc_wapper_get_file_list_by_filter(ugData *data, GString *fullpath, Eina_List **dir_list, Eina_List **filter_list) +bool mf_ug_fm_svc_wapper_is_default_ringtone(void *data, char* selected_file) { - ugData *ugd = data; - ug_mf_retvm_if(ugd == NULL, MYFILE_ERR_INVALID_ARG, "ugd is NULL"); - ug_mf_retvm_if(fullpath == NULL, MYFILE_ERR_INVALID_ARG, "fullpath is NULL"); - ug_mf_retvm_if(fullpath->str == NULL, MYFILE_ERR_INVALID_ARG, "fullpath->str is NULL"); - ug_mf_retvm_if(fullpath->len == 0, MYFILE_ERR_INVALID_ARG, "fullpath->len is 0"); - - int error_code = 0; - int filter_mode = 0; - int file_filter = 0; - int drm_filter = 0; - int file_list_len = 0; - Eina_List *file_list = NULL; - char *extension = NULL; - - filter_mode = ugd->ug_UiGadget.ug_iFilterMode; - file_filter = ugd->ug_UiGadget.ug_iFileFilter; - drm_filter = ugd->ug_UiGadget.ug_iDrmFilter; - - ug_debug("fullpath is [%s]", fullpath->str); - error_code = __mf_ug_fm_svc_wapper_get_file_list(fullpath, dir_list, &file_list); - - if (error_code == 0) { - ug_debug(); - file_list_len = eina_list_count(file_list); - - if (file_list_len > 0) { - ug_debug("file_filter is [%d]\n", filter_mode); - - if (filter_mode != SHOW_BY_EXTENSION) { - ug_debug("file_filter is [%d] drm_filter is [%d]", file_filter, drm_filter); - error_code = mf_ug_fs_oper_list_filter(file_list, filter_list, file_filter, drm_filter); - } else if (ugd->ug_UiGadget.ug_pExtension != NULL) { - extension = strdup(ugd->ug_UiGadget.ug_pExtension); - error_code = mf_ug_fs_oper_list_filter_by_extension(file_list, filter_list, extension); - free(extension); - } - ug_debug("error is [%d]%s %d\n", error_code, __func__, __LINE__); - return error_code; - } - } - ug_debug("error is [%d]%s %d\n", error_code, __func__, __LINE__); - return error_code; + UG_TRACE_BEGIN; + ugData *ugd = data; + ugFsNodeInfo *pNode = NULL; + char *real_name = NULL; + Eina_List *l = NULL; + ug_mf_retvm_if(ugd == NULL, false, "ugd is NULL"); + ug_mf_retvm_if(selected_file == NULL, false, "selected_file is NULL"); + ug_mf_retvm_if(ugd->ug_UiGadget.ug_pFilterList == NULL, false, "ugd->ug_UiGadget.ug_pFilterList is NULL"); + EINA_LIST_FOREACH(ugd->ug_UiGadget.ug_pFilterList, l, pNode) { + if (pNode) { + if (pNode->path && pNode->name) { + real_name = g_strconcat(pNode->path, "/", pNode->name, NULL); + } + } else { + continue; + } + if (real_name != NULL && strcmp(selected_file, real_name) == 0) { + SECURE_DEBUG("real_name=%s", real_name); + UG_SAFE_FREE_CHAR(real_name); + return true; + } + UG_SAFE_FREE_CHAR(real_name); + } + + return false; } - - /****************************** ** Prototype : mfUgIsRootPath ** Description : @@ -279,16 +250,16 @@ int mf_ug_fm_svc_wapper_get_file_list_by_filter(ugData *data, GString *fullpath, ******************************/ bool mf_ug_fm_svc_wapper_is_root_path(void *data) { - GString *g_path = (GString *)data; - ug_mf_retvm_if(g_path == NULL, false, "g_path is NULL"); - - if (!strcmp(g_path->str, PHONE_FOLDER)) { - return true; - } else if (!strcmp(g_path->str, MEMORY_FOLDER)) { - return true; - } else { - return false; - } + char *g_path = (char *)data; + ug_mf_retvm_if(g_path == NULL, false, "g_path is NULL"); + + if (!strcmp(g_path, PHONE_FOLDER)) { + return true; + } else if (!strcmp(g_path, MEMORY_FOLDER)) { + return true; + } else { + return false; + } } @@ -309,23 +280,23 @@ bool mf_ug_fm_svc_wapper_is_root_path(void *data) ******************************/ GString *mf_ug_fm_svc_wapper_get_file_name(GString *path) { - GString *ret = NULL; - if (ecore_file_exists(path->str)) { - ret = g_string_new(ecore_file_file_get(path->str)); - } else { - ret = NULL; - } - return ret; + GString *ret = NULL; + if (mf_file_exists(path->str)) { + ret = g_string_new(mf_file_get(path->str)); + } else { + ret = NULL; + } + return ret; } char *mf_ug_fm_svc_wapper_get_root_path_by_tab_label(const char *label) { - if (g_strcmp0(label, MF_UG_LABEL_PHONE) == 0) { - return g_strdup(PHONE_FOLDER); - } else if (g_strcmp0(label, MF_UG_LABEL_MMC) == 0) { - return g_strdup(MEMORY_FOLDER); - } else - return NULL; + if (g_strcmp0(label, MF_UG_LABEL_PHONE) == 0) { + return g_strdup(PHONE_FOLDER); + } else if (g_strcmp0(label, MF_UG_LABEL_MMC) == 0) { + return g_strdup(MEMORY_FOLDER); + } else + return NULL; } /****************************** @@ -345,602 +316,664 @@ char *mf_ug_fm_svc_wapper_get_root_path_by_tab_label(const char *label) ******************************/ int mf_ug_fm_svc_wapper_get_location(char *fullpath) { - return __mf_ug_fm_svc_wapper_COMESFROM(fullpath); + return __mf_ug_fm_svc_wapper_COMESFROM(fullpath); } gint mf_ug_fm_svc_wapper_get_folder_foldersystem(GString *path, bool * result) { - int error_code = 0; - error_code = mf_ug_file_attr_is_system_dir(path->str, result); - return error_code; + int error_code = 0; + error_code = mf_ug_file_attr_is_system_dir(path->str, result); + return error_code; } GString *mf_ug_fm_svc_wrapper_get_file_parent_path(GString *fullpath) { - GString *ret = NULL; - char *path = NULL; - int error_code = 0; - - if (fullpath == NULL || fullpath->str == NULL) { - return NULL; - } - error_code = mf_ug_file_attr_get_parent_path(fullpath->str, &path); - if (error_code != 0) { - return NULL; - } - - ret = g_string_new(path); - free(path); - path = NULL; - return ret; + GString *ret = NULL; + char *path = NULL; + int error_code = 0; + + if (fullpath == NULL || fullpath->str == NULL) { + return NULL; + } + error_code = mf_ug_file_attr_get_parent_path(fullpath->str, &path); + if (error_code != 0) { + return NULL; + } + + ret = g_string_new(path); + free(path); + path = NULL; + return ret; } char *mf_ug_fm_svc_path_info_retrench(const char *string) { - ug_mf_retvm_if(string == NULL, g_strdup(MF_UG_PATH_INFO_TRANS_OMIT), "input path is NULL"); - char *retrench = NULL; - char *utf8_string = elm_entry_utf8_to_markup(string); - if (utf8_string && strlen (string) > MF_UG_PATH_INFO_LEN_THRESHOLD) { - if (g_utf8_strlen(utf8_string, -1) > 2) { - retrench = calloc(1, MF_UG_PATH_INFO_RETRENCH); - if (retrench) { - char *omit = MF_UG_PATH_INFO_TRANS_OMIT; - char *temp = g_utf8_strncpy(retrench, utf8_string, 2); - retrench = g_strconcat(temp, omit, NULL); - UG_SAFE_FREE_CHAR(omit); - UG_SAFE_FREE_CHAR(temp); - } - UG_SAFE_FREE_CHAR(utf8_string); - - } else { - retrench = utf8_string; - } - return retrench; - } else { - return utf8_string; - } + ug_mf_retvm_if(string == NULL, g_strdup(MF_UG_PATH_INFO_TRANS_OMIT), "input path is NULL"); + char *retrench = NULL; + char *utf8_string = elm_entry_utf8_to_markup(string); + if (utf8_string && strlen (string) > MF_UG_PATH_INFO_LEN_THRESHOLD) { + if (g_utf8_strlen(utf8_string, -1) > 2) { + retrench = calloc(1, MF_UG_PATH_INFO_RETRENCH); + if (retrench) { + char *omit = MF_UG_PATH_INFO_TRANS_OMIT; + char *temp = g_utf8_strncpy(retrench, utf8_string, 2); + retrench = g_strconcat(temp, omit, NULL); + UG_SAFE_FREE_CHAR(omit); + UG_SAFE_FREE_CHAR(temp); + } + UG_SAFE_FREE_CHAR(utf8_string); + + } else { + retrench = utf8_string; + } + return retrench; + } else { + return utf8_string; + } } static void __mf_ug_fm_svc_wrapper_path_info_node_free(Eina_List *list) { - ug_mf_retm_if(list == NULL, "list is NULL"); - const Eina_List *l = NULL; - void *data = NULL; - EINA_LIST_FOREACH(list, l, data) { - ug_pNode *node = (ug_pNode *)data; - if (node != NULL) { - UG_SAFE_FREE_CHAR(node->original); - UG_SAFE_FREE_CHAR(node->transfer); - UG_SAFE_FREE_CHAR(node); - } - } - eina_list_free(list); + ug_mf_retm_if(list == NULL, "list is NULL"); + const Eina_List *l = NULL; + void *data = NULL; + EINA_LIST_FOREACH(list, l, data) { + ug_pNode *node = (ug_pNode *)data; + if (node != NULL) { + UG_SAFE_FREE_CHAR(node->original); + UG_SAFE_FREE_CHAR(node->transfer); + UG_SAFE_FREE_CHAR(node); + } + } + eina_list_free(list); } char *mf_ug_fm_svc_path_info_translate(char *path_info, int path_info_max_len) { - ug_mf_retvm_if(path_info == NULL, g_strdup(dgettext("sys_string", "IDS_COM_BODY_UNKNOWN")), "input path is NULL"); - - int top = 0; - bool flag = TRUE; - Eina_List *temp_list = NULL; - const Eina_List *l = NULL; - gchar **result = NULL; - gchar **params = NULL; - int count = 0; - int max_len = 0; - int total_len = 0; - int i = 0; - char *output = NULL; - void *pnode = NULL; - char *omit = MF_UG_PATH_INFO_TRANS_OMIT; - - if (strlen(path_info) < path_info_max_len) { - UG_SAFE_FREE_CHAR(omit); - return path_info; - } - - result = g_strsplit(path_info, "/", 0); - if (result == NULL) { - free(path_info); - path_info = NULL; - UG_SAFE_FREE_CHAR(omit); - return g_strdup(dgettext("sys_string", "IDS_COM_BODY_UNKNOWN")); - } - - params = result; - count = g_strv_length(result); - - if (count > MF_UG_PATH_INFO_LEVEL_BOUNDARY) - { - top = MF_UG_PATH_INFO_LEVEL_BOUNDARY; - flag = FALSE; - max_len = path_info_max_len - MF_UG_PATH_INFO_LEVEL_BOUNDARY - MF_UG_PATH_INFO_HEAD_LEN(omit);//(2 is length of ..) ../aa../bb../*** - } - else - { - top = count; - flag = TRUE; - max_len = path_info_max_len - (count-1); - } - - for(i = top; i > 1; i--) - { - ug_pNode *nodeB = calloc(sizeof(ug_pNode), 1); - nodeB->original = elm_entry_utf8_to_markup(params[count -i]); - nodeB->len_orig = strlen(params[count - i]); - nodeB->transfer = mf_ug_fm_svc_path_info_retrench(params[count-i]); - nodeB->len_trans = strlen(nodeB->transfer); - nodeB->flag_trans = FALSE; - total_len += nodeB->len_orig; - - temp_list = eina_list_append(temp_list, nodeB); - } - - total_len += strlen(params[count - 1]); - - for (i = 0 ; i < eina_list_count(temp_list); i++) - { - if (total_len > max_len) - { - ug_pNode *data = NULL; - data = eina_list_nth(temp_list, i); - total_len -= (data->len_orig - data->len_trans); - data->flag_trans = TRUE; - } - - if (total_len <= max_len) - break; - } - - - if (flag == FALSE) - { - output = elm_entry_utf8_to_markup(".."); - } - char *temp = NULL; - char *sep = MF_UG_PATH_INFO_SEP; - EINA_LIST_FOREACH(temp_list, l, pnode) - { - ug_pNode *node = (ug_pNode *)pnode; - temp = output; - if(node->flag_trans == TRUE) - { - if (output != NULL) - output = g_strconcat(output, sep, node->transfer, NULL); - else - output = g_strdup(node->transfer); - } - else - { - if (output != NULL) - output = g_strconcat(output, sep ,node->original, NULL); - else - output = g_strdup(node->original); - } - UG_SAFE_FREE_CHAR(temp); - } - temp = output; - char *last_string = params[count - 1]; - char *utf8_last = elm_entry_utf8_to_markup(last_string); - - if (output != NULL) { - int last_len = strlen(last_string); - int output_len = strlen(output); - int d_value = path_info_max_len - output_len; - if ((last_len + output_len) > path_info_max_len) { - const char *end = NULL; - gboolean ret = FALSE; - ret = g_utf8_validate(utf8_last, d_value, &end); - if (ret == TRUE) { - d_value = last_len - strlen(end); - utf8_last[d_value] = '\0'; - output = g_strconcat(output, sep, utf8_last, omit, NULL); - UG_SAFE_FREE_CHAR(temp); - } - } else { - output = g_strconcat(output, sep, utf8_last, NULL); - UG_SAFE_FREE_CHAR(temp); - } - } - else { - output = g_strdup(utf8_last); - UG_SAFE_FREE_CHAR(temp); - } - UG_SAFE_FREE_CHAR(utf8_last); - UG_SAFE_FREE_CHAR(sep); - UG_SAFE_FREE_CHAR(omit); - UG_SAFE_FREE_CHAR(path_info); - __mf_ug_fm_svc_wrapper_path_info_node_free(temp_list); - temp_list = NULL; - g_strfreev(result); - result = NULL; - return output; + ug_mf_retvm_if(path_info == NULL, g_strdup(dgettext("sys_string", "IDS_COM_BODY_UNKNOWN")), "input path is NULL"); + + int top = 0; + bool flag = TRUE; + Eina_List *temp_list = NULL; + const Eina_List *l = NULL; + gchar **result = NULL; + gchar **params = NULL; + int count = 0; + int max_len = 0; + int total_len = 0; + int i = 0; + char *output = NULL; + void *pnode = NULL; + char *omit = MF_UG_PATH_INFO_TRANS_OMIT; + + if (strlen(path_info) < path_info_max_len) { + UG_SAFE_FREE_CHAR(omit); + output = g_strdup(path_info); + UG_SAFE_FREE_CHAR(path_info); + return output; + } + + result = g_strsplit(path_info, "/", 0); + if (result == NULL) { + free(path_info); + path_info = NULL; + UG_SAFE_FREE_CHAR(omit); + return g_strdup(dgettext("sys_string", "IDS_COM_BODY_UNKNOWN")); + } + + params = result; + count = g_strv_length(result); + + if (count > MF_UG_PATH_INFO_LEVEL_BOUNDARY) { + top = MF_UG_PATH_INFO_LEVEL_BOUNDARY; + flag = FALSE; + max_len = path_info_max_len - MF_UG_PATH_INFO_LEVEL_BOUNDARY - MF_UG_PATH_INFO_HEAD_LEN(omit); + /*(2 is length of ..) ../aa../bb..*/ + } else { + top = count; + flag = TRUE; + max_len = path_info_max_len - (count-1); + } + + for (i = top; i > 1; i--) { + ug_pNode *nodeB = calloc(sizeof(ug_pNode), 1); + + if (nodeB != NULL) { + nodeB->original = elm_entry_utf8_to_markup(params[count-i]); + nodeB->len_orig = strlen(params[count - i]); + nodeB->transfer = mf_ug_fm_svc_path_info_retrench(params[count-i]); + + if (nodeB->transfer != NULL) { + nodeB->len_trans = strlen(nodeB->transfer); + } + + nodeB->flag_trans = FALSE; + } + if (nodeB) { + total_len += nodeB->len_orig; + } + + temp_list = eina_list_append(temp_list, nodeB); + } + + total_len += strlen(params[count - 1]); + + for (i = 0 ; i < eina_list_count(temp_list); i++) { + if (total_len > max_len) { + ug_pNode *data = NULL; + data = eina_list_nth(temp_list, i); + + if (data != NULL) { + total_len -= (data->len_orig - data->len_trans); + data->flag_trans = TRUE; + } + } + + if (total_len <= max_len) + break; + } + + + if (flag == FALSE) { + output = elm_entry_utf8_to_markup(".."); + } + char *temp = NULL; + char *sep = MF_UG_PATH_INFO_SEP; + EINA_LIST_FOREACH(temp_list, l, pnode) + { + ug_pNode *node = (ug_pNode *)pnode; + temp = output; + if (node->flag_trans == TRUE) { + if (output != NULL) + output = g_strconcat(output, sep, node->transfer, NULL); + else + output = g_strdup(node->transfer); + } else { + if (output != NULL) + output = g_strconcat(output, sep , node->original, NULL); + else + output = g_strdup(node->original); + } + UG_SAFE_FREE_CHAR(temp); + } + temp = output; + char *last_string = params[count - 1]; + char *utf8_last = elm_entry_utf8_to_markup(last_string); + + if (output != NULL && utf8_last != NULL) { + int last_len = strlen(last_string); + int output_len = strlen(output); + int d_value = path_info_max_len - output_len; + if ((last_len + output_len) > path_info_max_len) { + const char *end = NULL; + gboolean ret = FALSE; + ret = g_utf8_validate(utf8_last, d_value, &end); + if (ret == TRUE) { + d_value = last_len - strlen(end); + utf8_last[d_value] = '\0'; + output = g_strconcat(output, sep, utf8_last, omit, NULL); + UG_SAFE_FREE_CHAR(temp); + } + } else { + output = g_strconcat(output, sep, utf8_last, NULL); + UG_SAFE_FREE_CHAR(temp); + } + } else { + if (utf8_last != NULL) { + output = g_strdup(utf8_last); + } else { + output = NULL; + } + + UG_SAFE_FREE_CHAR(temp); + } + UG_SAFE_FREE_CHAR(utf8_last); + UG_SAFE_FREE_CHAR(sep); + UG_SAFE_FREE_CHAR(omit); + UG_SAFE_FREE_CHAR(path_info); + __mf_ug_fm_svc_wrapper_path_info_node_free(temp_list); + temp_list = NULL; + g_strfreev(result); + result = NULL; + return output; } char *mf_ug_fm_svc_wrapper_translate_path(char *original_path) { - ug_mf_retvm_if(original_path == NULL, g_strdup(dgettext("sys_string", "IDS_COM_BODY_UNKNOWN")), "input path is NULL"); - - char *new_path = NULL; - int root_len = 0; - - if (mf_ug_fm_svc_wapper_get_location(original_path) == MF_UG_PHONE) { - root_len = strlen(PHONE_FOLDER); - new_path = g_strconcat(MF_UG_LABEL_PHONE, original_path + root_len, "/", NULL); - } else if (mf_ug_fm_svc_wapper_get_location(original_path) == MF_UG_MMC) { - root_len = strlen(MEMORY_FOLDER); - new_path = g_strconcat(MF_UG_LABEL_MMC, original_path + root_len, "/", NULL); - } else { - new_path = g_strdup(original_path); - } - - ug_debug("new path is %s", new_path); - return new_path; + ug_mf_retvm_if(original_path == NULL, g_strdup(dgettext("sys_string", "IDS_COM_BODY_UNKNOWN")), "input path is NULL"); + + char *new_path = NULL; + int root_len = 0; + + if (mf_ug_fm_svc_wapper_get_location(original_path) == MF_UG_PHONE) { + root_len = strlen(PHONE_FOLDER); + new_path = g_strconcat(mf_ug_widget_get_text(MF_UG_LABEL_PHONE), original_path + root_len, "/", NULL); + } else if (mf_ug_fm_svc_wapper_get_location(original_path) == MF_UG_MMC) { + root_len = strlen(MEMORY_FOLDER); + new_path = g_strconcat(mf_ug_widget_get_text(MF_UG_LABEL_MMC), original_path + root_len, "/", NULL); + } else { + new_path = g_strdup(original_path); + } + + ug_debug("new path is %s", new_path); + return new_path; } char *mf_ug_fm_svc_wapper_path_info_get(char *original_path) { - ug_mf_retvm_if(original_path == NULL, g_strdup(dgettext("sys_string", "IDS_COM_BODY_UNKNOWN")), "input path is NULL"); - char *path_info = NULL; - int len = 0; - - path_info = mf_ug_fm_svc_wrapper_translate_path(original_path); - if (path_info) { - len = strlen(path_info); - if (len > 0 && path_info[len - 1] == '/') { - path_info[len - 1] = '\0'; - } - } - return path_info; + ug_mf_retvm_if(original_path == NULL, g_strdup(dgettext("sys_string", "IDS_COM_BODY_UNKNOWN")), "input path is NULL"); + char *path_info = NULL; + int len = 0; + + path_info = mf_ug_fm_svc_wrapper_translate_path(original_path); + if (path_info) { + len = strlen(path_info); + if (len > 0 && path_info[len - 1] == '/') { + path_info[len - 1] = '\0'; + } + } + return path_info; } +/* unsigned long mf_ug_fm_svc_wrapper_get_free_space(int state) { - struct statvfs info; - char *path = NULL; - - if (state == MF_UG_PHONE) { - path = PHONE_FOLDER; - } else if (state == MF_UG_MMC) { - path = MEMORY_FOLDER; - } else { - return -1; - } - - if (-1 == statvfs(path, &info)) { - return -2; - } - return (info.f_bsize) * info.f_bfree; + struct statvfs info; + char *path = NULL; + + if (state == MF_UG_PHONE) { + path = PHONE_FOLDER; + } else if (state == MF_UG_MMC) { + path = MEMORY_FOLDER; + } else { + return -1; + } + + if (-1 == statvfs(path, &info)) { + return -2; + } + return (info.f_bsize) * info.f_bfree; +} +*/ + +int mf_ug_fm_svc_wrapper_get_free_space(int state) +{ + struct statvfs info; + char *path = NULL; + int ret = 0; + + if (state == MF_UG_PHONE) { + /*path = PHONE_FOLDER;*/ + ret = storage_get_internal_memory_size(&info); + } else if (state == MF_UG_MMC) { + path = MEMORY_FOLDER; + ret = statvfs(path, &info); + } else { + return -1; + } + + if (-1 == ret) { + return -2; + } + return (info.f_bsize) * info.f_bfree; + /*struct statvfs s; + return storage_get_internal_memory_size(&s);*/ } bool mf_ug_fm_svc_wrapper_detect_duplication(GString *to) { - int existing = MYFILE_ERR_NONE; - if (to == NULL) { - return false; - } - GString *parent_path = mf_ug_fm_svc_wrapper_get_file_parent_path(to); - GString *file_name = mf_ug_fm_svc_wapper_get_file_name(to); - - ug_debug("full path and file name %s", to->str); - if (file_name == NULL || parent_path == NULL || file_name->len == 0) { - return false; - } - - if (parent_path->str != NULL) { - ug_debug("parent_path->str is %s", parent_path->str); - } - if (file_name->str != NULL) { - ug_debug("file_name->str is %s", file_name->str); - } - - existing = mf_ug_file_attr_is_duplicated_name(parent_path->str, file_name->str); - - ug_debug("EXIST result is %d", existing); - - if (parent_path != NULL) { - g_string_free(parent_path, TRUE); - } - parent_path = NULL; - - if (file_name != NULL) { - g_string_free(file_name, TRUE); - } - file_name = NULL; - - if (existing == MYFILE_ERR_NONE) { - return false; - } else { - return true; - } + int existing = MYFILE_ERR_NONE; + if (to == NULL) { + return false; + } + GString *parent_path = mf_ug_fm_svc_wrapper_get_file_parent_path(to); + GString *file_name = mf_ug_fm_svc_wapper_get_file_name(to); + + SECURE_DEBUG("full path and file name %s", to->str); + if (file_name == NULL || parent_path == NULL || file_name->len == 0) { + return false; + } + + if (parent_path->str != NULL) { + ug_debug("parent_path->str is %s", parent_path->str); + } + if (file_name->str != NULL) { + SECURE_DEBUG("file_name->str is %s", file_name->str); + } + + existing = mf_ug_file_attr_is_duplicated_name(parent_path->str, file_name->str); + + if (parent_path != NULL) { + g_string_free(parent_path, TRUE); + } + parent_path = NULL; + + if (file_name != NULL) { + g_string_free(file_name, TRUE); + } + file_name = NULL; + + if (existing == MYFILE_ERR_NONE) { + return false; + } else { + return true; + } } static int __mf_ug_fm_svc_wrapper_get_next_number(char *file_name_without_ext, int file_name_type) { - int nCount = 0; - int nLength = 0; - int nUnderline = 0; - bool bAllDigits = true; - int i; - - /* check _02d format */ - nLength = strlen(file_name_without_ext); - - if (file_name_type == FILE_NAME_WITH_UNDERLINE) { - if (nLength < 3) { /*4 means the # of minimum characters (*_n) */ - return 1; /*doesn't match */ - } else { /* input is more than 3 bytes */ - /* find '_' */ - for (nUnderline = nLength - 1; nUnderline >= 0; nUnderline--) { - if (file_name_without_ext[nUnderline] == '_') { - break; - } - } - - if (nUnderline == 0 && file_name_without_ext[0] != '_') { - return 1; /* doesn't match */ - } - /* check the right characters are all digits */ - for (i = nUnderline + 1; i < nLength; i++) { - if (file_name_without_ext[i] < '0' || file_name_without_ext[i] > '9') { - bAllDigits = false; - break; - } - } - - if (bAllDigits) { - for (i = nUnderline + 1; i < nLength; i++) { - nCount *= 10; - nCount += file_name_without_ext[i] - '0'; - } - - file_name_without_ext[nUnderline] = '\0'; /* truncate the last '_dd' */ - } - } - } else { - - if (nLength < 5) { /* 5 means the # of minimum characters (*_(n)) */ - return 1; /*doesn't match */ - } else { /* input is more than 3 bytes */ - /* find '_' */ - for (nUnderline = nLength - 1; nUnderline >= 0; nUnderline--) { - if (file_name_without_ext[nUnderline] == '(') { - break; - } - } - - if (nUnderline == 0 && file_name_without_ext[0] != '(') { - return 1; /* doesn't match */ - } - /* check the right characters are all digits */ - for (i = nUnderline + 1; i < nLength - 1; i++) { - if (file_name_without_ext[i] < '0' || file_name_without_ext[i] > '9') { - bAllDigits = false; - break; - } - } - - /* and more than 2 columns. */ - if (bAllDigits) { - for (i = nUnderline + 1; i < nLength - 1; i++) { - nCount *= 10; - nCount += file_name_without_ext[i] - '0'; - } - - file_name_without_ext[nUnderline] = '\0'; /* truncate the last '_dd' */ - } - } - } - - /* increase nCount by 1 */ - nCount++; - - return nCount; + int nCount = 0; + int nLength = 0; + int nUnderline = 0; + bool bAllDigits = true; + int i; + + /* check _02d format */ + nLength = strlen(file_name_without_ext); + + if (file_name_type == FILE_NAME_WITH_UNDERLINE) { + if (nLength < 3) { /*4 means the # of minimum characters (*_n) */ + return 1; /*doesn't match */ + } else { /* input is more than 3 bytes */ + /* find '_' */ + for (nUnderline = nLength - 1; nUnderline >= 0; nUnderline--) { + if (file_name_without_ext[nUnderline] == '_') { + break; + } + } + + if (nUnderline == 0 && file_name_without_ext[0] != '_') { + return 1; /* doesn't match */ + } + /* check the right characters are all digits */ + for (i = nUnderline + 1; i < nLength; i++) { + if (file_name_without_ext[i] < '0' || file_name_without_ext[i] > '9') { + bAllDigits = false; + break; + } + } + + if (bAllDigits) { + for (i = nUnderline + 1; i < nLength; i++) { + nCount *= 10; + nCount += file_name_without_ext[i] - '0'; + } + + file_name_without_ext[nUnderline] = '\0'; /* truncate the last '_dd' */ + } + } + } else { + + if (nLength < 5) { /* 5 means the # of minimum characters (*_(n)) */ + return 1; /*doesn't match */ + } else { /* input is more than 3 bytes */ + /* find '_' */ + for (nUnderline = nLength - 1; nUnderline >= 0; nUnderline--) { + if (file_name_without_ext[nUnderline] == '(') { + break; + } + } + + if (nUnderline == 0 && file_name_without_ext[0] != '(') { + return 1; /* doesn't match */ + } + /* check the right characters are all digits */ + for (i = nUnderline + 1; i < nLength - 1; i++) { + if (file_name_without_ext[i] < '0' || file_name_without_ext[i] > '9') { + bAllDigits = false; + break; + } + } + + /* and more than 2 columns. */ + if (bAllDigits) { + for (i = nUnderline + 1; i < nLength - 1; i++) { + nCount *= 10; + nCount += file_name_without_ext[i] - '0'; + } + + file_name_without_ext[nUnderline] = '\0'; /* truncate the last '_dd' */ + } + } + } + + /* increase nCount by 1 */ + nCount++; + + return nCount; } static int __mf_ug_fm_svc_wrapper_get_unique_name(const char *default_dir_full_path, char *original_file_name, char **unique_file_name, - int file_name_type, void *data) + int file_name_type, void *data) { - //mf_debug("%s %d\n", __func__, __LINE__); - ug_mf_retvm_if(unique_file_name == NULL, MYFILE_ERR_SRC_ARG_INVALID, "unique_file_name is NULL"); - ug_mf_retvm_if(data == NULL, MYFILE_ERR_SRC_ARG_INVALID, "data is NULL"); - - char *file_name_without_ext = NULL; - char *file_ext = NULL; - char *new_file_name = NULL; - bool result = false; - char *dir_rel_path = NULL; - int slash = 1; - int nCount = 0; - bool bExt = false; - int error_code = 0; - - if (default_dir_full_path == NULL || original_file_name == NULL) { - ug_debug("default_dir_full_path == NULL || \ - original_file_name == NULL || \ - unique_file_name == NULL || \ - error_code == NULL "); - error_code = MYFILE_ERR_SRC_ARG_INVALID; - goto Exception; - } - result = mf_ug_file_attr_get_logical_path_by_full(default_dir_full_path, &dir_rel_path); - - if (result) { - error_code = MYFILE_ERR_GET_LOGIC_PATH_FAIL; - goto Exception; - } - - if (strncmp(dir_rel_path, "/", strlen(dir_rel_path)) == 0) { - slash = 0; - } - error_code = mf_ug_file_attr_is_duplicated_name(default_dir_full_path, original_file_name); - if (error_code == 0) { - ug_debug("unique_file_name [%s]", *unique_file_name); - ug_debug("original_file_name [%s]", new_file_name); - *unique_file_name = g_strdup(original_file_name); - ug_debug("unique_file_name [%s]", *unique_file_name); - } - - while (error_code < 0) { - error_code = 0; - bExt = mf_ug_file_attr_get_file_ext(original_file_name, &file_ext); - file_name_without_ext = g_strdup(original_file_name); - - if (file_name_without_ext == NULL) { - error_code = MYFILE_ERR_ALLOCATE_MEMORY_FAIL; - goto Exception; - } - - /* add a condition, whether extention is or not. */ - if (bExt == 0) { - file_name_without_ext[strlen(file_name_without_ext) - strlen(file_ext) - 1] = '\0'; - } - - nCount = __mf_ug_fm_svc_wrapper_get_next_number(file_name_without_ext, file_name_type); - if (nCount == 1 && file_name_type == FILE_NAME_WITH_BRACKETS) { - char *file_name_with_space = g_strconcat(file_name_without_ext, " ", NULL); - if (file_name_with_space) { - UG_SAFE_FREE_CHAR(file_name_without_ext); - file_name_without_ext = file_name_with_space; - file_name_with_space = NULL; - } - } - - if (bExt == 0) { - if (file_name_type == FILE_NAME_WITH_BRACKETS) - new_file_name = g_strdup_printf("%s(%d).%s", file_name_without_ext, nCount, file_ext); - else - new_file_name = g_strdup_printf("%s_%d.%s", file_name_without_ext, nCount, file_ext); - } else { - - if (file_name_type == FILE_NAME_WITH_BRACKETS) - new_file_name = g_strdup_printf("%s(%d)", file_name_without_ext, nCount); - else - new_file_name = g_strdup_printf("%s_%d", file_name_without_ext, nCount); - } - //mf_debug("new_file_name [%s]", new_file_name); - //mf_debug("original_file_name [%s]", new_file_name); - UG_SAFE_FREE_CHAR(file_name_without_ext); - - ug_debug("new name is %s\n", new_file_name); - - error_code = mf_ug_file_attr_is_duplicated_name(default_dir_full_path, new_file_name); - if (error_code == 0) { - *unique_file_name = g_strdup(new_file_name); - //mf_debug("rename finished\n"); - error_code = MYFILE_ERR_NONE; - goto Exception; - } else { - //mf_debug("rename continue\n"); - original_file_name = g_strdup(new_file_name); - UG_SAFE_FREE_CHAR(new_file_name); - } - UG_SAFE_FREE_CHAR(file_ext); - } - - return MYFILE_ERR_NONE; + /*mf_debug("%s %d\n", __func__, __LINE__);*/ + ug_mf_retvm_if(unique_file_name == NULL, MYFILE_ERR_SRC_ARG_INVALID, "unique_file_name is NULL"); + ug_mf_retvm_if(data == NULL, MYFILE_ERR_SRC_ARG_INVALID, "data is NULL"); + + char *file_name_without_ext = NULL; + char *file_ext = NULL; + char *new_file_name = NULL; + bool result = false; + char *dir_rel_path = NULL; + int nCount = 0; + bool bExt = false; + int error_code = 0; + + if (default_dir_full_path == NULL || original_file_name == NULL) { + ug_debug("default_dir_full_path == NULL || \ + original_file_name == NULL || \ + unique_file_name == NULL || \ + error_code == NULL "); + error_code = MYFILE_ERR_SRC_ARG_INVALID; + goto Exception; + } + result = mf_ug_file_attr_get_logical_path_by_full(default_dir_full_path, &dir_rel_path); + + if (result) { + error_code = MYFILE_ERR_GET_LOGIC_PATH_FAIL; + goto Exception; + } + + error_code = mf_ug_file_attr_is_duplicated_name(default_dir_full_path, original_file_name); + if (error_code == 0) { + SECURE_DEBUG("unique_file_name [%s]", *unique_file_name); + SECURE_DEBUG("original_file_name [%s]", new_file_name); + *unique_file_name = g_strdup(original_file_name); + SECURE_DEBUG("unique_file_name [%s]", *unique_file_name); + } + + while (error_code < 0) { + error_code = 0; + bExt = mf_ug_file_attr_get_file_ext(original_file_name, &file_ext); + file_name_without_ext = g_strdup(original_file_name); + + if (file_name_without_ext == NULL) { + error_code = MYFILE_ERR_ALLOCATE_MEMORY_FAIL; + goto Exception; + } + + /* add a condition, whether extention is or not. */ + if (bExt == 0) { + file_name_without_ext[strlen(file_name_without_ext) - strlen(file_ext) - 1] = '\0'; + } + + nCount = __mf_ug_fm_svc_wrapper_get_next_number(file_name_without_ext, file_name_type); + if (nCount == 1 && file_name_type == FILE_NAME_WITH_BRACKETS) { + char *file_name_with_space = g_strconcat(file_name_without_ext, " ", NULL); + if (file_name_with_space) { + UG_SAFE_FREE_CHAR(file_name_without_ext); + file_name_without_ext = file_name_with_space; + file_name_with_space = NULL; + } + } + + if (bExt == 0) { + if (file_name_type == FILE_NAME_WITH_BRACKETS) + new_file_name = g_strdup_printf("%s(%d).%s", file_name_without_ext, nCount, file_ext); + else + new_file_name = g_strdup_printf("%s_%d.%s", file_name_without_ext, nCount, file_ext); + } else { + + if (file_name_type == FILE_NAME_WITH_BRACKETS) + new_file_name = g_strdup_printf("%s(%d)", file_name_without_ext, nCount); + else + new_file_name = g_strdup_printf("%s_%d", file_name_without_ext, nCount); + } + /*mf_debug("new_file_name [%s]", new_file_name); + mf_debug("original_file_name [%s]", new_file_name);*/ + UG_SAFE_FREE_CHAR(file_name_without_ext); + + SECURE_DEBUG("new name is %s\n", new_file_name); + + error_code = mf_ug_file_attr_is_duplicated_name(default_dir_full_path, new_file_name); + if (error_code == 0) { + *unique_file_name = g_strdup(new_file_name); + /*mf_debug("rename finished\n");*/ + error_code = MYFILE_ERR_NONE; + goto Exception; + } else { + /*mf_debug("rename continue\n");*/ + original_file_name = g_strdup(new_file_name); + UG_SAFE_FREE_CHAR(new_file_name); + } + UG_SAFE_FREE_CHAR(file_ext); + } + + return MYFILE_ERR_NONE; Exception: - UG_SAFE_FREE_CHAR(dir_rel_path); - UG_SAFE_FREE_CHAR(file_ext); - UG_SAFE_FREE_CHAR(new_file_name); - return error_code; + UG_SAFE_FREE_CHAR(dir_rel_path); + UG_SAFE_FREE_CHAR(file_ext); + UG_SAFE_FREE_CHAR(new_file_name); + return error_code; } int mf_ug_fm_svc_wrapper_file_auto_rename(void *data, GString *fullpath, int file_name_type, GString **filename) { - ug_mf_retvm_if(data == NULL, MYFILE_ERR_SRC_ARG_INVALID, "data is NULL"); - ugData *ugd = (ugData *)data; - - GString *parent_path = mf_ug_fm_svc_wrapper_get_file_parent_path(fullpath); - GString *file_name = mf_ug_fm_svc_wapper_get_file_name(fullpath); - - if (parent_path == NULL || file_name == NULL) { - return MYFILE_ERR_GENERATE_NAME_FAIL; - } - if (parent_path->str == NULL || file_name->str == NULL) { - g_string_free(parent_path, TRUE); - parent_path = NULL; - g_string_free(file_name, TRUE); - file_name = NULL; - return MYFILE_ERR_GENERATE_NAME_FAIL; - } - - char *name = NULL; - int error_code = 0; - - if (parent_path->str != NULL) { - //mf_debug("parent_full_path is [%s]", parent_path->str); - } - - if (file_name->str != NULL) { - //mf_debug("original_file_name is [%s]", file_name->str); - } - error_code = __mf_ug_fm_svc_wrapper_get_unique_name(parent_path->str, file_name->str, &name, file_name_type, ugd); - if (error_code) { - UG_SAFE_FREE_CHAR(name); - return MYFILE_ERR_GENERATE_NAME_FAIL; - } - g_string_append_printf(parent_path, "/%s", name); - ug_debug("After gstring append, PATH ::: [%s]", parent_path->str); - - if (file_name != NULL) { - g_string_free(file_name, TRUE); - } - - file_name = NULL; - if (name != NULL) { - free(name); - name = NULL; - } - - *filename = parent_path; - return MYFILE_ERR_NONE; + ug_mf_retvm_if(data == NULL, MYFILE_ERR_SRC_ARG_INVALID, "data is NULL"); + ugData *ugd = (ugData *)data; + + GString *parent_path = mf_ug_fm_svc_wrapper_get_file_parent_path(fullpath); + GString *file_name = mf_ug_fm_svc_wapper_get_file_name(fullpath); + + if (parent_path == NULL || file_name == NULL) { + return MYFILE_ERR_GENERATE_NAME_FAIL; + } + if (parent_path->str == NULL || file_name->str == NULL) { + g_string_free(parent_path, TRUE); + parent_path = NULL; + g_string_free(file_name, TRUE); + file_name = NULL; + return MYFILE_ERR_GENERATE_NAME_FAIL; + } + + char *name = NULL; + int error_code = 0; + + if (parent_path->str != NULL) { + /*mf_debug("parent_full_path is [%s]", parent_path->str);*/ + } + + if (file_name->str != NULL) { + /*mf_debug("original_file_name is [%s]", file_name->str);*/ + } + error_code = __mf_ug_fm_svc_wrapper_get_unique_name(parent_path->str, file_name->str, &name, file_name_type, ugd); + if (error_code) { + UG_SAFE_FREE_CHAR(name); + return MYFILE_ERR_GENERATE_NAME_FAIL; + } + g_string_append_printf(parent_path, "/%s", name); + ug_debug("After gstring append, PATH ::: [%s]", parent_path->str); + + if (file_name != NULL) { + g_string_free(file_name, TRUE); + } + + file_name = NULL; + if (name != NULL) { + free(name); + name = NULL; + } + + *filename = parent_path; + return MYFILE_ERR_NONE; } int mf_ug_fm_svc_wrapper_create_service(void *data, GString *fullpath) { - int error_code; + int error_code; - mf_ug_util_remove_dir_watch(); - error_code = mf_ug_fs_oper_create_dir(fullpath->str); + mf_ug_util_remove_dir_watch(); + error_code = mf_ug_fs_oper_create_dir(fullpath->str); - if (error_code != 0) { - ug_debug("Make DIR error\n"); - } + if (error_code != 0) { + ug_debug("Make DIR error\n"); + } - return error_code; + return error_code; } int mf_ug_fm_svc_wrapper_create_p(const char *fullpath) { - UG_TRACE_BEGIN; - - ug_debug("path is [%s]", fullpath); - int error_code = MYFILE_ERR_NONE; - - char *parent = NULL; - error_code = mf_ug_file_attr_get_parent_path(fullpath, &parent); - - goto_if(error_code != MYFILE_ERR_NONE, EXIT); + UG_TRACE_BEGIN; - if (ecore_file_exists(parent) == false) { - error_code = mf_ug_fm_svc_wrapper_create_p(parent); - goto_if(error_code != MYFILE_ERR_NONE, EXIT); + int error_code = MYFILE_ERR_NONE; - } - - ug_debug("create [%s]", fullpath); - error_code = mf_ug_fs_oper_create_dir(fullpath); - goto_if(error_code != MYFILE_ERR_NONE, EXIT); + error_code = mf_ug_fs_oper_create_dir(fullpath); + goto_if(error_code != MYFILE_ERR_NONE, EXIT); EXIT: - return error_code; + return error_code; } + +Eina_List *mf_ug_fm_svc_wrapper_level_path_get(const char *original_path) +{ + UG_TRACE_BEGIN; + ug_mf_retvm_if(original_path == NULL, NULL, "input path is NULL"); + + char *current_path = g_strdup(original_path); + Eina_List *path_list = NULL; + const char *root_path = NULL; + + ug_error("original_path is [%s]", original_path); + int location = mf_ug_fm_svc_wapper_is_root_path(current_path); + if (location == MF_UG_NONE) { + location = mf_ug_fm_svc_wapper_get_location(current_path); + switch (location) { + case MF_UG_PHONE: + root_path = PHONE_FOLDER; + break; + case MF_UG_MMC: + root_path = MEMORY_FOLDER; + break; + default: + return NULL; + } + current_path = current_path+strlen(root_path)+1; + path_list = eina_list_append(path_list, g_strdup(root_path)); + gchar **result = NULL; + gchar **params = NULL; + result = g_strsplit(current_path, "/", 0); + char *level_path = NULL; + for (params = result; *params; params++) { + if (level_path == NULL) { + level_path = g_strconcat(root_path, "/", *params, NULL); + } else { + level_path = g_strconcat(level_path, "/", *params, NULL); + } + path_list = eina_list_append(path_list, level_path); + } + g_strfreev(result); + } else { + path_list = eina_list_append(path_list, g_strdup(original_path)); + } + UG_TRACE_END; + return path_list; +} + diff --git a/src/common/mf-ug-inotify-handle.c b/src/common/mf-ug-inotify-handle.c index 53734db..06b6117 100644 --- a/src/common/mf-ug-inotify-handle.c +++ b/src/common/mf-ug-inotify-handle.c @@ -1,18 +1,24 @@ /* - * 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. - */ +* Copyright (c) 2000-2015 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. +* +*/ + + + + + #include <stdio.h> #include <glib.h> @@ -29,20 +35,20 @@ #include "mf-ug-inotify-handle.h" #define MF_WATCH_FLAGS \ - IN_CREATE | IN_DELETE | IN_DELETE_SELF | IN_MOVE_SELF | IN_MOVED_FROM | IN_MOVED_TO | IN_CLOSE_WRITE + IN_CREATE | IN_DELETE | IN_DELETE_SELF | IN_MOVE_SELF | IN_MOVED_FROM | IN_MOVED_TO | IN_CLOSE_WRITE #define MF_EVENT_SIZE (sizeof(struct inotify_event)) /** reasonable guess as to size of 1024 events */ #define MF_EVENT_BUF_LEN (1024 * (MF_EVENT_SIZE + 16)) -#define MF_U32_MAX 0xFFFFFFFF +#define MF_U32_MAX 0xFFFFFFFF typedef struct _mf_inotify_t { - int fd; - int wd; - gchar *path; - unsigned int prev_event; - pthread_t monitor; - mf_ug_inotify_cb callback; - void *u_data; + int fd; + int wd; + gchar *path; + unsigned int prev_event; + pthread_t monitor; + mf_ug_inotify_cb callback; + void *u_data; } mf_inotify_t; static pthread_mutex_t mf_noti_lock; @@ -50,300 +56,301 @@ static mf_inotify_t *g_handle; static void __mf_ug_inotify_handle_free_handle(void) { - pthread_mutex_destroy(&mf_noti_lock); - - if (g_handle) { - if (g_handle->fd >= 0) { - close(g_handle->fd); - g_handle->fd = -1; - } - if (g_handle->path) { - g_free(g_handle->path); - g_handle->path = NULL; - } - g_free(g_handle); - g_handle = NULL; - } - - return; + pthread_mutex_destroy(&mf_noti_lock); + + if (g_handle) { + if (g_handle->fd >= 0) { + close(g_handle->fd); + g_handle->fd = -1; + } + if (g_handle->path) { + g_free(g_handle->path); + g_handle->path = NULL; + } + g_free(g_handle); + g_handle = NULL; + } + + return; } static mf_inotify_t *__mf_ug_inotify_handle_init_handle(void) { - __mf_ug_inotify_handle_free_handle(); - g_handle = g_new0(mf_inotify_t, 1); - - if (g_handle) { - g_handle->fd = -1; - pthread_mutex_init(&mf_noti_lock, NULL); - pthread_mutex_lock(&mf_noti_lock); - g_handle->wd = -1; - pthread_mutex_unlock(&mf_noti_lock); - } - - return g_handle; + __mf_ug_inotify_handle_free_handle(); + g_handle = g_new0(mf_inotify_t, 1); + + if (g_handle) { + g_handle->fd = -1; + pthread_mutex_init(&mf_noti_lock, NULL); + pthread_mutex_lock(&mf_noti_lock); + g_handle->wd = -1; + pthread_mutex_unlock(&mf_noti_lock); + } + + return g_handle; } static void __mf_ug_inotify_handle_clean_up_thread(void *data) { - pthread_mutex_t *lock = (pthread_mutex_t *) data; - ug_mf_debug("Thread cancel Clean_up function"); - if (lock) { - pthread_mutex_unlock(lock); - } - return; + pthread_mutex_t *lock = (pthread_mutex_t *) data; + ug_mf_debug("Thread cancel Clean_up function"); + if (lock) { + pthread_mutex_unlock(lock); + } + return; } static gpointer __mf_ug_inotify_handle_watch_thread(gpointer user_data) { - mf_inotify_t *handle = (mf_inotify_t *) user_data; - int oldtype = 0; - - ug_mf_retvm_if(handle == NULL, NULL, "handle is NULL"); - ug_mf_debug("Create __mf_ug_inotify_handle_watch_thread!!! "); - - pthread_setcanceltype(PTHREAD_CANCEL_DEFERRED, &oldtype); - - while (1) { - ssize_t len = 0; - uint32_t i = 0; - char event_buff[MF_EVENT_BUF_LEN] = { 0, }; - - if (handle->fd < 0) { - ug_mf_error("fd is not a vaild one"); - pthread_exit(NULL); - } - - len = read(handle->fd, event_buff, sizeof(event_buff) - 1); - if (len <= 0 || len > sizeof(event_buff) - 1) { - ug_mf_error("Fail to read() -fd : %d, len : %d", handle->fd, len); - continue; - } - - while (i < len) { - struct inotify_event *pevent = (struct inotify_event *)&event_buff[i]; - mf_ug_inotify_event s_event = UG_MF_INOTI_NONE; - ug_mf_error("mask=%x dir=%s len=%d name=%s", - pevent->mask, (pevent->mask & IN_ISDIR) ? "yes" : "no", pevent->len, (pevent->len) ? pevent->name : NULL); - - if (pevent->len && strncmp(pevent->name, ".", 1) == 0) { - s_event = UG_MF_INOTI_NONE; - } else if (pevent->mask & IN_ISDIR) { - if (pevent->mask & IN_DELETE_SELF) - s_event = UG_MF_INOTI_DELETE_SELF; - - if (pevent->mask & IN_MOVE_SELF) - s_event = UG_MF_INOTI_MOVE_SELF; - - if (pevent->mask & IN_CREATE) - s_event = UG_MF_INOTI_CREATE; - - if (pevent->mask & IN_DELETE) - s_event = UG_MF_INOTI_DELETE; - - if (pevent->mask & IN_MOVED_FROM) - s_event = UG_MF_INOTI_MOVE_OUT; - - if (pevent->mask & IN_MOVED_TO) - s_event = UG_MF_INOTI_MOVE_IN; - } else { - if (pevent->mask & IN_CREATE) { - s_event = UG_MF_INOTI_NONE; - handle->prev_event = IN_CREATE; - } - - if (pevent->mask & IN_CLOSE_WRITE) { - if (handle->prev_event == IN_CREATE) { - s_event = UG_MF_INOTI_CREATE; - } else { - s_event = UG_MF_INOTI_MODIFY; - } - handle->prev_event = 0; - } - - if (pevent->mask & IN_DELETE) - s_event = UG_MF_INOTI_DELETE; - - if (pevent->mask & IN_MOVED_FROM) - s_event = UG_MF_INOTI_MOVE_OUT; - - if (pevent->mask & IN_MOVED_TO) - s_event = UG_MF_INOTI_MOVE_IN; - } - - ug_mf_debug("s_event : %d, prev_event: %x, callback : %p", s_event, handle->prev_event, handle->callback); - if (s_event != UG_MF_INOTI_NONE) { - pthread_cleanup_push(__mf_ug_inotify_handle_clean_up_thread, (void *)&mf_noti_lock); - pthread_mutex_lock(&mf_noti_lock); - if (handle->callback) { - handle->callback(s_event, (pevent->len) ? pevent->name : NULL, handle->u_data); - } - pthread_mutex_unlock(&mf_noti_lock); - pthread_cleanup_pop(0); - } - - if ((MF_U32_MAX - pevent->len) >= MF_EVENT_SIZE) { - i += sizeof(struct inotify_event) + pevent->len; - } else { - break; - } - } - } - - ug_mf_debug("end __mf_ug_inotify_handle_watch_thread!!! "); - - return NULL; + mf_inotify_t *handle = (mf_inotify_t *) user_data; + int oldtype = 0; + + ug_mf_retvm_if(handle == NULL, NULL, "handle is NULL"); + ug_mf_debug("Create __mf_ug_inotify_handle_watch_thread!!! "); + + pthread_setcanceltype(PTHREAD_CANCEL_DEFERRED, &oldtype); + + while (1) { + ssize_t len = 0; + uint32_t i = 0; + char event_buff[32752] = { 0, }; + + if (handle->fd < 0) { + ug_mf_error("fd is not a vaild one"); + pthread_exit(NULL); + } + + len = read(handle->fd, event_buff, sizeof(event_buff) - 1); + if (len <= 0 || len > sizeof(event_buff) - 1) { + ug_mf_error("Fail to read() -fd : %d, len : %d", handle->fd, len); + continue; + } + + while (i < len) { + struct inotify_event *pevent = (struct inotify_event *)&event_buff[i]; + + mf_ug_inotify_event s_event = UG_MF_INOTI_NONE; + ug_mf_error("mask=%x dir=%s len=%d name=%s", + pevent->mask, (pevent->mask & IN_ISDIR) ? "yes" : "no", pevent->len, (pevent->len) ? pevent->name : NULL); + + if (pevent->len && strncmp(pevent->name, ".", 1) == 0) { + s_event = UG_MF_INOTI_NONE; + } else if (pevent->mask & IN_ISDIR) { + if (pevent->mask & IN_DELETE_SELF) + s_event = UG_MF_INOTI_DELETE_SELF; + + if (pevent->mask & IN_MOVE_SELF) + s_event = UG_MF_INOTI_MOVE_SELF; + + if (pevent->mask & IN_CREATE) + s_event = UG_MF_INOTI_CREATE; + + if (pevent->mask & IN_DELETE) + s_event = UG_MF_INOTI_DELETE; + + if (pevent->mask & IN_MOVED_FROM) + s_event = UG_MF_INOTI_MOVE_OUT; + + if (pevent->mask & IN_MOVED_TO) + s_event = UG_MF_INOTI_MOVE_IN; + } else { + if (pevent->mask & IN_CREATE) { + s_event = UG_MF_INOTI_NONE; + handle->prev_event = IN_CREATE; + } + + if (pevent->mask & IN_CLOSE_WRITE) { + if (handle->prev_event == IN_CREATE) { + s_event = UG_MF_INOTI_CREATE; + } else { + s_event = UG_MF_INOTI_MODIFY; + } + handle->prev_event = 0; + } + + if (pevent->mask & IN_DELETE) + s_event = UG_MF_INOTI_DELETE; + + if (pevent->mask & IN_MOVED_FROM) + s_event = UG_MF_INOTI_MOVE_OUT; + + if (pevent->mask & IN_MOVED_TO) + s_event = UG_MF_INOTI_MOVE_IN; + } + + ug_mf_debug("s_event : %d, prev_event: %x, callback : %p", s_event, handle->prev_event, handle->callback); + if (s_event != UG_MF_INOTI_NONE) { + pthread_cleanup_push(__mf_ug_inotify_handle_clean_up_thread, (void *)&mf_noti_lock); + pthread_mutex_lock(&mf_noti_lock); + if (handle->callback) { + handle->callback(s_event, (pevent->len) ? pevent->name : NULL, handle->u_data); + } + pthread_mutex_unlock(&mf_noti_lock); + pthread_cleanup_pop(0); + } + + if ((MF_U32_MAX - pevent->len) >= MF_EVENT_SIZE) { + i += sizeof(struct inotify_event) + pevent->len; + } else { + break; + } + } + } + + ug_mf_debug("end __mf_ug_inotify_handle_watch_thread!!! "); + + return NULL; } int mf_ug_inotify_handle_init_inotify(void) { - mf_inotify_t *handle = NULL; - handle = __mf_ug_inotify_handle_init_handle(); - ug_mf_retvm_if(handle == NULL, -1, "fail to __mf_ug_inotify_handle_init_handle()"); - - handle->fd = inotify_init(); - - if (handle->fd < 0) { - switch (errno) { - case EMFILE: - ug_mf_error("The user limit on the total number of inotify instances has been reached.\n"); - break; - case ENFILE: - ug_mf_error("The system limit on the total number of file descriptors has been reached.\n"); - break; - case ENOMEM: - ug_mf_error("Insufficient kernel memory is available.\n"); - break; - default: - ug_mf_error("Fail to inotify_init(), Unknown error.\n"); - break; - } - return -1; - } - pthread_create(&handle->monitor, NULL, __mf_ug_inotify_handle_watch_thread, handle); - return 0; + mf_inotify_t *handle = NULL; + handle = __mf_ug_inotify_handle_init_handle(); + ug_mf_retvm_if(handle == NULL, -1, "fail to __mf_ug_inotify_handle_init_handle()"); + + handle->fd = inotify_init(); + + if (handle->fd < 0) { + switch (errno) { + case EMFILE: + ug_mf_error("The user limit on the total number of inotify instances has been reached.\n"); + break; + case ENFILE: + ug_mf_error("The system limit on the total number of file descriptors has been reached.\n"); + break; + case ENOMEM: + ug_mf_error("Insufficient kernel memory is available.\n"); + break; + default: + ug_mf_error("Fail to inotify_init(), Unknown error.\n"); + break; + } + return -1; + } + pthread_create(&handle->monitor, NULL, __mf_ug_inotify_handle_watch_thread, handle); + return 0; } int mf_ug_inotify_handle_add_inotify_watch(const char *path, mf_ug_inotify_cb callback, void *user_data) { - mf_inotify_t *handle = NULL; - handle = g_handle; - ug_mf_retvm_if(handle == NULL, -1, "handle is NULL"); - - if (handle->wd >= 0) { - ug_mf_warnig("The mf_notify module supports single instance, the watch descript [%d] is removed automatically\n", handle->wd); - mf_ug_inotify_handle_rm_inotify_watch(); - } - - pthread_mutex_lock(&mf_noti_lock); - handle->wd = inotify_add_watch(handle->fd, path, MF_WATCH_FLAGS); - - if (handle->wd < 0) { - switch (errno) { - case EACCES: - ug_mf_error("Read access to the given file is not permitted.\n"); - break; - case EBADF: - ug_mf_error("The given file descriptor is not valid.\n"); - handle->fd = -1; - break; - case EFAULT: - ug_mf_error("pathname points outside of the process's accessible address space.\n"); - break; - case EINVAL: - ug_mf_error("The given event mask contains no legal events; or fd is not an inotify file descriptor.\n"); - break; - case ENOMEM: - ug_mf_error("Insufficient kernel memory is available.\n"); - break; - case ENOSPC: - ug_mf_error("User limit on the total num of inotify watch was reached or the kernel failed to alloc a needed resource.\n"); - break; - default: - ug_mf_error("Fail to ug_ug_mf_inotify_add_watch(), Unknown error.\n"); - break; - } - pthread_mutex_unlock(&mf_noti_lock); - return -1; - } - - ug_mf_debug("start watching [%s] directory", path); - if (handle->path) { - g_free(handle->path); - handle->path = NULL; - } - handle->path = g_strdup(path); - handle->callback = callback; - handle->u_data = user_data; - pthread_mutex_unlock(&mf_noti_lock); - - return 0; + mf_inotify_t *handle = NULL; + handle = g_handle; + ug_mf_retvm_if(handle == NULL, -1, "handle is NULL"); + + if (handle->wd >= 0) { + ug_mf_warnig("The mf_notify module supports single instance, the watch descript [%d] is removed automatically\n", handle->wd); + mf_ug_inotify_handle_rm_inotify_watch(); + } + + pthread_mutex_lock(&mf_noti_lock); + handle->wd = inotify_add_watch(handle->fd, path, MF_WATCH_FLAGS); + + if (handle->wd < 0) { + switch (errno) { + case EACCES: + ug_mf_error("Read access to the given file is not permitted.\n"); + break; + case EBADF: + ug_mf_error("The given file descriptor is not valid.\n"); + handle->fd = -1; + break; + case EFAULT: + ug_mf_error("pathname points outside of the process's accessible address space.\n"); + break; + case EINVAL: + ug_mf_error("The given event mask contains no legal events; or fd is not an inotify file descriptor.\n"); + break; + case ENOMEM: + ug_mf_error("Insufficient kernel memory is available.\n"); + break; + case ENOSPC: + ug_mf_error("User limit on the total num of inotify watch was reached or the kernel failed to alloc a needed resource.\n"); + break; + default: + ug_mf_error("Fail to ug_ug_mf_inotify_add_watch(), Unknown error.\n"); + break; + } + pthread_mutex_unlock(&mf_noti_lock); + return -1; + } + + ug_mf_debug("start watching [%s] directory", path); + if (handle->path) { + g_free(handle->path); + handle->path = NULL; + } + handle->path = g_strdup(path); + handle->callback = callback; + handle->u_data = user_data; + pthread_mutex_unlock(&mf_noti_lock); + + return 0; } int mf_ug_inotify_handle_rm_inotify_watch(void) { - int ret = -1; - mf_inotify_t *handle = NULL; - - handle = g_handle; - ug_mf_retvm_if(handle == NULL, -1, "handle is NULL"); - - if (handle->fd < 0 || handle->wd < 0) { - ug_mf_warnig("inotify is not initialized or has no watching dir - fd [%d] wd [%d]", handle->fd, handle->wd); - return 0; - } - - pthread_mutex_lock(&mf_noti_lock); - - ret = inotify_rm_watch(handle->fd, handle->wd); - if (ret < 0) { - switch (errno) { - case EBADF: - ug_mf_error("fd is not a valid file descriptor\n"); - handle->fd = -1; - break; - case EINVAL: - ug_mf_error("The watch descriptor wd is not valid; or fd is not an inotify file descriptor.\n"); - handle->wd = -1; - break; - default: - ug_mf_error("Fail to mf_ug_inotify_handle_add_inotify_watch(), Unknown error.\n"); - break; - } - pthread_mutex_unlock(&mf_noti_lock); - return -1; - } - ug_mf_debug("stop watching [%s] directory", handle->path); - if (handle->path) { - g_free(handle->path); - handle->path = NULL; - } - handle->callback = NULL; - handle->u_data = NULL; - handle->wd = -1; - pthread_mutex_unlock(&mf_noti_lock); - - return 0; + int ret = -1; + mf_inotify_t *handle = NULL; + + handle = g_handle; + ug_mf_retvm_if(handle == NULL, -1, "handle is NULL"); + + if (handle->fd < 0 || handle->wd < 0) { + ug_mf_warnig("inotify is not initialized or has no watching dir - fd [%d] wd [%d]", handle->fd, handle->wd); + return 0; + } + + pthread_mutex_lock(&mf_noti_lock); + + ret = inotify_rm_watch(handle->fd, handle->wd); + if (ret < 0) { + switch (errno) { + case EBADF: + ug_mf_error("fd is not a valid file descriptor\n"); + handle->fd = -1; + break; + case EINVAL: + ug_mf_error("The watch descriptor wd is not valid; or fd is not an inotify file descriptor.\n"); + handle->wd = -1; + break; + default: + ug_mf_error("Fail to mf_ug_inotify_handle_add_inotify_watch(), Unknown error.\n"); + break; + } + pthread_mutex_unlock(&mf_noti_lock); + return -1; + } + ug_mf_debug("stop watching [%s] directory", handle->path); + if (handle->path) { + g_free(handle->path); + handle->path = NULL; + } + handle->callback = NULL; + handle->u_data = NULL; + handle->wd = -1; + pthread_mutex_unlock(&mf_noti_lock); + + return 0; } void mf_ug_inotify_handle_finalize_inotify(void) { - mf_inotify_t *handle = NULL; - handle = g_handle; + mf_inotify_t *handle = NULL; + handle = g_handle; - ug_mf_retm_if(handle == NULL, "handle is NULL"); + ug_mf_retm_if(handle == NULL, "handle is NULL"); - if (handle->fd >= 0 && handle->wd >= 0) { - mf_ug_inotify_handle_rm_inotify_watch(); - } + if (handle->fd >= 0 && handle->wd >= 0) { + mf_ug_inotify_handle_rm_inotify_watch(); + } - pthread_cancel(handle->monitor); - pthread_join(handle->monitor, NULL); + pthread_cancel(handle->monitor); + pthread_join(handle->monitor, NULL); - __mf_ug_inotify_handle_free_handle(); + __mf_ug_inotify_handle_free_handle(); - return; + return; } diff --git a/src/common/mf-ug-list-play.c b/src/common/mf-ug-list-play.c index 74f46c6..5e181a6 100644 --- a/src/common/mf-ug-list-play.c +++ b/src/common/mf-ug-list-play.c @@ -1,28 +1,28 @@ /* - * 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. - */ +* Copyright (c) 2000-2015 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. +* +*/ #include <stdio.h> -#include <Elementary.h> -#include <Ecore_X.h> -#include <vconf.h> #include <stdbool.h> +#include <Elementary.h> +#include <Ecore_X.h> +#include <runtime_info.h> #include "mf-ug-main.h" -#include "../../data/ug_edc_common.h" #include "mf-ug-conf.h" #include "mf-ug-cb.h" #include "mf-ug-fm-svc-wrapper.h" @@ -32,226 +32,39 @@ #include "mf-ug-fs-util.h" #include "mf-ug-resource.h" #include "mf-ug-list-play.h" +#include "mf-ug-widget.h" +#include "mf-ug-file-util.h" + static mf_player_cbs *g_player_cbs = NULL; static Ecore_Pipe *g_player_pipe = NULL; +sound_type_e g_init_current_type; +int g_init_volume = -1; static void __mf_ug_list_play_control_cb(void *data); static bool __mf_ug_list_play_play_current_file(void *data); - -/****************************** -** Prototype : __mf_ug_list_play_init_data -** Description : Samsung -** Input : void *data -** Output : None -** Return Value : -** Calls : -** Called By : -** -** History : -** 1.Date : 2010/12/10 -** Author : Samsung -** Modification : Created function -** -******************************/ -static void __mf_ug_list_play_init_data(void *data) -{ - UG_TRACE_BEGIN; - ugData *ugd = (ugData *)data; - - ug_mf_retm_if(ugd == NULL, "ugd is NULL"); - - if (ugd->ug_ListPlay.ug_Player != 0) { - mf_ug_list_play_destory_playing_file(ugd); - ugd->ug_ListPlay.ug_Player = 0; - } - ugd->ug_ListPlay.ug_iPlayState = PLAY_STATE_INIT; - UG_SAFE_FREE_CHAR(ugd->ug_ListPlay.ug_pPlayFilePath); - UG_TRACE_END; -} - -/****************************** -** Prototype : __mf_ug_list_play_drm_has_valid_ro -** Description : Samsung -** Input : char *path -** Output : None -** Return Value : -** Calls : -** Called By : -** -** History : -** 1.Date : 2010/12/10 -** Author : Samsung -** Modification : Created function -** -******************************/ -static bool __mf_ug_list_play_drm_has_valid_ro(char *path) +static sound_type_e __mf_ug_list_play_sound_type(const char *path) { - UG_TRACE_BEGIN; - drm_result_e res = DRM_RETURN_INVALID_ARG; - drm_license_status_e licence_status; - - if (path) { - res = drm_get_license_status(path, DRM_PERMISSION_TYPE_PLAY, &licence_status); - } - - if (res == DRM_RETURN_SUCCESS && licence_status == DRM_LICENSE_STATUS_VALID) { - return true; - } else { - return false; - } + UG_TRACE_BEGIN; + ug_mf_retvm_if(path == NULL, SOUND_TYPE_RINGTONE, "path is NULL"); + if (mf_ug_main_is_background()) { + return SOUND_TYPE_RINGTONE; + } + + sound_type_e type = SOUND_TYPE_RINGTONE; + if (g_strcmp0(path, UG_SETTING_MSG_ALERTS_PATH) == 0) + type = SOUND_TYPE_NOTIFICATION; + if (g_strcmp0(path, UG_SETTING_ALERTS_PATH) == 0 || g_strcmp0(path, UG_SETTING_SMART_ALRAMS) == 0) + type = SOUND_TYPE_ALARM; + + return type; } /****************************** -** Prototype : __mf_ug_list_play_check_drm_left_ro -** Description : Samsung -** Input : void *data -** char *path -** Output : None -** Return Value : -** Calls : -** Called By : -** -** History : -** 1.Date : 2010/12/10 -** Author : Samsung -** Modification : Created function -** -******************************/ -static bool __mf_ug_list_play_check_drm_left_ro(void *data, char *path) -{ - UG_TRACE_BEGIN; - ugData *ugd = (ugData *)data; - ug_mf_retvm_if(ugd == NULL, false, "ugd is NULL"); - - - char left_ro_message[MAX_MESSAGE_LEN] = "\0"; - - bool ro_valid = false; - bool expired = false; - - - const char *title = ecore_file_file_get(path); - ugd->ug_ListPlay.ug_bDrmContentCanPlay = false; - - if (__mf_ug_list_play_drm_has_valid_ro(path)) - { - drm_constraint_info_s constraint; - memset(&constraint, 0x0, sizeof(drm_constraint_info_s)); - - int res = drm_get_constraint_info(path, DRM_PERMISSION_TYPE_PLAY, &constraint); - if (res == DRM_RETURN_SUCCESS) { - if (constraint.const_type.is_unlimited) { - ug_debug("UNLIMITED"); - ugd->ug_ListPlay.ug_bDrmContentCanPlay = TRUE; - return TRUE; - } - - if (constraint.const_type.is_count) { - int remain_count = constraint.remaining_count; - - if (remain_count == 1) { - snprintf(left_ro_message, sizeof(left_ro_message), "You can play \"%s\" just one more time", title); - ro_valid = true; - ugd->ug_ListPlay.ug_bDrmContentCanPlay = true; - } else if (remain_count == 0) { - snprintf(left_ro_message, sizeof(left_ro_message), "You can't play \"%s\" anymore", title); - ro_valid = false; - } else { - ro_valid = true; - ugd->ug_ListPlay.ug_bDrmContentCanPlay = true; - } - } - - if (constraint.const_type.is_datetime) { - ug_debug("DRM_DATETIME\n"); - snprintf(ugd->ug_ListPlay.ug_DrmInfo.validity, sizeof(ugd->ug_ListPlay.ug_DrmInfo.validity), - "%d.%d.%d %d:%d~%d.%d.%d %d:%d", - constraint.start_time.tm_mday, - constraint.start_time.tm_mon + 1, - constraint.start_time.tm_year + 109, - constraint.start_time.tm_hour, - constraint.start_time.tm_min, - constraint.end_time.tm_mday, - constraint.end_time.tm_mon + 1, - constraint.end_time.tm_year + 109, - constraint.end_time.tm_hour, - constraint.end_time.tm_min); - } - - if (constraint.const_type.is_interval) { - ug_debug("DRM_INTERVAL\n"); - snprintf(ugd->ug_ListPlay.ug_DrmInfo.validity, sizeof(ugd->ug_ListPlay.ug_DrmInfo.validity), - "until %d.%d.%d %d:%d", - constraint.interval_time.tm_mon, - constraint.interval_time.tm_mday, - constraint.interval_time.tm_year, - constraint.interval_time.tm_hour, - constraint.interval_time.tm_min); - } - - if (constraint.const_type.is_timedcount) { - int count = constraint.timed_remaining_count; - int time = constraint.timed_count_timer; - snprintf(ugd->ug_ListPlay.ug_DrmInfo.validity, sizeof(ugd->ug_ListPlay.ug_DrmInfo.validity), - "%d left (%d sec)", count, time); - ug_debug("DRM_TIMED_COUNT [%d]\n", count); - if (count == 1) - { - snprintf(left_ro_message, sizeof(left_ro_message), - "You can play \"%s\" just one more time", title); - ugd->ug_ListPlay.ug_bDrmContentCanPlay = TRUE; - } - else if (count == 0) - { - snprintf(left_ro_message, sizeof(left_ro_message), - "You can't play \"%s\" anymore", title); - } - } - - if (constraint.const_type.is_accumulated) { - int sec = constraint.accumulated_remaining_seconds; - int ndays = sec / ACCUMULATED_DATE; - ug_debug("DRM_ACCUMULATED [%d]\n", ndays); - snprintf(ugd->ug_ListPlay.ug_DrmInfo.validity, sizeof(ugd->ug_ListPlay.ug_DrmInfo.validity), - "%" UG_TIME_FORMAT " left", UG_TIME_ARGS(ndays)); - - if (ndays < ACCUMULATED_DATE) - { - snprintf(left_ro_message, sizeof(left_ro_message), - "You can play %s just one day", title); - - ugd->ug_ListPlay.ug_bDrmContentCanPlay = TRUE; - } - } - - if (constraint.const_type.is_individual) { - ug_debug("DRM_INDIVISUAL_ID [%s]", constraint.individual_id); - } - - if (constraint.const_type.is_system) { - ug_debug("DRM_SYSTEM [ID:%s, type:%d]", constraint.system_id, constraint.system_identity_type); - } - } - } else { - ug_debug("have no valid ro\n"); - snprintf(left_ro_message, sizeof(left_ro_message), "No valid RO for <br>\"%s\"", title); - ro_valid = false; - expired = true; - } - - - UG_TRACE_END; - - return true; -} - -/****************************** -** Prototype : __mf_ug_list_play_check_drm_forward +** Prototype : __mf_ug_list_play_init_data ** Description : Samsung ** Input : void *data -** char *path ** Output : None ** Return Value : ** Calls : @@ -263,47 +76,21 @@ static bool __mf_ug_list_play_check_drm_left_ro(void *data, char *path) ** Modification : Created function ** ******************************/ -static drm_file_type_e __drm_get_file_type(void *path) -{ - drm_file_type_e type = DRM_TYPE_UNDEFINED; - drm_result_e res = -1; - - res = drm_get_file_type(path, &type); - if (res == DRM_RETURN_SUCCESS) { - return type; - } else { - return DRM_TYPE_UNDEFINED; - } -} -static bool __mf_ug_list_play_check_drm_forward(void *data, char *path) +static void __mf_ug_list_play_init_data(void *data) { - UG_TRACE_BEGIN; - ugData *ugd = (ugData *)data; - drm_file_type_e type = __drm_get_file_type(path); - - if (type == DRM_TYPE_OMA_V1 || type == DRM_TYPE_OMA_V2) { - - drm_file_info_s info; - memset(&info, 0x0, sizeof(drm_file_info_s)); - int ret = drm_get_file_info(path, &info); - if (ret == DRM_RETURN_SUCCESS) { - if (info.oma_info.method == DRM_METHOD_TYPE_FORWARD_LOCK) { - ugd->ug_ListPlay.ug_DrmInfo.forward = true; - return TRUE; - } - } - ugd->ug_ListPlay.ug_DrmInfo.forward = false; - return false; - } else if (type == DRM_TYPE_PLAYREADY) { - ug_debug("playready drm file"); - ugd->ug_ListPlay.ug_DrmInfo.forward = true; - } else { - ug_debug("Not supported drm type"); - UG_TRACE_END; - return false; - } - UG_TRACE_END; - return true; + UG_TRACE_BEGIN; + ugData *ugd = (ugData *)data; + + ug_mf_retm_if(ugd == NULL, "ugd is NULL"); + + if (ugd->ug_ListPlay.ug_Player != 0) { + mf_ug_list_play_destory_playing_file(ugd); + ugd->ug_ListPlay.ug_Player = 0; + } + ugd->ug_ListPlay.ug_iPlayState = PLAY_STATE_INIT; + ugd->ug_ListPlay.play_data = NULL; + UG_SAFE_FREE_CHAR(ugd->ug_ListPlay.ug_pPlayFilePath); + UG_TRACE_END; } /****************************** @@ -322,159 +109,123 @@ static bool __mf_ug_list_play_check_drm_forward(void *data, char *path) ** Modification : Created function ** ******************************/ -static void __mf_ug_list_play_icon_hide(ugListItemData *itemData) +void mf_ug_list_item_play_btn_update(void *data) { - ug_mf_retm_if(itemData == NULL, "itemData is NULL"); - ug_mf_retm_if(itemData->ug_pItem == NULL, "itemData->ug_pItem is NULL"); - - Evas_Object *btn = elm_object_item_part_content_unset(itemData->ug_pItem, "elm.icon.3"); - evas_object_hide(btn); - UG_SAFE_FREE_OBJ(btn); - itemData->ug_pPlaybtn = NULL; + ugListItemData *itemData = (ugListItemData *)data; + ugData *ugd = (ugData *)itemData->ug_pData; + Evas_Object *music_icon = NULL; + Evas_Object *music_button = NULL; + + const char *play_icon = NULL; + char *pause_icon = NULL; + music_button = elm_object_item_part_content_get(itemData->ug_pItem, "elm.icon.3"); + + if (music_button) { + music_icon = elm_object_part_content_get(music_button, "icon"); + if (music_icon) { + if (ugd->ug_ListPlay.ug_pPlayFilePath) { + if (g_strcmp0(ugd->ug_ListPlay.ug_pPlayFilePath, itemData->ug_pItemName->str) == 0) { + if (ugd->ug_ListPlay.ug_iPlayState == PLAY_STATE_PLAYING) { + pause_icon = UG_ICON_MUSIC_PAUSE_WHITE; + elm_image_file_set(music_icon, UG_EDJ_IMAGE, pause_icon); + } else if (ugd->ug_ListPlay.ug_iPlayState == PLAY_STATE_PAUSED) { + play_icon = UG_ICON_MUSIC_PLAY_WHITE; + elm_image_file_set(music_icon, UG_EDJ_IMAGE, play_icon); + } else { + play_icon = UG_ICON_MUSIC_PLAY_WHITE; + elm_image_file_set(music_icon, UG_EDJ_IMAGE, play_icon); + } + } else { + play_icon = UG_ICON_MUSIC_PLAY_WHITE; + elm_image_file_set(music_icon, UG_EDJ_IMAGE, play_icon); + } + } else { + play_icon = UG_ICON_MUSIC_PLAY_WHITE; + elm_image_file_set(music_icon, UG_EDJ_IMAGE, play_icon); + } + evas_object_size_hint_min_set(music_icon, ELM_SCALE_SIZE(45), ELM_SCALE_SIZE(45)); + } + } } void mf_ug_list_disable_play_itc(void *data, bool disable) { - UG_TRACE_BEGIN; - - ugData *ugd = (ugData *)data; - ug_mf_retm_if(ugd == NULL, "ugd is NULL"); - - Elm_Object_Item *gl_item = NULL; - ugListItemData *itemData = NULL; - Evas_Object *pGenlist = NULL; - - if (ugd->ug_ListPlay.ug_pPlayFilePath == NULL || strlen(ugd->ug_ListPlay.ug_pPlayFilePath) == 0) { - - UG_TRACE_END; - return; - } - pGenlist = ugd->ug_MainWindow.ug_pNaviGenlist; - - gl_item = elm_genlist_first_item_get(pGenlist); - while (gl_item) { - itemData = elm_object_item_data_get(gl_item); - if (itemData && itemData->ug_pItemName) { - if (g_strcmp0(ugd->ug_ListPlay.ug_pPlayFilePath, itemData->ug_pItemName->str) == 0) { - if (disable) { - UG_SAFE_FREE_CHAR(ugd->ug_ListPlay.ug_pPlayFilePath); - elm_genlist_item_fields_update(itemData->ug_pItem, "elm.icon.3", ELM_GENLIST_ITEM_FIELD_CONTENT); - //elm_genlist_item_item_class_update(itemData->ug_pItem, &ugd->ug_Status.ug_noplayitc); - } else { - elm_genlist_item_fields_update(itemData->ug_pItem, "elm.icon.3", ELM_GENLIST_ITEM_FIELD_CONTENT); - } - UG_TRACE_END; - return; - } - } - gl_item = elm_genlist_item_next_get(gl_item); - } - - ug_debug("mf_ug_list_play_update_item_icon failed"); - UG_TRACE_END; -} - - -void mf_ug_list_paly_hide_play_icon(void *data) -{ - UG_TRACE_BEGIN; - - ugData *ugd = (ugData *)data; - ug_mf_retm_if(ugd == NULL, "ugd is NULL"); - - Elm_Object_Item *gl_item = NULL; - ugListItemData *itemData = NULL; - Evas_Object *pGenlist = NULL; - - if (ugd->ug_ListPlay.ug_pPlayFilePath == NULL || strlen(ugd->ug_ListPlay.ug_pPlayFilePath) == 0) { - - UG_TRACE_END; - return; - } - pGenlist = ugd->ug_MainWindow.ug_pNaviGenlist; - - gl_item = elm_genlist_first_item_get(pGenlist); - while (gl_item) { - itemData = elm_object_item_data_get(gl_item); - if (itemData && itemData->ug_pItemName) { - if (g_strcmp0(ugd->ug_ListPlay.ug_pPlayFilePath, itemData->ug_pItemName->str) == 0) { - __mf_ug_list_play_icon_hide(itemData); - UG_TRACE_END; - return; - } - } - gl_item = elm_genlist_item_next_get(gl_item); - } - - ug_debug("mf_ug_list_play_update_item_icon failed"); - UG_TRACE_END; -} -void mf_ug_list_play_update_play_icon(ugListItemData *itemData) -{ - ug_mf_retm_if(itemData == NULL, "itemData is NULL"); - ugData *ugd = (ugData *)itemData->ug_pData; - ug_mf_retm_if(ugd == NULL, "ugd is NULL"); - Evas_Object *btn = itemData->ug_pPlaybtn; - Evas_Object *music_icon = elm_object_part_content_get(btn, "icon"); - const char *play_icon = NULL; - const char *pause_icon = NULL; - if (ugd->ug_ListPlay.ug_pPlayFilePath) { - if (g_strcmp0(ugd->ug_ListPlay.ug_pPlayFilePath, itemData->ug_pItemName->str) == 0) { - if (ugd->ug_ListPlay.ug_iPlayState == PLAY_STATE_PLAYING) { - pause_icon = strdup(UG_ICON_MUSIC_PAUSE_WHITE); - elm_image_file_set(music_icon, pause_icon, NULL); - } else if (ugd->ug_ListPlay.ug_iPlayState == PLAY_STATE_PAUSED) { - play_icon = strdup(UG_ICON_MUSIC_PLAY_WHITE); - elm_image_file_set(music_icon, play_icon, NULL); - } else { - play_icon = strdup(UG_ICON_MUSIC_PLAY_WHITE); - elm_image_file_set(music_icon, play_icon, NULL); - } - } else { - play_icon = strdup(UG_ICON_MUSIC_PLAY_WHITE); - elm_image_file_set(music_icon, play_icon, NULL); - } - } else { - play_icon = strdup(UG_ICON_MUSIC_PLAY_WHITE); - elm_image_file_set(music_icon, play_icon, NULL); - } - + UG_TRACE_BEGIN; + + ugData *ugd = (ugData *)data; + ug_mf_retm_if(ugd == NULL, "ugd is NULL"); + + Elm_Object_Item *gl_item = NULL; + ugListItemData *itemData = NULL; + Evas_Object *pGenlist = NULL; + + if (ugd->ug_ListPlay.ug_pPlayFilePath == NULL || strlen(ugd->ug_ListPlay.ug_pPlayFilePath) == 0) { + + UG_TRACE_END; + return; + } + pGenlist = ugd->ug_MainWindow.ug_pNaviGenlist; + + gl_item = elm_genlist_first_item_get(pGenlist); + while (gl_item) { + itemData = elm_object_item_data_get(gl_item); + if (itemData && itemData->ug_pItemName) { + if (g_strcmp0(ugd->ug_ListPlay.ug_pPlayFilePath, itemData->ug_pItemName->str) == 0) { + if (disable) { + UG_SAFE_FREE_CHAR(ugd->ug_ListPlay.ug_pPlayFilePath); + ugd->ug_ListPlay.play_data = NULL; + } + if (ugd->ug_UiGadget.ug_iSoundMode != mf_ug_sound_mode_none) { + elm_genlist_item_fields_update(itemData->ug_pItem, "elm.icon.2", ELM_GENLIST_ITEM_FIELD_CONTENT); + } else { + mf_ug_list_item_play_btn_update(itemData); + } + UG_TRACE_END; + return; + } + } + gl_item = elm_genlist_item_next_get(gl_item); + } + + UG_TRACE_END; } void mf_ug_list_play_update_item_icon(void *data) { - UG_TRACE_BEGIN; - - ugData *ugd = (ugData *)data; - ug_mf_retm_if(ugd == NULL, "ugd is NULL"); - - Elm_Object_Item *gl_item = NULL; - ugListItemData *itemData = NULL; - Evas_Object *pGenlist = NULL; - - if (ugd->ug_ListPlay.ug_pPlayFilePath == NULL || strlen(ugd->ug_ListPlay.ug_pPlayFilePath) == 0) { - - UG_TRACE_END; - return; - } - pGenlist = ugd->ug_MainWindow.ug_pNaviGenlist; - - gl_item = elm_genlist_first_item_get(pGenlist); - while (gl_item) { - itemData = elm_object_item_data_get(gl_item); - if (itemData && itemData->ug_pItemName) { - if (g_strcmp0(ugd->ug_ListPlay.ug_pPlayFilePath, itemData->ug_pItemName->str) == 0) { - elm_genlist_item_fields_update(itemData->ug_pItem, "elm.icon.3", ELM_GENLIST_ITEM_FIELD_CONTENT); - //mf_ug_list_play_update_play_icon(itemData); - UG_TRACE_END; - return; - } - } - gl_item = elm_genlist_item_next_get(gl_item); - } - - ug_debug("mf_ug_list_play_update_item_icon failed"); - UG_TRACE_END; + UG_TRACE_BEGIN; + + ugData *ugd = (ugData *)data; + ug_mf_retm_if(ugd == NULL, "ugd is NULL"); + + Elm_Object_Item *gl_item = NULL; + ugListItemData *itemData = NULL; + Evas_Object *pGenlist = NULL; + + if (ugd->ug_ListPlay.ug_pPlayFilePath == NULL || strlen(ugd->ug_ListPlay.ug_pPlayFilePath) == 0) { + + UG_TRACE_END; + return; + } + pGenlist = ugd->ug_MainWindow.ug_pNaviGenlist; + + gl_item = elm_genlist_first_item_get(pGenlist); + while (gl_item) { + itemData = elm_object_item_data_get(gl_item); + if (itemData && itemData->ug_pItemName) { + if (g_strcmp0(ugd->ug_ListPlay.ug_pPlayFilePath, itemData->ug_pItemName->str) == 0) { + if (ugd->ug_UiGadget.ug_iSoundMode != mf_ug_sound_mode_none) { + elm_genlist_item_fields_update(itemData->ug_pItem, "elm.icon.2", ELM_GENLIST_ITEM_FIELD_CONTENT); + } else { + elm_genlist_item_fields_update(itemData->ug_pItem, "elm.icon.3", ELM_GENLIST_ITEM_FIELD_CONTENT); + } + UG_TRACE_END; + return; + } + } + gl_item = elm_genlist_item_next_get(gl_item); + } + + UG_TRACE_END; } @@ -495,12 +246,13 @@ void mf_ug_list_play_update_item_icon(void *data) ******************************/ static void __mf_ug_list_play_set_play_start_status(void *data, char *path) { - UG_TRACE_BEGIN; - ugData *ugd = (ugData *)data; - ug_mf_retm_if(ugd == NULL, "ugd is NULL"); + UG_TRACE_BEGIN; + ugData *ugd = (ugData *)data; + ug_mf_retm_if(ugd == NULL, "ugd is NULL"); - ugd->ug_ListPlay.ug_iPlayState = PLAY_STATE_PLAYING; - UG_TRACE_END; + ugd->ug_ListPlay.ug_iPlayState = PLAY_STATE_PLAYING; + + UG_TRACE_END; } /****************************** @@ -520,12 +272,13 @@ static void __mf_ug_list_play_set_play_start_status(void *data, char *path) ******************************/ static void __mf_ug_list_play_set_play_resume_status(void *data) { - UG_TRACE_BEGIN; - ugData *ugd = (ugData *)data; - ug_mf_retm_if(ugd == NULL, "ugd is NULL"); + UG_TRACE_BEGIN; + ugData *ugd = (ugData *)data; + ug_mf_retm_if(ugd == NULL, "ugd is NULL"); + + ugd->ug_ListPlay.ug_iPlayState = PLAY_STATE_PLAYING; - ugd->ug_ListPlay.ug_iPlayState = PLAY_STATE_PLAYING; - UG_TRACE_END; + UG_TRACE_END; } /****************************** @@ -545,12 +298,13 @@ static void __mf_ug_list_play_set_play_resume_status(void *data) ******************************/ static void __mf_ug_list_play_set_play_pause_status(ugData *data) { - UG_TRACE_BEGIN; - ugData *ugd = (ugData *)data; - ug_mf_retm_if(ugd == NULL, "ugd is NULL"); + UG_TRACE_BEGIN; + ugData *ugd = (ugData *)data; + ug_mf_retm_if(ugd == NULL, "ugd is NULL"); - ugd->ug_ListPlay.ug_iPlayState = PLAY_STATE_PAUSED; - UG_TRACE_END; + ugd->ug_ListPlay.ug_iPlayState = PLAY_STATE_PAUSED; + + UG_TRACE_END; } /****************************** @@ -571,215 +325,225 @@ static void __mf_ug_list_play_set_play_pause_status(ugData *data) ******************************/ static void __mf_player_mgr_callback_pipe_handler(void *data, void *buffer, unsigned int nbyte) { - UG_TRACE_BEGIN; - mf_player_cb_extra_data *extra_data = buffer; - ug_mf_retm_if(extra_data == NULL, "NULL"); - ug_mf_retm_if(g_player_cbs == NULL, "NULL"); - - switch (extra_data->cb_type) { - /*note: start callback and paused callback for player have been removed*/ - /*case MF_PLAYER_CB_TYPE_STARTED: - if (g_player_cbs->started_cb) - g_player_cbs->started_cb(g_player_cbs->user_data[MF_PLAYER_CB_TYPE_STARTED]); - break; - - case MF_PLAYER_CB_TYPE_PAUSED: - if (g_player_cbs->paused_cb) - g_player_cbs->paused_cb(g_player_cbs->user_data[MF_PLAYER_CB_TYPE_PAUSED]); - break;*/ - - case MF_PLAYER_CB_TYPE_COMPLETED: - if (g_player_cbs->completed_cb) - g_player_cbs->completed_cb(g_player_cbs->user_data[MF_PLAYER_CB_TYPE_COMPLETED]); - break; - - case MF_PLAYER_CB_TYPE_INTURRUPTED: - if (g_player_cbs->interrupted_cb) - g_player_cbs->interrupted_cb(extra_data->param.interrupted_code, g_player_cbs->user_data[MF_PLAYER_CB_TYPE_INTURRUPTED]); - break; - - case MF_PLAYER_CB_TYPE_ERROR: - if (g_player_cbs->error_cb) - g_player_cbs->error_cb(extra_data->param.error_code, g_player_cbs->user_data[MF_PLAYER_CB_TYPE_ERROR]); - break; - - case MF_PLAYER_CB_TYPE_BUFFERING: - if (g_player_cbs->buffering_cb) - g_player_cbs->buffering_cb(extra_data->param.percent ,g_player_cbs->user_data[MF_PLAYER_CB_TYPE_BUFFERING]); - break; - case MF_PLAYER_CB_TYPE_PREPARE: - if (g_player_cbs->prepare_cb) - g_player_cbs->prepare_cb(g_player_cbs->user_data[MF_PLAYER_CB_TYPE_PREPARE]); - break; - - default: - ug_debug("Not suppoted callback type [%d]", extra_data->cb_type); - } + UG_TRACE_BEGIN; + mf_player_cb_extra_data *extra_data = buffer; + ug_mf_retm_if(extra_data == NULL, "NULL"); + ug_mf_retm_if(g_player_cbs == NULL, "NULL"); + + switch (extra_data->cb_type) { + /*note: start callback and paused callback for player have been removed*/ + /*case MF_PLAYER_CB_TYPE_STARTED: + if (g_player_cbs->started_cb) + g_player_cbs->started_cb(g_player_cbs->user_data[MF_PLAYER_CB_TYPE_STARTED]); + break; + + case MF_PLAYER_CB_TYPE_PAUSED: + if (g_player_cbs->paused_cb) + g_player_cbs->paused_cb(g_player_cbs->user_data[MF_PLAYER_CB_TYPE_PAUSED]); + break;*/ + + case MF_PLAYER_CB_TYPE_COMPLETED: + if (g_player_cbs->completed_cb) + g_player_cbs->completed_cb(g_player_cbs->user_data[MF_PLAYER_CB_TYPE_COMPLETED]); + break; + + case MF_PLAYER_CB_TYPE_INTURRUPTED: + if (g_player_cbs->interrupted_cb) + g_player_cbs->interrupted_cb(extra_data->param.interrupted_code, g_player_cbs->user_data[MF_PLAYER_CB_TYPE_INTURRUPTED]); + break; + + case MF_PLAYER_CB_TYPE_ERROR: + if (g_player_cbs->error_cb) + g_player_cbs->error_cb(extra_data->param.error_code, g_player_cbs->user_data[MF_PLAYER_CB_TYPE_ERROR]); + break; + + case MF_PLAYER_CB_TYPE_BUFFERING: + if (g_player_cbs->buffering_cb) + g_player_cbs->buffering_cb(extra_data->param.percent, g_player_cbs->user_data[MF_PLAYER_CB_TYPE_BUFFERING]); + break; + case MF_PLAYER_CB_TYPE_PREPARE: + if (g_player_cbs->prepare_cb) + g_player_cbs->prepare_cb(g_player_cbs->user_data[MF_PLAYER_CB_TYPE_PREPARE]); + break; + + default: + ug_debug("Not suppoted callback type [%d]", extra_data->cb_type); + } } static void __mf_ug_list_play_mgr_completed_cb(void *userdata) { - UG_TRACE_BEGIN; - MF_CHECK(g_player_pipe); + UG_TRACE_BEGIN; + MF_CHECK(g_player_pipe); - mf_player_cb_extra_data extra_data; - extra_data.cb_type = MF_PLAYER_CB_TYPE_COMPLETED; + mf_player_cb_extra_data extra_data; + extra_data.cb_type = MF_PLAYER_CB_TYPE_COMPLETED; - ecore_pipe_write(g_player_pipe, &extra_data, sizeof(mf_player_cb_extra_data)); + ecore_pipe_write(g_player_pipe, &extra_data, sizeof(mf_player_cb_extra_data)); } static void __mf_ug_list_play_mgr_interrupted_cb(player_interrupted_code_e code, void *userdata) { - UG_TRACE_BEGIN; - MF_CHECK(g_player_pipe); + UG_TRACE_BEGIN; + MF_CHECK(g_player_pipe); - mf_player_cb_extra_data extra_data; - extra_data.cb_type = MF_PLAYER_CB_TYPE_INTURRUPTED; - extra_data.param.interrupted_code = code; + mf_player_cb_extra_data extra_data; + extra_data.cb_type = MF_PLAYER_CB_TYPE_INTURRUPTED; + extra_data.param.interrupted_code = code; - ecore_pipe_write(g_player_pipe, &extra_data, sizeof(mf_player_cb_extra_data)); + ecore_pipe_write(g_player_pipe, &extra_data, sizeof(mf_player_cb_extra_data)); } static void __mf_ug_list_play_mgr_error_cb(int error_code, void *userdata) { - UG_TRACE_BEGIN; - MF_CHECK(g_player_pipe); + UG_TRACE_BEGIN; + MF_CHECK(g_player_pipe); - mf_player_cb_extra_data extra_data; - extra_data.cb_type = MF_PLAYER_CB_TYPE_ERROR; - extra_data.param.error_code = error_code; + mf_player_cb_extra_data extra_data; + extra_data.cb_type = MF_PLAYER_CB_TYPE_ERROR; + extra_data.param.error_code = error_code; - ecore_pipe_write(g_player_pipe, &extra_data, sizeof(mf_player_cb_extra_data)); + ecore_pipe_write(g_player_pipe, &extra_data, sizeof(mf_player_cb_extra_data)); } static bool __mf_ug_list_play_set_uri(player_h player, const char *uri) { - UG_TRACE_BEGIN; - ug_mf_retvm_if(player == NULL, false, "player is NULL"); - ug_mf_retvm_if(uri == NULL, false, "uri is NULL"); - - int ret = 0; - ret = player_set_uri(player, uri); - //player_set_sound_type(ugd->ug_ListPlay.ug_Player, SOUND_TYPE_MEDIA); - if (ret != PLAYER_ERROR_NONE) { - ug_error(">>>>>>>>>>>>>g_err_name : %d\n", ret); - UG_TRACE_END; - return false; - } else { - UG_TRACE_END; - return true; - } + UG_TRACE_BEGIN; + ug_mf_retvm_if(player == NULL, false, "player is NULL"); + ug_mf_retvm_if(uri == NULL, false, "uri is NULL"); + if (mf_ug_main_is_background()) { + return false; + } + + int ret = 0; + ret = player_set_uri(player, uri); + /*player_set_prelistening_mode(player, PLAYER_PRELISTENING_MODE_MEDIA); + player_set_sound_type(ugd->ug_ListPlay.ug_Player, SOUND_TYPE_MEDIA);*/ + if (ret != PLAYER_ERROR_NONE) { + ug_error(">>>>>>>>>>>>>g_err_name : %d\n", ret); + UG_TRACE_END; + return false; + } else { + UG_TRACE_END; + return true; + } } static bool __mf_ug_list_play_set_sound_type(player_h player, sound_type_e type) { - UG_TRACE_BEGIN; - ug_mf_retvm_if(player == NULL, false, "player is NULL"); - - int ret = 0; - ret = player_set_sound_type(player, type); - //player_set_sound_type(ugd->ug_ListPlay.ug_Player, SOUND_TYPE_MEDIA); - if (ret != PLAYER_ERROR_NONE) { - ug_error(">>>>>>>>>>>>>g_err_name : %d\n", ret); - UG_TRACE_END; - return false; - } else { - UG_TRACE_END; - return true; - } + UG_TRACE_BEGIN; + ug_mf_retvm_if(player == NULL, false, "player is NULL"); + + int ret = 0; + ret = player_set_sound_type(player, type); + /*player_set_sound_type(ugd->ug_ListPlay.ug_Player, SOUND_TYPE_MEDIA);*/ + if (ret != PLAYER_ERROR_NONE) { + ug_error(">>>>>>>>>>>>>g_err_name : %d\n", ret); + UG_TRACE_END; + return false; + } else { + UG_TRACE_END; + return true; + } } static bool __mf_ug_list_play_create_player(player_h *player) { - UG_TRACE_BEGIN; - - int ret = 0; - ret = player_create(player); - //player_set_sound_type(ugd->ug_ListPlay.ug_Player, SOUND_TYPE_MEDIA); - if (ret != PLAYER_ERROR_NONE) { - ug_error(">>>>>>>>>>>>>g_err_name : %d\n", ret); - UG_TRACE_END; - return false; - } else { - UG_TRACE_END; - return true; - } + UG_TRACE_BEGIN; + if (mf_ug_main_is_background()) { + return false; + } + + int ret = 0; + ret = player_create(player); + /*player_set_sound_type(ugd->ug_ListPlay.ug_Player, SOUND_TYPE_MEDIA);*/ + if (ret != PLAYER_ERROR_NONE) { + ug_error(">>>>>>>>>>>>>g_err_name : %d\n", ret); + UG_TRACE_END; + return false; + } else { + UG_TRACE_END; + return true; + } } static bool __mf_ug_list_play_create_player_mgr(void *data, const char *path) { - UG_TRACE_BEGIN; - ugData *ugd = (ugData *)data; - ug_mf_retvm_if(ugd == NULL, false, "ugd is NULL"); - - int path_len = strlen(path); - char *g_err_name = NULL; - int ret = 0; - - if (path_len > 0 && path_len < MYFILE_DIR_PATH_LEN_MAX) { - if (ugd->ug_ListPlay.ug_Player == 0) { - ret = __mf_ug_list_play_create_player(&ugd->ug_ListPlay.ug_Player); - if (ret == false) { - UG_TRACE_END; - return false; - } - ug_debug("player is [%s]", ugd->ug_ListPlay.ug_Player); - /*avsysaudiosink volume table setting */ - - //ret = mm_player_set_attribute(ugd->ug_ListPlay.ug_Player, &g_err_name, "sound_volume_type", MM_SOUND_VOLUME_TYPE_MEDIA, - // "profile_uri", path, strlen(path), NULL); - ret = __mf_ug_list_play_set_uri(ugd->ug_ListPlay.ug_Player, path); - if (ret == false) { - UG_TRACE_END; - return false; - } - - ret = __mf_ug_list_play_set_sound_type(ugd->ug_ListPlay.ug_Player, SOUND_TYPE_MEDIA); - if (ret == false) { - ug_error("set sound type failed"); - } else { - ug_error("set sound type success"); - } - UG_SAFE_FREE_CHAR(g_player_cbs); - if (g_player_pipe) { - ecore_pipe_del(g_player_pipe); - g_player_pipe = NULL; - } - g_player_cbs = calloc(1, sizeof(mf_player_cbs)); - g_player_pipe = ecore_pipe_add(__mf_player_mgr_callback_pipe_handler, ugd); - - - player_set_completed_cb(ugd->ug_ListPlay.ug_Player, __mf_ug_list_play_mgr_completed_cb, NULL); - player_set_interrupted_cb(ugd->ug_ListPlay.ug_Player, __mf_ug_list_play_mgr_interrupted_cb, NULL); - player_set_error_cb(ugd->ug_ListPlay.ug_Player, __mf_ug_list_play_mgr_error_cb, NULL); - - } else { - ug_debug("player handle is exist"); - - ret = __mf_ug_list_play_set_uri(ugd->ug_ListPlay.ug_Player, path); - if (ret == false) { - UG_TRACE_END; - return false; - } - UG_TRACE_END; - return true; - } - } else { - ug_debug("the path_len is too long"); - UG_TRACE_END; - return false; - } - - //player_set_buffering_cb(ugd->ug_ListPlay.ug_Player, _mp_player_mgr_buffering_cb, NULL); - return true; + UG_TRACE_BEGIN; + ugData *ugd = (ugData *)data; + ug_mf_retvm_if(ugd == NULL, false, "ugd is NULL"); + + if (mf_ug_main_is_background()) { + return false; + } + + int path_len = strlen(path); + int ret = 0; + + if (path_len > 0 && path_len < MYFILE_DIR_PATH_LEN_MAX) { + if (ugd->ug_ListPlay.ug_Player == 0) { + ret = __mf_ug_list_play_create_player(&ugd->ug_ListPlay.ug_Player); + if (ret == false) { + UG_TRACE_END; + return false; + } + /*avsysaudiosink volume table setting */ + + ret = __mf_ug_list_play_set_uri(ugd->ug_ListPlay.ug_Player, path); + if (ret == false) { + UG_TRACE_END; + return false; + } + + sound_type_e sound_type = __mf_ug_list_play_sound_type(ugd->ug_Status.ug_pEntryPath); + ret = __mf_ug_list_play_set_sound_type(ugd->ug_ListPlay.ug_Player, sound_type); + if (ret == false) { + ug_error("set sound type failed"); + } else { + ug_error("set sound type success"); + } + + /*player_set_session_prelistening(ugd->ug_ListPlay.ug_Player);*/ + + UG_SAFE_FREE_CHAR(g_player_cbs); + if (g_player_pipe) { + ecore_pipe_del(g_player_pipe); + g_player_pipe = NULL; + } + g_player_cbs = calloc(1, sizeof(mf_player_cbs)); + g_player_pipe = ecore_pipe_add(__mf_player_mgr_callback_pipe_handler, ugd); + + + player_set_completed_cb(ugd->ug_ListPlay.ug_Player, __mf_ug_list_play_mgr_completed_cb, NULL); + player_set_interrupted_cb(ugd->ug_ListPlay.ug_Player, __mf_ug_list_play_mgr_interrupted_cb, NULL); + player_set_error_cb(ugd->ug_ListPlay.ug_Player, __mf_ug_list_play_mgr_error_cb, NULL); + } else { + ug_debug("player handle is exist"); + + ret = __mf_ug_list_play_set_uri(ugd->ug_ListPlay.ug_Player, path); + if (ret == false) { + UG_TRACE_END; + return false; + } + UG_TRACE_END; + return true; + } + } else { + ug_debug("the path_len is too long"); + UG_TRACE_END; + return false; + } + + /*player_set_buffering_cb(ugd->ug_ListPlay.ug_Player, _mp_player_mgr_buffering_cb, NULL);*/ + return true; } @@ -801,104 +565,106 @@ static bool __mf_ug_list_play_create_player_mgr(void *data, const char *path) ******************************/ static void __mf_ug_list_play_start(void *data) { - UG_TRACE_BEGIN; - ugListItemData *itemData = (ugListItemData *)data; - ug_mf_retm_if(itemData == NULL, "itemData is NULL"); - ugData *ugd = itemData->ug_pData; - ug_mf_retm_if(ugd == NULL, "ugd is NULL"); - int error_code = -1; - player_state_e state = PLAYER_STATE_NONE; - - error_code = player_get_state(ugd->ug_ListPlay.ug_Player, &state); - ug_debug("state is [%d]", state); - if (error_code == 0 && state == PLAYER_STATE_PLAYING) { - if (ugd->ug_ListPlay.ug_pPlayFilePath == NULL) { - ugd->ug_ListPlay.ug_pPlayFilePath = g_strdup(itemData->ug_pItemName->str); - } - __mf_ug_list_play_set_play_start_status(ugd, itemData->ug_pItemName->str); - } else if (ugd->ug_ListPlay.ug_iPlayState == PLAY_STATE_PAUSED) { - if (ugd->ug_ListPlay.ug_pPlayFilePath == NULL) { - ugd->ug_ListPlay.ug_pPlayFilePath = g_strdup(itemData->ug_pItemName->str); - } - __mf_ug_list_play_set_play_resume_status(ugd); - } - - UG_TRACE_END; + UG_TRACE_BEGIN; + if (mf_ug_main_is_background()) { + return; + } + ugListItemData *itemData = (ugListItemData *)data; + ug_mf_retm_if(itemData == NULL, "itemData is NULL"); + ugData *ugd = itemData->ug_pData; + ug_mf_retm_if(ugd == NULL, "ugd is NULL"); + int error_code = -1; + player_state_e state = PLAYER_STATE_NONE; + + error_code = player_get_state(ugd->ug_ListPlay.ug_Player, &state); + ug_debug("state is [%d]", state); + if (error_code == 0 && state == PLAYER_STATE_PLAYING) { + if (ugd->ug_ListPlay.ug_pPlayFilePath == NULL) { + ugd->ug_ListPlay.ug_pPlayFilePath = g_strdup(itemData->ug_pItemName->str); + } + __mf_ug_list_play_set_play_start_status(ugd, itemData->ug_pItemName->str); + } else if (ugd->ug_ListPlay.ug_iPlayState == PLAY_STATE_PAUSED) { + if (ugd->ug_ListPlay.ug_pPlayFilePath == NULL) { + ugd->ug_ListPlay.ug_pPlayFilePath = g_strdup(itemData->ug_pItemName->str); + } + __mf_ug_list_play_set_play_resume_status(ugd); + } + + UG_TRACE_END; } static void __mf_ug_list_play_pauset(void *data) { - UG_TRACE_BEGIN; + UG_TRACE_BEGIN; - ugData *ugd = (ugData *)data; - ug_mf_retm_if(ugd == NULL, "ugd is NULL"); + ugData *ugd = (ugData *)data; + ug_mf_retm_if(ugd == NULL, "ugd is NULL"); - __mf_ug_list_play_set_play_pause_status(ugd); - UG_TRACE_END; + __mf_ug_list_play_set_play_pause_status(ugd); + UG_TRACE_END; } static void __mf_ug_list_play_complete_cb(void *data) { - UG_TRACE_BEGIN; + UG_TRACE_BEGIN; - ugData *ugd = (ugData *)data; - ug_mf_retm_if(ugd == NULL, "ugd is NULL"); + ugData *ugd = (ugData *)data; + ug_mf_retm_if(ugd == NULL, "ugd is NULL"); - mf_ug_list_play_destory_playing_file(ugd); - mf_ug_list_disable_play_itc(ugd, true); - //mf_ug_list_play_update_item_icon(ugd); - UG_SAFE_FREE_CHAR(ugd->ug_ListPlay.ug_pPlayFilePath); - UG_TRACE_END; + mf_ug_list_play_destory_playing_file(ugd); + mf_ug_list_disable_play_itc(ugd, true); + ugd->ug_ListPlay.play_data = NULL; + UG_SAFE_FREE_CHAR(ugd->ug_ListPlay.ug_pPlayFilePath); + UG_TRACE_END; } static void __mf_ug_list_play_interrupt_cb(player_interrupted_code_e code, void *data) { - UG_TRACE_BEGIN; - ugListItemData *itemData = data; - ug_mf_retm_if(itemData == NULL, "itemData is NULL"); - - ugData *ugd = (ugData *)itemData->ug_pData; - ug_mf_retm_if(ugd == NULL, "ugd is NULL"); - switch (code) { - case PLAYER_INTERRUPTED_BY_MEDIA: - ug_debug("Interrupt :: PLAYER_INTERRUPTED_BY_MEDIA"); - break; - case PLAYER_INTERRUPTED_BY_CALL: - ug_debug("Interrupt :: PLAYER_INTERRUPTED_BY_CALL_START"); - break; - case PLAYER_INTERRUPTED_BY_RESOURCE_CONFLICT: - ug_debug("Interrupt :: PLAYER_INTERRUPTED_BY_RESOURCE_CONFLICT"); - break; - case PLAYER_INTERRUPTED_BY_ALARM: - ug_debug("Interrupt :: PLAYER_INTERRUPTED_BY_ALARM_START"); - break; - case PLAYER_INTERRUPTED_BY_EARJACK_UNPLUG: - ug_debug("Interrupt :: PLAYER_INTERRUPTED_BY_EARJACK_UNPLUG"); - break; - case PLAYER_INTERRUPTED_COMPLETED: - ug_debug("PLAYER_INTERRUPTED_COMPLETED"); - /* ready to resume */ - ug_debug("ugd->ug_ListPlay.ug_iPlayState is [%d]", ugd->ug_ListPlay.ug_iPlayState); - if (ugd->ug_ListPlay.ug_iPlayState == PLAY_STATE_PAUSED) { - ug_debug(); - __mf_ug_list_play_control_cb(itemData); - } - return; - default: - break; - } - __mf_ug_list_play_set_play_pause_status(ugd); - mf_ug_list_play_update_item_icon(ugd); - UG_TRACE_END; + UG_TRACE_BEGIN; + ugListItemData *itemData = data; + ug_mf_retm_if(itemData == NULL, "itemData is NULL"); + + ugData *ugd = (ugData *)itemData->ug_pData; + ug_mf_retm_if(ugd == NULL, "ugd is NULL"); + switch (code) { + case PLAYER_INTERRUPTED_BY_MEDIA: + ug_debug("Interrupt :: PLAYER_INTERRUPTED_BY_MEDIA"); + break; + case PLAYER_INTERRUPTED_BY_CALL: + ug_debug("Interrupt :: PLAYER_INTERRUPTED_BY_CALL_START"); + break; + case PLAYER_INTERRUPTED_BY_RESOURCE_CONFLICT: + ug_debug("Interrupt :: PLAYER_INTERRUPTED_BY_RESOURCE_CONFLICT"); + break; + case PLAYER_INTERRUPTED_BY_ALARM: + ug_debug("Interrupt :: PLAYER_INTERRUPTED_BY_ALARM_START"); + break; + case PLAYER_INTERRUPTED_BY_EARJACK_UNPLUG: + ug_debug("Interrupt :: PLAYER_INTERRUPTED_BY_EARJACK_UNPLUG"); + break; + case PLAYER_INTERRUPTED_COMPLETED: + ug_debug("PLAYER_INTERRUPTED_COMPLETED"); + /* ready to resume */ + ug_debug("ugd->ug_ListPlay.ug_iPlayState is [%d]", ugd->ug_ListPlay.ug_iPlayState); + if (ugd->ug_ListPlay.ug_iPlayState == PLAY_STATE_PAUSED) { + __mf_ug_list_play_control_cb(itemData); + } + return; + default: + break; + } + __mf_ug_list_play_set_play_pause_status(ugd); + mf_ug_list_play_update_item_icon(ugd); + UG_TRACE_END; } static void __mf_list_play_control_prepare_cb(void *userdata) { - UG_TRACE_BEGIN; + UG_TRACE_BEGIN; - __mf_ug_list_play_play_current_file(userdata); + __mf_ug_list_play_play_current_file(userdata); } @@ -920,50 +686,49 @@ __mf_list_play_control_prepare_cb(void *userdata) static void __mf_ug_list_play_prepare_cb(void *userdata) { - UG_TRACE_BEGIN; - MF_CHECK(g_player_pipe); + UG_TRACE_BEGIN; + MF_CHECK(g_player_pipe); - mf_player_cb_extra_data extra_data; - memset(&extra_data, 0, sizeof(mf_player_cb_extra_data)); - extra_data.cb_type = MF_PLAYER_CB_TYPE_PREPARE; + mf_player_cb_extra_data extra_data; + memset(&extra_data, 0, sizeof(mf_player_cb_extra_data)); + extra_data.cb_type = MF_PLAYER_CB_TYPE_PREPARE; - ecore_pipe_write(g_player_pipe, &extra_data, sizeof(mf_player_cb_extra_data)); + ecore_pipe_write(g_player_pipe, &extra_data, sizeof(mf_player_cb_extra_data)); } static bool __mf_ug_list_play_realize_player_mgr(void *data) { - UG_TRACE_BEGIN; - ugData *ugd = (ugData *)data; - - ug_mf_retvm_if(ugd == NULL, false, "ugd is NULL"); - - int error_code = 0; - player_state_e state = PLAYER_STATE_NONE; - - if (ugd->ug_ListPlay.ug_Player != 0) { - error_code = player_get_state(ugd->ug_ListPlay.ug_Player, &state); - ug_debug("state is [%d]", state); - - if (0 == error_code && PLAYER_STATE_IDLE == state) { - ug_debug("player_prepare_async"); - if (player_prepare_async(ugd->ug_ListPlay.ug_Player, __mf_ug_list_play_prepare_cb, ugd) != PLAYER_ERROR_NONE) - { - ug_debug("Error when mp_player_mgr_realize\n"); - UG_TRACE_END; - return FALSE; - } else { - return true; - } - //ugd->ug_ListPlay.ug_iPlayState = PLAY_STATE_READY; - - } else { - UG_TRACE_END; - return false; - } - } - UG_TRACE_END; - - return false; + UG_TRACE_BEGIN; + ugData *ugd = (ugData *)data; + + ug_mf_retvm_if(ugd == NULL, false, "ugd is NULL"); + + int error_code = 0; + player_state_e state = PLAYER_STATE_NONE; + + if (ugd->ug_ListPlay.ug_Player != 0) { + error_code = player_get_state(ugd->ug_ListPlay.ug_Player, &state); + ug_debug("state is [%d]", state); + + if (0 == error_code && PLAYER_STATE_IDLE == state) { + ug_debug("player_prepare_async"); + if (player_prepare_async(ugd->ug_ListPlay.ug_Player, __mf_ug_list_play_prepare_cb, ugd) != PLAYER_ERROR_NONE) { + ug_debug("Error when mp_player_mgr_realize\n"); + UG_TRACE_END; + return FALSE; + } else { + return true; + } + /*ugd->ug_ListPlay.ug_iPlayState = PLAY_STATE_READY;*/ + + } else { + UG_TRACE_END; + return false; + } + } + UG_TRACE_END; + + return false; } @@ -971,7 +736,6 @@ static bool __mf_ug_list_play_realize_player_mgr(void *data) ** Prototype : __mf_ug_list_play_ready_new_file_play ** Description : Samsung ** Input : void *data -** bool drm_check_flag ** Output : None ** Return Value : ** Calls : @@ -985,189 +749,184 @@ static bool __mf_ug_list_play_realize_player_mgr(void *data) ******************************/ /*void mf_player_mgr_set_started_cb(player_started_cb callback, void *user_data) { - MF_CHECK(g_player_cbs); + MF_CHECK(g_player_cbs); - g_player_cbs->started_cb = callback; - g_player_cbs->user_data[MF_PLAYER_CB_TYPE_STARTED] = user_data; + g_player_cbs->started_cb = callback; + g_player_cbs->user_data[MF_PLAYER_CB_TYPE_STARTED] = user_data; } void mf_player_mgr_set_paused_cb(player_paused_cb callback, void *user_data) { - MF_CHECK(g_player_cbs); + MF_CHECK(g_player_cbs); - g_player_cbs->paused_cb = callback; - g_player_cbs->user_data[MF_PLAYER_CB_TYPE_PAUSED] = user_data; + g_player_cbs->paused_cb = callback; + g_player_cbs->user_data[MF_PLAYER_CB_TYPE_PAUSED] = user_data; }*/ void mf_player_mgr_set_completed_cb(player_completed_cb callback, void *user_data) { - MF_CHECK(g_player_cbs); + MF_CHECK(g_player_cbs); - g_player_cbs->completed_cb = callback; - g_player_cbs->user_data[MF_PLAYER_CB_TYPE_COMPLETED] = user_data; + g_player_cbs->completed_cb = callback; + g_player_cbs->user_data[MF_PLAYER_CB_TYPE_COMPLETED] = user_data; } void mf_player_mgr_set_interrupted_cb(player_interrupted_cb callback, void *user_data) { - MF_CHECK(g_player_cbs); + MF_CHECK(g_player_cbs); - g_player_cbs->interrupted_cb = callback; - g_player_cbs->user_data[MF_PLAYER_CB_TYPE_INTURRUPTED] = user_data; + g_player_cbs->interrupted_cb = callback; + g_player_cbs->user_data[MF_PLAYER_CB_TYPE_INTURRUPTED] = user_data; } void mf_player_mgr_set_error_cb(player_error_cb callback, void *user_data) { - MF_CHECK(g_player_cbs); + MF_CHECK(g_player_cbs); - g_player_cbs->error_cb = callback; - g_player_cbs->user_data[MF_PLAYER_CB_TYPE_ERROR] = user_data; + g_player_cbs->error_cb = callback; + g_player_cbs->user_data[MF_PLAYER_CB_TYPE_ERROR] = user_data; } void mf_player_mgr_set_buffering_cb(player_buffering_cb callback, void *user_data) { - MF_CHECK(g_player_cbs); + MF_CHECK(g_player_cbs); - g_player_cbs->buffering_cb = callback; - g_player_cbs->user_data[MF_PLAYER_CB_TYPE_BUFFERING] = user_data; + g_player_cbs->buffering_cb = callback; + g_player_cbs->user_data[MF_PLAYER_CB_TYPE_BUFFERING] = user_data; } void mf_player_mgr_set_prepare_cb(player_prepared_cb callback, void *user_data) { - MF_CHECK(g_player_cbs); + MF_CHECK(g_player_cbs); - g_player_cbs->prepare_cb = callback; - g_player_cbs->user_data[MF_PLAYER_CB_TYPE_PREPARE] = user_data; + g_player_cbs->prepare_cb = callback; + g_player_cbs->user_data[MF_PLAYER_CB_TYPE_PREPARE] = user_data; } static Eina_Bool __mf_play_control_error(void *data) { - UG_TRACE_BEGIN; - ugData *ugd = (ugData *)data; - ug_mf_retvm_if(ugd == NULL, false, "ugd is NULL"); - - mf_ug_list_play_destory_playing_file(ugd); - mf_ug_list_disable_play_itc(ugd, true); - UG_SAFE_FREE_CHAR(ugd->ug_ListPlay.ug_pPlayFilePath); - ugd->ug_ListPlay.playing_err_idler = NULL; - return EINA_FALSE; + UG_TRACE_BEGIN; + ugData *ugd = (ugData *)data; + ug_mf_retvm_if(ugd == NULL, false, "ugd is NULL"); + + mf_ug_list_play_destory_playing_file(ugd); + mf_ug_list_disable_play_itc(ugd, true); + ugd->ug_ListPlay.play_data = NULL; + UG_SAFE_FREE_CHAR(ugd->ug_ListPlay.ug_pPlayFilePath); + ugd->ug_ListPlay.playing_err_idler = NULL; + return EINA_FALSE; } static void __mf_play_control_error_cb(int error_code, void *userdata) { - UG_TRACE_BEGIN; - ugData *ugd = (ugData *)userdata; - ug_mf_retm_if(ugd == NULL, "ugd is NULL"); - - switch (error_code) - { - case PLAYER_ERROR_OUT_OF_MEMORY: - ug_error("PLAYER_ERROR_OUT_OF_MEMORY"); - break; - case PLAYER_ERROR_INVALID_PARAMETER: - ug_error("PLAYER_ERROR_INVALID_PARAMETER"); - //mp_widget_text_popup(ad, GET_STR("IDS_MUSIC_POP_UNABLE_TO_PLAY_ERROR_OCCURRED")); - break; - case PLAYER_ERROR_NOT_SUPPORTED_FILE: //can receive error msg while playing. - ug_error("receive MM_ERROR_PLAYER_CODEC_NOT_FOUND\n"); - ugd->ug_MainWindow.ug_pNormalPopup = mf_ug_popup_create(ugd, UG_POPMODE_TEXT, NULL, MF_UG_LABEL_UNSUPPORT_FILE_TYPE, NULL, NULL, NULL, NULL, NULL); - break; - case PLAYER_ERROR_CONNECTION_FAILED: - ug_error("MM_ERROR_PLAYER_STREAMING_CONNECTION_FAIL"); - - ugd->ug_MainWindow.ug_pNormalPopup = mf_ug_popup_create(ugd, UG_POPMODE_TEXT, NULL, MF_UG_LABEL_CONNECT_FAILED, NULL, NULL, NULL, NULL, NULL); - break; - default: - ugd->ug_MainWindow.ug_pNormalPopup = mf_ug_popup_create(ugd, UG_POPMODE_TEXT, NULL, MF_UG_LABEL_UNSUPPORT_FILE_TYPE, NULL, NULL, NULL, NULL, NULL); - ug_error("error_code: %d", error_code); - } - - if(!ugd->ug_ListPlay.playing_err_idler) { - ugd->ug_ListPlay.playing_err_idler = ecore_idler_add(__mf_play_control_error, ugd); - } + UG_TRACE_BEGIN; + ugListItemData *itemData = userdata; + ug_mf_retm_if(itemData == NULL, "itemData is NULL"); + ugData *ugd = itemData->ug_pData; + ug_mf_retm_if(ugd == NULL, "ugd is NULL"); + + switch (error_code) { + case PLAYER_ERROR_OUT_OF_MEMORY: + ug_error("PLAYER_ERROR_OUT_OF_MEMORY"); + break; + case PLAYER_ERROR_INVALID_PARAMETER: + ug_error("PLAYER_ERROR_INVALID_PARAMETER"); + break; + case PLAYER_ERROR_NOT_SUPPORTED_FILE: /*can receive error msg while playing.*/ + ug_error("receive MM_ERROR_PLAYER_CODEC_NOT_FOUND\n"); + ugd->ug_MainWindow.ug_pNormalPopup = mf_ug_popup_create(ugd, UG_POPMODE_TEXT, NULL, MF_UG_LABEL_UNSUPPORT_FILE_TYPE, NULL, NULL, NULL, NULL, NULL); + break; + case PLAYER_ERROR_CONNECTION_FAILED: + ug_error("MM_ERROR_PLAYER_STREAMING_CONNECTION_FAIL"); + + ugd->ug_MainWindow.ug_pNormalPopup = mf_ug_popup_create(ugd, UG_POPMODE_TEXT, NULL, MF_UG_LABEL_CONNECT_FAILED, NULL, NULL, NULL, NULL, NULL); + break; + default: + ugd->ug_MainWindow.ug_pNormalPopup = mf_ug_popup_create(ugd, UG_POPMODE_TEXT, NULL, MF_UG_LABEL_UNSUPPORT_FILE_TYPE, NULL, NULL, NULL, NULL, NULL); + ug_error("error_code: %d", error_code); + } + + /*if (ugd->ug_MainWindow.ug_pRadioGroup && elm_radio_value_get(ugd->ug_MainWindow.ug_pRadioGroup) == itemData->ug_iGroupValue) { + //ugd->ug_Status.ug_iRadioOn = 0; + //itemData->ug_bChecked = false; + //elm_radio_value_set(ugd->ug_MainWindow.ug_pRadioGroup, 0); + //mf_ug_navi_bar_set_ctrl_item_disable(ugd); + }*/ + + if (!ugd->ug_ListPlay.playing_err_idler) { + ugd->ug_ListPlay.playing_err_idler = ecore_idler_add((Ecore_Task_Cb)__mf_play_control_error, ugd); + } } -static bool __mf_ug_list_play_ready_new_file_play(void *data, bool drm_check_flag) +static bool __mf_ug_list_play_ready_new_file_play(void *data) { - UG_TRACE_BEGIN; - ugListItemData *itemData = data; - ug_mf_retvm_if(itemData == NULL, false, "itemData is NULL"); - - ugData *ugd = (ugData *)itemData->ug_pData; - ug_mf_retvm_if(ugd == NULL, false, "ugd is NULL"); - - char *path = strdup(itemData->ug_pItemName->str); - - /*check if file is exist */ - if (path != NULL) { - if (!ecore_file_exists(path)) { - ug_debug("Error file %s is not exist\n", path); - free(path); - path = NULL; - UG_TRACE_END; - return false; - } - /*/check if file is drm file */ - if (mf_ug_file_attr_is_drm_file(path) == 0) { - if (!__mf_ug_list_play_check_drm_left_ro(ugd, path)) { - free(path); - path = NULL; - UG_TRACE_END; - return false; - } - - if (!__mf_ug_list_play_check_drm_forward(ugd, path)) { - free(path); - path = NULL; - UG_TRACE_END; - return false; - } - - ugd->ug_ListPlay.ug_bDrmconsumption = true; - } else { - ugd->ug_ListPlay.ug_bDrmconsumption = true; - } - - if (!__mf_ug_list_play_create_player_mgr(ugd, path)) { - free(path); - path = NULL; - ug_error("ERROR HERE !!!!!!!"); - ugd->ug_MainWindow.ug_pNormalPopup = mf_ug_popup_create(ugd, UG_POPMODE_TEXT, NULL, MF_UG_LABEL_UNABLE_TO_PLAY_ERROR_OCCURRED, NULL, NULL, NULL, NULL, NULL); - UG_TRACE_END; - return false; - } - - //mf_player_mgr_set_started_cb(__mf_ug_list_play_start_cb, itemData); - //mf_player_mgr_set_paused_cb(__mf_ug_list_play_pauset_cb, ugd); - mf_player_mgr_set_completed_cb(__mf_ug_list_play_complete_cb, ugd); - mf_player_mgr_set_interrupted_cb(__mf_ug_list_play_interrupt_cb, ugd); - mf_player_mgr_set_prepare_cb(__mf_list_play_control_prepare_cb, itemData); - mf_player_mgr_set_error_cb(__mf_play_control_error_cb, ugd); - //mf_player_mgr_set_buffering_cb(_mp_play_control_buffering_cb, ad); - - if (!__mf_ug_list_play_realize_player_mgr(ugd)) { - free(path); - path = NULL; - ug_error("ERROR HERE !!!!!!!"); - ugd->ug_MainWindow.ug_pNormalPopup = mf_ug_popup_create(ugd, UG_POPMODE_TEXT, NULL, MF_UG_LABEL_UNABLE_TO_PLAY_ERROR_OCCURRED, NULL, NULL, NULL, NULL, NULL); - UG_TRACE_END; - return false; - } - free(path); - path = NULL; - UG_TRACE_END; - return true; - } else { - return false; - } + UG_TRACE_BEGIN; + + if (mf_ug_main_is_background()) { + return false; + } + + ugListItemData *itemData = data; + ug_mf_retvm_if(itemData == NULL, false, "itemData is NULL"); + + ugData *ugd = (ugData *)itemData->ug_pData; + ug_mf_retvm_if(ugd == NULL, false, "ugd is NULL"); + + char *path = strdup(itemData->ug_pItemName->str); + if (mf_ug_is_default_ringtone(ugd, path)) { + UG_SAFE_FREE_CHAR(path); + path = g_strdup(ugd->ug_UiGadget.default_ringtone); + } + + /*check if file is exist */ + if (path != NULL) { + if (!mf_file_exists(path)) { + ug_debug("Error file %s is not exist\n", path); + free(path); + path = NULL; + UG_TRACE_END; + return false; + } + if (!__mf_ug_list_play_create_player_mgr(ugd, path)) { + free(path); + path = NULL; + ug_error("ERROR HERE !!!!!!!"); + ugd->ug_MainWindow.ug_pNormalPopup = mf_ug_popup_create(ugd, UG_POPMODE_TEXT, NULL, MF_UG_LABEL_UNABLE_TO_PLAY_ERROR_OCCURRED, NULL, NULL, NULL, NULL, NULL); + UG_TRACE_END; + return false; + } + + /*mf_player_mgr_set_started_cb(__mf_ug_list_play_start_cb, itemData); + mf_player_mgr_set_paused_cb(__mf_ug_list_play_pauset_cb, ugd);*/ + mf_player_mgr_set_completed_cb(__mf_ug_list_play_complete_cb, ugd); + mf_player_mgr_set_interrupted_cb(__mf_ug_list_play_interrupt_cb, itemData); + mf_player_mgr_set_prepare_cb(__mf_list_play_control_prepare_cb, itemData); + mf_player_mgr_set_error_cb(__mf_play_control_error_cb, itemData); + /*mf_player_mgr_set_buffering_cb(_mp_play_control_buffering_cb, ad);*/ + + if (!__mf_ug_list_play_realize_player_mgr(ugd)) { + free(path); + path = NULL; + ug_error("ERROR HERE !!!!!!!"); + ugd->ug_MainWindow.ug_pNormalPopup = mf_ug_popup_create(ugd, UG_POPMODE_TEXT, NULL, MF_UG_LABEL_UNABLE_TO_PLAY_ERROR_OCCURRED, NULL, NULL, NULL, NULL, NULL); + UG_TRACE_END; + return false; + } + free(path); + path = NULL; + UG_TRACE_END; + return true; + } else { + return false; + } } - /****************************** ** Prototype : _mp_player_mgr_play ** Description : @@ -1186,53 +945,53 @@ static bool __mf_ug_list_play_ready_new_file_play(void *data, bool drm_check_fla static bool __mf_ug_list_play_play(void *data) { - UG_TRACE_BEGIN; - ugListItemData *itemData = data; - ug_mf_retvm_if(itemData == NULL, false, "itemData is NULL"); - ugData *ugd = itemData->ug_pData; - ug_mf_retvm_if(ugd == NULL, false, "ugd is NULL"); - - int err = 0; - int error_code = 0; - player_state_e state = PLAYER_STATE_NONE; - - if (ugd->ug_ListPlay.ug_Player != 0) { - error_code = player_get_state(ugd->ug_ListPlay.ug_Player, &state); - ug_debug("state is [%d]", state); - - if (0 == error_code && PLAYER_STATE_READY == state) { - err = player_start(ugd->ug_ListPlay.ug_Player); - if (err != PLAYER_ERROR_NONE) { - - if (err == PLAYER_ERROR_SOUND_POLICY) - { - ug_error("PLAYER_ERROR_SOUND_POLICY error"); - ugd->ug_MainWindow.ug_pNormalPopup = mf_ug_popup_create(ugd, UG_POPMODE_TEXT, NULL, MF_UG_LABEL_UNABLE_TO_PLAY_DURING_CALL, NULL, - NULL, NULL, NULL, NULL); - } - else - { - ug_error("error is [%d]", err); - ugd->ug_MainWindow.ug_pNormalPopup = mf_ug_popup_create(ugd, UG_POPMODE_TEXT, NULL, MF_UG_LABEL_UNABLE_TO_PLAY_ERROR_OCCURRED, NULL, - NULL, NULL, NULL, NULL); - } - ug_error("Error when _mp_player_mgr_play. err[%x]\n", err); - UG_TRACE_END; - return false; - } else { - __mf_ug_list_play_start(itemData); - mf_ug_list_disable_play_itc(ugd, false); - UG_TRACE_END; - return true; - } - } else { - UG_TRACE_END; - return false; - } - } else { - UG_TRACE_END; - return false; - } + UG_TRACE_BEGIN; + ugListItemData *itemData = data; + ug_mf_retvm_if(itemData == NULL, false, "itemData is NULL"); + ugData *ugd = itemData->ug_pData; + ug_mf_retvm_if(ugd == NULL, false, "ugd is NULL"); + if (mf_ug_main_is_background()) { + return false; + } + + int err = 0; + int error_code = 0; + player_state_e state = PLAYER_STATE_NONE; + + if (ugd->ug_ListPlay.ug_Player != 0) { + error_code = player_get_state(ugd->ug_ListPlay.ug_Player, &state); + ug_debug("state is [%d]", state); + + if (0 == error_code && PLAYER_STATE_READY == state) { + err = player_start(ugd->ug_ListPlay.ug_Player); + if (err != PLAYER_ERROR_NONE) { + + if (err == PLAYER_ERROR_SOUND_POLICY) { + ug_error("PLAYER_ERROR_SOUND_POLICY error"); + ugd->ug_MainWindow.ug_pNormalPopup = mf_ug_popup_create(ugd, UG_POPMODE_TEXT, NULL, MF_UG_LABEL_UNABLE_TO_PLAY_DURING_CALL, NULL, + NULL, NULL, NULL, NULL); + } else { + ug_error("error is [%d]", err); + ugd->ug_MainWindow.ug_pNormalPopup = mf_ug_popup_create(ugd, UG_POPMODE_TEXT, NULL, MF_UG_LABEL_UNABLE_TO_PLAY_ERROR_OCCURRED, NULL, + NULL, NULL, NULL, NULL); + } + ug_error("Error when _mp_player_mgr_play. err[%x]\n", err); + UG_TRACE_END; + return false; + } else { + __mf_ug_list_play_start(itemData); + mf_ug_list_disable_play_itc(ugd, false); + UG_TRACE_END; + return true; + } + } else { + UG_TRACE_END; + return false; + } + } else { + UG_TRACE_END; + return false; + } } /****************************** @@ -1252,37 +1011,37 @@ static bool __mf_ug_list_play_play(void *data) ******************************/ static bool __mf_ug_list_play_stop(ugData *data) { - UG_TRACE_BEGIN; - ugData *ugd = (ugData *)data; - ug_mf_retvm_if(ugd == NULL, false, "ugd is NULL"); - - player_state_e state = PLAYER_STATE_NONE; - int error_code = 0; - - if (ugd->ug_ListPlay.ug_Player != 0) { - error_code = player_get_state(ugd->ug_ListPlay.ug_Player, &state); - ug_debug("state is [%d]", state); - - if (0 == error_code && (PLAYER_STATE_PLAYING == state || PLAYER_STATE_PAUSED == state)) { - if (player_stop(ugd->ug_ListPlay.ug_Player) != 0) { - ug_debug("Error when __mf_ug_list_play_stop\n"); - UG_TRACE_END; - return false; - } else { - - ugd->ug_ListPlay.ug_iPlayState = PLAY_STATE_STOP; - ugd->ug_ListPlay.ug_bDrmContentCanPlay = false; - UG_TRACE_END; - return true; - } - - } else { - UG_TRACE_END; - return false; - } - } - UG_TRACE_END; - return false; + UG_TRACE_BEGIN; + ugData *ugd = (ugData *)data; + ug_mf_retvm_if(ugd == NULL, false, "ugd is NULL"); + + player_state_e state = PLAYER_STATE_NONE; + int error_code = 0; + + if (ugd->ug_ListPlay.ug_Player != 0) { + error_code = player_get_state(ugd->ug_ListPlay.ug_Player, &state); + ug_debug("state is [%d]", state); + + if (0 == error_code && (PLAYER_STATE_PLAYING == state || PLAYER_STATE_PAUSED == state)) { + if (player_stop(ugd->ug_ListPlay.ug_Player) != 0) { + ug_debug("Error when __mf_ug_list_play_stop\n"); + UG_TRACE_END; + return false; + } else { + + ugd->ug_ListPlay.ug_iPlayState = PLAY_STATE_STOP; + + UG_TRACE_END; + return true; + } + + } else { + UG_TRACE_END; + return false; + } + } + UG_TRACE_END; + return false; } /****************************** @@ -1303,24 +1062,24 @@ static bool __mf_ug_list_play_stop(ugData *data) static bool __mf_ug_list_play_unrealize(ugData *data) { - UG_TRACE_BEGIN; - ugData *ugd = (ugData *)data; - ug_mf_retvm_if(ugd == NULL, false, "ugd is NULL"); - - if (ugd->ug_ListPlay.ug_Player != 0) { - /*/unrealize can be invoked at any state */ - int ret = player_unprepare(ugd->ug_ListPlay.ug_Player); - if (ret != 0) { - ug_error("Error when __mf_ug_list_play_unrealize %d", ret); - UG_TRACE_END; - return false; - } else { - UG_TRACE_END; - return true; - } - } - UG_TRACE_END; - return false; + UG_TRACE_BEGIN; + ugData *ugd = (ugData *)data; + ug_mf_retvm_if(ugd == NULL, false, "ugd is NULL"); + + if (ugd->ug_ListPlay.ug_Player != 0) { + /*/unrealize can be invoked at any state */ + int ret = player_unprepare(ugd->ug_ListPlay.ug_Player); + if (ret != 0) { + ug_error("Error when __mf_ug_list_play_unrealize %d", ret); + UG_TRACE_END; + return false; + } else { + UG_TRACE_END; + return true; + } + } + UG_TRACE_END; + return false; } /****************************** @@ -1340,33 +1099,37 @@ static bool __mf_ug_list_play_unrealize(ugData *data) ******************************/ static bool __mf_ug_list_play_destory(ugData *data) { - UG_TRACE_BEGIN; - ugData *ugd = (ugData *)data; - ug_mf_retvm_if(ugd == NULL, false, "ugd is NULL"); - - if (ugd->ug_ListPlay.ug_Player != 0) { - /*/destroy can be invoked at any state */ - if (player_destroy(ugd->ug_ListPlay.ug_Player) != 0) { - ug_debug("Error when __mf_ug_list_play_destory\n"); - UG_TRACE_END; - return false; - } else { - ugd->ug_ListPlay.ug_Player = 0; - ugd->ug_ListPlay.ug_iPlayState = PLAY_STATE_INIT; - UG_TRACE_END; - return true; - } - } - - UG_SAFE_FREE_CHAR(g_player_cbs); - if (g_player_pipe) { - ecore_pipe_del(g_player_pipe); - g_player_pipe = NULL; - } - UG_TRACE_END; - return false; + UG_TRACE_BEGIN; + ugData *ugd = (ugData *)data; + ug_mf_retvm_if(ugd == NULL, false, "ugd is NULL"); + + if (ugd->ug_ListPlay.ug_Player != 0) { + /*/destroy can be invoked at any state */ + if (player_destroy(ugd->ug_ListPlay.ug_Player) != 0) { + ug_debug("Error when __mf_ug_list_play_destory\n"); + UG_TRACE_END; + return false; + } else { + ugd->ug_ListPlay.ug_Player = 0; + ugd->ug_ListPlay.ug_iPlayState = PLAY_STATE_INIT; + UG_TRACE_END; + return true; + } + } + + UG_TRACE_END; + return false; } +static void __mf_ug_list_play_pipe_destory() +{ + UG_SAFE_FREE_CHAR(g_player_cbs); + if (g_player_pipe) { + ecore_pipe_del(g_player_pipe); + g_player_pipe = NULL; + } + +} /****************************** ** Prototype : __mf_ug_list_play_play_current_file ** Description : Samsung @@ -1384,31 +1147,31 @@ static bool __mf_ug_list_play_destory(ugData *data) ******************************/ static bool __mf_ug_list_play_play_current_file(void *data) { - - UG_TRACE_BEGIN; - ugListItemData *itemData = data; - ug_mf_retvm_if(itemData == NULL, false, "itemData is NULL"); - ugData *ugd = itemData->ug_pData; - ug_mf_retvm_if(ugd == NULL, false, "ugd is NULL"); - - int error_code = 0; - - player_state_e state = PLAYER_STATE_NONE; - error_code = player_get_state(ugd->ug_ListPlay.ug_Player, &state); - ug_debug("state is [%d]", state); - if (state != PLAYER_STATE_READY) { - UG_TRACE_END; - return false; - } - if (!__mf_ug_list_play_play(itemData)) { - mf_ug_list_play_destory_playing_file(ugd); - mf_ug_list_disable_play_itc(ugd, true); - UG_SAFE_FREE_CHAR(ugd->ug_ListPlay.ug_pPlayFilePath); - UG_TRACE_END; - return false; - } - - return true; + UG_TRACE_BEGIN; + ugListItemData *itemData = data; + ug_mf_retvm_if(itemData == NULL, false, "itemData is NULL"); + ugData *ugd = itemData->ug_pData; + ug_mf_retvm_if(ugd == NULL, false, "ugd is NULL"); + int err_code = 0; + player_state_e state = PLAYER_STATE_NONE; + + err_code = player_get_state(ugd->ug_ListPlay.ug_Player, &state); + ug_debug("state : [%d] , error code : [%d]", state, err_code); + + if (state != PLAYER_STATE_READY) { + UG_TRACE_END; + return false; + } + if (!__mf_ug_list_play_play(itemData)) { + mf_ug_list_play_destory_playing_file(ugd); + mf_ug_list_disable_play_itc(ugd, true); + ugd->ug_ListPlay.play_data = NULL; + UG_SAFE_FREE_CHAR(ugd->ug_ListPlay.ug_pPlayFilePath); + UG_TRACE_END; + return false; + } + + return true; } @@ -1429,51 +1192,48 @@ static bool __mf_ug_list_play_play_current_file(void *data) ******************************/ static bool __mf_ug_list_play_resume(void *data) { - UG_TRACE_BEGIN; - ugData *ugd = (ugData *)data; - ug_mf_retvm_if(ugd == NULL, false, "ugd is NULL"); - - player_state_e state = PLAYER_STATE_NONE; - int error_code = 0; - int err = -1; - - if (ugd->ug_ListPlay.ug_Player != 0) { - error_code = player_get_state(ugd->ug_ListPlay.ug_Player, &state); - ug_debug("state is [%d]", state); - - if (0 == error_code && PLAYER_STATE_PAUSED == state) { - err = player_start(ugd->ug_ListPlay.ug_Player); - - if (err != PLAYER_ERROR_NONE) { - - if (err == PLAYER_ERROR_SOUND_POLICY) - { - ug_error("ERROR HERE !!!!!!!"); - ugd->ug_MainWindow.ug_pNormalPopup = mf_ug_popup_create(ugd, UG_POPMODE_TEXT, NULL, MF_UG_LABEL_UNABLE_TO_PLAY_DURING_CALL, NULL, - NULL, NULL, NULL, NULL); - } - else - { - ug_error("ERROR HERE !!!!!!!"); - ugd->ug_MainWindow.ug_pNormalPopup = mf_ug_popup_create(ugd, UG_POPMODE_TEXT, NULL, MF_UG_LABEL_UNABLE_TO_PLAY_ERROR_OCCURRED, NULL, - NULL, NULL, NULL, NULL); - } - ug_error("Error when _mp_player_mgr_play. err[%x]\n", err); - UG_TRACE_END; - return false; - } else { - __mf_ug_list_play_set_play_start_status(ugd, ugd->ug_ListPlay.ug_pPlayFilePath); - mf_ug_list_disable_play_itc(ugd, false); - UG_TRACE_END; - return true; - } - } else { - UG_TRACE_END; - return false; - } - } - UG_TRACE_END; - return false; + UG_TRACE_BEGIN; + ugData *ugd = (ugData *)data; + ug_mf_retvm_if(ugd == NULL, false, "ugd is NULL"); + + player_state_e state = PLAYER_STATE_NONE; + int error_code = 0; + int err = -1; + + if (ugd->ug_ListPlay.ug_Player != 0) { + error_code = player_get_state(ugd->ug_ListPlay.ug_Player, &state); + ug_debug("state is [%d]", state); + + if (0 == error_code && PLAYER_STATE_PAUSED == state) { + err = player_start(ugd->ug_ListPlay.ug_Player); + + if (err != PLAYER_ERROR_NONE) { + + if (err == PLAYER_ERROR_SOUND_POLICY) { + ug_error("ERROR HERE !!!!!!!"); + ugd->ug_MainWindow.ug_pNormalPopup = mf_ug_popup_create(ugd, UG_POPMODE_TEXT, NULL, MF_UG_LABEL_UNABLE_TO_PLAY_DURING_CALL, NULL, + NULL, NULL, NULL, NULL); + } else { + ug_error("ERROR HERE !!!!!!!"); + ugd->ug_MainWindow.ug_pNormalPopup = mf_ug_popup_create(ugd, UG_POPMODE_TEXT, NULL, MF_UG_LABEL_UNABLE_TO_PLAY_ERROR_OCCURRED, NULL, + NULL, NULL, NULL, NULL); + } + ug_error("Error when _mp_player_mgr_play. err[%x]\n", err); + UG_TRACE_END; + return false; + } else { + __mf_ug_list_play_set_play_start_status(ugd, ugd->ug_ListPlay.ug_pPlayFilePath); + mf_ug_list_disable_play_itc(ugd, false); + UG_TRACE_END; + return true; + } + } else { + UG_TRACE_END; + return false; + } + } + UG_TRACE_END; + return false; } @@ -1495,35 +1255,35 @@ static bool __mf_ug_list_play_resume(void *data) ******************************/ static bool __mf_ug_list_play_pause(void *data) { - UG_TRACE_BEGIN; - ugData *ugd = (ugData *)data; - ug_mf_retvm_if(ugd == NULL, false, "ugd is NULL"); - - int err = 0; - player_state_e state = PLAYER_STATE_NONE; - int error_code = 0; - - if (ugd->ug_ListPlay.ug_Player) { - error_code = player_get_state(ugd->ug_ListPlay.ug_Player, &state); - ug_debug("state is [%d]", state); - - if (0 == error_code && PLAYER_STATE_PLAYING == state) { - err = player_pause(ugd->ug_ListPlay.ug_Player); - if (err != 0) { - ug_debug("Error when _ug_player_mgr_pause. err[%x]\n", err); - UG_TRACE_END; - return false; - } else { - UG_TRACE_END; - return true; - } - } else { - UG_TRACE_END; - return false; - } - } - UG_TRACE_END; - return false; + UG_TRACE_BEGIN; + ugData *ugd = (ugData *)data; + ug_mf_retvm_if(ugd == NULL, false, "ugd is NULL"); + + int err = 0; + player_state_e state = PLAYER_STATE_NONE; + int error_code = 0; + + if (ugd->ug_ListPlay.ug_Player) { + error_code = player_get_state(ugd->ug_ListPlay.ug_Player, &state); + ug_debug("state is [%d]", state); + + if (0 == error_code && PLAYER_STATE_PLAYING == state) { + err = player_pause(ugd->ug_ListPlay.ug_Player); + if (err != 0) { + ug_debug("Error when _ug_player_mgr_pause. err[%x]\n", err); + UG_TRACE_END; + return false; + } else { + UG_TRACE_END; + return true; + } + } else { + UG_TRACE_END; + return false; + } + } + UG_TRACE_END; + return false; } @@ -1543,68 +1303,70 @@ static bool __mf_ug_list_play_pause(void *data) ** Modification : Created function ** ******************************/ -void mf_ug_list_play_pause(void *data) +bool mf_ug_list_play_pause(void *data) { - UG_TRACE_BEGIN; - ugData *ugd = (ugData *)data; - ug_mf_retm_if(ugd == NULL, "ugd is NULL"); - int state = ugd->ug_ListPlay.ug_iPlayState; - - if (state == PLAY_STATE_PLAYING) { - if(__mf_ug_list_play_pause(ugd)) { - __mf_ug_list_play_pauset(ugd); - mf_ug_list_disable_play_itc(ugd, false); - } - } + UG_TRACE_BEGIN; + ugData *ugd = (ugData *)data; + ug_mf_retvm_if(ugd == NULL, false, "ugd is NULL"); + int state = ugd->ug_ListPlay.ug_iPlayState; + + if (state == PLAY_STATE_PLAYING) { + if (__mf_ug_list_play_pause(ugd)) { + __mf_ug_list_play_pauset(ugd); + mf_ug_list_disable_play_itc(ugd, false); + return true; + } + return false; + } + return false; } static void __mf_ug_list_play_control_cb(void *data) { - UG_TRACE_BEGIN; - ugListItemData *itemData = data; - ug_mf_retm_if(itemData == NULL, "itemData is NULL"); - - ugData *ugd = (ugData *)itemData->ug_pData; - ug_mf_retm_if(ugd == NULL, "ugd is NULL"); - - int state = ugd->ug_ListPlay.ug_iPlayState; - - if (state == PLAY_STATE_PLAYING) { - if(__mf_ug_list_play_pause(ugd)) { - __mf_ug_list_play_pauset(ugd); - mf_ug_list_disable_play_itc(ugd, false); - } - } else { - if(__mf_ug_list_play_resume(ugd)) { - __mf_ug_list_play_start(itemData); - } - - } - UG_TRACE_END; + UG_TRACE_BEGIN; + ugListItemData *itemData = data; + ug_mf_retm_if(itemData == NULL, "itemData is NULL"); + + ugData *ugd = (ugData *)itemData->ug_pData; + ug_mf_retm_if(ugd == NULL, "ugd is NULL"); + + int state = ugd->ug_ListPlay.ug_iPlayState; + + if (state == PLAY_STATE_PLAYING) { + if (__mf_ug_list_play_pause(ugd)) { + __mf_ug_list_play_pauset(ugd); + mf_ug_list_disable_play_itc(ugd, false); + } + } else { + if (__mf_ug_list_play_resume(ugd)) { + __mf_ug_list_play_start(itemData); + } + + } + UG_TRACE_END; } -static bool __mf_ug_list_play_play_new_file(ugListItemData *data, bool drm_check_flag) +static bool __mf_ug_list_play_play_new_file(ugListItemData *data) { - UG_TRACE_BEGIN; - ugListItemData *itemData = data; - ug_mf_retvm_if(itemData == NULL, false, "itemData is NULL"); + UG_TRACE_BEGIN; + ugListItemData *itemData = data; + ug_mf_retvm_if(itemData == NULL, false, "itemData is NULL"); - ugData *ugd = (ugData *)itemData->ug_pData; - ug_mf_retvm_if(ugd == NULL, false, "ugd is NULL"); + ugData *ugd = (ugData *)itemData->ug_pData; + ug_mf_retvm_if(ugd == NULL, false, "ugd is NULL"); - __mf_ug_list_play_init_data(ugd); + __mf_ug_list_play_init_data(ugd); - if (!__mf_ug_list_play_ready_new_file_play(itemData, true)) { - UG_TRACE_END; - return false; - } + if (mf_ug_main_is_background()) { + return false; + } + if (!__mf_ug_list_play_ready_new_file_play(itemData)) { + UG_TRACE_END; + return false; + } - if (!__mf_ug_list_play_play_current_file(itemData)) { - UG_TRACE_END; - return false; - } - UG_TRACE_END; + UG_TRACE_END; - return true; + return true; } @@ -1623,47 +1385,47 @@ static bool __mf_ug_list_play_play_new_file(ugListItemData *data, bool drm_check ** Modification : Created function ** ******************************/ -void mf_ug_list_play_play_music_item(ugListItemData *data) +void mf_ug_list_play_reset_playing_file(void *data) { - UG_TRACE_BEGIN; - ugListItemData *itemData = data; - ug_mf_retm_if(itemData == NULL, "itemData is NULL"); - ugData *ugd = itemData->ug_pData; - ug_mf_retm_if(ugd == NULL, "ugd is NULL"); - - int key = 0; - int error_code = 0; - error_code = vconf_get_int(VCONFKEY_SYSMAN_BATTERY_STATUS_LOW, &key); - - ug_debug("key is [%d]", key); - ug_debug("ugd->ug_ListPlay.ug_iPlayState is [%d]", ugd->ug_ListPlay.ug_iPlayState); - - if (error_code == 0 && key <= VCONFKEY_SYSMAN_BAT_POWER_OFF) { - ugd->ug_MainWindow.ug_pNormalPopup = mf_ug_popup_create(ugd, UG_POPMODE_TEXT, NULL, ("Battery low, play failed!"), NULL, NULL, NULL, NULL, NULL); - } else if (error_code != 0) { - ugd->ug_MainWindow.ug_pNormalPopup = mf_ug_popup_create(ugd, UG_POPMODE_TEXT, NULL, ("Unkown error, play failed!"), NULL, NULL, NULL, NULL, NULL); - } else { - if (ugd->ug_ListPlay.ug_pPlayFilePath != NULL) { - ug_debug(); - if (g_strcmp0(ugd->ug_ListPlay.ug_pPlayFilePath, itemData->ug_pItemName->str) != 0) { - //mf_ug_list_play_destory_playing_file(ugd); - mf_ug_list_play_reset_playing_file(ugd); - mf_ug_list_disable_play_itc(ugd, true); - //mf_ug_list_play_update_item_icon(ugd); - __mf_ug_list_play_play_new_file(itemData, true); - } else { - ug_debug(); - /*/ playing the same file */ - __mf_ug_list_play_control_cb(itemData); - } - } else { - ug_debug(); - mf_ug_list_disable_play_itc(ugd, false); - __mf_ug_list_play_play_new_file(itemData, true); - } - } - UG_TRACE_END; + UG_TRACE_BEGIN; + ugData *ugd = (ugData *)data; + ug_mf_retm_if(ugd == NULL, "ugd is NULL"); + __mf_ug_list_play_unrealize(ugd); +} +void mf_ug_list_play_play_music_item(ugListItemData *data) +{ + UG_TRACE_BEGIN; + ugListItemData *itemData = data; + ug_mf_retm_if(itemData == NULL, "itemData is NULL"); + ugData *ugd = itemData->ug_pData; + ug_mf_retm_if(ugd == NULL, "ugd is NULL"); + + ug_debug("ugd->ug_ListPlay.ug_iPlayState is [%d]", ugd->ug_ListPlay.ug_iPlayState); + + if (ugd->ug_ListPlay.ug_pPlayFilePath != NULL) { + ug_debug(); + if (g_strcmp0(ugd->ug_ListPlay.ug_pPlayFilePath, itemData->ug_pItemName->str) != 0) { + /*mf_ug_list_play_destory_playing_file(ugd);*/ + mf_ug_list_play_reset_playing_file(ugd); + mf_ug_list_disable_play_itc(ugd, true); + if (!__mf_ug_list_play_play_new_file(itemData)) { + mf_ug_popup_create(ugd, UG_POPMODE_TEXT, NULL, MF_UG_LABEL_UNABLE_TO_PLAY_ERROR_OCCURRED, + NULL, NULL, NULL, NULL, NULL); + } + } else { + /*/ playing the same file */ + __mf_ug_list_play_control_cb(itemData); + } + } else { + mf_ug_list_disable_play_itc(ugd, false); + if (!__mf_ug_list_play_play_new_file(itemData)) { + mf_ug_popup_create(ugd, UG_POPMODE_TEXT, NULL, MF_UG_LABEL_UNABLE_TO_PLAY_ERROR_OCCURRED, + NULL, NULL, NULL, NULL, NULL); + } + } + + UG_TRACE_END; } /****************************** @@ -1681,105 +1443,178 @@ void mf_ug_list_play_play_music_item(ugListItemData *data) ** Modification : Created function ** ******************************/ -void mf_ug_list_play_reset_playing_file(void *data) +void mf_ug_list_play_destory_playing_file(void *data) { - UG_TRACE_BEGIN; - ugData *ugd = (ugData *)data; - ug_mf_retm_if(ugd == NULL, "ugd is NULL"); - __mf_ug_list_play_unrealize(ugd); + UG_TRACE_BEGIN; + ugData *ugd = (ugData *)data; + ug_mf_retm_if(ugd == NULL, "ugd is NULL"); + __mf_ug_list_play_pipe_destory(); + __mf_ug_list_play_stop(ugd); + __mf_ug_list_play_unrealize(ugd); + __mf_ug_list_play_destory(ugd); + UG_TRACE_END; +} +static sound_type_e mf_ug_player_get_sound_type() +{ + UG_TRACE_BEGIN; + sound_type_e type = SOUND_TYPE_SYSTEM; + int ret = 0; + ret = sound_manager_get_current_sound_type(&type); + ug_debug("ret is [%d]", ret); + UG_TRACE_END; + return type; } -void mf_ug_list_play_destory_playing_file(void *data) + +static int mf_ug_player_get_volume(sound_type_e type) +{ + UG_TRACE_BEGIN; + int volume = 0; + int ret = 0; + ret = sound_manager_get_volume(SOUND_TYPE_MEDIA, &volume); + /*ret = sound_manager_get_volume(type, &volume);*/ + ug_debug("ret is [%d]", ret); + UG_TRACE_END; + return volume; + +} + +static void mf_ug_player_vol_type_set(mf_player_volume_type type) { - UG_TRACE_BEGIN; - ugData *ugd = (ugData *)data; - ug_mf_retm_if(ugd == NULL, "ugd is NULL"); - - __mf_ug_list_play_stop(ugd); - __mf_ug_list_play_unrealize(ugd); - __mf_ug_list_play_destory(ugd); - UG_TRACE_END; + UG_TRACE_BEGIN; + sound_type_e current_type; + int volume = 0; + current_type = mf_ug_player_get_sound_type(); + volume = mf_ug_player_get_volume(current_type); + + /*Fix the P130902-01617, refer to the android galaxy S4.*/ + if (g_init_volume == -1) { + g_init_current_type = current_type; + g_init_volume = volume; + } + + ug_debug("current type is [%d] volume is [%d] type is [%d]", current_type, volume, type); + + switch (type) { + case MF_VOLUME_ALERT: + /*sound_manager_set_volume_key_type(VOLUME_KEY_TYPE_ALARM);*/ + break; + case MF_VOLUME_NOTIFICATION: + /*sound_manager_set_volume_key_type(VOLUME_KEY_TYPE_NOTIFICATION);*/ + break; + case MF_VOLUME_RINGTONE: + /*sound_manager_set_volume_key_type(VOLUME_KEY_TYPE_RINGTONE);*/ + break; + default: + /*sound_manager_set_volume_key_type(type);*/ + break; + } + UG_TRACE_END; } +void mf_ug_player_vol_reset_default_value(void *data) +{ + UG_TRACE_BEGIN; + ug_mf_retm_if(data == NULL, "data is NULL"); + ugData *ugd = (ugData *)data; + + if (ugd->ug_UiGadget.ug_iSoundMode == mf_ug_sound_mode_none) + return; + + sound_type_e current_type; + current_type = mf_ug_player_get_sound_type(); + if (g_init_current_type != current_type) { + mf_ug_player_vol_type_set(g_init_current_type); + } +} -static sound_type_e mf_ug_player_get_sound_type() +void mf_ug_player_vol_set(void *data, const char *path) { - UG_TRACE_BEGIN; - sound_type_e type = SOUND_TYPE_SYSTEM; - int ret = 0; - ret = sound_manager_get_current_sound_type(&type); - ug_error("ret is [%d]", ret); - UG_TRACE_END; - return type; + ug_mf_retm_if(path == NULL, "path is NULL"); + ug_mf_retm_if(data == NULL, "data is NULL"); + ugData *ugd = (ugData *)data; + + if (ugd->ug_UiGadget.ug_iSoundMode == mf_ug_sound_mode_none) + return; + + if (g_strcmp0(path, UG_SETTING_MSG_ALERTS_PATH) == 0) { + mf_ug_player_vol_type_set(MF_VOLUME_NOTIFICATION); + } else if (g_strcmp0(path, UG_SETTING_RINGTONE_PATH) == 0) { + mf_ug_player_vol_type_set(MF_VOLUME_RINGTONE); + } else if (g_strcmp0(path, UG_SETTING_ALERTS_PATH) == 0 || g_strcmp0(path, UG_SETTING_SMART_ALRAMS) == 0) { + mf_ug_player_vol_type_set(MF_VOLUME_ALERT); + } else { + mf_ug_player_vol_type_set(MF_VOLUME_NONE); + } } -static int mf_ug_player_get_volume(sound_type_e type) +bool mf_ug_is_default_ringtone(void *data, const char *path) { - UG_TRACE_BEGIN; - int volume = 0; - int ret = 0; - ret = sound_manager_get_volume(SOUND_TYPE_MEDIA, &volume); - //ret = sound_manager_get_volume(type, &volume); - ug_error("ret is [%d]", ret); - UG_TRACE_END; - return volume; + UG_TRACE_BEGIN; + ugData *ugd = (ugData *)data; + ug_mf_retvm_if(ugd == NULL, false, "ugd is NULL"); + if (ugd->ug_UiGadget.default_ringtone) { + if (g_strcmp0(MF_UG_LABEL_DEFAULT_RINGTONE, path) == 0) + return true; + } + + return false; } -static void mf_ug_player_set_volume(sound_type_e type, int volume) +bool mf_ug_is_silent(void *data, const char *path) { - UG_TRACE_BEGIN; - int ret = 0; - ret = sound_manager_set_volume(type, volume); - ug_error("ret is [%d]", ret); - UG_TRACE_END; + + UG_TRACE_BEGIN; + ugData *ugd = (ugData *)data; + ug_mf_retvm_if(ugd == NULL, false, "ugd is NULL"); + if (ugd->ug_UiGadget.default_ringtone) { + if (g_strcmp0(MF_UG_LABEL_SILENT, path) == 0) + return true; + } + + return false; } +void mf_ug_cb_earjack_changed_cb(runtime_info_key_e key, void *data) +{ + ugData *ugd = (ugData *)data; + ug_mf_retm_if(ugd == NULL, "ugd is NULL"); + + int earjack = 0; + int retcode = -1; + + retcode = runtime_info_get_value_int(RUNTIME_INFO_KEY_AUDIO_JACK_STATUS, &earjack); + if (RUNTIME_INFO_ERROR_NONE != retcode) { + ug_error("runtime_info_get_init failed."); + earjack = RUNTIME_INFO_AUDIO_JACK_STATUS_UNCONNECTED; + } + if (earjack > RUNTIME_INFO_AUDIO_JACK_STATUS_UNCONNECTED) { + if (ugd->ug_ListPlay.ug_pPlayFilePath && ugd->ug_ListPlay.ug_iPlayState == PLAY_STATE_PLAYING) { + __mf_ug_list_play_pauset(ugd); + mf_ug_list_disable_play_itc(ugd, false); + + } + } +} -static void mf_ug_player_vol_type_set(mf_player_volume_type type) +int mf_ug_list_play_earjack_monitor(void *data) { - UG_TRACE_BEGIN; - sound_type_e current_type; - int volume = 0; - current_type = mf_ug_player_get_sound_type(); - volume = mf_ug_player_get_volume(current_type); - ug_error("current type is [%d] volume is [%d] type is [%d]", current_type, volume, type); - sound_manager_set_volume_key_type(VOLUME_KEY_TYPE_MEDIA); - mf_ug_player_set_volume(SOUND_TYPE_MEDIA, volume); - UG_TRACE_END; - return; - switch (type) { - case MF_VOLUME_ALERT: - sound_manager_set_volume_key_type(VOLUME_KEY_TYPE_ALARM); - mf_ug_player_set_volume(SOUND_TYPE_ALARM, volume); - break; - case MF_VOLUME_NOTIFICATION: - sound_manager_set_volume_key_type(VOLUME_KEY_TYPE_NOTIFICATION); - mf_ug_player_set_volume(SOUND_TYPE_NOTIFICATION, volume); - break; - case MF_VOLUME_RINGTONE: - sound_manager_set_volume_key_type(VOLUME_KEY_TYPE_RINGTONE); - mf_ug_player_set_volume(SOUND_TYPE_RINGTONE, volume); - break; - default: - sound_manager_set_volume_key_type(VOLUME_KEY_TYPE_MEDIA); - mf_ug_player_set_volume(SOUND_TYPE_MEDIA, volume); - break; - } - UG_TRACE_END; + ugData *ugd = (ugData *)data; + ug_mf_retvm_if(ugd == NULL, UG_ERROR_RETURN, "ugd is NULL"); + + return runtime_info_set_changed_cb(RUNTIME_INFO_KEY_AUDIO_JACK_STATUS, mf_ug_cb_earjack_changed_cb, ugd); } -void mf_ug_player_vol_set(const char *path) +void mf_ug_destory_earjack_monitor(void) { - ug_mf_retm_if(path == NULL, "path is NULL"); - if (g_strcmp0(path, UG_SETTING_MSG_ALERTS_PATH) == 0) { - mf_ug_player_vol_type_set(MF_VOLUME_NOTIFICATION); - } else if (g_strcmp0(path, UG_SETTING_RINGTONE_PATH) == 0) { - mf_ug_player_vol_type_set(MF_VOLUME_RINGTONE); - } else if (g_strcmp0(path, UG_SETTING_ALERTS_PATH) == 0) { - mf_ug_player_vol_type_set(MF_VOLUME_ALERT); - } else { - mf_ug_player_vol_type_set(MF_VOLUME_NONE); - } + UG_TRACE_BEGIN; + int retcode = -1; + + retcode = runtime_info_unset_changed_cb(RUNTIME_INFO_KEY_AUDIO_JACK_STATUS); + if (retcode != RUNTIME_INFO_ERROR_NONE) { + ug_error("runtime_info_unset failed."); + } + UG_TRACE_END; } diff --git a/src/common/mf-ug-music.c b/src/common/mf-ug-music.c new file mode 100644 index 0000000..563fb3c --- /dev/null +++ b/src/common/mf-ug-music.c @@ -0,0 +1,316 @@ +/* +* Copyright (c) 2000-2015 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. +* +*/ + + + + +#include <ui-gadget.h> +#include <Ecore_X.h> +#include <app.h> + +#include "mf-ug-main.h" +#include "mf-ug-util.h" +#include "mf-ug-db-handle.h" +#include "mf-ug-winset.h" +#include "mf-ug-list-play.h" +#include "mf-ug-fm-svc-wrapper.h" +#include <unistd.h> +#include "mf-ug-resource.h" +#include "mf-ug-cb.h" +#include "mf-ug-file-util.h" + +static ui_gadget_h music_ug = NULL; + +Eina_Bool mf_ug_is_music_ug_run() +{ + UG_TRACE_BEGIN; + if (music_ug) { + return EINA_TRUE; + } + return EINA_FALSE; +} +void mf_ug_destory_music_ug() +{ + UG_TRACE_BEGIN; + if (music_ug) { + ug_destroy(music_ug); + music_ug = NULL; + } +} + +void __mf_ug_music_request_send(void *data, const char *path) +{ + UG_TRACE_BEGIN; + ugData *ugd = (ugData *)data; + ug_mf_retm_if(ugd == NULL, "ugData is NULL"); + ug_mf_retm_if(path == NULL, "path is NULL"); + ug_mf_retm_if(ugd->ug == NULL, "ugd->ugis NULL");/*Fixed the P131011-01548 by jian12.li, sometimes, if the ug is extised, we still send the result to other app.*/ + + SECURE_ERROR("result is [%s]", path); + int ret = 0; + app_control_h app_control = NULL; + ret = app_control_create(&app_control); + if (ret == APP_CONTROL_ERROR_NONE) { + + int count = 1; + char **array = NULL; + + array = calloc(count, sizeof(char *)); + if (array) { + array[0] = g_strdup(path); + app_control_add_extra_data_array(app_control, APP_CONTROL_DATA_SELECTED, (const char **)array, count); + app_control_add_extra_data_array(app_control, "path", (const char **)array, count); + UG_SAFE_FREE_CHAR(array[0]); + UG_SAFE_FREE_CHAR(array); + } + app_control_add_extra_data(app_control, "result", path); + app_control_add_extra_data(app_control, APP_CONTROL_DATA_SELECTED, path); + ug_send_result_full(ugd->ug, app_control, APP_CONTROL_RESULT_SUCCEEDED); + app_control_destroy(app_control); + ug_destroy_me(ugd->ug); + ugd->ug = NULL; + } + +} + + +void __mf_ug_service_reply_cb(app_control_h request, app_control_h reply, app_control_result_e result, void *user_data) +{ + UG_TRACE_BEGIN; + ugData *ugd = (ugData *)user_data; + ug_mf_retm_if(ugd == NULL, "ugData is NULL"); + mf_ug_player_vol_set(ugd, ugd->ug_Status.ug_pEntryPath); + switch (result) { + case APP_CONTROL_RESULT_SUCCEEDED: + break; + case APP_CONTROL_RESULT_FAILED: + break; + case APP_CONTROL_RESULT_CANCELED: + break; + default: + break; + } + char *music_path = NULL; + app_control_get_extra_data(reply, "uri", &music_path); + /*__mf_ug_music_request_send(user_data, music_path);*/ + + + if (music_path) { + int location = mf_ug_fm_svc_wapper_get_location(music_path); + int ret = MFD_ERROR_NONE; + if (ugd->ug_UiGadget.ug_iSoundMode == mf_ug_sound_mode_ringtone) { + ret = mf_ug_db_handle_add_ringtone(music_path, NULL, location); + } else if (ugd->ug_UiGadget.ug_iSoundMode == mf_ug_sound_mode_alert) { + ret = mf_ug_db_handle_add_alert(music_path, NULL, location); + } + Evas_Object *rbtn = elm_object_item_part_content_get(ugd->ug_MainWindow.ug_pNaviItem, TITLE_RIGHT_BTN); + if (rbtn) { + elm_object_disabled_set(rbtn, EINA_FALSE); + } + if (ret == MFD_ERROR_NONE) {/*if there isn't the record, we will add the music.*/ + Elm_Object_Item *default_item = mf_ug_genlist_default_item_get(); + if (default_item) { + mf_ug_genlist_first_item_insert(ugd, music_path, default_item); + } else { + mf_ug_genlist_first_item_append(ugd, music_path); + } + mf_ug_navi_bar_set_ctrl_item_disable(ugd); + } else if (ret == MFD_ERROR_FILE_EXSITED) {/*To fix P131209-06058 wangyan,if there is this record,check this record and top it*/ + /*check this record*/ + mf_ug_genlist_item_bringin_top(ugd, music_path); + mf_ug_navi_bar_set_ctrl_item_disable(ugd); + } + } +} + +static void __mf_ug_layout_cb(ui_gadget_h ug, enum ug_mode mode, void *priv) +{ + UG_TRACE_BEGIN; + ug_mf_retm_if(priv == NULL, "priv is NULL"); + + Evas_Object *base = NULL; + + base = ug_get_layout(ug); + if (!base) { + ug_destroy(ug); + return; + } + + switch (mode) { + case UG_MODE_FULLVIEW: + evas_object_size_hint_weight_set(base, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); + evas_object_show(base); + break; + default: + break; + } +} + +static void __mf_ug_destory_cb(ui_gadget_h ug, void *priv) +{ + UG_TRACE_BEGIN; + ug_mf_retm_if(priv == NULL, "priv is NULL"); + + ug_destroy(ug); + + UG_TRACE_END; +} + +static void __mf_ug_music_recommendation_ringtone_set(void *data, char *path, char *time) +{ + UG_TRACE_BEGIN; + ugData *ugd = (ugData *)data; + ug_mf_retm_if(ugd == NULL, "ugd is NULL"); + ug_mf_retm_if(ugd->ug == NULL, "ugd->ug is NULL"); /*Fixed the P131011-01548 by jian12.li, sometimes, if the ug is extised, we still send the result to other app.*/ + + ug_error(" file is [%s] time is [%s]", path, time); + char *result = NULL; + + app_control_h service = NULL; + result = g_strdup(path); /*mf_ug_util_get_send_result(ugd);*/ + + SECURE_ERROR("result is [%s]", result); + + if (mf_ug_is_default_ringtone(ugd, result)) { + UG_SAFE_FREE_CHAR(result); + result = g_strdup(DEFAULT_RINGTONE_MARK); + if (result) { + SECURE_ERROR("result is [%s]", result); + int ret = 0; + ret = app_control_create(&service); + if (ret == APP_CONTROL_ERROR_NONE) { + app_control_add_extra_data(service, "result", result); + app_control_add_extra_data(service, "position", time); + app_control_add_extra_data(service, APP_CONTROL_DATA_SELECTED, result); + ug_send_result_full(ugd->ug, service, APP_CONTROL_RESULT_SUCCEEDED); + app_control_destroy(service); + } + } + } else { + int ret = 0; + ret = app_control_create(&service); + if (ret == APP_CONTROL_ERROR_NONE) { + + int count = 0; + char **array = mf_ug_util_get_send_result_array(ugd, &count); + int i = 0; + if (array) { + app_control_add_extra_data_array(service, APP_CONTROL_DATA_SELECTED, (const char **)array, count); + app_control_add_extra_data_array(service, "path", (const char **)array, count); + for (i = 0; i < count; i++) { + UG_SAFE_FREE_CHAR(array[i]); + } + UG_SAFE_FREE_CHAR(array); + } + app_control_add_extra_data(service, "result", result); + app_control_add_extra_data(service, "position", time); + app_control_add_extra_data(service, APP_CONTROL_DATA_SELECTED, result); + ug_send_result_full(ugd->ug, service, APP_CONTROL_RESULT_SUCCEEDED); + app_control_destroy(service); + } + + } + ug_destroy_me(ugd->ug); + ugd->ug = NULL; + +} + +void __mf_ug_reply_cb(ui_gadget_h ug, app_control_h result, void *priv) +{ + UG_TRACE_BEGIN; + ugData *ugd = (ugData *)priv; + ug_mf_retm_if(ugd == NULL, "ugData is NULL"); + + char *music_path = NULL; + char *position = NULL; + app_control_get_extra_data(result, "uri", &music_path); + app_control_get_extra_data(result, "position", &position); + /*__mf_ug_music_request_send(user_data, music_path);*/ + mf_ug_player_vol_set(ugd, ugd->ug_Status.ug_pEntryPath); + + if (music_path && !mf_file_exists(music_path)) { + mf_ug_destory_music_ug(); + char *message = MF_UG_LABEL_ADD_FAILED; + ugd->ug_MainWindow.ug_pNormalPopup = mf_ug_popup_create(ugd, UG_POPMODE_TITLE_TEXT_BTN, MF_UG_POP_TITLE_OPERATION_ERROR, message, NULL, NULL, NULL, __mf_ug_popup_show_vk, ugd); + } else if (music_path) { + int location = mf_ug_fm_svc_wapper_get_location(music_path); + /*int ret = MFD_ERROR_NONE;*/ + if (ugd->ug_UiGadget.ug_iSoundMode == mf_ug_sound_mode_ringtone) { + mf_ug_db_handle_add_ringtone(music_path, NULL, location); + } else if (ugd->ug_UiGadget.ug_iSoundMode == mf_ug_sound_mode_alert) { + mf_ug_db_handle_add_alert(music_path, NULL, location); + } + mf_ug_destory_music_ug(); + __mf_ug_music_recommendation_ringtone_set(ugd, music_path, position); + return; + } + /*mf_ug_destory_music_ug();*/ +} + +void mf_ug_music_select(void *data) +{ + UG_TRACE_BEGIN; + ug_mf_retm_if(data == NULL, "data is NULL"); + ugData *ugd = (ugData *)data; + ui_gadget_h ug = NULL; + struct ug_cbs cbs = { 0, }; + + app_control_h app_control; + int ret = 0; + ret = app_control_create(&app_control); + ug_mf_retm_if(ret != APP_CONTROL_ERROR_NONE, "app_control create failed"); + cbs.layout_cb = __mf_ug_layout_cb; + cbs.result_cb = __mf_ug_reply_cb; + cbs.destroy_cb = __mf_ug_destory_cb; + cbs.priv = data; + + ret = app_control_add_extra_data(app_control, "request_type", "SelectRingtone"); + ret = app_control_add_extra_data(app_control, "select_uri", ugd->ug_Status.mark_mode); + if (ret != APP_CONTROL_ERROR_NONE) { + goto LAUNCH_END; + } + + UG_INIT_EFL(ug_get_window(), UG_OPT_INDICATOR_ENABLE); + + ug = ug_create(NULL, "music-player-efl", UG_MODE_FULLVIEW, app_control, &cbs); + if (ug != NULL) + music_ug = ug; +LAUNCH_END: + if (app_control) + app_control_destroy(app_control); + + UG_TRACE_END; +} + +void mf_ug_music_launch_cb(void *data, Evas_Object *obj, void *event_info) +{ + UG_TRACE_BEGIN; + ugData *ugd = (ugData *)data; + ug_mf_retm_if(ugd == NULL, "ugData is NULL"); + /*To fix P131118-01579 by wangyan,the pause/play icon do not locate at the item whose radio icon is on. */ + /*destory playfile when go to add music file option*/ + if (0 != ugd->ug_ListPlay.ug_Player) { + mf_ug_list_disable_play_itc(ugd, true); + mf_ug_list_play_destory_playing_file(ugd); + ugd->ug_ListPlay.play_data = NULL; + UG_SAFE_FREE_CHAR(ugd->ug_ListPlay.ug_pPlayFilePath); + } + + UG_SAFE_FREE_OBJ(ugd->ug_MainWindow.ug_pContextPopup); + mf_ug_music_select(ugd); +} + diff --git a/src/common/mf-ug-search-internal.c b/src/common/mf-ug-search-internal.c index 95e5c12..8975b9b 100644 --- a/src/common/mf-ug-search-internal.c +++ b/src/common/mf-ug-search-internal.c @@ -1,18 +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. - */ +* Copyright (c) 2000-2015 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. +* +*/ + + + + #include <glib.h> #include <stdio.h> @@ -27,8 +32,8 @@ #include "mf-ug-search-internal.h" #include "mf-ug-fs-util.h" -#define APPEND_SIZE 2 /* for null and slash */ -#define MF_ERR_BUF 256 +#define APPEND_SIZE 2 /* for null and slash */ +#define MF_ERR_BUF 256 #define NORMALIZE_OPTION G_NORMALIZE_NFD @@ -46,84 +51,84 @@ int flagSearchMsg = 1; pthread_mutex_t gLockSearchMsg; pthread_cond_t gCondSearchMsg; -static void __mf_ug_search_tx_wait(); +/*static void __mf_ug_search_tx_wait();*/ static void __mf_ug_search_result_publish_msg(mf_search_pipe_msg_type type, void *result, void *user_data); inline static void __mf_ug_search_cmd_lock(ms_handle_t *handle) { - if (handle && handle->cmd_lock) { - g_mutex_lock(handle->cmd_lock); - } - return; + if (handle) { + g_mutex_lock(&handle->cmd_lock); + } + return; } inline static void __mf_ug_search_cmd_unlock(ms_handle_t *handle) { - if (handle && handle->cmd_lock) { - g_mutex_unlock(handle->cmd_lock); - } - return; + if (handle) { + g_mutex_unlock(&handle->cmd_lock); + } + return; } inline static void __mf_ug_search_thread_lock(ms_handle_t *handle) { - if (handle && handle->thread_mutex) { - g_mutex_lock(handle->thread_mutex); - } - return; + if (handle) { + g_mutex_lock(&handle->thread_mutex); + } + return; } inline static void __mf_ug_search_thread_unlock(ms_handle_t *handle) { - if (handle && handle->thread_mutex) { - g_mutex_unlock(handle->thread_mutex); - } - return; + if (handle) { + g_mutex_unlock(&handle->thread_mutex); + } + return; } inline static void __mf_ug_search_args_free(ms_args_t *args) { - if (args) { - if (args->root_path) { - g_list_foreach(args->root_path, (GFunc) g_free, NULL); - g_list_free(args->root_path); - args->root_path = NULL; - } - - if (args->needle) - g_free(args->needle); - - g_free(args); - } - return; + if (args) { + if (args->root_path) { + g_list_foreach(args->root_path, (GFunc) g_free, NULL); + g_list_free(args->root_path); + args->root_path = NULL; + } + + if (args->needle) + g_free(args->needle); + + g_free(args); + } + return; } inline static void __mf_ug_search_result_free(mf_search_result_t *result) { - if (result) { - if (result->current_dir) { - g_free(result->current_dir); - result->current_dir = NULL; - } - if (result->dir_list) { - g_list_foreach(result->dir_list, (GFunc) g_free, NULL); - g_list_free(result->dir_list); - result->dir_list = NULL; - } - if (result->file_list) { - g_list_foreach(result->file_list, (GFunc) g_free, NULL); - g_list_free(result->file_list); - result->file_list = NULL; - } - g_free(result); - } - return; + if (result) { + if (result->current_dir) { + g_free(result->current_dir); + result->current_dir = NULL; + } + if (result->dir_list) { + g_list_foreach(result->dir_list, (GFunc) g_free, NULL); + g_list_free(result->dir_list); + result->dir_list = NULL; + } + if (result->file_list) { + g_list_foreach(result->file_list, (GFunc) g_free, NULL); + g_list_free(result->file_list); + result->file_list = NULL; + } + g_free(result); + } + return; } #ifdef CHECK_RESTRICTED_PATH gboolean __mf_ug_search_check_licet_path(const char *path) { - return (gboolean) (strstr(path, ROOT_UMS) || strstr(path, ROOT_MMC)); + return (gboolean) (strstr(path, ROOT_UMS) || strstr(path, ROOT_MMC)); } #endif /*CHECK_RESTRICTED_PATH*/ @@ -131,752 +136,944 @@ gboolean __mf_ug_search_check_licet_path(const char *path) /*This function is for testing and should be revised for performance before applying*/ static inline gboolean __mf_ug_search_has_nonspacing_mark(const char *nstr) { - if (nstr) { - const char *p_str = nstr; - while (p_str && *p_str) { - gunichar uc; - uc = g_utf8_get_char(p_str); - if (g_unichar_type(uc) == G_UNICODE_NON_SPACING_MARK) { - return TRUE; - } else { - p_str = g_utf8_next_char(p_str); - } - } - } - return FALSE; + if (nstr) { + const char *p_str = nstr; + while (p_str && *p_str) { + gunichar uc; + uc = g_utf8_get_char(p_str); + if (g_unichar_type(uc) == G_UNICODE_NON_SPACING_MARK) { + return TRUE; + } else { + p_str = g_utf8_next_char(p_str); + } + } + } + return FALSE; } static gboolean __mf_ug_search_NFD_ext(const char *str, const char *needle) { - int s_len = 0; - int n_len = 0; - if (!str) { - return FALSE; - } - s_len = strlen(str); - - if (!needle) { - return FALSE; - } else { - n_len = strlen(needle); - if (n_len == 0) { - return FALSE; - } - } - if (s_len < n_len) - return FALSE; - char *pdot = strrchr(str, '.'); - - if (!pdot) { - return FALSE; - } else if (pdot != str) { - char *ext = NULL;; - ext = g_strdup(pdot+1); - if (g_strcmp0(ext, needle)== 0) { - g_free(ext); - ext = NULL; - return TRUE; - } - else { - g_free(ext); - ext = NULL; - return FALSE; - } - } else { - return FALSE; - } + int s_len = 0; + int n_len = 0; + if (!str) { + return FALSE; + } + s_len = strlen(str); + + if (!needle) { + return FALSE; + } else { + n_len = strlen(needle); + if (n_len == 0) { + return FALSE; + } + } + if (s_len < n_len) + return FALSE; + char *pdot = strrchr(str, '.'); + + if (!pdot) { + return FALSE; + } else if (pdot != str) { + char *ext = NULL;; + ext = g_strdup(pdot+1); + if (g_strcmp0(ext, needle) == 0) { + g_free(ext); + ext = NULL; + return TRUE; + } else { + g_free(ext); + ext = NULL; + return FALSE; + } + } else { + return FALSE; + } + +} + +static gboolean __mf_ug_search_NFD_multi_ext(const char *str, const char *needle) +{ + int s_len = 0; + int n_len = 0; + int find = 0; + if (!str) { + return FALSE; + } + if (!needle) { + return FALSE; + } else { + + char *seps = ";"; + char *temp_ext = malloc(strlen(needle) + 1); + gchar **result = NULL; + gchar **params = NULL; + + if (temp_ext == NULL) { + return FALSE ; + } + memset(temp_ext, 0, strlen(needle) + 1); + strncpy(temp_ext, needle, strlen(needle)); + result = g_strsplit(temp_ext, seps, 0); + if (result == NULL) { + if (temp_ext != NULL) { + free(temp_ext); + temp_ext = NULL; + } + return FALSE; + } + + char *pdot = strrchr(str, '.'); + if (!pdot) { + if (temp_ext != NULL) { + free(temp_ext); + temp_ext = NULL; + } + return FALSE; + } else if (pdot != str) { + char *ext = NULL; + ext = g_strdup(pdot+1); + + s_len = strlen(ext); + + for (params = result; *params; params++) { + n_len = strlen(*params); + + if (n_len == 0) { + continue; + } + if (s_len != n_len) { + continue; + } + if (strcasecmp(ext, *params) == 0) { + find = 1; + break; + } + } + + g_free(ext); + ext = NULL; + + g_strfreev(result); + result = NULL; + } + if (temp_ext != NULL) { + free(temp_ext); + temp_ext = NULL; + } + if (find) { + return TRUE; + } else { + return FALSE; + } + } } + +static gboolean __mf_ug_search_NFD_is_multi_ext(const char *needle) +{ + if (!needle) { + return FALSE; + } else { + + char *seps = ";"; + char *temp_ext = malloc(strlen(needle) + 1); + gchar **result = NULL; + + if (temp_ext == NULL) { + return FALSE ; + } + memset(temp_ext, 0, strlen(needle) + 1); + strncpy(temp_ext, needle, strlen(needle)); + result = g_strsplit(temp_ext, seps, 0); + if (result == NULL) { + if (temp_ext != NULL) { + free(temp_ext); + temp_ext = NULL; + } + return FALSE; + } + int count = g_strv_length(result); + if (count > 0) { + if (temp_ext != NULL) { + free(temp_ext); + temp_ext = NULL; + } + g_strfreev(result); + return TRUE; + } else { + if (temp_ext != NULL) { + free(temp_ext); + temp_ext = NULL; + } + g_strfreev(result); + return FALSE; + } + } + return FALSE; + +} + static gboolean __mf_ug_search_NFD_strstr(const char *str, const char *needle) { - int s_len = 0; - int n_len = 0; - - if (!str) { - return FALSE; - } - s_len = strlen(str); - - if (!needle) { - return FALSE; - } else { - n_len = strlen(needle); - if (n_len == 0) { - return FALSE; - } - } - - if (s_len < n_len) - return FALSE; - - if (__mf_ug_search_has_nonspacing_mark(str)) { - const char *p_str = str; - const char *end = p_str + s_len - n_len; - - while (p_str && p_str <= end && *p_str) { - const char *s = p_str; - const char *n = needle; - while (n && *n) { - if (s && *s) { - gunichar sc, nc; - sc = g_utf8_get_char(s); - nc = g_utf8_get_char(n); - if (g_unichar_type(sc) == G_UNICODE_NON_SPACING_MARK) { - if (g_unichar_type(nc) == G_UNICODE_NON_SPACING_MARK) { - if (sc != nc) { - goto next; - } else { - s = g_utf8_next_char(s); - n = g_utf8_next_char(n); - } - } else { - s = g_utf8_next_char(s); - } - } else if (sc != nc) { - goto next; - } else { - s = g_utf8_next_char(s); - n = g_utf8_next_char(n); - } - } else { - return FALSE; - } - } - - return TRUE; + int s_len = 0; + int n_len = 0; + + if (!str) { + return FALSE; + } + s_len = strlen(str); + + if (!needle) { + return FALSE; + } else { + n_len = strlen(needle); + if (n_len == 0) { + return FALSE; + } + } + + if (s_len < n_len) + return FALSE; + + if (__mf_ug_search_has_nonspacing_mark(str)) { + const char *p_str = str; + const char *end = p_str + s_len - n_len; + + while (p_str && p_str <= end && *p_str) { + const char *s = p_str; + const char *n = needle; + while (n && *n) { + if (s && *s) { + gunichar sc, nc; + sc = g_utf8_get_char(s); + nc = g_utf8_get_char(n); + if (g_unichar_type(sc) == G_UNICODE_NON_SPACING_MARK) { + if (g_unichar_type(nc) == G_UNICODE_NON_SPACING_MARK) { + if (sc != nc) { + goto next; + } else { + s = g_utf8_next_char(s); + n = g_utf8_next_char(n); + } + } else { + s = g_utf8_next_char(s); + } + } else if (sc != nc) { + goto next; + } else { + s = g_utf8_next_char(s); + n = g_utf8_next_char(n); + } + } else { + return FALSE; + } + } + + return TRUE; next: - p_str = g_utf8_next_char(p_str); - } - } else { - return (gboolean) (!(!strstr(str, needle))); - } - return FALSE; + p_str = g_utf8_next_char(p_str); + } + } else { + return (gboolean) (!(!strstr(str, needle))); + } + return FALSE; } -static GList *__mf_ug_search_do_find(const char *root, const char *needle, mf_search_option option, ms_handle_t *handle) +static GList *__mf_ug_search_do_find(const char *root, + const char *needle, + mf_search_option option, + ms_handle_t *handle) { - DIR *directory = NULL; - GList *candidate = NULL; - - char *up_needle = NULL; - char *up_name = NULL; - - if (!handle) { - ms_error("handle is NULL"); - return NULL; - } - - if (!handle->result) { - ms_error("handle->result is NULL"); - return NULL; - } - - if (!root || !needle) { - ms_error("invaild args"); - return NULL; - } - - if (!g_file_test(root, G_FILE_TEST_EXISTS | G_FILE_TEST_IS_DIR)) { - ms_error("invaild root_path : %s", root); - return NULL; - } - - directory = opendir(root); - if (directory) { - mf_search_result_t *result = NULL; - struct dirent *entry = NULL; - - result = handle->result; - __mf_ug_search_thread_lock(handle); - if (result->current_dir) { - g_free(result->current_dir); - } - result->current_dir = g_strdup(root); - __mf_ug_search_thread_unlock(handle); - while ((entry = readdir(directory)) != NULL) { - if (!(option & MF_SEARCH_OPT_HIDDEN) && (0 == strncmp(entry->d_name, ".", 1))) { - ms_debug("[%s] is hidden file. Skip it", entry->d_name); - continue; - } - - if (handle->is_stop == TRUE) { - ms_debug("break from do find"); - break; - } - - if (entry->d_type & DT_REG) { - if (option & MF_SEARCH_OPT_FILE) { - __mf_ug_search_thread_lock(handle); - result->total_count++; - __mf_ug_search_thread_unlock(handle); - - up_name = g_utf8_strup(entry->d_name, strlen(entry->d_name)); - up_needle = g_utf8_strup(needle, strlen(needle)); - - /*Todo:*/ - /* should we check the return value for further use? */ - gchar *nor_str = g_utf8_normalize(up_name, -1, NORMALIZE_OPTION); - if (__mf_ug_search_NFD_strstr(nor_str, up_needle)) - { - gchar *path = NULL; - gssize len = strlen(root) + strlen(entry->d_name) + APPEND_SIZE; /* for null and slash*/ - path = g_malloc(sizeof(gchar) * len); - if (path) { - g_snprintf(path, len, "%s/%s", root, entry->d_name); - - __mf_ug_search_thread_lock(handle); - result->file_list = g_list_append(result->file_list, (gpointer) path); - result->is_end = FALSE; - __mf_ug_search_thread_unlock(handle); - - __mf_ug_search_tx_wait(); - __mf_ug_search_result_publish_msg(MF_SEARCH_PIPE_MSG_RESULT_REPORT, result, - handle->args->user_data); - } - /*1 TODO: how can i handle else case?*/ - } - g_free(nor_str); - free(up_needle); - up_needle = NULL; - free(up_name); - up_name = NULL; - }else if (option & MF_SEARCH_OPT_EXT) { - __mf_ug_search_thread_lock(handle); - result->total_count++; - __mf_ug_search_thread_unlock(handle); - - up_name = g_utf8_strup(entry->d_name, strlen(entry->d_name)); - up_needle = g_utf8_strup(needle, strlen(needle)); - - /*Todo:*/ - /* should we check the return value for further use? */ - gchar *nor_str = g_utf8_normalize(up_name, -1, NORMALIZE_OPTION); - if (__mf_ug_search_NFD_ext(nor_str, up_needle)) - { - gchar *path = NULL; - gssize len = strlen(root) + strlen(entry->d_name) + APPEND_SIZE; /* for null and slash*/ - path = g_malloc(sizeof(gchar) * len); - if (path) { - g_snprintf(path, len, "%s/%s", root, entry->d_name); - - __mf_ug_search_thread_lock(handle); - result->file_list = g_list_append(result->file_list, (gpointer) path); - result->is_end = FALSE; - __mf_ug_search_thread_unlock(handle); - - __mf_ug_search_tx_wait(); - __mf_ug_search_result_publish_msg(MF_SEARCH_PIPE_MSG_RESULT_REPORT, result, - handle->args->user_data); - } - /*1 TODO: how can i handle else case?*/ - } - g_free(nor_str); - free(up_needle); - up_needle = NULL; - free(up_name); - up_name = NULL; - - } - } else if (entry->d_type & DT_DIR) { - gchar *path = NULL; - gssize len = 0; - - len = strlen(entry->d_name); - /*skip current and upper directory*/ - if (0 == strncmp(entry->d_name, ".", strlen(".")) || 0 == strncmp(entry->d_name, "..", strlen(".."))) { - continue; - } - /* we are not going to search /opt/media/SLP_Debug folder */ - if ((strlen(result->current_dir) == strlen(PHONE_FOLDER)) && (strcmp(result->current_dir, PHONE_FOLDER) == 0) - && (strlen(entry->d_name) == strlen(DEBUG_FOLDER)) && (strcmp(entry->d_name, DEBUG_FOLDER) == 0)) { - ms_debug("[%s] is hidden folder. Skip it", entry->d_name); - continue; - } - - len = strlen(root) + strlen(entry->d_name) + APPEND_SIZE; /* for null and slash */ - path = g_malloc(sizeof(gchar) * len); - if (path) { - g_snprintf(path, len, "%s/%s", root, entry->d_name); - candidate = g_list_append(candidate, (gpointer) path); - } - /*1 TODO: how can i handle else case?*/ - if (option & MF_SEARCH_OPT_DIR) { - __mf_ug_search_thread_lock(handle); - result->total_count++; - __mf_ug_search_thread_unlock(handle); - - up_name = g_utf8_strup(entry->d_name, strlen(entry->d_name)); - if (needle && strlen(needle)) { - up_needle = g_utf8_strup(needle, strlen(needle)); - gchar *nor_str = g_utf8_normalize(up_name, -1, NORMALIZE_OPTION); - if (__mf_ug_search_NFD_strstr(nor_str, up_needle)) - { - __mf_ug_search_thread_lock(handle); - result->dir_list = g_list_append(result->dir_list, (gpointer) g_strdup(path)); - result->is_end = FALSE; - __mf_ug_search_thread_unlock(handle); - __mf_ug_search_tx_wait(); - __mf_ug_search_result_publish_msg(MF_SEARCH_PIPE_MSG_RESULT_REPORT, result, handle->args->user_data); - } - g_free(nor_str); - free(up_name); - up_name = NULL; - - free(up_needle); - up_needle = NULL; - } else { - free(up_name); - up_name = NULL; - } - } - } - } - closedir(directory); - directory = NULL; - } - - return candidate; + DIR *directory = NULL; + GList *candidate = NULL; + + char *up_needle = NULL; + char *up_name = NULL; + gboolean multi_ext_flag = FALSE; + if (!handle) { + ms_error("handle is NULL"); + return NULL; + } + + if (!handle->result) { + ms_error("handle->result is NULL"); + return NULL; + } + + if (!root) { + ms_error("invaild args"); + return NULL; + } + + if (!needle && !handle->args->func) { + return NULL; + } + + if (!g_file_test(root, G_FILE_TEST_EXISTS | G_FILE_TEST_IS_DIR)) { + ms_error("invaild root_path : %s", root); + return NULL; + } + + directory = opendir(root); + if (directory) { + mf_search_result_t *result = NULL; + struct dirent *entry = NULL; + + result = handle->result; + __mf_ug_search_thread_lock(handle); + if (result->current_dir) { + g_free(result->current_dir); + } + result->current_dir = g_strdup(root); + __mf_ug_search_thread_unlock(handle); + multi_ext_flag = __mf_ug_search_NFD_is_multi_ext(needle); + while ((entry = readdir(directory)) != NULL) { + if (!(option & MF_SEARCH_OPT_HIDDEN) && (0 == strncmp(entry->d_name, ".", 1))) { + SECURE_DEBUG("[%s] is hidden file. Skip it", entry->d_name); + continue; + } + + if (handle->is_stop == TRUE) { + ms_debug("break from do find"); + break; + } + if (entry->d_type & DT_REG) { + if (option & MF_SEARCH_OPT_FILE) { + __mf_ug_search_thread_lock(handle); + result->total_count++; + __mf_ug_search_thread_unlock(handle); + up_name = g_utf8_strup(entry->d_name, strlen(entry->d_name)); + gchar *nor_str = g_utf8_normalize(up_name, -1, NORMALIZE_OPTION); + + if (handle->args->func) { + gchar *path = NULL; + gssize len = strlen(root) + strlen(entry->d_name) + APPEND_SIZE; /* for null and slash*/ + path = g_malloc(sizeof(gchar)*len); + if (path) { + int category = handle->args->func(nor_str); + if (category == handle->args->category) { + g_snprintf(path, len, "%s/%s", root, entry->d_name); + + __mf_ug_search_thread_lock(handle); + result->file_list = g_list_append(result->file_list, (gpointer) path); + result->is_end = FALSE; + __mf_ug_search_thread_unlock(handle); + + } + /*1 TODO: how can i handle else case?*/ + } + } else if (needle) { + up_needle = g_utf8_strup(needle, strlen(needle)); + + /*Todo:*/ + /* should we check the return value for further use? */ + if (up_needle && __mf_ug_search_NFD_strstr(nor_str, up_needle)) { + g_free(up_needle); + up_needle = NULL; + gchar *path = NULL; + gssize len = strlen(root) + strlen(entry->d_name) + APPEND_SIZE; /* for null and slash*/ + path = g_malloc(sizeof(gchar)*len); + if (path) { + g_snprintf(path, len, "%s/%s", root, entry->d_name); + + __mf_ug_search_thread_lock(handle); + result->file_list = g_list_append(result->file_list, (gpointer) path); + result->is_end = FALSE; + __mf_ug_search_thread_unlock(handle); + + } + /*1 TODO: how can i handle else case?*/ + } + } + g_free(nor_str); + nor_str = NULL; + } else if ((option & MF_SEARCH_OPT_EXT) && needle) { + __mf_ug_search_thread_lock(handle); + result->total_count++; + __mf_ug_search_thread_unlock(handle); + + up_name = g_utf8_strup(entry->d_name, strlen(entry->d_name)); + up_needle = g_utf8_strup(needle, strlen(needle)); + + /*Todo:*/ + /* should we check the return value for further use? */ + gchar *nor_str = g_utf8_normalize(up_name, -1, NORMALIZE_OPTION); + if (multi_ext_flag) { + if (up_needle && nor_str && __mf_ug_search_NFD_multi_ext(nor_str, up_needle)) { + g_free(up_needle); + up_needle = NULL; + gchar *path = NULL; + gssize len = strlen(root) + strlen(entry->d_name) + APPEND_SIZE; /* for null and slash*/ + path = g_malloc(sizeof(gchar)*len); + if (path) { + g_snprintf(path, len, "%s/%s", root, entry->d_name); + + __mf_ug_search_thread_lock(handle); + result->file_list = g_list_append(result->file_list, (gpointer) path); + result->is_end = FALSE; + __mf_ug_search_thread_unlock(handle); + + } + /*1 TODO: how can i handle else case?*/ + } + } else { + if (up_needle && nor_str && __mf_ug_search_NFD_ext(nor_str, up_needle)) { + g_free(up_needle); + up_needle = NULL; + gchar *path = NULL; + gssize len = strlen(root) + strlen(entry->d_name) + APPEND_SIZE; /* for null and slash*/ + path = g_malloc(sizeof(gchar)*len); + if (path) { + g_snprintf(path, len, "%s/%s", root, entry->d_name); + + __mf_ug_search_thread_lock(handle); + result->file_list = g_list_append(result->file_list, (gpointer) path); + result->is_end = FALSE; + __mf_ug_search_thread_unlock(handle); + + } + /*1 TODO: how can i handle else case?*/ + } + + } + g_free(nor_str); + nor_str = NULL; + } else if (((option & MF_SEARCH_OPT_MULTI_EXT) && needle)) { + __mf_ug_search_thread_lock(handle); + result->total_count++; + __mf_ug_search_thread_unlock(handle); + + up_name = g_utf8_strup(entry->d_name, strlen(entry->d_name)); + up_needle = g_utf8_strup(needle, strlen(needle)); + + /*Todo:*/ + /* should we check the return value for further use? */ + gchar *nor_str = g_utf8_normalize(up_name, -1, NORMALIZE_OPTION); + + if (up_needle && nor_str && __mf_ug_search_NFD_multi_ext(nor_str, up_needle)) { + g_free(up_needle); + up_needle = NULL; + gchar *path = NULL; + gssize len = strlen(root) + strlen(entry->d_name) + APPEND_SIZE; /* for null and slash*/ + path = g_malloc(sizeof(gchar)*len); + if (path) { + g_snprintf(path, len, "%s/%s", root, entry->d_name); + + __mf_ug_search_thread_lock(handle); + result->file_list = g_list_append(result->file_list, (gpointer) path); + result->is_end = FALSE; + __mf_ug_search_thread_unlock(handle); + + } + /*1 TODO: how can i handle else case?*/ + } + g_free(nor_str); + nor_str = NULL; + } + free(up_needle); + up_needle = NULL; + free(up_name); + up_name = NULL; + } else if (entry->d_type & DT_DIR) { + gchar *path = NULL; + gssize len = 0; + + len = strlen(entry->d_name); + /*skip current and upper directory*/ + if (0 == strncmp(entry->d_name, ".", strlen(".")) || 0 == strncmp(entry->d_name, "..", strlen(".."))) { + continue; + } + /* we are not going to search /opt/media/SLP_Debug folder */ + if ((strlen(result->current_dir) == strlen(PHONE_FOLDER)) && (strcmp(result->current_dir, PHONE_FOLDER) == 0) + && (strlen(entry->d_name) == strlen(DEBUG_FOLDER)) && (strcmp(entry->d_name, DEBUG_FOLDER) == 0)) { + SECURE_DEBUG("[%s] is hidden folder. Skip it", entry->d_name); + continue; + } + + len = strlen(root) + strlen(entry->d_name) + APPEND_SIZE; /* for null and slash */ + path = g_malloc(sizeof(gchar)*len); + if (path) { + g_snprintf(path, len, "%s/%s", root, entry->d_name); + candidate = g_list_append(candidate, (gpointer) path); + } + /*1 TODO: how can i handle else case?*/ + if (option & MF_SEARCH_OPT_DIR) { + __mf_ug_search_thread_lock(handle); + result->total_count++; + __mf_ug_search_thread_unlock(handle); + + up_name = g_utf8_strup(entry->d_name, strlen(entry->d_name)); + if (up_name && needle && strlen(needle)) { + up_needle = g_utf8_strup(needle, strlen(needle)); + gchar *nor_str = g_utf8_normalize(up_name, -1, NORMALIZE_OPTION); + if (nor_str && up_needle && __mf_ug_search_NFD_strstr(nor_str, up_needle)) { + __mf_ug_search_thread_lock(handle); + result->dir_list = g_list_append(result->dir_list, (gpointer) g_strdup(path)); + result->is_end = FALSE; + __mf_ug_search_thread_unlock(handle); + } + g_free(nor_str); + nor_str = NULL; + g_free(up_name); + up_name = NULL; + + g_free(up_needle); + up_needle = NULL; + } else { + g_free(up_name); + up_name = NULL; + } + } + } + } + closedir(directory); + directory = NULL; + } + + return candidate; } static gpointer __mf_ug_search_find_thread(gpointer data) { - ms_handle_t *handle = (ms_handle_t *) data; - if (handle) { - ms_args_t *args = NULL; - mf_search_result_t *result = NULL; - - result = handle->result; - args = handle->args; - - if (args && result) { - GList *root = NULL; - GList *candidate = NULL; /*use this list as stack*/ - root = args->root_path; - while (root) { - char *path = (char *)root->data; - if (path) { - /*push root paths to stack*/ - candidate = g_list_append(candidate, (gpointer) g_strdup(path)); - } - root = g_list_next(root); - } - - while (candidate) { - GList *new_list = NULL; - GList *list = NULL; - gchar *item = NULL; - - __mf_ug_search_thread_lock(handle); - if (handle->is_stop) { - __mf_ug_search_thread_unlock(handle); - result->is_end = TRUE; - goto MF_FIND_THREAD_EXIT; - } - __mf_ug_search_thread_unlock(handle); - - list = g_list_first(candidate); - /*pop one path from stack*/ - candidate = g_list_remove_link(candidate, list); - item = (gchar *) list->data; - if (item) { - ms_debug("current : %s", item); + ms_handle_t *handle = (ms_handle_t *) data; + if (handle) { + ms_args_t *args = NULL; + mf_search_result_t *result = NULL; + + result = handle->result; + args = handle->args; + + if (args && result) { + GList *root = NULL; + GList *candidate = NULL; /*use this list as stack*/ + root = args->root_path; + while (root) { + char *path = (char *)root->data; + if (path) { + /*push root paths to stack*/ + candidate = g_list_append(candidate, (gpointer) g_strdup(path)); + } + root = g_list_next(root); + } + + while (candidate) { + GList *new_list = NULL; + GList *list = NULL; + gchar *item = NULL; + + __mf_ug_search_thread_lock(handle); + if (handle->is_stop) { + __mf_ug_search_thread_unlock(handle); + result->is_end = TRUE; + goto MF_FIND_THREAD_EXIT; + } + __mf_ug_search_thread_unlock(handle); + + list = g_list_first(candidate); + /*pop one path from stack*/ + candidate = g_list_remove_link(candidate, list); + item = (gchar *) list->data; + if (item) { + ms_debug("current : %s", item); #if 0 - __mf_ug_search_thread_lock(handle); - if (result->current_dir) { - g_free(result->current_dir); - } - result->current_dir = g_strdup(item); - __mf_ug_search_thread_unlock(handle); + __mf_ug_search_thread_lock(handle); + if (result->current_dir) { + g_free(result->current_dir); + } + result->current_dir = g_strdup(item); + __mf_ug_search_thread_unlock(handle); #endif - /*publish root change message here*/ - __mf_ug_search_tx_wait(); - if (handle->is_stop) { - result->is_end = TRUE; - goto MF_FIND_THREAD_EXIT; - } - __mf_ug_search_result_publish_msg(MF_SEARCH_PIPE_MSG_ROOT_CHANGE, item, args->user_data); - new_list = __mf_ug_search_do_find(item, args->needle, args->option, handle); - g_free(item); - item = NULL; - g_list_free(list); - list = NULL; - } - /*push new paths to stack*/ - candidate = g_list_concat(new_list, candidate); - } - - __mf_ug_search_thread_lock(handle); - result->is_end = TRUE; - __mf_ug_search_thread_unlock(handle); - __mf_ug_search_tx_wait(); - __mf_ug_search_result_publish_msg(MF_SEARCH_PIPE_MSG_FINISHED, handle->result, args->user_data); + /*publish root change message here*/ + if (handle->is_stop) { + result->is_end = TRUE; + goto MF_FIND_THREAD_EXIT; + } + new_list = __mf_ug_search_do_find(item, args->needle, args->option, handle); + g_free(item); + item = NULL; + g_list_free(list); + list = NULL; + } + /*push new paths to stack*/ + candidate = g_list_concat(new_list, candidate); + } + + __mf_ug_search_thread_lock(handle); + result->is_end = TRUE; + __mf_ug_search_thread_unlock(handle); + __mf_ug_search_result_publish_msg(MF_SEARCH_PIPE_MSG_FINISHED, handle->result, args->user_data); MF_FIND_THREAD_EXIT: - if (candidate) { - g_list_foreach(candidate, (GFunc) g_free, NULL); - g_list_free(candidate); - candidate = NULL; - } - } else { - ms_error("args : %p or result : %p is not allocated yet!!", handle->args, handle->result); - } - } - /*g_thread_exit(NULL);*/ - return NULL; + if (candidate) { + g_list_foreach(candidate, (GFunc) g_free, NULL); + g_list_free(candidate); + candidate = NULL; + } + } else { + ms_error("args : %p or result : %p is not allocated yet!!", handle->args, handle->result); + } + } + /*g_thread_exit(NULL);*/ + return NULL; } int _mf_ug_search_init(ms_handle_t **handle) { - GMutex *lock = NULL; - ms_handle_t *ms_handle = NULL; - - ms_debug(""); + /*GMutex *lock = NULL;*/ + ms_handle_t *ms_handle = NULL; - if (!handle) { - return MF_SEARCH_ERROR_INVAL_P; - } + ms_debug(""); - ms_handle = g_malloc0(sizeof(ms_handle_t)); - if (ms_handle == NULL) { - ms_error("Fail to allocate memory for handle "); - *handle = NULL; - return MF_SEARCH_ERROR_ALLOC; - } + if (!handle) { + return MF_SEARCH_ERROR_INVAL_P; + } - ms_handle->state = MF_SEARCH_STATE_INIT; - ms_handle->is_stop = FALSE; + ms_handle = g_malloc0(sizeof(ms_handle_t)); + if (ms_handle == NULL) { + ms_error("Fail to allocate memory for handle "); + *handle = NULL; + return MF_SEARCH_ERROR_ALLOC; + } - lock = g_mutex_new(); - if (!lock) { - ms_error("Fail to create cmd_lock"); - g_free(ms_handle); - return MF_SEARCH_ERROR_ALLOC; - } - ms_handle->cmd_lock = lock; - - *handle = ms_handle; + ms_handle->state = MF_SEARCH_STATE_INIT; + ms_handle->is_stop = FALSE; +#if 0 + lock = g_mutex_new(); + if (!lock) { + ms_error("Fail to create cmd_lock"); + g_free(ms_handle); + return MF_SEARCH_ERROR_ALLOC; + } + ms_handle->cmd_lock = lock; +#endif + *handle = ms_handle; - ms_info("Success to make search handle : %p", ms_handle); - return MF_SEARCH_ERROR_NONE; + ms_info("Success to make search handle : %p", ms_handle); + return MF_SEARCH_ERROR_NONE; } -int _mf_ug_search_start(ms_handle_t *handle, const char **root_path, unsigned int path_num, const char *needle, mf_search_option option, void *user_data) +int _mf_ug_search_start(ms_handle_t *handle, + const char **root_path, + unsigned int path_num, + const char *needle, + mf_search_option option, + void *user_data, + mf_search_filter_cb func, + int category) { - ms_args_t *args = NULL; - mf_search_result_t *result = NULL; - mf_search_option l_opt = MF_SEARCH_OPT_NONE; - int ret = MF_SEARCH_ERROR_NONE; - int i = 0; - - if (!handle) { - ms_error("handle is NULL"); - return MF_SEARCH_ERROR_INVAL_P; - } - - if (handle->state != MF_SEARCH_STATE_INIT) { - ms_error("invaild state : %d", handle->state); - return MF_SEARCH_ERROR_INVAL_S; - } - - if (!root_path || !needle || path_num < 1) { - ms_error("invaild arguments - root[%p], path_num[%d], needle[%p]", root_path, path_num, needle); - return MF_SEARCH_ERROR_INVAL_P; - } - - __mf_ug_search_cmd_lock(handle); - - if (handle->args) { - __mf_ug_search_args_free(handle->args); - handle->args = NULL; - } - handle->args = args = g_malloc0(sizeof(ms_args_t)); - if (!args) { - ms_error("fail to alloc args"); - ret = MF_SEARCH_ERROR_ALLOC; - goto FAIL_FREE_MEM; - } - - if (option == MF_SEARCH_OPT_NONE) { - ms_warn("option is MF_SEARCH_OPT_NONE, set all option automatically "); - l_opt = MF_SEARCH_OPT_HIDDEN | MF_SEARCH_OPT_DIR | MF_SEARCH_OPT_FILE; - } else { - l_opt = option; - } - - for (i = 0; i < path_num; i++) { - const char *path = root_path[i]; - ms_debug("%d th root path is %s", i, path); + ms_args_t *args = NULL; + mf_search_result_t *result = NULL; + mf_search_option l_opt = MF_SEARCH_OPT_NONE; + int ret = MF_SEARCH_ERROR_NONE; + int i = 0; + + if (!handle) { + ms_error("handle is NULL"); + return MF_SEARCH_ERROR_INVAL_P; + } + + if (handle->state != MF_SEARCH_STATE_INIT) { + ms_error("invaild state : %d", handle->state); + return MF_SEARCH_ERROR_INVAL_S; + } + + if (!root_path || path_num < 1) { + ms_error("invaild arguments - root[%p], path_num[%d], needle[%p]", root_path, path_num, needle); + return MF_SEARCH_ERROR_INVAL_P; + } + if (!needle && !func) { + return MF_SEARCH_ERROR_INVAL_P; + } + + __mf_ug_search_cmd_lock(handle); + + if (handle->args) { + __mf_ug_search_args_free(handle->args); + handle->args = NULL; + } + handle->args = args = g_malloc0(sizeof(ms_args_t)); + if (!args) { + ms_error("fail to alloc args"); + ret = MF_SEARCH_ERROR_ALLOC; + goto FAIL_FREE_MEM; + } + + if (option == MF_SEARCH_OPT_NONE) { + ms_warn("option is MF_SEARCH_OPT_NONE, set all option automatically "); + l_opt = MF_SEARCH_OPT_HIDDEN | MF_SEARCH_OPT_DIR | MF_SEARCH_OPT_FILE; + } else { + l_opt = option; + } + + for (i = 0; i < path_num; i++) { + const char *path = root_path[i]; + ms_debug("%d th root path is %s", i, path); #ifdef CHECK_RESTRICTED_PATH - if (!__mf_ug_search_check_licet_path(path)) { - ms_error("%dth root path[%s] is invaild", i, path); - ret = MF_SEARCH_ERROR_INVAL_P; - goto FAIL_FREE_MEM; - } + if (!__mf_ug_search_check_licet_path(path)) { + ms_error("%dth root path[%s] is invaild", i, path); + ret = MF_SEARCH_ERROR_INVAL_P; + goto FAIL_FREE_MEM; + } #endif /*CHECK_RESTRICTED_PATH*/ - if (g_file_test(path, G_FILE_TEST_EXISTS | G_FILE_TEST_IS_DIR) - && ((l_opt & MF_SEARCH_OPT_HIDDEN) || strncmp(path, ".", 1)) - && TRUE) { - gchar *new_path = NULL; - gssize len = strlen(path); - - if (path[len - 1] == '/') { - new_path = g_strndup(path, len - 1); - } else { - new_path = g_strndup(path, len); - } - args->root_path = g_list_append(args->root_path, (gpointer) new_path); - } else { - ms_error("Fail to test %dthe root path[%s]", i, path); - ret = MF_SEARCH_ERROR_INVAL_P; - goto FAIL_FREE_MEM; - } - } - args->user_data = user_data; - - - args->needle = g_utf8_normalize(needle, -1, NORMALIZE_OPTION); - if (!args->needle) { - ms_error("fail to alloc args->needle"); - goto FAIL_FREE_MEM; - } - - args->option = l_opt; - - if (handle->result) { - __mf_ug_search_result_free(handle->result); - handle->result = NULL; - } - handle->result = result = g_malloc0(sizeof(ms_args_t)); - if (!result) { - ms_error("fail to alloc result"); - ret = MF_SEARCH_ERROR_ALLOC; - goto FAIL_FREE_MEM; - } - - handle->thread_mutex = g_mutex_new(); - if (!handle->thread_mutex) { - ms_error("fail to alloc handle->thread_mutex"); - ret = MF_SEARCH_ERROR_ALLOC; - goto FAIL_FREE_MEM; - } - - handle->is_stop = FALSE; - handle->result->is_end = FALSE; - - /*create thread for find item.*/ - handle->thread_h = g_thread_create(__mf_ug_search_find_thread, handle, TRUE, NULL); - if (!handle->thread_h) { - ms_error("fail to create __mf_ug_search_find_thread"); - ret = MF_SEARCH_ERROR_INTERNAL; - goto FAIL_FREE_MEM; - } - /*create idler for reporting find result.*/ - handle->state = MF_SEARCH_STATE_SEARCH; - __mf_ug_search_cmd_unlock(handle); - return MF_SEARCH_ERROR_NONE; + if (g_file_test(path, G_FILE_TEST_EXISTS | G_FILE_TEST_IS_DIR) + && ((l_opt & MF_SEARCH_OPT_HIDDEN) || strncmp(path, ".", 1)) + && TRUE) { + gchar *new_path = NULL; + gssize len = strlen(path); + + if (path[len - 1] == '/') { + new_path = g_strndup(path, len - 1); + } else { + new_path = g_strndup(path, len); + } + args->root_path = g_list_append(args->root_path, (gpointer) new_path); + } else { + ms_error("Fail to test %dthe root path[%s]", i, path); + ret = MF_SEARCH_ERROR_INVAL_P; + goto FAIL_FREE_MEM; + } + } + args->user_data = user_data; + + if (needle) { + args->needle = g_utf8_normalize(needle, -1, NORMALIZE_OPTION); + if (!args->needle) { + ms_error("fail to alloc args->needle"); + goto FAIL_FREE_MEM; + } + } + args->option = l_opt; + args->func = func; + args->category = category; + if (handle->result) { + __mf_ug_search_result_free(handle->result); + handle->result = NULL; + } + handle->result = result = g_malloc0(sizeof(ms_args_t)); + if (!result) { + ms_error("fail to alloc result"); + ret = MF_SEARCH_ERROR_ALLOC; + goto FAIL_FREE_MEM; + } +#if 0 + handle->thread_mutex = g_mutex_new(); + if (!handle->thread_mutex) { + ms_error("fail to alloc handle->thread_mutex"); + ret = MF_SEARCH_ERROR_ALLOC; + goto FAIL_FREE_MEM; + } +#endif + g_mutex_init(&handle->thread_mutex); + handle->is_stop = FALSE; + handle->result->is_end = FALSE; + + /*create thread for find item.*/ + handle->thread_h = g_thread_new(NULL, __mf_ug_search_find_thread, handle); + if (!handle->thread_h) { + ms_error("fail to create __mf_ug_search_find_thread"); + ret = MF_SEARCH_ERROR_INTERNAL; + goto FAIL_FREE_MEM; + } + /*create idler for reporting find result.*/ + handle->state = MF_SEARCH_STATE_SEARCH; + __mf_ug_search_cmd_unlock(handle); + return MF_SEARCH_ERROR_NONE; FAIL_FREE_MEM: - if (args) { - __mf_ug_search_args_free(args); - handle->args = NULL; - } - - if (result) { - __mf_ug_search_result_free(result); - handle->result = NULL; - } - - if (handle->thread_mutex) { - g_mutex_free(handle->thread_mutex); - handle->thread_mutex = NULL; - } - - if (handle->thread_h) { - __mf_ug_search_thread_lock(handle); - handle->is_stop = TRUE; - __mf_ug_search_thread_unlock(handle); - g_thread_join(handle->thread_h); - handle->thread_h = NULL; - } - __mf_ug_search_cmd_unlock(handle); - - return ret; + if (args) { + __mf_ug_search_args_free(args); + handle->args = NULL; + } + + if (result) { + __mf_ug_search_result_free(result); + handle->result = NULL; + } + + g_mutex_clear(&handle->thread_mutex); + + if (handle->thread_h) { + __mf_ug_search_thread_lock(handle); + handle->is_stop = TRUE; + __mf_ug_search_thread_unlock(handle); + g_thread_join(handle->thread_h); + handle->thread_h = NULL; + } + __mf_ug_search_cmd_unlock(handle); + + return ret; } int _mf_ug_search_stop(ms_handle_t *handle) { - ms_debug(""); - - if (!handle) { - ms_error("handle is NULL"); - return MF_SEARCH_ERROR_INVAL_P; - } - - if (handle->state != MF_SEARCH_STATE_SEARCH) { - ms_error("invaild state : %d", handle->state); - return MF_SEARCH_ERROR_INVAL_S; - } - - __mf_ug_search_cmd_lock(handle); - - __mf_ug_search_thread_lock(handle); - handle->is_stop = TRUE; - __mf_ug_search_thread_unlock(handle); - - pthread_mutex_lock(&gLockSearchMsg); - if (flagSearchMsg == 0) { - flagSearchMsg = 1; - pthread_cond_signal(&gCondSearchMsg); - } - pthread_mutex_unlock(&gLockSearchMsg); - - if (handle->thread_h) { - g_thread_join(handle->thread_h); - handle->thread_h = NULL; - } - - if (handle->thread_mutex) { - g_mutex_free(handle->thread_mutex); - handle->thread_mutex = NULL; - } - - if (handle->args) { - __mf_ug_search_args_free(handle->args); - handle->args = NULL; - } - if (handle->result) { - __mf_ug_search_result_free(handle->result); - handle->result = NULL; - } - - handle->state = MF_SEARCH_STATE_INIT; - handle->is_stop = FALSE; - - __mf_ug_search_cmd_unlock(handle); - - return MF_SEARCH_ERROR_NONE; + ms_debug(""); + + if (!handle) { + ms_error("handle is NULL"); + return MF_SEARCH_ERROR_INVAL_P; + } + + if (handle->state != MF_SEARCH_STATE_SEARCH) { + ms_error("invaild state : %d", handle->state); + return MF_SEARCH_ERROR_INVAL_S; + } + + __mf_ug_search_cmd_lock(handle); + + __mf_ug_search_thread_lock(handle); + handle->is_stop = TRUE; + __mf_ug_search_thread_unlock(handle); + + pthread_mutex_lock(&gLockSearchMsg); + if (flagSearchMsg == 0) { + flagSearchMsg = 1; + pthread_cond_signal(&gCondSearchMsg); + } + pthread_mutex_unlock(&gLockSearchMsg); + + if (handle->thread_h) { + g_thread_join(handle->thread_h); + handle->thread_h = NULL; + } + + g_mutex_clear(&handle->thread_mutex); + + if (handle->args) { + __mf_ug_search_args_free(handle->args); + handle->args = NULL; + } + if (handle->result) { + __mf_ug_search_result_free(handle->result); + handle->result = NULL; + } + + handle->state = MF_SEARCH_STATE_INIT; + handle->is_stop = FALSE; + + __mf_ug_search_cmd_unlock(handle); + + return MF_SEARCH_ERROR_NONE; } void _mf_ug_search_finalize(ms_handle_t **handle) { - ms_handle_t *ms_handle = *handle; + ms_handle_t *ms_handle = *handle; - ms_debug(""); + ms_debug(""); - if (!ms_handle) { - ms_warn("invaild handle"); - return; - } + if (!ms_handle) { + ms_warn("invaild handle"); + return; + } - if (ms_handle->state == MF_SEARCH_STATE_SEARCH) { - mf_ug_search_stop(ms_handle); - } + if (ms_handle->state == MF_SEARCH_STATE_SEARCH) { + mf_ug_search_stop((mf_search_handle)ms_handle); + } /* __mf_ug_search_cmd_lock(ms_handle); */ /* __mf_ug_search_cmd_unlock(ms_handle); */ - if (ms_handle->cmd_lock) { - g_mutex_free(ms_handle->cmd_lock); - ms_handle->cmd_lock = NULL; - } - g_free(ms_handle); - *handle = NULL; + g_mutex_clear(&ms_handle->cmd_lock); - return; + g_free(ms_handle); + *handle = NULL; + + return; } /*+++++++++++++++++++++++++ UTIL APIs ++++++++++++++++++++++++++++++ */ -static void __mf_ug_search_tx_wait() +/*static void __mf_ug_search_tx_wait() { - pthread_mutex_lock(&gLockSearchMsg); - while (flagSearchMsg == 0) { - pthread_cond_wait(&gCondSearchMsg, &gLockSearchMsg); - } - flagSearchMsg = 0; - pthread_mutex_unlock(&gLockSearchMsg); -} + pthread_mutex_lock(&gLockSearchMsg); + while (flagSearchMsg == 0) { + pthread_cond_wait(&gCondSearchMsg, &gLockSearchMsg); + } + flagSearchMsg = 0; + pthread_mutex_unlock(&gLockSearchMsg); +}*/ static void __mf_ug_search_result_publish_msg(mf_search_pipe_msg_type type, void *result, void *user_data) { - ugData *ugd = (ugData *)user_data; - /*generate message block*/ - mf_search_pipe_msg msg; - memset(&msg, 0, sizeof(mf_search_pipe_msg)); - - msg.mf_sp_msg_type = type; - if (msg.mf_sp_msg_type == MF_SEARCH_PIPE_MSG_RESULT_REPORT) { - msg.report_result = g_strdup((gchar *) result); - msg.current_path = NULL; - } else if (msg.mf_sp_msg_type == MF_SEARCH_PIPE_MSG_ROOT_CHANGE) { - msg.report_result = NULL; - msg.current_path = g_strdup((gchar *) result); - ms_debug("current path is %s", msg.current_path); - } else if (msg.mf_sp_msg_type == MF_SEARCH_PIPE_MSG_FINISHED) { - msg.report_result = result; - msg.current_path = NULL; - } else { - msg.report_result = NULL; - msg.current_path = NULL; - } - - /*write message to pipe*/ - ecore_pipe_write(ugd->ug_UiGadget.ug_pSyncPipe, &msg, sizeof(msg)); + ugData *ugd = (ugData *)user_data; + /*generate message block*/ + mf_search_pipe_msg msg; + memset(&msg, 0, sizeof(mf_search_pipe_msg)); + + msg.mf_sp_msg_type = type; + if (msg.mf_sp_msg_type == MF_SEARCH_PIPE_MSG_RESULT_REPORT) { + msg.report_result = g_strdup((gchar *) result); + msg.current_path = NULL; + } else if (msg.mf_sp_msg_type == MF_SEARCH_PIPE_MSG_ROOT_CHANGE) { + msg.report_result = NULL; + msg.current_path = g_strdup((gchar *) result); + ms_debug("current path is %s", msg.current_path); + } else if (msg.mf_sp_msg_type == MF_SEARCH_PIPE_MSG_FINISHED) { + msg.report_result = result; + msg.current_path = NULL; + } else { + msg.report_result = NULL; + msg.current_path = NULL; + } + + /*write message to pipe*/ + ecore_pipe_write(ugd->ug_UiGadget.ug_pSyncPipe, &msg, sizeof(msg)); } gchar *_mf_ug_search_result_dir_get(mf_search_result_t * result) { - gchar *name = NULL; - if (result) { - GList *list = NULL; - list = result->dir_list; - if (list && list->data) { - gchar *item = (gchar *) list->data; - result->dir_list = g_list_remove(list, item); - name = item; - } - } - return name; + gchar *name = NULL; + if (result) { + GList *list = NULL; + list = result->dir_list; + if (list && list->data) { + gchar *item = (gchar *) list->data; + result->dir_list = g_list_remove(list, item); + name = item; + } + } + return name; } gchar *_mf_ug_search_result_file_get(mf_search_result_t * result) { - gchar *name = NULL; - if (result) { - GList *list = NULL; - list = result->file_list; - if (list && list->data) { - gchar *item = (gchar *) list->data; - result->file_list = g_list_remove(list, item); - name = item; - } - } - return name; + gchar *name = NULL; + if (result) { + GList *list = NULL; + list = result->file_list; + if (list && list->data) { + gchar *item = (gchar *) list->data; + result->file_list = g_list_remove(list, item); + name = item; + } + } + return name; } gboolean _mf_ug_search_result_is_end(mf_search_result_t *result) { - gboolean end = FALSE; - if (result) { - end = result->is_end; - } - return end; + gboolean end = FALSE; + if (result) { + end = result->is_end; + } + return end; } guint _mf_ug_search_result_total_count_get(mf_search_result_t *result) { - guint count = 0; - if (result) { - count = result->total_count; - } - return count; + guint count = 0; + if (result) { + count = result->total_count; + } + return count; } gchar *_mf_ug_search_result_current_dir_get(mf_search_result_t * result) { - gchar *c_dir = NULL; - if (result) { - if (result->current_dir) { - c_dir = result->current_dir; - result->current_dir = NULL; - } - } - return c_dir; + gchar *c_dir = NULL; + if (result) { + if (result->current_dir) { + c_dir = result->current_dir; + result->current_dir = NULL; + } + } + return c_dir; } diff --git a/src/common/mf-ug-search.c b/src/common/mf-ug-search.c index db2ca6e..9788615 100644 --- a/src/common/mf-ug-search.c +++ b/src/common/mf-ug-search.c @@ -1,18 +1,19 @@ /* - * 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. - */ +* Copyright (c) 2000-2015 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. +* +*/ #include <stdio.h> #include <dirent.h> @@ -29,97 +30,108 @@ int mf_ug_search_init(mf_search_handle *handle) { - int ret = 0; - ms_handle_t *ms_handle = NULL; - - if (!handle) { - return -1; - } - if (!g_thread_supported()) { - g_thread_init(NULL); - } - ret = _mf_ug_search_init(&ms_handle); - if (ret < 0) { - ms_error("Fail to init search handle "); - *handle = (mf_search_handle) 0; - return ret; - } - - *handle = (mf_search_handle) ms_handle; - - return MF_SEARCH_ERROR_NONE; + int ret = 0; + ms_handle_t *ms_handle = NULL; + + if (!handle) { + return -1; + } +#if 0/*Deprecated API*/ + if (!g_thread_supported()) { + g_thread_init(NULL); + } +#endif + ret = _mf_ug_search_init(&ms_handle); + if (ret < 0) { + ms_error("Fail to init search handle "); + *handle = (mf_search_handle) 0; + return ret; + } + + *handle = (mf_search_handle) ms_handle; + + return MF_SEARCH_ERROR_NONE; } int mf_ug_search_start(mf_search_handle handle, - const char **root_path, unsigned int path_num, const char *needle, mf_search_option option, void *user_data) + const char **root_path, + unsigned int path_num, + const char *needle, + mf_search_option option, + void *user_data, + mf_search_filter_cb func, + int category) { - int ret = 0; - if (!handle) { - return MF_SEARCH_ERROR_INVAL_P; - } - - if (!root_path || !needle || path_num < 1) { - return MF_SEARCH_ERROR_INVAL_P; - } - - ret = _mf_ug_search_start((ms_handle_t *) handle, root_path, path_num, needle, option, user_data); - - if (ret < 0) { - ms_error("Fail to start search "); - } - return ret; + int ret = 0; + if (!handle) { + return MF_SEARCH_ERROR_INVAL_P; + } + + if (!root_path || path_num < 1) { + return MF_SEARCH_ERROR_INVAL_P; + } + + if (!needle && !func) { + return MF_SEARCH_ERROR_INVAL_P; + } + ret = _mf_ug_search_start((ms_handle_t *) handle, root_path, path_num, needle, option, user_data, func, category); + + if (ret < 0) { + ms_error("Fail to start search "); + } + return ret; } int mf_ug_search_stop(mf_search_handle handle) { - int ret = 0; + int ret = 0; - ret = _mf_ug_search_stop((ms_handle_t *) handle); - if (ret < 0) { - ms_error("Fail to stop search "); - } - return ret; + ret = _mf_ug_search_stop((ms_handle_t *) handle); + if (ret < 0) { + ms_error("Fail to stop search "); + } + return ret; } void mf_ug_search_finalize(mf_search_handle *handle) { - _mf_ug_search_finalize((ms_handle_t **) handle); - return; + _mf_ug_search_finalize((ms_handle_t **) handle); + return; } /*+++++++++++++++++++++++ UTIL APIs +++++++++++++++++++++++*/ char *mf_ug_search_result_dir_get(mf_search_result_t *result) { - return _mf_ug_search_result_dir_get(result); + return _mf_ug_search_result_dir_get(result); } char *mf_ug_search_result_file_get(mf_search_result_t *result) { - return _mf_ug_search_result_file_get(result); + return _mf_ug_search_result_file_get(result); } int mf_ug_search_result_is_end(mf_search_result_t *result, int *is_end) { - if (result) { - *is_end = _mf_ug_search_result_is_end(result); - } else { - return MF_SEARCH_ERROR_INVAL_P; - } - return MF_SEARCH_ERROR_NONE; + if (result) { + *is_end = _mf_ug_search_result_is_end(result); + } else { + return MF_SEARCH_ERROR_INVAL_P; + } + return MF_SEARCH_ERROR_NONE; } int mf_ug_search_result_total_count_get(mf_search_result_t *result, unsigned int *count) { - if (result) { - *count = _mf_ug_search_result_total_count_get(result); - } else { - return MF_SEARCH_ERROR_INVAL_P; - } - return MF_SEARCH_ERROR_NONE; + if (result) { + *count = _mf_ug_search_result_total_count_get(result); + } else { + return MF_SEARCH_ERROR_INVAL_P; + } + return MF_SEARCH_ERROR_NONE; } char *mf_ug_search_result_current_dir_get(mf_search_result_t *result) { - return _mf_ug_search_result_current_dir_get(result); + return _mf_ug_search_result_current_dir_get(result); } diff --git a/src/common/mf-ug-util.c b/src/common/mf-ug-util.c index a9ea7b7..8dcff90 100644 --- a/src/common/mf-ug-util.c +++ b/src/common/mf-ug-util.c @@ -1,22 +1,22 @@ /* - * 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. - */ +* Copyright (c) 2000-2015 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. +* +*/ -#include <pthread.h> -#include <vconf.h> +#include <pthread.h> #include "mf-ug-util.h" #include "mf-ug-cb.h" #include "mf-ug-winset.h" @@ -24,14 +24,32 @@ #include "mf-ug-fs-util.h" #include "mf-ug-inotify-handle.h" #include "mf-ug-resource.h" +#include "mf-ug-widget.h" +#include <system_settings.h> +#include "mf-ug-file-util.h" #define MF_UG_TIMER_INTERVAL_VIBRATION 0.5 #define MF_UG_VIBRATION_DEVICE 0 #define MF_UG_VIBRATION_DURATION 500 #ifdef UG_OPERATION_SELECT_MODE -#define OPERATION_SEPERATOR ";" +#define OPERATION_SEPERATOR ";" #endif -#define NORMAL_SEPERATOR "?" +#define NORMAL_SEPERATOR "?" + +static int __externalStorageId = 0; + +bool getSupportedStorages_cb(int storageId, storage_type_e type, storage_state_e state, const char *path, void *userData) +{ + UG_TRACE_BEGIN; + + if (type == STORAGE_TYPE_EXTERNAL) { + __externalStorageId = storageId; + UG_TRACE_END; + return false; + } + + return true; +} /****************************** ** Prototype : ug_genlist_selected_state_get @@ -50,34 +68,49 @@ ******************************/ bool mf_ug_util_is_genlist_selected(void *data) { - UG_TRACE_BEGIN; - ugData *ugd = (ugData *)data; - ug_mf_retvm_if(ugd == NULL, false, "ugd is NULL"); - - Elm_Object_Item *gli = NULL; - Elm_Object_Item *nli = NULL; - Evas_Object *genlist = NULL; - - ugNaviBar *pNavi_s = mf_ug_navi_bar_get_in_use_navi(ugd); - ug_mf_retvm_if(pNavi_s == NULL, false, "get navigation bar in use failed"); - - if (ugd->ug_MainWindow.ug_pNaviGenlist) { - genlist = ugd->ug_MainWindow.ug_pNaviGenlist; - gli = elm_genlist_first_item_get(genlist); - - while (gli) { - ugListItemData *itemData = (ugListItemData *)elm_object_item_data_get(gli); - ug_mf_retvm_if(itemData == NULL, false, "itemData is NULL"); - if (itemData->ug_bChecked == true) { - UG_TRACE_END; - return true; - } - nli = elm_genlist_item_next_get(gli); - gli = nli; - } - } - UG_TRACE_END; - return false; + UG_TRACE_BEGIN; + ugData *ugd = (ugData *)data; + ug_mf_retvm_if(ugd == NULL, false, "ugd is NULL"); + + Elm_Object_Item *gli = NULL; + Elm_Object_Item *nli = NULL; + Evas_Object *genlist = NULL; + + if (ugd->ug_MainWindow.ug_pNaviGenlist) { + genlist = ugd->ug_MainWindow.ug_pNaviGenlist; + gli = elm_genlist_first_item_get(genlist); + + while (gli) { + ugListItemData *itemData = (ugListItemData *)elm_object_item_data_get(gli); + ug_mf_retvm_if(itemData == NULL, false, "itemData is NULL"); + if (ugd->ug_Status.ug_iViewType == mf_ug_view_ringtone_del) { + if (itemData->ug_bChecked == true) { + UG_TRACE_END; + return true; + } + } else if (ugd->ug_MainWindow.ug_pRadioGroup) { + if (elm_radio_value_get(ugd->ug_MainWindow.ug_pRadioGroup) == 0) { + UG_TRACE_END; + return false; + } else { + if (elm_radio_value_get(ugd->ug_MainWindow.ug_pRadioGroup) == itemData->ug_iGroupValue) { + UG_TRACE_END; + return true; + } + } + + } else { + if (itemData->ug_bChecked == true) { + UG_TRACE_END; + return true; + } + } + nli = elm_genlist_item_next_get(gli); + gli = nli; + } + } + UG_TRACE_END; + return false; } /****************************** @@ -98,19 +131,19 @@ bool mf_ug_util_is_genlist_selected(void *data) ******************************/ void mf_ug_util_get_params_path(Eina_List **dest_list, const char *path_list) { - UG_TRACE_BEGIN; - ug_mf_retm_if(dest_list == NULL, "dest_list is NULL"); + UG_TRACE_BEGIN; + ug_mf_retm_if(dest_list == NULL, "dest_list is NULL"); - gchar **result = NULL; - gchar **params = NULL; - result = g_strsplit(path_list, "?", 0); + gchar **result = NULL; + gchar **params = NULL; + result = g_strsplit(path_list, "?", 0); - for (params = result; *params; params++) { - *dest_list = eina_list_append(*dest_list, strdup(*params)); - } + for (params = result; *params; params++) { + *dest_list = eina_list_append(*dest_list, strdup(*params)); + } - g_strfreev(result); - UG_TRACE_END; + g_strfreev(result); + UG_TRACE_END; } /****************************** @@ -131,35 +164,47 @@ void mf_ug_util_get_params_path(Eina_List **dest_list, const char *path_list) ******************************/ void mf_ug_util_free_eina_list_data(Eina_List **list, mf_ug_eina_list_node_type node_type) { - UG_TRACE_BEGIN; - ug_mf_retm_if(list == NULL, "list is NULL"); - ug_mf_retm_if(*list == NULL, "*list is NULL"); - - Eina_List *l = NULL; - void *pNode = NULL; - switch (node_type) { - case NODE_TYPE_CHAR: - case NODE_TYPE_PNODE: - EINA_LIST_FOREACH(*list, l, pNode) { - free(pNode); - pNode = NULL; - } - break; - case NODE_TYPE_GSTRING: - EINA_LIST_FOREACH(*list, l, pNode) { - if (pNode != NULL) { - g_string_free(pNode, TRUE); - pNode = NULL; - } - } - break; - default: - break; - } - - eina_list_free(*list); - *list = NULL; - UG_TRACE_END; + UG_TRACE_BEGIN; + ug_mf_retm_if(list == NULL, "list is NULL"); + ug_mf_retm_if(*list == NULL, "*list is NULL"); + + Eina_List *l = NULL; + void *pNode = NULL; + switch (node_type) { + case NODE_TYPE_CHAR: + EINA_LIST_FOREACH(*list, l, pNode) { + free(pNode); + pNode = NULL; + } + break; + + case NODE_TYPE_PNODE: + EINA_LIST_FOREACH(*list, l, pNode) { + ugFsNodeInfo *node = (ugFsNodeInfo *)pNode; + if (node) { + UG_SAFE_FREE_CHAR(node->path); + UG_SAFE_FREE_CHAR(node->name); + UG_SAFE_FREE_CHAR(node->ext); + free(node); + node = NULL; + } + } + break; + case NODE_TYPE_GSTRING: + EINA_LIST_FOREACH(*list, l, pNode) { + if (pNode != NULL) { + g_string_free(pNode, TRUE); + pNode = NULL; + } + } + break; + default: + break; + } + + eina_list_free(*list); + *list = NULL; + UG_TRACE_END; } @@ -180,19 +225,19 @@ void mf_ug_util_free_eina_list_data(Eina_List **list, mf_ug_eina_list_node_type ******************************/ static void __mf_ug_util_get_marked_selected_items(Eina_List *list, Eina_List **select_list) { - UG_TRACE_BEGIN; - ug_mf_retm_if(select_list == NULL, "select_list is NULL"); - ug_mf_retm_if(list == NULL, "list is NULL"); + UG_TRACE_BEGIN; + ug_mf_retm_if(select_list == NULL, "select_list is NULL"); + ug_mf_retm_if(list == NULL, "list is NULL"); - Eina_List *l = NULL; - void *pNode = NULL; + Eina_List *l = NULL; + void *pNode = NULL; - EINA_LIST_FOREACH(list, l, pNode) { - if (pNode != NULL) { - *select_list = eina_list_append(*select_list, strdup(pNode)); - } - } - UG_TRACE_END; + EINA_LIST_FOREACH(list, l, pNode) { + if (pNode != NULL) { + *select_list = eina_list_append(*select_list, strdup(pNode)); + } + } + UG_TRACE_END; } @@ -214,46 +259,58 @@ static void __mf_ug_util_get_marked_selected_items(Eina_List *list, Eina_List ** ******************************/ static void __mf_ug_util_get_marked_off_selected_items(void *data, Eina_List **select_list) { - UG_TRACE_BEGIN; - ugData *ugd = (ugData *)data; - ug_mf_retm_if(ugd == NULL, "ugData is NULL"); - ug_mf_retm_if(select_list == NULL, "selected_list is NULL"); - ug_mf_retm_if(ugd->ug_MainWindow.ug_pNaviGenlist == NULL, "ugd->ug_MainWindow.ug_pNaviGenlist is NULL"); - - - Evas_Object *content = ugd->ug_MainWindow.ug_pNaviGenlist; - Elm_Object_Item *gli = elm_genlist_first_item_get(content); - int radio_id = 1; - Elm_Object_Item *nli = NULL; - - - while (gli) { - - ugListItemData *params = (ugListItemData *)elm_object_item_data_get(gli); - ug_mf_retm_if(params == NULL, "params is NULL"); - if (ugd->ug_UiGadget.ug_iSelectMode == SINGLE_ALL_MODE || ugd->ug_UiGadget.ug_iSelectMode == SINGLE_FILE_MODE) { - if (params->ug_pRadioBox) { - if (elm_radio_value_get(ugd->ug_MainWindow.ug_pRadioGroup) == radio_id) { - *select_list = eina_list_append(*select_list, strdup(params->ug_pItemName->str)); - break; - } - radio_id++; - } - } else if (ugd->ug_UiGadget.ug_iSelectMode == MULTI_ALL_MODE || - ugd->ug_UiGadget.ug_iSelectMode == MULTI_FILE_MODE || - ugd->ug_UiGadget.ug_iSelectMode == IMPORT_MODE || - ugd->ug_UiGadget.ug_iSelectMode == IMPORT_PATH_SELECT_MODE || - ugd->ug_UiGadget.ug_iSelectMode == IMPORT_SINGLE) { - if (params->ug_pCheckBox) { - if (params->ug_bChecked == true) { - *select_list = eina_list_append(*select_list, strdup(params->ug_pItemName->str)); - } - } - } - nli = elm_genlist_item_next_get(gli); - gli = nli; - } - UG_TRACE_END; + UG_TRACE_BEGIN; + ugData *ugd = (ugData *)data; + ug_mf_retm_if(ugd == NULL, "ugData is NULL"); + ug_mf_retm_if(select_list == NULL, "selected_list is NULL"); + ug_mf_retm_if(ugd->ug_MainWindow.ug_pNaviGenlist == NULL, "ugd->ug_MainWindow.ug_pNaviGenlist is NULL"); + + + Evas_Object *content = ugd->ug_MainWindow.ug_pNaviGenlist; + Elm_Object_Item *gli = elm_genlist_first_item_get(content); + Elm_Object_Item *nli = NULL; + Eina_List *l = NULL; + char *name = NULL; + + if (ugd->ug_Status.ug_bSelectAllChecked == true + && (ugd->ug_UiGadget.ug_iSelectMode == IMPORT_MODE + || ugd->ug_UiGadget.ug_iSelectMode == IMPORT_PATH_SELECT_MODE + || ugd->ug_UiGadget.ug_iSelectMode == SSM_DOCUMENT_SHARE)) { + + EINA_LIST_FOREACH(ugd->ug_UiGadget.ug_pSearchFileList, l, name) { + if (name) { + *select_list = eina_list_append(*select_list, strdup(name)); + } + } + } else { + while (gli) { + ugListItemData *params = (ugListItemData *)elm_object_item_data_get(gli); + ug_mf_retm_if(params == NULL, "params is NULL"); + if (ugd->ug_UiGadget.ug_iSelectMode == SINGLE_ALL_MODE + || ugd->ug_UiGadget.ug_iSelectMode == SINGLE_FILE_MODE + || ugd->ug_UiGadget.ug_iSelectMode == IMPORT_SINGLE) { + if (params->ug_pRadioBox) { + if (elm_radio_value_get(ugd->ug_MainWindow.ug_pRadioGroup) == params->ug_iGroupValue) { + *select_list = eina_list_append(*select_list, strdup(params->ug_pItemName->str)); + break; + } + } + } else if (ugd->ug_UiGadget.ug_iSelectMode == MULTI_ALL_MODE || + ugd->ug_UiGadget.ug_iSelectMode == MULTI_FILE_MODE || + ugd->ug_UiGadget.ug_iSelectMode == IMPORT_MODE || + ugd->ug_UiGadget.ug_iSelectMode == IMPORT_PATH_SELECT_MODE || + ugd->ug_UiGadget.ug_iSelectMode == SSM_DOCUMENT_SHARE) { + if (params->ug_pCheckBox) { + if (params->ug_bChecked == true) { + *select_list = eina_list_append(*select_list, strdup(params->ug_pItemName->str)); + } + } + } + nli = elm_genlist_item_next_get(gli); + gli = nli; + } + } + UG_TRACE_END; } /****************************** @@ -273,43 +330,84 @@ static void __mf_ug_util_get_marked_off_selected_items(void *data, Eina_List **s ******************************/ char *mf_ug_util_get_send_result(void *data) { - UG_TRACE_BEGIN; - ugData *ugd = (ugData *)data; - ug_mf_retvm_if(ugd == NULL, NULL, "ugData is NULL"); - - char *file_selected = NULL; - Eina_List *selected_list = NULL; - Eina_List *l = NULL; - char *pNode = NULL; - - if (ugd->ug_UiGadget.ug_iMarkedMode == MARKED_ON - && (ugd->ug_UiGadget.ug_iSelectMode == MULTI_FILE_MODE || ugd->ug_UiGadget.ug_iSelectMode == MULTI_ALL_MODE)) { - __mf_ug_util_get_marked_selected_items(ugd->ug_UiGadget.ug_pMultiSelectFileList, &selected_list); - } else { - __mf_ug_util_get_marked_off_selected_items(ugd, &selected_list); - } - - EINA_LIST_FOREACH(selected_list, l, pNode) { - if (pNode != NULL) { - if (file_selected == NULL) { - file_selected = g_strconcat(pNode, NULL); - } else { - char *temp = file_selected; -#ifdef UG_OPERATION_SELECT_MODE - if (ugd->ug_UiGadget.ug_bOperationSelectFlag) { - file_selected = g_strconcat(file_selected, OPERATION_SEPERATOR, pNode, NULL); - } else -#endif - file_selected = g_strconcat(file_selected, NORMAL_SEPERATOR, pNode, NULL); - free(temp); - } - } - } - mf_ug_util_free_eina_list_data(&selected_list, NODE_TYPE_CHAR); - UG_TRACE_END; - return file_selected; + UG_TRACE_BEGIN; + ugData *ugd = (ugData *)data; + ug_mf_retvm_if(ugd == NULL, NULL, "ugData is NULL"); + + char *file_selected = NULL; + Eina_List *selected_list = NULL; + Eina_List *l = NULL; + char *pNode = NULL; + + if (ugd->ug_UiGadget.ug_iMarkedMode == MARKED_ON + && (ugd->ug_UiGadget.ug_iSelectMode == MULTI_FILE_MODE || ugd->ug_UiGadget.ug_iSelectMode == MULTI_ALL_MODE)) { + __mf_ug_util_get_marked_selected_items(ugd->ug_UiGadget.ug_pMultiSelectFileList, &selected_list); + } else { + __mf_ug_util_get_marked_off_selected_items(ugd, &selected_list); + } + + ug_error(" select_list len is [%d]", eina_list_count(selected_list)); + int a_count = 0; + EINA_LIST_FOREACH(selected_list, l, pNode) { + if (pNode != NULL) { + if (file_selected == NULL) { + file_selected = g_strconcat(pNode, NULL); + } else { + char *temp = file_selected; + file_selected = g_strconcat(file_selected, NORMAL_SEPERATOR, pNode, NULL); + free(temp); + } + SECURE_ERROR("file_selected[%d] is [%s]", a_count, file_selected); + a_count++; + } + } + mf_ug_util_free_eina_list_data(&selected_list, NODE_TYPE_CHAR); + if (file_selected != NULL) + printf("a_count is [%d] file_list is [%d][%s]\n", a_count, strlen(file_selected), file_selected); + UG_TRACE_END; + return file_selected; } +#ifdef UG_OPERATION_SELECT_MODE +char **mf_ug_util_get_send_result_array(void *data, int *item_count) +{ + UG_TRACE_BEGIN; + ugData *ugd = (ugData *)data; + ug_mf_retvm_if(ugd == NULL, NULL, "ugData is NULL"); + + char **array = NULL; + Eina_List *selected_list = NULL; + Eina_List *l = NULL; + char *pNode = NULL; + int count = 0; + + __mf_ug_util_get_marked_off_selected_items(ugd, &selected_list); + + EINA_LIST_FOREACH(selected_list, l, pNode) { + if (pNode != NULL) { + count++; + } + } + + if (count > 0) { + array = calloc(count, sizeof(char *)); + count = 0; + EINA_LIST_FOREACH(selected_list, l, pNode) { + if (pNode != NULL && array != NULL) { + array[count] = g_strdup(pNode); + count++; + } + } + *item_count = count; + } else { + ug_error("no selection!!"); + } + + mf_ug_util_free_eina_list_data(&selected_list, NODE_TYPE_CHAR); + UG_TRACE_END; + return array; +} +#endif /****************************** ** Prototype : _ug_mf_set_state_as @@ -329,12 +427,12 @@ char *mf_ug_util_get_send_result(void *data) ******************************/ void mf_ug_util_set_current_state(void *data, int state) { - UG_TRACE_BEGIN; - ugData *ugd = (ugData *)data; - ug_mf_retm_if(ugd == NULL, "ugd is NULL"); + UG_TRACE_BEGIN; + ugData *ugd = (ugData *)data; + ug_mf_retm_if(ugd == NULL, "ugd is NULL"); - ugd->ug_Status.ug_iState = state; - UG_TRACE_END; + ugd->ug_Status.ug_iState = state; + UG_TRACE_END; } @@ -355,27 +453,34 @@ void mf_ug_util_set_current_state(void *data, int state) ******************************/ int mf_ug_util_get_mmc_state(int *mmc_card) { - UG_TRACE_BEGIN; - int data = UG_ERROR_RETURN; - int error_code = MYFILE_ERR_NONE; - - ug_mf_retvm_if(mmc_card == NULL, MYFILE_ERR_SRC_ARG_INVALID, "mmc_card is NULL"); - - *mmc_card = 0; - error_code = vconf_get_int(VCONFKEY_SYSMAN_MMC_STATUS, &data); - - if (error_code) { - UG_TRACE_END; - return MYFILE_ERR_GET_VCONF_FAIL; - } - - if (data != VCONFKEY_SYSMAN_MMC_MOUNTED) { - *mmc_card = MMC_OFF; - } else { - *mmc_card = MMC_ON; - } - UG_TRACE_END; - return error_code; + UG_TRACE_BEGIN; + int error_code = STORAGE_ERROR_NONE; + + ug_mf_retvm_if(mmc_card == NULL, MYFILE_ERR_SRC_ARG_INVALID, "mmc_card is NULL"); + + *mmc_card = 0; + + error_code = storage_foreach_device_supported(getSupportedStorages_cb, NULL); + if (error_code != STORAGE_ERROR_NONE) { + UG_TRACE_END; + return MYFILE_ERR_GET_CONF_FAIL; + } + + storage_state_e mmc_state; + error_code = storage_get_state(__externalStorageId, &mmc_state); + if (error_code != STORAGE_ERROR_NONE) { + UG_TRACE_END; + return MYFILE_ERR_GET_CONF_FAIL; + } + + if (mmc_state == STORAGE_STATE_MOUNTED) { + *mmc_card = MMC_ON; + } else { + *mmc_card = MMC_OFF; + } + + UG_TRACE_END; + return error_code; } /****************************** @@ -395,18 +500,18 @@ int mf_ug_util_get_mmc_state(int *mmc_card) ******************************/ int mf_ug_util_create_dir_monitor(void *data) { - UG_TRACE_BEGIN; - ugData *ugd = (ugData *)data; - ug_mf_retvm_if(ugd == NULL, UG_ERROR_RETURN, "ugData is NULL"); - - if (ugd->ug_UiGadget.ug_pInotifyPipe) { - ecore_pipe_del(ugd->ug_UiGadget.ug_pInotifyPipe); - ugd->ug_UiGadget.ug_pInotifyPipe = NULL; - } - ugd->ug_UiGadget.ug_pInotifyPipe = ecore_pipe_add(mf_ug_cb_dir_pipe_cb, (const void *)ugd); - UG_TRACE_END; - - return mf_ug_inotify_handle_init_inotify(); + UG_TRACE_BEGIN; + ugData *ugd = (ugData *)data; + ug_mf_retvm_if(ugd == NULL, UG_ERROR_RETURN, "ugData is NULL"); + + if (ugd->ug_UiGadget.ug_pInotifyPipe) { + ecore_pipe_del(ugd->ug_UiGadget.ug_pInotifyPipe); + ugd->ug_UiGadget.ug_pInotifyPipe = NULL; + } + ugd->ug_UiGadget.ug_pInotifyPipe = ecore_pipe_add(mf_ug_cb_dir_pipe_cb, (const void *)ugd); + UG_TRACE_END; + + return mf_ug_inotify_handle_init_inotify(); } @@ -428,17 +533,17 @@ int mf_ug_util_create_dir_monitor(void *data) ******************************/ int mf_ug_util_add_dir_watch(const char *path, void *data) { - UG_TRACE_BEGIN; - ugData *ugd = (ugData *)data; - ug_mf_retvm_if(ugd == NULL, UG_ERROR_RETURN, "ugd is NULL"); - UG_SAFE_FREE_CHAR(ugd->ug_Status.monitor_path); - ugd->ug_Status.monitor_path = g_strdup(path); - return mf_ug_inotify_handle_add_inotify_watch(path, mf_ug_cb_dir_update_cb, data); + UG_TRACE_BEGIN; + ugData *ugd = (ugData *)data; + ug_mf_retvm_if(ugd == NULL, UG_ERROR_RETURN, "ugd is NULL"); + UG_SAFE_FREE_CHAR(ugd->ug_Status.monitor_path); + ugd->ug_Status.monitor_path = g_strdup(path); + return mf_ug_inotify_handle_add_inotify_watch(path, mf_ug_cb_dir_update_cb, data); } int mf_ug_util_remove_dir_watch(void) { - return mf_ug_inotify_handle_rm_inotify_watch(); + return mf_ug_inotify_handle_rm_inotify_watch(); } /****************************** @@ -458,16 +563,16 @@ int mf_ug_util_remove_dir_watch(void) ******************************/ int mf_ug_util_set_mmc_state_cb(void *data) { - UG_TRACE_BEGIN; - ugData *ugd = (ugData *)data; - ug_mf_retvm_if(ugd == NULL, UG_ERROR_RETURN, "ugd is NULL"); + UG_TRACE_BEGIN; + ugData *ugd = (ugData *)data; + ug_mf_retvm_if(ugd == NULL, UG_ERROR_RETURN, "ugd is NULL"); - int mmc_state = MMC_OFF; - mf_ug_util_get_mmc_state(&mmc_state); - ugd->ug_Status.ug_iMmcFlag = mmc_state; + int mmc_state = MMC_OFF; + mf_ug_util_get_mmc_state(&mmc_state); + ugd->ug_Status.ug_iMmcFlag = mmc_state; - UG_TRACE_END; - return vconf_notify_key_changed(VCONFKEY_SYSMAN_MMC_STATUS, mf_ug_cb_mmc_changed_cb, ugd); + UG_TRACE_END; + return storage_set_state_changed_cb(__externalStorageId, mf_ug_cb_mmc_changed_cb, ugd); } /****************************** @@ -487,9 +592,12 @@ int mf_ug_util_set_mmc_state_cb(void *data) ******************************/ void mf_ug_util_destory_mmc_state_cb() { - UG_TRACE_BEGIN; - vconf_ignore_key_changed(VCONFKEY_SYSMAN_MMC_STATUS, mf_ug_cb_mmc_changed_cb); - UG_TRACE_END; + UG_TRACE_BEGIN; + int error_code = storage_unset_state_changed_cb(__externalStorageId, mf_ug_cb_mmc_changed_cb); + if (error_code != STORAGE_ERROR_NONE) { + ug_debug("storage_unset_state_changed_cb() failed!!"); + } + UG_TRACE_END; } /****************************** @@ -509,19 +617,19 @@ void mf_ug_util_destory_mmc_state_cb() ******************************/ void mf_ug_util_destory_dir_monitor(void *data) { - UG_TRACE_BEGIN; - ugData *ugd = (ugData *)data; - ug_mf_retm_if(ugd == NULL, "ugd is NULL"); + UG_TRACE_BEGIN; + ugData *ugd = (ugData *)data; + ug_mf_retm_if(ugd == NULL, "ugd is NULL"); - if (ugd->ug_UiGadget.ug_pInotifyPipe) { - ecore_pipe_del(ugd->ug_UiGadget.ug_pInotifyPipe); - ugd->ug_UiGadget.ug_pInotifyPipe = NULL; - } + if (ugd->ug_UiGadget.ug_pInotifyPipe) { + ecore_pipe_del(ugd->ug_UiGadget.ug_pInotifyPipe); + ugd->ug_UiGadget.ug_pInotifyPipe = NULL; + } - mf_ug_inotify_handle_finalize_inotify(); - UG_TRACE_END; + mf_ug_inotify_handle_finalize_inotify(); + UG_TRACE_END; - return; + return; } @@ -543,27 +651,85 @@ void mf_ug_util_destory_dir_monitor(void *data) ******************************/ void mf_ug_util_storage_insert_action(void *data, char *pItemLabel) { - UG_TRACE_BEGIN; - ugData *ugd = (ugData *)data; - ug_mf_retm_if(ugd == NULL, "ugd is NULL"); - - Elm_Object_Item *pItemPhone = NULL; - ugFsNodeInfo *pNode = NULL; + UG_TRACE_BEGIN; + ugData *ugd = (ugData *)data; + ug_mf_retm_if(ugd == NULL, "ugd is NULL"); + + ugFsNodeInfo *pNode = NULL; + + if (ugd->ug_Status.ug_iViewType != mf_ug_view_root) { + return; + } + + if (ugd->ug_Status.ug_iViewType == mf_ug_view_root) { + if (ugd->ug_Status.ug_iMmcFlag) { + pNode = (ugFsNodeInfo *) malloc(sizeof(ugFsNodeInfo)); + if (pNode == NULL) + return; + memset(pNode, 0, sizeof(ugFsNodeInfo)); + /*set path */ + pNode->path = g_strdup(STORAGE_PARENT); + /*set name */ + pNode->name = g_strdup(MMC_NAME); + pNode->type = UG_FILE_TYPE_DIR; + ugd->ug_UiGadget.ug_pDirList = eina_list_append(ugd->ug_UiGadget.ug_pDirList, pNode); + mf_ug_genlist_item_append(ugd->ug_MainWindow.ug_pNaviGenlist, MEMORY_FOLDER, ugd, 0, &ugd->ug_Status.ug_1text1icon_itc); + } + } + + UG_TRACE_END; +} - if (ugd->ug_Status.ug_iMmcFlag) { - pNode = (ugFsNodeInfo *) malloc(sizeof(ugFsNodeInfo)); - memset(pNode, 0, sizeof(ugFsNodeInfo)); - /*set path */ - snprintf(pNode->path, sizeof(pNode->path), "%s", STORAGE_PARENT); - snprintf(pNode->name, sizeof(pNode->name), "%s", MMC_NAME); - pNode->type = UG_FILE_TYPE_DIR; - ugd->ug_UiGadget.ug_pDirList = eina_list_append(ugd->ug_UiGadget.ug_pDirList, pNode); - mf_ug_genlist_item_append(ugd->ug_MainWindow.ug_pNaviGenlist, pNode, ugd, 0, &ugd->ug_Status.ug_normalitc); - } +void mf_ug_util_mmc_remove_items_by_type(Evas_Object *genlist, int storage_type) +{ + ug_mf_retm_if(genlist == NULL, "parent is NULL"); + + ugListItemData *itemData = NULL; + Elm_Object_Item *it = NULL; + + it = elm_genlist_first_item_get(genlist); + while (it) { + itemData = elm_object_item_data_get(it); + if (itemData->storage_type == storage_type) { + Elm_Object_Item *temp_item = it; + it = elm_genlist_item_next_get(it); + elm_object_item_del(temp_item); + continue; + } + it = elm_genlist_item_next_get(it); + } - UG_TRACE_END; } +void mf_ug_util_mmc_remove_action(void *data) +{ + UG_TRACE_BEGIN; + ugData *ugd = (ugData *)data; + ug_mf_retm_if(ugd == NULL, "ugd is NULL"); + + int optStorage = MF_UG_MMC; + + if (ugd->ug_Status.ug_iViewType == mf_ug_view_root) { + mf_ug_genlist_item_remove(ugd->ug_MainWindow.ug_pNaviGenlist, MF_UG_MMC); + } else { + if (mf_ug_fm_svc_wapper_get_location(ugd->ug_Status.ug_pPath->str) == optStorage) { + if (0 != ugd->ug_ListPlay.ug_Player) { + mf_ug_list_play_destory_playing_file(ugd); + ugd->ug_ListPlay.play_data = NULL; + UG_SAFE_FREE_CHAR(ugd->ug_ListPlay.ug_pPlayFilePath); + } + if (ugd->ug_UiGadget.ug_iSelectMode == IMPORT_PATH_SELECT_MODE) { + mf_ug_navi_bar_create_default_view(ugd); + } else { + ugd->ug_Status.ug_iViewType = mf_ug_view_root; + UG_SAFE_FREE_GSTRING(ugd->ug_Status.ug_pPath); + ugd->ug_Status.ug_pPath = g_string_new(PHONE_FOLDER); + mf_ug_navi_bar_create_default_view(ugd); + } + mf_ug_navi_bar_set_ctrl_item_disable(ugd); + } + } +} /****************************** @@ -583,276 +749,396 @@ void mf_ug_util_storage_insert_action(void *data, char *pItemLabel) ******************************/ mf_ug_launch_type mf_ug_util_get_file_launch_type(char *path) { - if (path == NULL) { - UG_TRACE_END; - return LAUNCH_TYPE_UNSUPPORT; - } - if (ecore_file_file_get(path) == NULL) { - UG_TRACE_END; - return LAUNCH_TYPE_UNSUPPORT; - } - if (ecore_file_is_dir(path) == 1) { - UG_TRACE_END; - return LAUNCH_TYPE_UNSUPPORT; - } - if (mf_ug_file_attr_is_drm_file(path) == 0) { - mf_ug_drm_file_mime_type drm_file_type = mf_ug_fs_oper_get_drm_type(path); - - if (drm_file_type == MF_UG_DRM_RINGTONE_FILE) { - UG_TRACE_END; - return LAUNCH_TYPE_MUSIC; - } else if (drm_file_type == MF_UG_DRM_IMAGE_FILE) { - UG_TRACE_END; - return LAUNCH_TYPE_IMAGE; - } else if (drm_file_type == MF_UG_DRM_VIDEO_FILE) { - UG_TRACE_END; - return LAUNCH_TYPE_VIDEO; - } else { - UG_TRACE_END; - return LAUNCH_TYPE_UNSUPPORT; - } - } else { - mf_ug_fs_file_type category_t = 0; - mf_ug_file_attr_get_file_category(path, &category_t); - if (category_t == UG_FILE_TYPE_MUSIC || category_t == UG_FILE_TYPE_SOUND || category_t == UG_FILE_TYPE_VOICE) { - UG_TRACE_END; - return LAUNCH_TYPE_MUSIC; - } else if (category_t == UG_FILE_TYPE_IMAGE) { - UG_TRACE_END; - return LAUNCH_TYPE_IMAGE; - } else { - UG_TRACE_END; - return LAUNCH_TYPE_UNSUPPORT; - } - } - UG_TRACE_END; -} - -mf_ug_theme_type mf_ug_util_get_theme(void) -{ - mf_ug_theme_type theme = UG_THEME_INVALID; - char *name; - - char *theme_name = vconf_get_str(VCONFKEY_SETAPPL_WIDGET_THEME_STR); - ug_debug("theme is [%s]", theme_name); - ug_mf_retvm_if(theme_name == NULL, UG_THEME_ERROR, "Failed to get vconf value"); /* file system exceptional handle */ - - name = strrchr(theme_name, '/'); - - if (!name) - name = theme_name; - else - ++name; - - ug_debug("name is [%s]", name); - //SETTING_TRACE("name:%s", name); - /* special theme process.. */ - if (0 == g_strcmp0("tizen-black.edj", name) || 0 == g_strcmp0("tizen-black-hd.edj", name)) { - theme = UG_THEME_NBEAT_BLACK; - } else if (0 == g_strcmp0("tizen.edj", name) || 0 == g_strcmp0("tizen-hd.edj", name) - || 0 == g_strcmp0("blue-hd.edj", name)) { - theme = UG_THEME_NBEAT; - } else { - theme = UG_THEME_ERROR; - } - free(theme_name); - theme_name = NULL; - ug_debug("theme is [%d]", theme); - return theme; + if (path == NULL) { + UG_TRACE_END; + return LAUNCH_TYPE_UNSUPPORT; + } + if (mf_file_get(path) == NULL) { + UG_TRACE_END; + return LAUNCH_TYPE_UNSUPPORT; + } + if (mf_is_dir(path) == 1) { + UG_TRACE_END; + return LAUNCH_TYPE_UNSUPPORT; + } + mf_ug_fs_file_type category_t = 0; + { + mf_ug_file_attr_get_file_category(path, &category_t); + /*P131206-01154 by wanygan,sound can not play a music file without extension + do not get the type,retry to get the type using the next api*/ + if (UG_FILE_TYPE_NONE == category_t) { + category_t = mf_ug_file_attr_get_file_type_by_mime(path); + } + if (category_t == UG_FILE_TYPE_MUSIC || category_t == UG_FILE_TYPE_SOUND || category_t == UG_FILE_TYPE_VOICE || category_t == UG_FILE_TYPE_MP4_AUDIO) { + UG_TRACE_END; + return LAUNCH_TYPE_MUSIC; + } else if (category_t == UG_FILE_TYPE_IMAGE) { + UG_TRACE_END; + return LAUNCH_TYPE_IMAGE; + } else { + UG_TRACE_END; + return LAUNCH_TYPE_UNSUPPORT; + } + } + UG_TRACE_END; } - char *mf_ug_util_upper_folder_name_get(void *data, GString *fullpath) { - ug_mf_retvm_if(data == NULL, NULL, "data is NULL"); - ug_mf_retvm_if(fullpath == NULL, NULL, "fullpath is NULL"); - ug_mf_retvm_if(fullpath->str == NULL, NULL, "fullpath is NULL"); + ug_mf_retvm_if(data == NULL, NULL, "data is NULL"); + ug_mf_retvm_if(fullpath == NULL, NULL, "fullpath is NULL"); + ug_mf_retvm_if(fullpath->str == NULL, NULL, "fullpath is NULL"); - GString *parent_path = NULL; - GString *gName = NULL; - char *upper_name = NULL; + GString *parent_path = NULL; + GString *gName = NULL; + char *upper_name = NULL; - parent_path = mf_ug_fm_svc_wrapper_get_file_parent_path(fullpath); + parent_path = mf_ug_fm_svc_wrapper_get_file_parent_path(fullpath); - ug_mf_retvm_if(parent_path == NULL, NULL, "fullpath is NULL"); - ug_mf_retvm_if(parent_path->str == NULL, NULL, "fullpath is NULL"); + ug_mf_retvm_if(parent_path == NULL, NULL, "fullpath is NULL"); + ug_mf_retvm_if(parent_path->str == NULL, NULL, "fullpath is NULL"); - if (!g_strcmp0(parent_path->str, PHONE_FOLDER)) { - upper_name = g_strdup(MF_UG_LABEL_PHONE); - } else if (!g_strcmp0(parent_path->str, MEMORY_FOLDER)) { - upper_name = g_strdup(MF_UG_LABEL_MMC); - } else { - gName = mf_ug_fm_svc_wapper_get_file_name(parent_path); - UG_GSTRING_CHECK_NULL_GOTO(gName, FAILED_EXIT); - upper_name = g_strdup(gName->str); - } + if (!g_strcmp0(parent_path->str, PHONE_FOLDER)) { + upper_name = g_strdup(mf_ug_widget_get_text(MF_UG_LABEL_PHONE)); + } else if (!g_strcmp0(parent_path->str, MEMORY_FOLDER)) { + upper_name = g_strdup(mf_ug_widget_get_text(MF_UG_LABEL_MMC)); + } else { + gName = mf_ug_fm_svc_wapper_get_file_name(parent_path); + UG_GSTRING_CHECK_NULL_GOTO(gName, FAILED_EXIT); + upper_name = g_strdup(gName->str); + } - UG_CHAR_CHECK_NULL_GOTO(upper_name, FAILED_EXIT); - UG_SAFE_FREE_GSTRING(parent_path); - UG_SAFE_FREE_GSTRING(gName); - return upper_name; + UG_CHAR_CHECK_NULL_GOTO(upper_name, FAILED_EXIT); + UG_SAFE_FREE_GSTRING(parent_path); + UG_SAFE_FREE_GSTRING(gName); + return upper_name; FAILED_EXIT: - UG_SAFE_FREE_GSTRING(parent_path); - UG_SAFE_FREE_GSTRING(gName); - return NULL; + UG_SAFE_FREE_GSTRING(parent_path); + UG_SAFE_FREE_GSTRING(gName); + return NULL; } void mf_ug_util_sort_the_file_list(void *data) { - UG_TRACE_BEGIN; - ug_mf_retm_if(data == NULL, "data is null"); - ugData *ugd = (ugData *)data; + UG_TRACE_BEGIN; + ug_mf_retm_if(data == NULL, "data is null"); + ugData *ugd = (ugData *)data; - int iSortTypeValue = 0; - - iSortTypeValue = ugd->ug_Status.ug_iSortType; - - mf_ug_fs_oper_sort_list(&ugd->ug_UiGadget.ug_pFilterList, MF_UG_SORT_BY_NAME_A2Z); - mf_ug_fs_oper_sort_list(&ugd->ug_UiGadget.ug_pDirList, MF_UG_SORT_BY_NAME_A2Z); + mf_ug_fs_oper_sort_list(&ugd->ug_UiGadget.ug_pFilterList, MF_UG_SORT_BY_NAME_A2Z); + mf_ug_fs_oper_sort_list(&ugd->ug_UiGadget.ug_pDirList, MF_UG_SORT_BY_NAME_A2Z); + /*mf_ug_fs_oper_sort_list(&ugd->ug_UiGadget.ug_pFilterList, iSortTypeValue);*/ + /*need to sort folder items only By Name and Date*/ + /*mf_ug_fs_oper_sort_list(&ugd->ug_UiGadget.ug_pDirList, iSortTypeValue);*/ } int mf_ug_util_check_disk_space(void *data) { - UG_TRACE_BEGIN; - ug_mf_retvm_if(data == NULL, MYFILE_ERR_SRC_ARG_INVALID, "data is null"); - ugData *ugd = (ugData *)data; - - mf_ug_storage_type state = MF_UG_NONE; - unsigned long free_space = 0; - - if (ugd->ug_Status.ug_iMore == UG_MORE_CREATE_FOLDER) { - state = mf_ug_fm_svc_wapper_get_location(ugd->ug_Status.ug_pPath->str); - free_space = mf_ug_fm_svc_wrapper_get_free_space(state); - ug_debug("free size is %lu\n", free_space); - /* - ** in vfat fs type, sector size is 16K. - ** it is to say that the limited size of the free space should be 16K - ** or it will report space used up. - ** check free_space == 0 can make sure at least 16K is free on the disk - ** while every dir takes 4K - */ - if (free_space == 0) { - ugd->ug_MainWindow.ug_pNormalPopup = mf_ug_popup_create(ugd, UG_POPMODE_TEXT, NULL, - MF_UG_LABEL_NOT_ENOUGH_SPACE, MF_UG_LABEL_OK, - NULL, NULL, mf_ug_cb_warning_popup_cb, ugd); - return MYFILE_ERR_NO_FREE_SPACE; - } - } - - return MYFILE_ERR_NONE; + UG_TRACE_BEGIN; + ug_mf_retvm_if(data == NULL, MYFILE_ERR_SRC_ARG_INVALID, "data is null"); + ugData *ugd = (ugData *)data; + + int free_space = 0; + + if (ugd->ug_Status.ug_iMore == UG_MORE_CREATE_FOLDER) { + mf_ug_fm_svc_wapper_get_location(ugd->ug_Status.ug_pPath->str); + free_space = mf_ug_fm_svc_wrapper_get_free_space(); + /* + ** in vfat fs type, sector size is 16K. + ** it is to say that the limited size of the free space should be 16K + ** or it will report space used up. + ** check free_space == 0 can make sure at least 16K is free on the disk + ** while every dir takes 4K + */ + if (free_space == 0) { + ugd->ug_MainWindow.ug_pNormalPopup = mf_ug_popup_create(ugd, UG_POPMODE_TEXT, NULL, + MF_UG_LABEL_NOT_ENOUGH_SPACE, MF_UG_LABEL_OK, + NULL, NULL, mf_ug_cb_warning_popup_cb, ugd); + return MYFILE_ERR_NO_FREE_SPACE; + } + } + + return MYFILE_ERR_NONE; } void mf_ug_util_operation_alloc_failed(void *data) { - UG_TRACE_BEGIN; - ug_mf_retm_if(data == NULL, "data is null"); - ugData *ugd = (ugData *)data; + UG_TRACE_BEGIN; + ug_mf_retm_if(data == NULL, "data is null"); + ugData *ugd = (ugData *)data; - ugd->ug_MainWindow.ug_pNormalPopup = mf_ug_popup_create(ugd, UG_POPMODE_TEXT, NULL, MF_UG_LABEL_MEMORY_NOT_ENOUGH, - NULL, NULL, NULL, (Evas_Smart_Cb) elm_exit, NULL); + ugd->ug_MainWindow.ug_pNormalPopup = mf_ug_popup_create(ugd, UG_POPMODE_TEXT, NULL, MF_UG_LABEL_NOT_ENOUGH_SPACE, + NULL, NULL, NULL, (Evas_Smart_Cb) elm_exit, NULL); } long mf_ug_util_character_count_get(const char *original) { - ug_mf_retvm_if(original == NULL, 0, "input string is NULL"); - long count = 0; - char *utf8_form = g_locale_to_utf8(original, -1, NULL, NULL, NULL); - if (utf8_form == NULL) - return count; - else { - count = g_utf8_strlen(utf8_form, -1); - free(utf8_form); - ug_debug("utf8 count is %ld", count); - return count; - } -} - -ugFsNodeInfo *mf_ug_util_generate_pnode(const char *path, int file_type) -{ - ug_mf_retvm_if(path == NULL, NULL, "path is NULL"); - ugFsNodeInfo *pNode = NULL; - int error = MYFILE_ERR_NONE; - - pNode = (ugFsNodeInfo *) malloc(sizeof(ugFsNodeInfo)); - if (pNode == NULL) { - return NULL; - } - memset(pNode, 0, sizeof(ugFsNodeInfo)); - char *parent = NULL; - error = mf_ug_file_attr_get_parent_path(path, &parent); - if (error == MYFILE_ERR_NONE) { - snprintf(pNode->path, sizeof(pNode->path), "%s", parent); - snprintf(pNode->name, sizeof(pNode->name), "%s", ecore_file_file_get(path)); - mf_ug_file_attr_get_file_stat(path, &pNode); - if (file_type == UG_FILE_TYPE_DIR) { - pNode->type = file_type; - } else { - mf_ug_file_attr_get_file_category(path, &(pNode->type)); - } - } else { - UG_SAFE_FREE_CHAR(pNode); - } - return pNode; -} - -void mf_util_generate_list(Eina_List **list, const char *path, int file_type) -{ - ug_mf_retm_if(list == NULL, "list is NULL"); - ug_mf_retm_if(path == NULL, "path is NULL"); - - ugFsNodeInfo *pNode = mf_ug_util_generate_pnode(path, file_type); - - if (pNode) - *list = eina_list_append(*list, pNode); + ug_mf_retvm_if(original == NULL, 0, "input string is NULL"); + long count = 0; + char *utf8_form = g_locale_to_utf8(original, -1, NULL, NULL, NULL); + if (utf8_form == NULL) + return count; + else { + count = g_utf8_strlen(utf8_form, -1); + free(utf8_form); + ug_debug("utf8 count is %ld", count); + return count; + } } void mf_util_remove_item_from_list_by_location(Eina_List **list, int location) { - ug_mf_retm_if(list == NULL, "list is NULL"); + ug_mf_retm_if(list == NULL, "list is NULL"); + + Eina_List *l = NULL; + ugFsNodeInfo *node = NULL; + + EINA_LIST_FOREACH(*list, l, node) { + if ((ugFsNodeInfo *)node != NULL && strlen(((ugFsNodeInfo *)node)->path) != 0) { + if (mf_ug_fm_svc_wapper_get_location(node->path) == location) { + UG_SAFE_FREE_CHAR(node->ext); + UG_SAFE_FREE_CHAR(node->path); + UG_SAFE_FREE_CHAR(node->name); + UG_SAFE_FREE_CHAR(node); + *list = eina_list_remove_list(*list, l); + } + } + } +} - Eina_List *l = NULL; - ugFsNodeInfo *node = NULL; +int mf_ug_util_generate_root_view_file_list(Eina_List **list, int storage_state) +{ + UG_TRACE_BEGIN; + + ugFsNodeInfo *pNode = NULL; + pNode = (ugFsNodeInfo *) malloc(sizeof(ugFsNodeInfo)); + if (pNode == NULL) + return -1; + memset(pNode, 0, sizeof(ugFsNodeInfo)); + /*set path */ + pNode->path = g_strdup(PHONE_PARENT); + /*set name */ + pNode->name = g_strdup(PHONE_NAME); + pNode->type = UG_FILE_TYPE_DIR; + *list = eina_list_append(*list, pNode); + + if (storage_state == MMC_ON) { + pNode = (ugFsNodeInfo *) malloc(sizeof(ugFsNodeInfo)); + if (pNode == NULL) + return -1; + memset(pNode, 0, sizeof(ugFsNodeInfo)); + /*set path */ + pNode->path = g_strdup(STORAGE_PARENT); + /*set name */ + pNode->name = g_strdup(MMC_NAME); + pNode->type = UG_FILE_TYPE_DIR; + *list = eina_list_append(*list, pNode); + } + + return 0; +} - EINA_LIST_FOREACH(*list, l, node) { - if ((ugFsNodeInfo *)node != NULL && strlen(((ugFsNodeInfo *)node)->path) != 0) { - if (mf_ug_fm_svc_wapper_get_location(node->path) == location){ - UG_SAFE_FREE_CHAR(node->ext); - UG_SAFE_FREE_CHAR(node); - *list = eina_list_remove_list(*list, l); - } - } - } +char *mf_ug_util_get_default_ringtone() +{ + char *default_ringtone = NULL; + int retcode = -1; + retcode = system_settings_get_value_string(SYSTEM_SETTINGS_KEY_INCOMING_CALL_RINGTONE, &default_ringtone); + + SECURE_INFO("default_ringtone is [%s]", default_ringtone); + if ((retcode == SYSTEM_SETTINGS_ERROR_NONE) && default_ringtone && mf_file_exists(default_ringtone)) { + return default_ringtone; + } else { + UG_SAFE_FREE_CHAR(default_ringtone); + default_ringtone = g_strdup(UG_SETTING_DEFAULT_RINGTONE_PATH); + } + return default_ringtone; } -int mf_ug_util_generate_root_view_file_list(Eina_List **list, int storage_state) +char *mf_ug_util_get_default_alert() +{ + char *default_ringtone = NULL; + int retcode = -1; + retcode = system_settings_get_value_string(SYSTEM_SETTINGS_KEY_SOUND_NOTIFICATION, &default_ringtone); + + SECURE_INFO("default_ringtone is [%s]", default_ringtone); + if ((retcode == SYSTEM_SETTINGS_ERROR_NONE) && default_ringtone && mf_file_exists(default_ringtone)) { + return default_ringtone; + } else { + UG_SAFE_FREE_CHAR(default_ringtone); + default_ringtone = g_strdup(UG_SETTING_DEFAULT_ALERT_PATH); + } + return default_ringtone; +} + +int mf_ug_util_set_default_ringtone_cb(void *data) +{ + UG_TRACE_BEGIN; + ugData *ugd = (ugData *)data; + ug_mf_retvm_if(ugd == NULL, UG_ERROR_RETURN, "ugd is NULL"); + + UG_TRACE_END; + return system_settings_set_changed_cb(SYSTEM_SETTINGS_KEY_INCOMING_CALL_RINGTONE, mf_ug_cb_default_ringtone_changed_cb, ugd); +} + +void mf_ug_util_destory_default_ringtone_cb() { - UG_TRACE_BEGIN; + UG_TRACE_BEGIN; + int retcode = system_settings_unset_changed_cb(SYSTEM_SETTINGS_KEY_INCOMING_CALL_RINGTONE); + if (retcode != SYSTEM_SETTINGS_ERROR_NONE) { + ug_mf_error("[ERR] failed to unset the default ringtone"); + } + UG_TRACE_END; +} + +int mf_ug_util_set_default_alert_cb(void *data) +{ + UG_TRACE_BEGIN; + ugData *ugd = (ugData *)data; + ug_mf_retvm_if(ugd == NULL, UG_ERROR_RETURN, "ugd is NULL"); + + UG_TRACE_END; + return system_settings_set_changed_cb(SYSTEM_SETTINGS_KEY_SOUND_NOTIFICATION, mf_ug_cb_default_ringtone_changed_cb, ugd); +} - ugFsNodeInfo *pNode = NULL; - pNode = (ugFsNodeInfo *) malloc(sizeof(ugFsNodeInfo)); - memset(pNode, 0, sizeof(ugFsNodeInfo)); - /*set path */ - snprintf(pNode->path, sizeof(pNode->path), "%s", PHONE_PARENT); - snprintf(pNode->name, sizeof(pNode->name), "%s", PHONE_NAME); - pNode->type = UG_FILE_TYPE_DIR; - *list = eina_list_append(*list, pNode); +void mf_ug_util_destory_default_alert_cb() +{ + UG_TRACE_BEGIN; + int retcode = system_settings_unset_changed_cb(SYSTEM_SETTINGS_KEY_SOUND_NOTIFICATION); + if (retcode != SYSTEM_SETTINGS_ERROR_NONE) { + ug_mf_error("[ERR] failed to unset the default alert"); + } + UG_TRACE_END; +} - if (storage_state == MMC_ON) { - pNode = (ugFsNodeInfo *) malloc(sizeof(ugFsNodeInfo)); - memset(pNode, 0, sizeof(ugFsNodeInfo)); - /*set path */ - snprintf(pNode->path, sizeof(pNode->path), "%s", STORAGE_PARENT); - snprintf(pNode->name, sizeof(pNode->name), "%s", MMC_NAME); - pNode->type = UG_FILE_TYPE_DIR; - *list = eina_list_append(*list, pNode); - } +bool mf_ug_util_find_item_from_pnode_list(Eina_List *list, const char *fullpath) +{ + Eina_List *l = NULL; + ugFsNodeInfo *pNode = NULL; + EINA_LIST_FOREACH(list, l, pNode) { + if (pNode) { + if (pNode->path && pNode->name) { + char *real_name = g_strconcat(pNode->path, "/", pNode->name, NULL); + if (g_strcmp0(real_name, fullpath) == 0) { + free(real_name); + real_name = NULL; + return true; + } + } + } else { + continue; + } + } + return false; +} - return 0; +bool mf_ug_util_is_unique_view(int mode) +{ + bool flag = false; + if (mode == IMPORT_MODE + || mode == IMPORT_PATH_SELECT_MODE + || mode == IMPORT_SINGLE + || mode == DOCUMENT_SHARE + || mode == SSM_DOCUMENT_SHARE + ) { + flag = true; + } + return flag; } +bool mf_ug_util_is_multi_select_mode(int mode) +{ + bool flag = false; + if (mode == MULTI_FILE_MODE + || mode == MULTI_ALL_MODE + || mode == IMPORT_PATH_SELECT_MODE + || mode == IMPORT_MODE + || mode == SSM_DOCUMENT_SHARE + ) { + flag = true; + } + return flag; +} +bool mf_ug_util_is_single_select_mode(int mode) +{ + bool flag = false; + if (mode == SINGLE_FILE_MODE + || mode == SINGLE_ALL_MODE + || mode == IMPORT_SINGLE + ) { + flag = true; + } + return flag; +} +bool mf_ug_util_is_import_mode(int mode) +{ + bool flag = false; + if (mode == IMPORT_MODE + || mode == IMPORT_PATH_SELECT_MODE + || mode == IMPORT_SINGLE + ) { + flag = true; + } + return flag; + +} + +static Eina_List *path_stack = NULL; + +void mf_ug_util_path_push(char *path, int view_type) +{ + mf_ug_view_node_s *view_node = calloc(1, sizeof(mf_ug_view_node_s)); + + if (view_node != NULL) { + view_node->view_type = view_type; + view_node->path = g_strdup(path); + ug_error("path is [%s] view_type is [%d]", path, view_type); + path_stack = eina_list_prepend(path_stack, view_node); + } +} + +mf_ug_view_node_s *mf_ug_util_path_pop() +{ + + mf_ug_view_node_s *view_node = eina_list_nth(path_stack, 0); + path_stack = eina_list_remove(path_stack, view_node); + return view_node; +} + +mf_ug_view_node_s *mf_ug_util_path_top_get() +{ + mf_ug_view_node_s *view_node = eina_list_nth(path_stack, 0); + if (view_node) { + ug_error("================= top path is [%s] view_type is [%d] ", view_node->path, view_node->view_type); + } else { + ug_error("Failed to get the top"); + } + return view_node; +} + +void mf_ug_util_view_node_free(mf_ug_view_node_s **view_node) +{ + if (*view_node != NULL) { + UG_SAFE_FREE_CHAR((*view_node)->path); + free(*view_node); + *view_node = NULL; + } +} + +void mf_ug_util_path_stack_free() +{ + if (path_stack) { + mf_ug_view_node_s *view_node = NULL; + Eina_List *l = NULL; + + EINA_LIST_FOREACH(path_stack, l, view_node) { + mf_ug_util_view_node_free(&view_node); + } + eina_list_free(path_stack); + path_stack = NULL; + } +} diff --git a/src/include/mf-ug-cb.h b/src/include/mf-ug-cb.h index 4ea12e2..8060894 100644 --- a/src/include/mf-ug-cb.h +++ b/src/include/mf-ug-cb.h @@ -1,52 +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. - */ +* Copyright (c) 2000-2015 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. +* +*/ + #ifndef __DEF_MF_UG_CB_H_ #define __DEF_MF_UG_CB_H_ #include <Elementary.h> -#include <vconf.h> -#include <power.h> +#include <device/power.h> +#include <system_settings.h> +#include <storage.h> #include "mf-ug-main.h" #include "mf-ug-util.h" #include "mf-ug-inotify-handle.h" -void mf_ug_cb_back_button_cb(void *data, Evas_Object *obj, void *event_info); +Eina_Bool mf_ug_cb_back_button_cb(void *data, Elm_Object_Item *it); void mf_ug_cb_add_button_cb(void *data, Evas_Object *obj, void *event_info); -void mf_ug_cb_goto_myfile_button_cb(void *data, Evas_Object *obj, void *event_info); void mf_ug_cb_mass_storage_popup_cb(void *data); -void mf_ug_cb_tab_bar_cb(void *data, const char *path); -void mf_ug_cb_ctrl_bar_button_cb(void *data, Evas_Object *obj, void *event_info); +void mf_ug_cb_tab_bar_cb(void *data, char *path); void mf_ug_cb_list_play_cb(ugListItemData *data, Evas_Object *obj, void *event_info); void mf_ug_cb_select_info_show_cb(void *data, Evas *e, Evas_Object *obj, void *event_info); void mf_ug_cb_select_info_hide_cb(void *data, Evas *e, Evas_Object *obj, void *event_info); void mf_ug_cb_select_info_timeout_cb(void *data, Evas_Object *obj, void *event_info); -void mf_ug_cb_mmc_changed_cb(keynode_t *key, void *data); +void mf_ug_cb_mmc_changed_cb(int storage_id, storage_state_e state, void *user_data); void mf_ug_cb_dir_update_cb(mf_ug_inotify_event event, char *name, void *data); void mf_ug_cb_dir_pipe_cb(void *data, void *buffer, unsigned int nbyte); -Eina_Bool mf_ug_cb_thumb_timer_cb(void *data); int mf_ug_cb_set_mass_storage_state_cb(void *data); -void mf_ug_cb_mass_storage_changed_cb(keynode_t *key, void *data); void mf_ug_cb_upper_button_pressed_cb(void *data, Evas_Object * obj, void *event_info); void mf_ug_cb_upper_button_unpressed_cb(void *data, Evas_Object * obj, void *event_info); void mf_ug_cb_upper_click_cb(void *data, Evas_Object * obj, void *event_info); void mf_ug_cb_home_button_pressed_cb(void *data, Evas_Object * obj, void *event_info); void mf_ug_cb_home_button_unpressed_cb(void *data, Evas_Object * obj, void *event_info); void mf_ug_cb_home_button_cb(void *data, Evas_Object * obj, void *event_info); -void mf_ug_cb_sort_by_cb(void *data, Evas_Object *obj, void *event_info); void mf_ug_search_view_enter_search_routine(void *data, Evas_Object * obj, void *event_info); void mf_ug_cb_warning_popup_cb(void *data, Evas_Object * obj, void *event_info); void mf_ug_cb_reach_max_len_cb(void *data, Evas_Object * obj, void *event_info); @@ -54,12 +52,22 @@ void mf_ug_cb_eraser_clicked_cb(void *data, Evas_Object *obj, const char *emissi void mf_ug_cb_save_cb(void *data, Evas_Object *obj, void *event_info); void mf_ug_cb_cancel_new_folder_cb(void *data, Evas_Object * obj, void *event_info); void mf_ug_cb_create_new_folder(void *data, Evas_Object * obj, void *event_info); -void mf_ug_cb_lcd_state_changed_cb(power_state_e state, void *user_data); +//void mf_ug_cb_lcd_state_changed_cb(power_state_e state, void *user_data); Eina_Bool mf_ug_cb_popup_del_idler_cb(void *data); void mf_ug_cb_entry_button_pressed_cb(void *data, Evas_Object * obj, void *event_info); void mf_ug_cb_entry_button_unpressed_cb(void *data, Evas_Object * obj, void *event_info); void mf_ug_cb_play_button_unpressed_cb(void *data, Evas_Object * obj, void *event_info); void mf_ug_cb_play_button_pressed_cb(void *data, Evas_Object * obj, void *event_info); void mf_ug_cb_more_cb(void *data, Evas_Object * obj, void *event_info); - +void mf_ug_cb_default_ringtone_changed_cb(system_settings_key_e key, void *data); +void mf_ug_cb_cancel_button_cb(void *data, Evas_Object *obj, void *event_info); +bool mf_ug_cb_create_thumbnail(void *data, media_thumbnail_completed_cb callback); +void mf_ug_cb_thumb_created_cb(media_content_error_e error, const char *path, void *user_data); +void mf_ug_cb_delete_button_cb(void *data, Evas_Object *obj, void *event_info); +void mf_ug_ringtone_del_cb(void *data, Evas_Object *obj, void *event_info); +void mf_ug_cb_delete_button_popup_create(void *data, Evas_Object *obj, void *event_info); +void mf_ug_cb_delete_button_confirm_cb(void *data, Evas_Object *obj, void *event_info); +void __mf_ug_popup_show_vk(void *data, Evas_Object *obj, void *event_info); +void mf_ug_select_all_cb(void *data, Evas_Object *obj, void *event_info); +void mf_ug_item_sel_all_press_cb(void *data, Evas_Object *obj, void *event_info); #endif diff --git a/src/include/mf-ug-conf.h b/src/include/mf-ug-conf.h index 37c7c2d..6306bbf 100644 --- a/src/include/mf-ug-conf.h +++ b/src/include/mf-ug-conf.h @@ -1,80 +1,106 @@ /* - * 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. - */ +* Copyright (c) 2000-2015 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. +* +*/ + + + + + #ifndef __DEF_MF_UG_CONF_H_ #define __DEF_MF_UG_CONF_H_ #include <Elementary.h> -#define UGPACKAGE "ug-myfile-efl" -#define UGPKGNAME_MYFILE "org.tizen.myfile" -#define UGLOCALEDIR "/usr/ug/res/locale" - -#ifdef UG_OPERATION_SELECT_MODE -#define UG_OPTION_COUNT 6 -#else -#define UG_OPTION_COUNT 5 -#endif -#define UG_ERROR_RETURN (-1) - -#define UG_SELECT_MODE_MULTI_ALL "MULTI_ALL" -#define UG_SELECT_MODE_SINGLE_ALL "SINGLE_ALL" -#define UG_SELECT_MODE_MULTI_FILE "MULTI_FILE" -#define UG_SELECT_MODE_SINGLE_FILE "SINGLE_FILE" -#define UG_SELECT_MODE_IMPORT "IMPORT" -#define UG_SELECT_MODE_IMPORT_PATH_SELECT "IMPORT_PATH_SELECT" -#define UG_SELECT_MODE_IMPORT_SINGLE "IMPORT_SINGLE" -#define UG_SELECT_MODE_EXPORT "EXPORT" -#define UG_SELECT_MODE_SHORTCUT "SHORTCUT" -#define UG_SELECT_MODE_SAVE "SAVE" - -#define UG_FILE_FILTER_IMAGE "IMAGE" -#define UG_FILE_FILTER_SOUND "SOUND" -#define UG_FILE_FILTER_VIDEO "VIDEO" -#define UG_FILE_FILTER_FLASH "FLASH" -#define UG_FILE_FILTER_FOLDER "FOLDER" -#define UG_FILE_FILTER_IV "IV" -#define UG_FILE_FILTER_IS "IS" -#define UG_FILE_FILTER_VS "VS" -#define UG_FILE_FILTER_ALL "ALL" - -#define UG_DRM_FILTER_ALL "DRM_ALL" -#define UG_DRM_FILTER_NONE "DRM_NONE" -#define UG_DRM_FILTER_WITHOUT_FL "DRM_WITHOUT_FL" - -#define UG_MUSIC_PATH "/opt/usr/media/Sounds and music/Music" -#define UG_RINGTION_PATH "/opt/usr/media/Sounds and music/Ringtones" -#define UG_SETTING_RINGTONE_PATH "/opt/share/settings/Ringtones" -#define UG_SETTING_MSG_ALERTS_PATH "/opt/share/settings/Alerts" -#define UG_SETTING_ALERTS_PATH "/opt/share/settings/Alarms" - -#define MAX_MESSAGE_LEN 1024 -#define ACCUMULATED_DATE 86400 /* 24*60*60 */ - -#define DRM_MESSAGE_LEN 256 -#define UG_LABEL_STRING_LENGTH 128 +#define PKGNAME_SYSTEM "sys_string" +#define UGPACKAGE "ug-myfile-efl" +#define UGPKGNAME_MYFILE "org.tizen.myfile" +#define UGLOCALEDIR "/usr/ug/res/locale" +#define MF_IMAGE_HEAD "myfile_" + +#define UG_EDJ_PATH "/usr/ug/res/edje/ug-myfile-efl" +#define UG_ICON_PATH "/usr/apps/ug-myfile-efl/res/images/ug-myfile-efl" + +#define UG_EDJ_NAVIGATIONBAR UG_EDJ_PATH"/ug_navibar_layout.edj" +#define UG_EDJ_IMAGE UG_EDJ_PATH"/ug_edc_image_macro.edj" + + +#define UG_GRP_LIST "thumbnail_only" +#define UG_GRP_NAVI_VIEW "navigation_view" +#define UG_GRP_NO_CONTENT "noContent" +#define UG_OPTION_COUNT 8 +#define UG_ERROR_RETURN (-1) + +#define UG_SELECT_MODE_MULTI_ALL "MULTI_ALL" +#define UG_SELECT_MODE_SINGLE_ALL "SINGLE_ALL" +#define UG_SELECT_MODE_MULTI_FILE "MULTI_FILE" +#define UG_SELECT_MODE_SINGLE_FILE "SINGLE_FILE" +#define UG_SELECT_MODE_IMPORT "IMPORT" +#define UG_SELECT_MODE_IMPORT_PATH_SELECT "IMPORT_PATH_SELECT" +#define UG_SELECT_MODE_IMPORT_SINGLE "IMPORT_SINGLE" +#define UG_SELECT_MODE_EXPORT "EXPORT" +#define UG_SELECT_MODE_SHORTCUT "SHORTCUT" +#define UG_SELECT_MODE_SAVE "SAVE" +#define UG_SELECT_MODE_DOCUMENT_SHARE "DOCUMENT_SHARE" +#define UG_SELECT_MODE_SSM_DOCUMENT_SHARE "SSM_DOCUMENT_SHARE" + +#define UG_FILE_FILTER_IMAGE "IMAGE" +#define UG_FILE_FILTER_SOUND "SOUND" +#define UG_FILE_FILTER_VIDEO "VIDEO" +#define UG_FILE_FILTER_FLASH "FLASH" +#define UG_FILE_FILTER_FOLDER "FOLDER" +#define UG_FILE_FILTER_DOCUMENT "DOCUMENT" +#define UG_FILE_FILTER_IV "IV" +#define UG_FILE_FILTER_IS "IS" +#define UG_FILE_FILTER_VS "VS" +#define UG_FILE_FILTER_ALL "ALL" +#define UG_FILE_MIME_TYPE_IMAGE "image/*" +#define UG_FILE_MIME_TYPE_VIDEO "video/*" +#define UG_FILE_MIME_TYPE_AUDIO "audio/*" +#define UG_FILE_MIME_TYPE_DOCUMENT "document/*" +#define UG_FILE_MIME_TYPE_ALL "*/*" +#define UG_FILE_MIME_TYPE_DIR "inode/directory" + + +#define UG_VIEW_MODE_DEFAULT_SOUND_ITEM "DEFAULT_SOUND_ITEM" + +#define MESSAGE "message" +#define UG_MUSIC_PATH "/opt/usr/media/Sounds and music/Music" +#define UG_RINGTION_PATH "/opt/usr/media/Sounds and music/Ringtones" +#define UG_SETTING_RINGTONE_PATH "/opt/usr/share/settings/Ringtones" +#define UG_SETTING_MSG_ALERTS_PATH "/opt/usr/share/settings/Alerts" +#define UG_SETTING_ALERTS_PATH "/opt/usr/share/settings/Alarms" +#define UG_SETTING_SMART_ALRAMS "/opt/usr/share/settings/Smartalarms" +#define UG_SETTING_DEFAULT_RINGTONE_PATH "/opt/usr/share/settings/Ringtones/Over_the_horizon.ogg" +#define UG_SETTING_DEFAULT_ALERT_PATH "/opt/usr/share/settings/Alerts/Beep_Once.ogg" + + +#define MAX_MESSAGE_LEN 1024 +#define ACCUMULATED_DATE 86400 /* 24*60*60 */ + +#define UG_LABEL_STRING_LENGTH 128 #define UG_TIME_FORMAT "02u:%02u:%02u" #define UG_TIME_ARGS(t) \ - (t) / (3600), \ - ((t) / 60) % 60, \ - (t) % 60 + (t) / (3600), \ + ((t) / 60) % 60, \ + (t) % 60 #define _EDJ(o) elm_layout_edje_get(o) -#define INTERVAL_THUMB_UPDATE 0.5 +#define INTERVAL_THUMB_UPDATE 0.5 #endif /* __DEF_MYFILE_CONF_H_ */ diff --git a/src/include/mf-ug-db-handle.h b/src/include/mf-ug-db-handle.h new file mode 100644 index 0000000..9d18e14 --- /dev/null +++ b/src/include/mf-ug-db-handle.h @@ -0,0 +1,45 @@ +/* +* Copyright (c) 2000-2015 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. +* +*/ + + + + +#ifndef __MF_UG_DB_HANDLE_DEF__ +#define __MF_UG_DB_HANDLE_DEF__ + +#include "mf-ug-media-error.h" + +void mf_ug_db_handle_destory(); +int mf_ug_db_handle_create(); +MFDHandle *mf_ug_db_handle_get(); +void mf_ug_db_handle_get_shortcut_files(void *data); +void mf_ug_db_handle_get_ringtone_files(void *data); +int mf_ug_db_handle_del_ringtone(const char *ringtone_path); +int mf_ug_db_handle_ringtone_in_db(const char *ringtone_path); +int mf_ug_db_handle_ringtone_get_count(); +int mf_ug_db_handle_add_ringtone(const char *ringtone_path, const char *ringtone_name, int storage_type); +bool mf_ug_db_handle_find_ringtone(const char* path); + +//1 Alert +void mf_ug_db_handle_get_alert_files(void *data); +int mf_ug_db_handle_del_alert(const char *alert_path); +int mf_ug_db_handle_alert_in_db(const char *alert_path); +int mf_ug_db_handle_alert_get_count(); +int mf_ug_db_handle_add_alert(const char *alert_path, const char *alert_name, int storage_type); +bool mf_ug_db_handle_find_alert(const char* path); + +#endif diff --git a/src/include/mf-ug-dlog.h b/src/include/mf-ug-dlog.h index 50bf513..44bfbe9 100644 --- a/src/include/mf-ug-dlog.h +++ b/src/include/mf-ug-dlog.h @@ -1,18 +1,22 @@ /* - * 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. - */ +* Copyright (c) 2000-2015 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. +* +*/ + + + #ifndef __DEF_MF_UG_DLOG_H_ #define __DEF_MF_UG_DLOG_H_ @@ -26,7 +30,7 @@ #undef LOG_TAG #endif -#define LOG_TAG "MYFILE-UG" +#define LOG_TAG "MYFILE-UG" #include <dlog.h> @@ -34,53 +38,69 @@ #define LOG_COLOR_RED "\033[31m" #define LOG_COLOR_RESET "\033[0m" +#define FONT_COLOR_RESET "\033[0m" +#define FONT_COLOR_RED "\033[31m" +#define FONT_COLOR_GREEN "\033[32m" +#define FONT_COLOR_YELLOW "\033[33m" +#define FONT_COLOR_BLUE "\033[34m" +#define FONT_COLOR_PURPLE "\033[35m" +#define FONT_COLOR_CYAN "\033[36m" +#define FONT_COLOR_GRAY "\033[37m" + +#define SECURE_DEBUG(fmt, args...) SECURE_LOGD(FONT_COLOR_BLUE fmt FONT_COLOR_RESET, ##args) +#define SECURE_INFO(fmt, args...) SECURE_LOGI(FONT_COLOR_GREEN fmt FONT_COLOR_RESET, ##args) +#define SECURE_ERROR(fmt, args...) SECURE_LOGE(FONT_COLOR_RED fmt FONT_COLOR_RESET, ##args) + #define ug_debug(fmt , args...) LOGD("[%s][%d]debug message from ug-myfile-efl is : "fmt"\n", __func__, __LINE__, ##args) #define ug_myfile_dlog(fmt , args...) LOGD("[%s][%d]debug message from myfile is : "fmt"\n", __func__, __LINE__, ##args) #define UG_TRACE_BEGIN do {\ - {\ - LOGD("\n\033[0;35mENTER FUNCTION: %s. \033[0m\t%s:%d\n", \ - __FUNCTION__, (char *)(strrchr(__FILE__, '/') + 1), __LINE__);\ - } \ - } while (0); + {\ + LOGD("\n\033[0;35mENTER FUNCTION: %s. \033[0m\t%s:%d\n", \ + __FUNCTION__, (char *)(strrchr(__FILE__, '/') + 1), __LINE__);\ + } \ + } while (0); #define UG_TRACE_END do {\ - {\ - LOGD("\n\033[0;35mEXIT FUNCTION: %s. \033[0m\t%s:%d\n", \ - __FUNCTION__, (char *)(strrchr(__FILE__, '/') + 1), __LINE__);\ - } \ - } while (0); -#define ug_error(fmt, arg...) LOGE(LOG_COLOR_RED"[ %s : %d] "fmt""LOG_COLOR_RESET, __FUNCTION__, __LINE__,##arg) + {\ + LOGD("\n\033[0;35mEXIT FUNCTION: %s. \033[0m\t%s:%d\n", \ + __FUNCTION__, (char *)(strrchr(__FILE__, '/') + 1), __LINE__);\ + } \ + } while (0) ; +#define ug_error(fmt, arg...) LOGE(LOG_COLOR_RED"[ %s : %d] "fmt""LOG_COLOR_RESET, __FUNCTION__, __LINE__,##arg) #else #define ug_myfile_dlog(fmt , args...) printf("[MYFILE][%40s:%4d] "fmt"\n", __func__, __LINE__, ##args) #endif -#define ug_mf_debug(fmt , args...) do { (void)0; } while (0) -#define ug_mf_warnig(fmt , args...) do { (void)0; } while (0) -#define ug_mf_error(fmt , args...) do { (void)0; } while (0) -#define UG_MYFILE_TRACE_ERROR(fmt, arg...) do { LOGE("[%s][%d] "fmt"\n", strrchr(__FILE__, '/') + 1, __LINE__, ##arg); } while (0) +#define ug_mf_debug(fmt , args...) do { (void)0; } while (0) +#define ug_mf_warnig(fmt , args...) do { (void)0; } while (0) +#define ug_mf_error(fmt , args...) do { (void)0; } while (0) +#define UG_MYFILE_TRACE_ERROR(fmt, arg...) do { LOGE("[%s][%d] "fmt"\n", strrchr(__FILE__, '/') + 1, __LINE__, ##arg); } while (0) #define ug_mf_retvm_if(expr, val, fmt, arg...) do { \ - if (expr) { \ - UG_MYFILE_TRACE_ERROR(fmt, ##arg); \ - return (val); \ - } \ - } while (0) + if (expr) { \ + UG_MYFILE_TRACE_ERROR(fmt, ##arg); \ + return (val); \ + } \ + } while (0) #define ug_mf_retv_if(expr, val) do { \ - if (expr) { \ - return (val); \ - } \ - } while (0) + if (expr) { \ + return (val); \ + } \ + } while (0) #define ug_mf_retm_if(expr, fmt, arg...) do { \ - if (expr) { \ - UG_MYFILE_TRACE_ERROR(fmt, ##arg); \ - return; \ - } \ - } while (0) - -#define MF_CHECK(expr) ug_mf_retm_if(!(expr),"INVALID PARAM RETURN") + if (expr) { \ + UG_MYFILE_TRACE_ERROR(fmt, ##arg); \ + return; \ + } \ + } while (0) + +#define MF_CHECK(expr) ug_mf_retm_if(!(expr),"INVALID PARAM RETURN") +#define MF_CHECK_FALSE(expr) ug_mf_retvm_if(!(expr), false, "INVALID PARAM RETURN FALSE") +#define MF_CHECK_NULL(expr) ug_mf_retvm_if(!(expr), NULL, "INVALID PARAM RETURN NULL") +#define MF_CHECK_VAL(expr, val) ug_mf_retvm_if(!(expr),val,"INVALID PARM RETURN val:0x%x", val) #endif diff --git a/src/include/mf-ug-file-util.h b/src/include/mf-ug-file-util.h new file mode 100644 index 0000000..11877ba --- /dev/null +++ b/src/include/mf-ug-file-util.h @@ -0,0 +1,44 @@ +/* +* Copyright 2000-2015 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. +* +*/ + +#ifndef __MF_UG_FILE_UTIL_H__ +#define __MF_UG_FILE_UTIL_H__ + +#include <stdio.h> +#include <stdlib.h> +#include <string.h> +#include <sys/stat.h> +#include <dirent.h> +#include <Elementary.h> + +const char* mf_file_get(const char path[]); +char* mf_dir_get(const char path[]); +int mf_file_exists(const char *path); +Eina_Bool mf_is_dir(const char *path); +int mf_is_dir_empty(const char *path); +int mf_mkdir(const char *dir); +int mf_mkpath(const char *path); +char *mf_strip_ext(const char *path); +int mf_file_unlink (const char *filename); +int mf_file_size(const char *filename); +int mf_file_rmdir(const char *filename); +Eina_List *mf_file_ls(const char *dir); +int mf_file_recursive_rm(const char *dir); +int mf_file_cp(const char *src,const char *dst); +int mf_file_mv(const char *src, const char *dst); +int mf_remove(const char *filename); +#endif //__mf_FILE_UTIL_H__ diff --git a/src/include/mf-ug-fm-svc-wrapper.h b/src/include/mf-ug-fm-svc-wrapper.h index 75d657b..bc2f2d9 100644 --- a/src/include/mf-ug-fm-svc-wrapper.h +++ b/src/include/mf-ug-fm-svc-wrapper.h @@ -1,18 +1,22 @@ /* - * 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. - */ +* Copyright (c) 2000-2015 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. +* +*/ + + + #ifndef __DEF_MF_UG_FM_SVC_WRAPPER_H_ #define __DEF_MF_UG_FM_SVC_WRAPPER_H_ @@ -20,12 +24,12 @@ #include <glib.h> #include "mf-ug-main.h" -#define MF_UG_PATH_INFO_MAX_LENGTH_PORTRAIT 35 +#define MF_UG_PATH_INFO_MAX_LENGTH_PORTRAIT 35 /* file information get/set */ unsigned long mf_ug_fm_svc_wapper_get_file_filter(int file_filter_mode); -int mf_ug_fm_svc_wapper_get_drm_filter(int drm_filter_mode, unsigned long file_filter); + int mf_ug_fm_svc_wapper_get_file_list_by_filter(ugData *data, GString *fullpath, Eina_List **dir_list, Eina_List **filter_list); bool mf_ug_fm_svc_wapper_is_root_path(void *data); GString *mf_ug_fm_svc_wapper_get_file_name(GString *path); @@ -35,11 +39,14 @@ gint mf_ug_fm_svc_wapper_get_folder_foldersystem(GString *path, bool *result); GString *mf_ug_fm_svc_wrapper_get_file_parent_path(GString *fullpath); char *mf_ug_fm_svc_wapper_path_info_get(char *original_path); char *mf_ug_fm_svc_path_info_translate(char *path_info, int path_info_max_len); -unsigned long mf_ug_fm_svc_wrapper_get_free_space(int state); +//unsigned long mf_ug_fm_svc_wrapper_get_free_space(int state); +int mf_ug_fm_svc_wrapper_get_free_space(); int mf_ug_fm_svc_wrapper_file_auto_rename(void *data, GString *fullpath, int file_name_type, GString **filename); int mf_ug_fm_svc_wrapper_create_service(void *data, GString *fullpath); bool mf_ug_fm_svc_wrapper_detect_duplication(GString *to); int mf_ug_fm_svc_wrapper_create_p(const char *fullpath); char *mf_ug_fm_svc_wrapper_translate_path(char *original_path); +bool mf_ug_fm_svc_wapper_is_default_ringtone(void *data, char* selected_file); +Eina_List *mf_ug_fm_svc_wrapper_level_path_get(const char *original_path); #endif diff --git a/src/include/mf-ug-fs-util.h b/src/include/mf-ug-fs-util.h index 0027151..5d9ce15 100644 --- a/src/include/mf-ug-fs-util.h +++ b/src/include/mf-ug-fs-util.h @@ -1,18 +1,19 @@ /* - * 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. - */ +* Copyright (c) 2000-2015 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. +* +*/ #ifndef __DEF_MF_UG_FS_UTIL_H_ #define __DEF_MF_UG_FS_UTIL_H_ @@ -27,306 +28,304 @@ #include <sys/types.h> #include <sys/stat.h> #include <linux/fs.h> -#include <Eina.h> - -#include <Elementary.h> -#include <drm_client.h> -#include <drm_client_types.h> -#include <media_content.h> +#include "Eina.h" +#include "Elementary.h" +#include "media_content.h" #include "mf-ug-dlog.h" - -/* File system related value definition */ -#define FILE_EXT_LEN_MAX 8 -#define MYFILE_DIR_PATH_LEN_MAX 4096 -#define MYFILE_FILE_NAME_LEN_MAX 255 -#define MYFILE_FILE_PATH_LEN_MAX MYFILE_DIR_PATH_LEN_MAX + MYFILE_FILE_NAME_LEN_MAX +/* File system related value definition */ +#define FILE_EXT_LEN_MAX 8 +#define MYFILE_DIR_PATH_LEN_MAX 4096 +#define MYFILE_FILE_NAME_LEN_MAX 255 +#define MYFILE_FILE_PATH_LEN_MAX MYFILE_DIR_PATH_LEN_MAX + MYFILE_FILE_NAME_LEN_MAX -/* File system related String definition */ -#define PHONE_FOLDER "/opt/usr/media" -#define MEMORY_FOLDER "/opt/storage/sdcard" -#define PHONE_PARENT "/opt/usr" -#define PHONE_NAME "media" -#define STORAGE_PARENT "/opt/storage" -#define MMC_NAME "sdcard" +/* File system related String definition */ +#define PHONE_FOLDER "/opt/usr/media" +#define MEMORY_FOLDER "/opt/storage/sdcard" +#define PHONE_PARENT "/opt/usr" +#define PHONE_NAME "media" +#define STORAGE_PARENT "/opt/storage" +#define MMC_NAME "sdcard" -#define SOUNDS_FOLDER "/opt/usr/media/Sounds" -#define DEBUG_FOLDER "SLP_debug" +#define SOUNDS_FOLDER "/opt/usr/media/Sounds" +#define DEBUG_FOLDER "SLP_debug" -#define MYFILE_NAME_PATTERN "[\\:;*\"<>|?/]" +#define MYFILE_NAME_PATTERN "[\\:;*\"<>|?/]" -#define IMAGE_AND_VIDEO "Images and videos" -#define SOUND_AND_MUSIC "Sounds and music" -#define DOWNLOADS "Downloads" -#define CAMERA_SHOTS "Camera shots" +#define IMAGE_AND_VIDEO "Images and videos" +#define SOUND_AND_MUSIC "Sounds and music" +#define DOWNLOADS "Downloads" +#define CAMERA_SHOTS "Camera shots" -#define WALLPAPER "Wallpapers" -#define MY_PHOTO_CLIPS "My photo clips" -#define MY_ALBUM "My album" /*/_("IDS_MF_BODY_ACCESS_MORE_MY_ALBUM") */ -#define MY_VIDEO_CLIPS "My video clips" /*/_("IDS_MF_BODY_MY_VIDEO_CLIPS") */ +#define WALLPAPER "Wallpapers" +#define MY_PHOTO_CLIPS "My photo clips" +#define MY_ALBUM "My album" /*/_("IDS_MF_BODY_ACCESS_MORE_MY_ALBUM") */ +#define MY_VIDEO_CLIPS "My video clips" /*/_("IDS_MF_BODY_MY_VIDEO_CLIPS") */ -#define FM_RADIO "FM Radio" /*/dgettext("sys_string", "IDS_COM_HEADER_FMRADIO") */ -#define MUSIC "Music" /*/_("IDS_MF_BODY_MUSIC") */ -#define RINGTONES "Ringtones" -#define VOICE_RECORDER "Voice recorder" /*/dgettext("sys_string", "IDS_COM_BODY_VOICE_RECORDER") */ -#define ALERTS "Alerts" -#define OTHERS "Others" /*/dgettext("sys_string","IDS_COM_BODY_OTHERS") */ +#define FM_RADIO "FM Radio" /*/dgettext("sys_string", "IDS_COM_HEADER_FMRADIO") */ +#define MUSIC "Music" /*/_("IDS_MF_BODY_MUSIC") */ +#define RINGTONES "Ringtones" +#define VOICE_RECORDER "Voice recorder" /*/dgettext("sys_string", "IDS_COM_BODY_VOICE_RECORDER") */ +#define ALERTS "Alerts" +#define OTHERS "Others" /*/dgettext("sys_string","IDS_COM_BODY_OTHERS") */ -/* File system define default folder */ +/* File system define default folder */ -/* compile option */ +/* compile option */ #define UG_DEBUG_FOLDER_OPTION #ifndef UG_ICON_PATH -#define UG_ICON_PATH "/usr/ug/res/images/ug-myfile-efl" +#define UG_ICON_PATH "/usr/apps/ug-myfile-efl/res/images/ug-myfile-efl" #endif #ifndef UG_DEFAULT_ICON -#define UG_DEFAULT_ICON UG_ICON_PATH"/myfile_icon_etc.png" +#define UG_DEFAULT_ICON "myfile_icon_etc.png" #endif -#define UG_ICON_FOLDER UG_ICON_PATH"/myfile_icon_folder.png" -#define UG_ICON_FOLDER_OPEN UG_ICON_PATH"/myfile_icon_folder_open.png" - -#define UG_ICON_IMAGE UG_ICON_PATH"/myfile_icon_images.png" -#define UG_ICON_VIDEO UG_ICON_PATH"/myfile_icon_video.png" -#define UG_ICON_MUSIC UG_ICON_PATH"/myfile_icon_music.png" -#define UG_ICON_SOUND UG_ICON_PATH"/myfile_icon_music.png" -#define UG_ICON_PDF UG_ICON_PATH"/myfile_icon_pdf.png" -#define UG_ICON_DOC UG_ICON_PATH"/myfile_icon_word.png" -#define UG_ICON_PPT UG_ICON_PATH"/myfile_icon_ppt.png" -#define UG_ICON_EXCEL UG_ICON_PATH"/myfile_icon_excel.png" -#define UG_ICON_VOICE UG_ICON_PATH"/myfile_icon_music.png" -#define UG_ICON_HTML UG_ICON_PATH"/myfile_icon_html.png" -#define UG_ICON_FLASH UG_ICON_PATH"/myfile_icon_swf.png" -#define UG_ICON_TXT UG_ICON_PATH"/myfile_icon_text.png" -#define UG_ICON_VCONTACT UG_ICON_PATH"/myfile_icon_svg.png" -#define UG_ICON_VCALENDAR UG_ICON_PATH"/myfile_icon_svg.png" -#define UG_ICON_VNOTE UG_ICON_PATH"/myfile_icon_text.png" -#define UG_ICON_RSS UG_ICON_PATH"/myfile_icon_rss.png" -#define UG_ICON_JAVA UG_ICON_PATH"/myfile_icon_java.png" -#define UG_ICON_MEMORY_SUB UG_ICON_PATH"/myfile_icon_mmc_sub.png" -#define UG_ICON_MUSIC_PLAY_WHITE UG_ICON_PATH"/myfile_icon_control_play.png" -#define UG_ICON_MUSIC_PAUSE_WHITE UG_ICON_PATH"/myfile_icon_control_pause.png" -#define UG_ICON_MUSIC_PLAY_WHITE_PRESS UG_ICON_PATH"/myfile_icon_control_play_press.png" -#define UG_ICON_MUSIC_PAUSE_WHITE_PRESS UG_ICON_PATH"/myfile_icon_control_pause_press.png" -#define UG_ICON_ENTRY_FOLDER UG_ICON_PATH"/myfile_icon_entry_folder.png" -#define UG_ICON_ENTRY_FOLDER_PRESS UG_ICON_PATH"/myfile_icon_entry_folder_press.png" - -#define UG_ICON_BLACK_THEME_UPPER UG_ICON_PATH"/myfile_icon_upper_folder_black_theme.png" -#define UG_ICON_WHITE_THEME_UPPER UG_ICON_PATH"/myfile_icon_upper_folder_white_theme.png" - -#define UG_ICON_PHONE UG_ICON_PATH"/myfile_icon_phone.png" -#define UG_ICON_MEMORY UG_ICON_PATH"/myfile_icon_mmc.png" -#define UG_ICON_VIDEO_PLAY UG_ICON_PATH"/myfile_icon_video_play.png" - -#define UG_ICON_ITEM_PHONE UG_ICON_PATH"/U01_1st_icon_phone.png" -#define UG_ICON_ITEM_MMC UG_ICON_PATH"/U01_1st_icon_memory_card.png" +#define UG_ICON_FOLDER "myfile_icon_folder.png" +#define UG_ICON_ITEM_SHORTCUT "my_files_folder_favorite.png" + +#define UG_ICON_IMAGE "myfile_icon_images.png" +#define UG_ICON_VIDEO "myfile_icon_video.png" +#define UG_ICON_MUSIC "myfile_icon_music.png" +//#define UG_ICON_SOUND "myfile_icon_music.png" +#define UG_ICON_PDF "myfile_icon_pdf.png" +#define UG_ICON_DOC "myfile_icon_word.png" +#define UG_ICON_PPT "myfile_icon_ppt.png" +#define UG_ICON_EXCEL "myfile_icon_excel.png" +//#define UG_ICON_VOICE "myfile_icon_music.png" +#define UG_ICON_HTML "myfile_icon_html.png" +#define UG_ICON_FLASH "myfile_icon_swf.png" +#define UG_ICON_TXT "myfile_icon_text.png" +#define UG_ICON_VCONTACT "myfile_icon_vcard.png" +#define UG_ICON_VCALENDAR "myfile_icon_vcalender.png" +//#define UG_ICON_VNOTE "myfile_icon_text.png" +#define UG_ICON_RSS "myfile_icon_rss.png" +#define UG_ICON_JAVA "myfile_icon_java.png" +#define UG_ICON_TPK "myfile_icon_tpk.png" +#define UG_ICON_SNB "myfile_icon_snb.png" +#define UG_ICON_HWP "myfile_icon_hwp.png" +#define UG_ICON_GUL "myfile_icon_etc.png" +#define UG_ICON_MUSIC_PLAY_WHITE "myfile_icon_control_play.png" +#define UG_ICON_MUSIC_PAUSE_WHITE "myfile_icon_control_pause.png" +#define UG_ICON_MUSIC_PLAY_WHITE_PRESS "myfile_icon_control_play_press.png" +#define UG_ICON_MUSIC_PAUSE_WHITE_PRESS "myfile_icon_control_pause_press.png" +#define UG_ICON_ENTRY_FOLDER "myfile_icon_entry_folder.png" +#define UG_ICON_ENTRY_FOLDER_PRESS "myfile_icon_entry_folder_press.png" +#define UG_ICON_VIDEO_PLAY "myfile_icon_video_play.png" + +//#define UG_ICON_ITEM_PHONE "myfile_icon_folder.png" +#define UG_ICON_ITEM_MMC "myfile_icon_folder_sdcard.png" +#define UG_ICON_MMC "myfile_icon_grid_folder_card.png" + +#define UG_ICON_ADD "myfile_icon_add.png" +#define UG_ICON_DELETE "myfile_icon_delete.png" +#define UG_ICON_CREATE_FOLDER "myfile_icon_create_folder.png" +#define UG_ICON_MULTI_NO_CONTENTS "00_nocontents_multimedia.png" + +#define UG_ICON_ITEM_ROOT_PHONE "myfile_icon_root_folder_device_memory.png" +#define UG_ICON_ITEM_ROOT_MMC "my_files_sd_card.png" + typedef enum _mf_ug_fs_file_type mf_ug_fs_file_type; enum _mf_ug_fs_file_type { - UG_FILE_TYPE_NONE = 0, - UG_FILE_TYPE_DIR, /**< Folder category */ - UG_FILE_TYPE_FILE, /**< File category */ - UG_FILE_TYPE_IMAGE, /**< Image category */ - UG_FILE_TYPE_VIDEO, /**< Video category */ - UG_FILE_TYPE_MUSIC, /**< Music category */ - UG_FILE_TYPE_SOUND, /**< Sound category */ - UG_FILE_TYPE_PDF, /**< Pdf category */ - UG_FILE_TYPE_DOC, /**< Word category */ - UG_FILE_TYPE_PPT, /**< Powerpoint category */ - UG_FILE_TYPE_EXCEL, /**< Excel category */ - UG_FILE_TYPE_VOICE, /**< Voice category */ - UG_FILE_TYPE_HTML, /**< Html category */ - UG_FILE_TYPE_FLASH, /**< Flash category */ - UG_FILE_TYPE_GAME, /**< Game category */ - UG_FILE_TYPE_APP, /**< Application category */ - UG_FILE_TYPE_THEME, /**< Theme category */ - UG_FILE_TYPE_TXT, /**< Txt category */ - UG_FILE_TYPE_VCONTACT, /**< Vcontact category */ - UG_FILE_TYPE_VCALENDAR, /**< Vcalendar category */ - UG_FILE_TYPE_VNOTE, /**< Vnote category */ - UG_FILE_TYPE_VBOOKMARK, /**< Vbookmark category */ - UG_FILE_TYPE_VIDEO_PROJECT, /**< Video editor project category */ - UG_FILE_TYPE_RADIO_RECORDED, /**< radio recorded clips category */ - UG_FILE_TYPE_MOVIE_MAKER, /**< Movie maker project category */ - UG_FILE_TYPE_SVG, /**< Svg category */ - UG_FILE_TYPE_RSS, /**< Rss reader file, *.opml */ - UG_FILE_TYPE_CERTIFICATION, /**< certification file, *.pem */ - UG_FILE_TYPE_JAVA, /**< java file, *.jad, *.jar */ - UG_FILE_TYPE_WGT, /**< wrt , *.wgt, *.wgt */ - UG_FILE_TYPE_DRM, /**< drm file , *.dcf */ - UG_FILE_TYPE_ETC, /**< Other files category */ - UG_FILE_TYPE_MAX + UG_FILE_TYPE_NONE = 0, + + UG_FILE_TYPE_DIR, /**< Folder category */ + UG_FILE_TYPE_FILE, /**< File category */ + UG_FILE_TYPE_IMAGE, /**< Image category */ + UG_FILE_TYPE_VIDEO, /**< Video category */ + UG_FILE_TYPE_MUSIC, /**< Music category */ + + UG_FILE_TYPE_SOUND, /**< Sound category */ + UG_FILE_TYPE_PDF, /**< Pdf category */ + UG_FILE_TYPE_DOC, /**< Word category */ + UG_FILE_TYPE_PPT, /**< Powerpoint category */ + UG_FILE_TYPE_EXCEL, /**< Excel category */ + + UG_FILE_TYPE_VOICE, /**< Voice category */ + UG_FILE_TYPE_HTML, /**< Html category */ + UG_FILE_TYPE_FLASH, /**< Flash category */ + UG_FILE_TYPE_GAME, /**< Game category */ + UG_FILE_TYPE_APP, /**< Application category */ + + UG_FILE_TYPE_THEME, /**< Theme category */ + UG_FILE_TYPE_TXT, /**< Txt category */ + UG_FILE_TYPE_VCONTACT, /**< Vcontact category */ + UG_FILE_TYPE_VCALENDAR, /**< Vcalendar category */ + UG_FILE_TYPE_VNOTE, /**< Vnote category */ + + UG_FILE_TYPE_VBOOKMARK, /**< Vbookmark category */ + UG_FILE_TYPE_VIDEO_PROJECT, /**< Video editor project category */ + UG_FILE_TYPE_RADIO_RECORDED, /**< radio recorded clips category */ + UG_FILE_TYPE_MOVIE_MAKER, /**< Movie maker project category */ + UG_FILE_TYPE_SVG, /**< Svg category */ + + UG_FILE_TYPE_RSS, /**< Rss reader file, *.opml */ + UG_FILE_TYPE_CERTIFICATION, /**< certification file, *.pem */ + UG_FILE_TYPE_JAVA, /**< java file, *.jad, *.jar */ + UG_FILE_TYPE_WGT, /**< wrt , *.wgt, *.wgt */ + UG_FILE_TYPE_MP4_AUDIO, + UG_FILE_TYPE_MP4_VIDEO, + UG_FILE_TYPE_TPK, /**< *.tpk>*/ + UG_FILE_TYPE_SNB, /**<*.snb> */ + UG_FILE_TYPE_GUL, /**<*.gul> */ + + UG_FILE_TYPE_HWP, /**<*.hwp> */ + UG_FILE_TYPE_ETC, /**< Other files category */ + UG_FILE_TYPE_MAX }; typedef enum _mf_ug_iter_category_filter_t mf_ug_iter_category_filter_t; enum _mf_ug_iter_category_filter_t { - UG_FILTER_CATEGORY_NONE = 0x00000000, /**< Default */ - UG_FILTER_CATEGORY_IMAGE = 0x00000001, /**< Image category */ - UG_FILTER_CATEGORY_VIDEO = 0x00000002, /**< Video category */ - UG_FILTER_CATEGORY_SOUND = 0x00000004, /**< Sound category */ - UG_FILTER_CATEGORY_VOICE = 0x00000008, /**< Voice category */ - UG_FILTER_CATEGORY_MUSIC = 0x00000010, /**< Music category */ - UG_FILTER_CATEGORY_HTML = 0x00000020, /**< Html category */ - UG_FILTER_CATEGORY_FLASH = 0x00000040, /**< Flash category */ - UG_FILTER_CATEGORY_GAME = 0x00000080, /**< Game category */ - UG_FILTER_CATEGORY_APP = 0x00000100, /**< Application category */ - UG_FILTER_CATEGORY_THEME = 0x00000200, /**< Theme category */ - UG_FILTER_CATEGORY_DOC = 0x00000400, /**< Word category */ - UG_FILTER_CATEGORY_EXCEL = 0x00000800, /**< Excel category */ - UG_FILTER_CATEGORY_PPT = 0x00001000, /**< Powerpoint category */ - UG_FILTER_CATEGORY_PDF = 0x00002000, /**< Pdf category */ - UG_FILTER_CATEGORY_TXT = 0x00004000, /**< Txt category */ - UG_FILTER_CATEGORY_VCONTACT = 0x00008000, /**< Vcontact category */ - UG_FILTER_CATEGORY_VCALENDAR = 0x00010000, /**< Vcalendar category */ - UG_FILTER_CATEGORY_VNOTE = 0x00020000, /**< Vnote category */ - UG_FILTER_CATEGORY_VBOOKMARK = 0x00040000, /**< Vbookmark category */ - UG_FILTER_CATEGORY_VIDEO_PROJECT = 0x00080000, /**< Video editor project category */ - UG_FILTER_CATEGORY_SVG = 0x00100000, /**< SVG category */ - UG_FILTER_CATEGORY_RSS = 0x00200000, /**< RSS category */ - UG_FILTER_CATEGORY_ETC = 0x00400000, /**< Other files category */ - + UG_FILTER_CATEGORY_NONE = 0x00000000, /**< Default */ + UG_FILTER_CATEGORY_IMAGE = 0x00000001, /**< Image category */ + UG_FILTER_CATEGORY_VIDEO = 0x00000002, /**< Video category */ + UG_FILTER_CATEGORY_SOUND = 0x00000004, /**< Sound category */ + UG_FILTER_CATEGORY_VOICE = 0x00000008, /**< Voice category */ + UG_FILTER_CATEGORY_MUSIC = 0x00000010, /**< Music category */ + UG_FILTER_CATEGORY_HTML = 0x00000020, /**< Html category */ + UG_FILTER_CATEGORY_FLASH = 0x00000040, /**< Flash category */ + UG_FILTER_CATEGORY_GAME = 0x00000080, /**< Game category */ + UG_FILTER_CATEGORY_APP = 0x00000100, /**< Application category */ + UG_FILTER_CATEGORY_THEME = 0x00000200, /**< Theme category */ + UG_FILTER_CATEGORY_DOC = 0x00000400, /**< Word category */ + UG_FILTER_CATEGORY_EXCEL = 0x00000800, /**< Excel category */ + UG_FILTER_CATEGORY_PPT = 0x00001000, /**< Powerpoint category */ + UG_FILTER_CATEGORY_PDF = 0x00002000, /**< Pdf category */ + UG_FILTER_CATEGORY_TXT = 0x00004000, /**< Txt category */ + UG_FILTER_CATEGORY_VCONTACT = 0x00008000, /**< Vcontact category */ + UG_FILTER_CATEGORY_VCALENDAR = 0x00010000, /**< Vcalendar category */ + UG_FILTER_CATEGORY_VNOTE = 0x00020000, /**< Vnote category */ + UG_FILTER_CATEGORY_VBOOKMARK = 0x00040000, /**< Vbookmark category */ + UG_FILTER_CATEGORY_VIDEO_PROJECT = 0x00080000, /**< Video editor project category */ + UG_FILTER_CATEGORY_SVG = 0x00100000, /**< SVG category */ + UG_FILTER_CATEGORY_RSS = 0x00200000, /**< RSS category */ + UG_FILTER_CATEGORY_ETC = 0x00400000, /**< Other files category */ + UG_FILTER_CATEGORY_MP4_VIDEO = 0x00800000, + UG_FILTER_CATEGORY_MP4_AUDIO = 0x0100000, + UG_FILTER_CATEGORY_SNB = 0x0200000, + UG_FILTER_CATEGORY_GUL = 0x0400000, + UG_FILTER_CATEGORY_HWP = 0x0800000, + UG_FILTER_CATEGORY_ALL = 0x8000000, }; -typedef enum _mf_ug_drm_filter mf_ug_drm_filter; -enum _mf_ug_drm_filter { - MF_UG_FILTER_DRM_NONE = 0x00000000, /**< Default */ - MF_UG_FILTER_DRM_ALL = 0x00000001, - MF_UG_FILTER_DRM_WITHOUT_FL = 0x00000002, - MF_UG_FILTER_DRM_IMAGE = 0x00000004, - MF_UG_FILTER_DRM_RINGTONE = 0x00000008, -}; typedef enum _mf_ug_storage_type mf_ug_storage_type; enum _mf_ug_storage_type { - MF_UG_NONE, - MF_UG_PHONE, - MF_UG_MMC, - MF_UG_MAX -}; - - - -typedef enum _mf_ug_drm_file_mime_type mf_ug_drm_file_mime_type; -enum _mf_ug_drm_file_mime_type { - MF_UG_DRM_UNKNOW_FILE = 0, - MF_UG_DRM_IMAGE_FILE, - MF_UG_DRM_RINGTONE_FILE, - MF_UG_DRM_VIDEO_FILE, - MF_UG_DRM_FILE_MAX + MF_UG_NONE, + MF_UG_PHONE, + MF_UG_MMC, + MF_UG_MAX }; typedef enum _mf_ug_sort_option mf_ug_sort_option; enum _mf_ug_sort_option { - MF_UG_SORT_BY_NONE = 0, /**< Sort by default */ - MF_UG_SORT_BY_NAME_A2Z, /**< Sort by file name ascending */ - MF_UG_SORT_BY_SIZE_S2L, /**< Sort by file size ascending */ - MF_UG_SORT_BY_DATE_O2R, /**< Sort by file date ascending */ - MF_UG_SORT_BY_TYPE_A2Z, /**< Sort by file type ascending */ - MF_UG_SORT_BY_NAME_Z2A, /**< Sort by file name descending */ - MF_UG_SORT_BY_SIZE_L2S, /**< Sort by file size descending */ - MF_UG_SORT_BY_DATE_R2O, /**< Sort by file date descending */ - MF_UG_SORT_BY_TYPE_Z2A, /**< Sort by file type descending */ - MF_UG_SORT_BY_MAX + MF_UG_SORT_BY_NONE = 0, /**< Sort by default */ + MF_UG_SORT_BY_NAME_A2Z, /**< Sort by file name ascending */ + MF_UG_SORT_BY_SIZE_S2L, /**< Sort by file size ascending */ + MF_UG_SORT_BY_DATE_O2R, /**< Sort by file date ascending */ + MF_UG_SORT_BY_TYPE_A2Z, /**< Sort by file type ascending */ + MF_UG_SORT_BY_NAME_Z2A, /**< Sort by file name descending */ + MF_UG_SORT_BY_SIZE_L2S, /**< Sort by file size descending */ + MF_UG_SORT_BY_DATE_R2O, /**< Sort by file date descending */ + MF_UG_SORT_BY_TYPE_Z2A, /**< Sort by file type descending */ + MF_UG_SORT_BY_MAX } ; typedef enum __MF_UG_SORT_BY_PRIORITY_SEQUENCE MF_UG_SORT_BY_PRIORITY_SEQUENCE; enum __MF_UG_SORT_BY_PRIORITY_SEQUENCE { - MF_UG_SORT_BY_PRIORITY_TYPE_A2Z, - MF_UG_SORT_BY_PRIORITY_TYPE_Z2A, - MF_UG_SORT_BY_PRIORITY_DATE_O2R, - MF_UG_SORT_BY_PRIORITY_DATE_R2O, - MF_UG_SORT_BY_PRIORITY_SIZE_S2L, - MF_UG_SORT_BY_PRIORITY_SIZE_L2S, + MF_UG_SORT_BY_PRIORITY_TYPE_A2Z, + MF_UG_SORT_BY_PRIORITY_TYPE_Z2A, + MF_UG_SORT_BY_PRIORITY_DATE_O2R, + MF_UG_SORT_BY_PRIORITY_DATE_R2O, + MF_UG_SORT_BY_PRIORITY_SIZE_S2L, + MF_UG_SORT_BY_PRIORITY_SIZE_L2S, }; -/* File operation error check options definition */ -#define MF_ERROR_CHECK_SRC_ARG_VALID 0x0001 -#define MF_ERROR_CHECK_SRC_EXIST 0x0002 -#define MF_ERROR_CHECK_SRC_PATH_VALID 0x0004 -#define MF_ERROR_CHECK_DUPLICATED 0x0008 +/* File operation error check options definition */ +#define MF_ERROR_CHECK_SRC_ARG_VALID 0x0001 +#define MF_ERROR_CHECK_SRC_EXIST 0x0002 +#define MF_ERROR_CHECK_SRC_PATH_VALID 0x0004 +#define MF_ERROR_CHECK_DUPLICATED 0x0008 -/* File system error definition */ +/* File system error definition */ #define MF_ERROR_MASKL16 0xFFFF - #define MF_ERROR_SET(X) (X & MF_ERROR_MASKL16) - #define MID_CONTENTS_MGR_ERROR 0 - -#define MYFILE_ERR_NONE (MID_CONTENTS_MGR_ERROR - MF_ERROR_SET(0x00)) /**< No error */ +#define MYFILE_ERR_NONE (MID_CONTENTS_MGR_ERROR - MF_ERROR_SET(0x00)) /**< No error */ /*/1-10*/ -#define MYFILE_ERR_SRC_ARG_INVALID (MID_CONTENTS_MGR_ERROR - MF_ERROR_SET(0x01)) /**< invalid src argument */ -#define MYFILE_ERR_DST_ARG_INVALID (MID_CONTENTS_MGR_ERROR - MF_ERROR_SET(0x02)) /**< invalid dst argument */ -#define MYFILE_ERR_DIR_OPEN_FAIL (MID_CONTENTS_MGR_ERROR - MF_ERROR_SET(0x03)) /**< exception of dir open*/ -#define MYFILE_ERR_INVALID_DIR_PATH (MID_CONTENTS_MGR_ERROR - MF_ERROR_SET(0x04)) /**< exception of invalid dir path */ -#define MYFILE_ERR_INVALID_FILE_NAME (MID_CONTENTS_MGR_ERROR - MF_ERROR_SET(0x05)) /**< exception of invalid file name */ -#define MYFILE_ERR_INVALID_FILE_PATH (MID_CONTENTS_MGR_ERROR - MF_ERROR_SET(0x06)) /**< exception of invalid file path */ -#define MYFILE_ERR_DRM_PERMISSION_DENY (MID_CONTENTS_MGR_ERROR - MF_ERROR_SET(0x07)) /**< can't copy/move drm file because of permission */ -#define MYFILE_ERR_SRC_NOT_EXIST (MID_CONTENTS_MGR_ERROR - MF_ERROR_SET(0x08)) /**< source not found */ -#define MYFILE_ERR_STORAGE_TYPE_ERROR (MID_CONTENTS_MGR_ERROR - MF_ERROR_SET(0x09)) /**< storage type error */ -#define MYFILE_ERR_EXT_GET_ERROR (MID_CONTENTS_MGR_ERROR - MF_ERROR_SET(0x0a)) /**< get ext type failed */ -#define MYFILE_ERR_GET_STAT_FAIL (MID_CONTENTS_MGR_ERROR - MF_ERROR_SET(0x0b)) /**< get stat failed */ -#define MYFILE_ERR_GET_CATEGORY_FAIL (MID_CONTENTS_MGR_ERROR - MF_ERROR_SET(0x0c)) /**< get file category failed */ -#define MYFILE_ERR_GET_VCONF_FAIL (MID_CONTENTS_MGR_ERROR - MF_ERROR_SET(0x0d)) /**< get vconf value failed */ -#define MYFILE_ERR_INVALID_ARG (MID_CONTENTS_MGR_ERROR - MF_ERROR_SET(0x0e)) /**< argument of function is not valid */ -#define MYFILE_ERR_ALLOCATE_FAIL (MID_CONTENTS_MGR_ERROR - MF_ERROR_SET(0x0f)) -#define MYFILE_ERR_LIST_PLAY_FAIL (MID_CONTENTS_MGR_ERROR - MF_ERROR_SET(0x10)) -#define MYFILE_ERR_INVALID_PATH (MID_CONTENTS_MGR_ERROR - MF_ERROR_SET(0x11)) /**< invalid path string */ -#define MYFILE_ERR_GET_THUMBNAIL_FAILED (MID_CONTENTS_MGR_ERROR - MF_ERROR_SET(0x12)) /**<get thumbnail failed */ -#define MYFILE_ERR_UNKNOW_ERROR (MID_CONTENTS_MGR_ERROR - MF_ERROR_SET(0x13)) /**<unknow error */ -#define MYFILE_ERR_NO_FREE_SPACE (MID_CONTENTS_MGR_ERROR - MF_ERROR_SET(0x14)) /**< get free space failed */ -#define MYFILE_ERR_DUPLICATED_NAME (MID_CONTENTS_MGR_ERROR - MF_ERROR_SET(0x15)) /**< exception of duplicated dir name*/ -#define MYFILE_ERR_ALLOCATE_MEMORY_FAIL (MID_CONTENTS_MGR_ERROR - MF_ERROR_SET(0x16)) /**< exception of memory allocation */ -#define MYFILE_ERR_GET_LOGIC_PATH_FAIL (MID_CONTENTS_MGR_ERROR - MF_ERROR_SET(0x17)) /**< get logical path failed */ -#define MYFILE_ERR_GENERATE_NAME_FAIL (MID_CONTENTS_MGR_ERROR - MF_ERROR_SET(0x18)) /**< generate name failed */ -#define MYFILE_ERR_DIR_CREATE_FAIL (MID_CONTENTS_MGR_ERROR - MF_ERROR_SET(0x19)) /**< exception of create dir */ -#define MYFILE_ERR_GET_PARENT_PATH_FAIL (MID_CONTENTS_MGR_ERROR - MF_ERROR_SET(0x1a)) /**< get parent path failed */ -#define MYFILE_ERR_EXCEED_MAX_LENGTH (MID_CONTENTS_MGR_ERROR - MF_ERROR_SET(0x1b)) /**< length of file/dir path exceeds maximum length*/ - -/* File system related callback definition */ - +#define MYFILE_ERR_SRC_ARG_INVALID (MID_CONTENTS_MGR_ERROR - MF_ERROR_SET(0x01)) /**< invalid src argument */ +#define MYFILE_ERR_DST_ARG_INVALID (MID_CONTENTS_MGR_ERROR - MF_ERROR_SET(0x02)) /**< invalid dst argument */ +#define MYFILE_ERR_DIR_OPEN_FAIL (MID_CONTENTS_MGR_ERROR - MF_ERROR_SET(0x03)) /**< exception of dir open*/ +#define MYFILE_ERR_INVALID_DIR_PATH (MID_CONTENTS_MGR_ERROR - MF_ERROR_SET(0x04)) /**< exception of invalid dir path */ +#define MYFILE_ERR_INVALID_FILE_NAME (MID_CONTENTS_MGR_ERROR - MF_ERROR_SET(0x05)) /**< exception of invalid file name */ +#define MYFILE_ERR_INVALID_FILE_PATH (MID_CONTENTS_MGR_ERROR - MF_ERROR_SET(0x06)) /**< exception of invalid file path */ +#define MYFILE_ERR_SRC_NOT_EXIST (MID_CONTENTS_MGR_ERROR - MF_ERROR_SET(0x08)) /**< source not found */ +#define MYFILE_ERR_STORAGE_TYPE_ERROR (MID_CONTENTS_MGR_ERROR - MF_ERROR_SET(0x09)) /**< storage type error */ +#define MYFILE_ERR_EXT_GET_ERROR (MID_CONTENTS_MGR_ERROR - MF_ERROR_SET(0x0a)) /**< get ext type failed */ +#define MYFILE_ERR_GET_STAT_FAIL (MID_CONTENTS_MGR_ERROR - MF_ERROR_SET(0x0b)) /**< get stat failed */ +#define MYFILE_ERR_GET_CATEGORY_FAIL (MID_CONTENTS_MGR_ERROR - MF_ERROR_SET(0x0c)) /**< get file category failed */ +#define MYFILE_ERR_GET_CONF_FAIL (MID_CONTENTS_MGR_ERROR - MF_ERROR_SET(0x0d)) /**< get conf value failed */ +#define MYFILE_ERR_INVALID_ARG (MID_CONTENTS_MGR_ERROR - MF_ERROR_SET(0x0e)) /**< argument of function is not valid */ +#define MYFILE_ERR_ALLOCATE_FAIL (MID_CONTENTS_MGR_ERROR - MF_ERROR_SET(0x0f)) +#define MYFILE_ERR_LIST_PLAY_FAIL (MID_CONTENTS_MGR_ERROR - MF_ERROR_SET(0x10)) +#define MYFILE_ERR_INVALID_PATH (MID_CONTENTS_MGR_ERROR - MF_ERROR_SET(0x11)) /**< invalid path string */ +#define MYFILE_ERR_GET_THUMBNAIL_FAILED (MID_CONTENTS_MGR_ERROR - MF_ERROR_SET(0x12)) /**<get thumbnail failed */ +#define MYFILE_ERR_UNKNOW_ERROR (MID_CONTENTS_MGR_ERROR - MF_ERROR_SET(0x13)) /**<unknow error */ +#define MYFILE_ERR_NO_FREE_SPACE (MID_CONTENTS_MGR_ERROR - MF_ERROR_SET(0x14)) /**< get free space failed */ +#define MYFILE_ERR_DUPLICATED_NAME (MID_CONTENTS_MGR_ERROR - MF_ERROR_SET(0x15)) /**< exception of duplicated dir name*/ +#define MYFILE_ERR_ALLOCATE_MEMORY_FAIL (MID_CONTENTS_MGR_ERROR - MF_ERROR_SET(0x16)) /**< exception of memory allocation */ +#define MYFILE_ERR_GET_LOGIC_PATH_FAIL (MID_CONTENTS_MGR_ERROR - MF_ERROR_SET(0x17)) /**< get logical path failed */ +#define MYFILE_ERR_GENERATE_NAME_FAIL (MID_CONTENTS_MGR_ERROR - MF_ERROR_SET(0x18)) /**< generate name failed */ +#define MYFILE_ERR_DIR_CREATE_FAIL (MID_CONTENTS_MGR_ERROR - MF_ERROR_SET(0x19)) /**< exception of create dir */ +#define MYFILE_ERR_GET_PARENT_PATH_FAIL (MID_CONTENTS_MGR_ERROR - MF_ERROR_SET(0x1a)) /**< get parent path failed */ +#define MYFILE_ERR_EXCEED_MAX_LENGTH (MID_CONTENTS_MGR_ERROR - MF_ERROR_SET(0x1b)) /**< length of file/dir path exceeds maximum length*/ + +/* File system related callback definition */ typedef struct _ugFsNodeInfo ugFsNodeInfo; struct _ugFsNodeInfo { - char path[MYFILE_DIR_PATH_LEN_MAX]; - char name[MYFILE_FILE_NAME_LEN_MAX]; - time_t date; - mf_ug_fs_file_type type; - char *ext; - unsigned int size; + char *path; + char *name; + time_t date; + mf_ug_fs_file_type type; + char *ext; + unsigned int size; + int storage_type; }; -/********** File Attribute Related **********/ +/********** File Attribute Related **********/ int mf_ug_file_attr_get_file_stat(const char *filename, ugFsNodeInfo ** node); - -int mf_ug_file_attr_get_file_category(const char *filepath, mf_ug_fs_file_type * category); +int mf_ug_file_attr_get_file_category(char *filepath, mf_ug_fs_file_type * category); int mf_ug_file_attr_is_dir(const char *filepath); int mf_ug_file_attr_get_store_type_by_full(const char *filepath, mf_ug_storage_type * store_type); -int mf_ug_file_attr_is_drm_file(const char *file_fullpath); int mf_ug_file_attr_get_file_ext(const char *filepath, char **file_ext); int mf_ug_file_attr_is_right_dir_path(const char *dir_path); int mf_ug_file_attr_is_right_file_path(const char *file_path); int mf_ug_file_attr_is_duplicated_name(const char *dir, const char *name); int mf_ug_file_attr_get_logical_path_by_full(const char *full_path, char **path); int mf_ug_file_attr_is_valid_name(const char *filename); - -/********** File Operation Related **********/ -int mf_ug_fs_oper_read_dir(const char *path, Eina_List **dir_list, Eina_List **file_list); -int mf_ug_fs_oper_list_filter(Eina_List *in_list, Eina_List **out_list, int option, int drm_opt); -int mf_ug_fs_oper_list_filter_by_extension(Eina_List *in_list, Eina_List **out_list, char *ext); -int mf_ug_file_attr_get_file_icon(const char *file_path, int *error_code, char **thumbnail); -mf_ug_drm_file_mime_type mf_ug_fs_oper_get_drm_type(char *path); +char *mf_ug_file_attr_default_icon_get_by_type(mf_ug_fs_file_type ftype); int mf_ug_file_attr_is_system_dir(char *fullpath, bool * result); +char *mf_ug_file_attr_sound_title_get(const char *fullpath); +int mf_ug_file_attr_get_file_size(const char *filename, off_t *size); +int mf_ug_file_attr_get_file_icon(char *file_path, int *error_code, char **thumbnail, + media_info_h *media_info); +mf_ug_fs_file_type mf_ug_file_attr_get_file_type(const char *mime); mf_ug_fs_file_type mf_ug_file_attr_get_file_type_by_mime(const char *file_path); + +/********** File Operation Related **********/ +int mf_ug_fs_oper_read_dir(char *path, Eina_List **dir_list, Eina_List **file_list); +int mf_ug_fs_oper_list_filter(Eina_List *in_list, Eina_List **out_list, int option); +int mf_ug_fs_oper_list_filter_by_extension(Eina_List *in_list, Eina_List **out_list, char *ext); int mf_ug_fs_oper_create_dir(const char *dir); void mf_ug_fs_oper_sort_list(Eina_List **list, int sort_opt); -int mf_ug_fs_oper_drm_is_action_allowed(const char *path, drm_action_type_e action, drm_setas_category_e category); -bool mf_ug_fs_oper_drm_is_valid(const char *path, drm_permission_type_e perm_type); + #endif diff --git a/src/include/mf-ug-inotify-handle.h b/src/include/mf-ug-inotify-handle.h index 8c85604..f3078dd 100644 --- a/src/include/mf-ug-inotify-handle.h +++ b/src/include/mf-ug-inotify-handle.h @@ -1,33 +1,38 @@ /* - * 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. - */ +* Copyright (c) 2000-2015 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. +* +*/ + + + + #ifndef __DEF_MF_UG_INOTIFY_HANDLE_H #define __DEF_MF_UG_INOTIFY_HANDLE_H typedef enum _mf_ug_inotify_event mf_ug_inotify_event; enum _mf_ug_inotify_event { - UG_MF_INOTI_NONE = 0, - UG_MF_INOTI_CREATE, - UG_MF_INOTI_DELETE, - UG_MF_INOTI_MODIFY, - UG_MF_INOTI_MOVE_OUT, - UG_MF_INOTI_MOVE_IN, - UG_MF_INOTI_DELETE_SELF, - UG_MF_INOTI_MOVE_SELF, - UG_MF_INOTI_MAX, + UG_MF_INOTI_NONE = 0, + UG_MF_INOTI_CREATE, + UG_MF_INOTI_DELETE, + UG_MF_INOTI_MODIFY, + UG_MF_INOTI_MOVE_OUT, + UG_MF_INOTI_MOVE_IN, + UG_MF_INOTI_DELETE_SELF, + UG_MF_INOTI_MOVE_SELF, + UG_MF_INOTI_MAX, }; typedef void (*mf_ug_inotify_cb) (mf_ug_inotify_event event, char *name, void *data); diff --git a/src/include/mf-ug-list-play.h b/src/include/mf-ug-list-play.h index 493785d..36c9356 100644 --- a/src/include/mf-ug-list-play.h +++ b/src/include/mf-ug-list-play.h @@ -1,18 +1,20 @@ /* - * 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. - */ +* Copyright (c) 2000-2015 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. +* +*/ + #ifndef __MF_UG_LIST_PLAY_H #define __MF_UG_LIST_PLAY_H @@ -21,53 +23,60 @@ #include <sound_manager.h> typedef enum { - MF_PLAYER_CB_TYPE_STARTED, - MF_PLAYER_CB_TYPE_PAUSED, - MF_PLAYER_CB_TYPE_COMPLETED, - MF_PLAYER_CB_TYPE_INTURRUPTED, - MF_PLAYER_CB_TYPE_ERROR, - MF_PLAYER_CB_TYPE_BUFFERING, - MF_PLAYER_CB_TYPE_PREPARE, - MF_PLAYER_CB_TYPE_NUM, + MF_PLAYER_CB_TYPE_STARTED, + MF_PLAYER_CB_TYPE_PAUSED, + MF_PLAYER_CB_TYPE_COMPLETED, + MF_PLAYER_CB_TYPE_INTURRUPTED, + MF_PLAYER_CB_TYPE_ERROR, + MF_PLAYER_CB_TYPE_BUFFERING, + MF_PLAYER_CB_TYPE_PREPARE, + MF_PLAYER_CB_TYPE_NUM, } mf_player_cb_type; typedef enum { - MF_VOLUME_NONE, - MF_VOLUME_ALERT, - MF_VOLUME_NOTIFICATION, - MF_VOLUME_RINGTONE, - MF_VOLUME_NUM + MF_VOLUME_NONE, + MF_VOLUME_ALERT, + MF_VOLUME_NOTIFICATION, + MF_VOLUME_RINGTONE, + MF_VOLUME_NUM } mf_player_volume_type; typedef struct __mf_player_cbs mf_player_cbs; struct __mf_player_cbs{ - /* player callbacks */ - /*note: start callback and paused callback for player have been removed*/ - /*player_started_cb started_cb;*/ - /*player_paused_cb paused_cb;*/ - player_completed_cb completed_cb; - player_interrupted_cb interrupted_cb; - player_error_cb error_cb; - player_buffering_cb buffering_cb; - player_prepared_cb prepare_cb; + /* player callbacks */ + /*note: start callback and paused callback for player have been removed*/ + /*player_started_cb started_cb;*/ + /*player_paused_cb paused_cb;*/ + player_completed_cb completed_cb; + player_interrupted_cb interrupted_cb; + player_error_cb error_cb; + player_buffering_cb buffering_cb; + player_prepared_cb prepare_cb; - /* callback user data */ - void *user_data[MF_PLAYER_CB_TYPE_NUM]; + /* callback user data */ + void *user_data[MF_PLAYER_CB_TYPE_NUM]; }; typedef struct { - mf_player_cb_type cb_type; + mf_player_cb_type cb_type; - union { - player_interrupted_code_e interrupted_code; - int error_code; - int percent; - } param; + union { + player_interrupted_code_e interrupted_code; + int error_code; + int percent; + } param; } mf_player_cb_extra_data; -void mf_ug_player_vol_set(const char *path); -void mf_ug_list_play_pause(void *data); +void mf_ug_player_vol_set(void* data, const char *path); +void mf_ug_player_vol_reset_default_value(void* data); + +bool mf_ug_list_play_pause(void *data); +void mf_ug_list_disable_play_itc(void *data, bool disable); +bool mf_ug_is_default_ringtone(void *data, const char *path); +int mf_ug_list_play_earjack_monitor(void *data); +void mf_ug_destory_earjack_monitor(); +bool mf_ug_is_silent(void *data, const char *path); #endif diff --git a/src/include/mf-ug-main.h b/src/include/mf-ug-main.h index 4414940..93765ab 100644 --- a/src/include/mf-ug-main.h +++ b/src/include/mf-ug-main.h @@ -1,203 +1,200 @@ /* - * 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. - */ +* Copyright (c) 2000-2015 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. +* +*/ #ifndef __DEF_MF_UG_MAIN_H_ #define __DEF_MF_UG_MAIN_H_ #define __ARM__ -#include <Elementary.h> -#include <Ethumb.h> +#include <stdbool.h> #include <glib.h> -#include <Ecore.h> #include <glib-object.h> + +#include <app.h> +#include <Ecore.h> +#include <Elementary.h> +#include <Ethumb.h> +#include <player.h> #include <ui-gadget-module.h> #include <ui-gadget.h> -#include <app.h> -#include <stdbool.h> -#include <drm_client.h> -#include <drm_client_types.h> +#include <device/power.h> +#include <device/callback.h> #include <media_content.h> -#include <player.h> - - #include "mf-ug-dlog.h" -#include "../../data/ug_edc_common.h" #include "mf-ug-conf.h" #include "mf-ug-search.h" -/*********** Global Definitions ***********/ +#include "mf-ug-media-types.h" +/*********** Global Definitions ***********/ #ifndef UG_MODULE_API #define UG_MODULE_API __attribute__ ((visibility("default"))) #endif -typedef void (*ugCallBack) (void *, Evas_Object *, void *); - -typedef struct _ugNaviBar ugNaviBar; - -struct _ugNaviBar { - char *ug_pNaviLabel; - char *ug_pNaviTitle; - char *ug_pCurrentPath; - bool ug_bNaviFlagInUse; -}; +#define SILENT "silent" +#define SILENT_SHOW "silent show" +#define DEFAULT_RINGTONE_MARK "default ringtone" +typedef void (*ugCallBack) (void *, Evas_Object *, void *); typedef struct _ugMainWindow ugMainWindow; struct _ugMainWindow { - Evas_Object *ug_pWindow; - Evas_Object *ug_pBackGround; - Evas_Object *ug_pTabBackGround; - Evas_Object *ug_pMainLayout; - Evas_Object *ug_pNormalPopup; - Evas_Object *ug_pSearchLabel; - Evas_Object *ug_pSelectInfoLayout; - Evas_Object *ug_pRadioGroup; - Evas_Object *ug_pTabBar; - - Evas_Object *ug_pNaviBar; - Evas_Object *ug_pNaviLayout; - Evas_Object *ug_pNaviGenlist; - Evas_Object *ug_pNaviCtrlBar; - Evas_Object *ug_pNaviBox; - - Evas_Object *ug_pEditField; - Evas_Object *ug_pEntry; - Evas_Object *ug_pSelectAllLayout; - Evas_Object *ug_pSelectAllCheckBox; - Evas_Object *ug_pSearchPopup; - Evas_Object *ug_pContextPopup; - Evas_Object *ug_pNewFolderPopup; - - Elm_Object_Item *ug_pPreNaviItem; - Elm_Object_Item *ug_pNaviItem; - Eina_List *ug_pNaviBarList; - Evas_Object *ug_ctrlBar; - + Evas_Object *ug_pWindow; + Evas_Object *ug_pBackGround; + Evas_Object *ug_pTabBackGround; + Evas_Object *ug_pMainLayout; + Evas_Object *ug_pConformant; + Evas_Object *ug_pNormalPopup; + Evas_Object *ug_pSearchLabel; + Evas_Object *ug_pSelectInfoLayout; + Evas_Object *ug_pRadioGroup; + + Evas_Object *ug_pNaviBar; + Evas_Object *ug_pNaviLayout; + Evas_Object *ug_pNaviGenlist; + Evas_Object *ug_pNaviCtrlBar; + Evas_Object *ug_pNaviBox; + + Evas_Object *ug_pEditField; + Evas_Object *ug_pEntry; + Evas_Object *ug_pSelectAllLayout; + Evas_Object *ug_pSelectAllCheckBox; + Evas_Object *ug_pSearchPopup; + Evas_Object *ug_pContextPopup; + Evas_Object *ug_pNewFolderPopup; + Evas_Object *pPathinfo; + char *ug_pNaviTitle; + + Elm_Object_Item *ug_pPreNaviItem; + Elm_Object_Item *ug_pNaviItem; + Eina_List *ug_pNaviBarList; }; typedef struct _ugStatus ugStatus; struct _ugStatus { - GString *ug_pPath; - int ug_iState; - int ug_iSortType; - int ug_iRadioOn; - int ug_iMmcFlag; - int ug_iCtrlBarType; - int ug_iRadioValue; /** current the radio box selected item value **/ - int ug_iSelectedSortType; - int ug_iMore; - int ug_iCheckedCount; - int ug_iTotalCount; - int ug_iViewType; - - bool ug_bAudioPlayFlag; - bool ug_bInstallFlag; - bool ug_bSettingEntry; - bool ug_bInSettingView; - bool ug_bNoContentFlag; - bool ug_bCancelDisableFlag; - bool ug_b_NaviPushFlag; - bool ug_bRingtoneSet; - Eina_Bool ug_bSelectAllChecked; - int ug_iThemeType; - char *ug_pUpper_folder; - char *ug_pEntryPath; - char *monitor_path; - bool ug_bUpperFlag; - Elm_Genlist_Item_Class ug_itc; - Elm_Genlist_Item_Class ug_topitc; - Elm_Genlist_Item_Class ug_separtor_no_bottom_line_itc; - Elm_Genlist_Item_Class ug_separtor_with_bottom_line_itc; - Elm_Genlist_Item_Class ug_normalitc; - Elm_Genlist_Item_Class ug_editfileditc; - Elm_Genlist_Item_Class ug_editfiledUpperSeperatoritc; - Elm_Genlist_Item_Class ug_editfiledBottomSeperatoritc; - Elm_Genlist_Item_Class ug_newfolderitec; - Elm_Genlist_Item_Class ug_pathinfoitec; -#ifdef UG_THUMB_REAL_TIME_UPDATE - Ecore_Timer *ug_pThumbUpdateTimer; -#endif - Evas_Object *ug_pRadioGroup; - mf_search_handle search_handler; - - Eina_List *search_result_list; - Ecore_Idler *search_idler; - Ecore_Idler *popup_del_idler; - Ecore_Idler *popup_create_idler; - Ecore_Idler *msg_finish_idler; - Ecore_Timer *pPopupTimer; - Ecore_Timer *play_timer; + GString *ug_pPath; + char *ug_launch_path; /*myfile launch view path*/ + int ug_launch_view; + int ug_iState; + int ug_iSortType; + int ug_iRadioOn; + int ug_iMmcFlag; + int ug_iCtrlBarType; + int ug_iRadioValue; /** current the radio box selected item value **/ + int ug_iSelectedSortType; + int ug_iMore; + int ug_iCheckedCount; + int ug_iTotalCount; + int ug_iViewType; + Eina_Bool flagSearchStart; + + bool ug_bInstallFlag; + bool ug_bNoContentFlag; + bool ug_bCancelDisableFlag; + Eina_Bool ug_bSelectAllChecked; + int ug_iThemeType; + char *ug_pUpper_folder; + char *ug_pEntryPath; /*the current ringtone file path*/ + char *monitor_path; + char *mark_mode; + Eina_Bool ug_bDisableSelectAll; + + Elm_Genlist_Item_Class ug_1text3icon_itc; + Elm_Genlist_Item_Class ug_1text2icon4_itc; + Elm_Genlist_Item_Class ug_1text2icon_itc; + Elm_Genlist_Item_Class ug_1text1icon_itc; + Evas_Object *ug_pRadioGroup; + mf_search_handle search_handler; + + Eina_List *search_result_list; + Ecore_Idler *search_idler; + Ecore_Idler *popup_del_idler; + Ecore_Idler *popup_create_idler; + Ecore_Idler *msg_finish_idler; + Ecore_Timer *pSearchTimer; + Ecore_Timer *play_timer; + }; +typedef enum __mf_ug_sound_mode_e mf_ug_sound_mode_e; +enum __mf_ug_sound_mode_e { + mf_ug_sound_mode_none, + mf_ug_sound_mode_ringtone, + mf_ug_sound_mode_alert +}; typedef struct _ugUiGadget ugUiGadget; struct _ugUiGadget { - int ug_iFilterMode; - int ug_iSelectMode; - int ug_iMarkedMode; - int ug_iDrmFilterMode; - int ug_iImportMode; + int ug_iFilterMode; + int ug_iSelectMode; + int ug_iMarkedMode; + int ug_iImportMode; + int ug_iSoundMode; #ifdef UG_OPERATION_SELECT_MODE - int ug_bOperationSelectFlag; + int ug_bOperationSelectFlag; #endif - unsigned long ug_iFileFilter; - int ug_iDrmFilter; - char *ug_pExtension; - Eina_List *ug_pDirList; - Eina_List *ug_pFilterList; - Eina_List *ug_pMultiSelectFileList; - Ecore_Pipe *ug_pInotifyPipe; - Ecore_Pipe *ug_pSyncPipe; + unsigned long ug_iFileFilter; + int ug_iMaxLength; + Eina_Bool ug_MaxSetFlag; + char *ug_pExtension; + char *default_ringtone; + char *title; + char *domain; + char *position; + + Eina_Bool silent; + Eina_List *ug_pSearchFileList; + Eina_List *ug_pDirList; + Eina_List *ug_pFilterList; + Eina_List *ug_pMultiSelectFileList; + Ecore_Pipe *ug_pInotifyPipe; + Ecore_Pipe *ug_pSyncPipe; }; -typedef struct _ugDrmInfo ugDrmInfo; -struct _ugDrmInfo { - int version; - int constraint_type; - char validity[DRM_MESSAGE_LEN]; - char description[DRM_MESSAGE_LEN]; - bool forward; -}; - - typedef struct _ugListPlay ugListPlay; struct _ugListPlay { - char *ug_pPlayFilePath; - player_h ug_Player; - int ug_iPlayState; - bool ug_bDrmContentCanPlay; - bool ug_bDrmconsumption; - ugDrmInfo ug_DrmInfo; - Ecore_Idler *playing_err_idler; + char *ug_pPlayFilePath; + player_h ug_Player; + int ug_iPlayState; + Elm_Object_Item *play_data; + bool hiden_flag; + Ecore_Idler *playing_err_idler; }; typedef struct _ugData ugData; struct _ugData { - ugMainWindow ug_MainWindow; - ugStatus ug_Status; - ugUiGadget ug_UiGadget; - ugListPlay ug_ListPlay; - ui_gadget_h ug; - Ecore_Event_Handler *key_event_handler; + ugMainWindow ug_MainWindow; + ugStatus ug_Status; + ugUiGadget ug_UiGadget; + ugListPlay ug_ListPlay; + ui_gadget_h ug; + + long long int limitsize; + long long int selsize; + + Evas_Object *genlist; + Ecore_Idler *show; }; + Evas_Object *mf_ug_main_tab_layout_create(Evas_Object *parent); Evas_Object *mf_ug_main_create_bg(Evas_Object *win); - +ugData * mf_ug_ugdata(); +void mf_ug_main_update_ctrl_in_idle(void *data); +bool mf_ug_main_is_background(); #endif /* __DEF_MYFILE_H_ */ diff --git a/src/include/mf-ug-media-db.h b/src/include/mf-ug-media-db.h new file mode 100644 index 0000000..4ffb59f --- /dev/null +++ b/src/include/mf-ug-media-db.h @@ -0,0 +1,74 @@ +/* +* Copyright (c) 2000-2015 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. +* +*/ + +#ifndef __MF_UG_MEDIA_DB_H__ +#define __MF_UG_MEDIA_DB_H__ + +#include "mf-ug-media-types.h" +#include "mf-ug-media-error.h" +#include <sqlite3.h> + +#ifdef __cplusplus +extern "C" { +#endif /* __cplusplus */ + +int mf_ug_connect_db_with_handle(sqlite3 **db_handle); +int mf_ug_disconnect_db_with_handle(sqlite3 *db_handle); + +//1 Shortcut +int mf_ug_update_shortcut(MFDHandle *mfd_handle,const char *new_name, char *old_name); +int mf_ug_insert_shortcut(MFDHandle *mfd_handle, const char *shortcut_path, const char *shortcut_name, int storage_type); +int mf_ug_delete_shortcut(MFDHandle *mfd_handle, const char *shortcut_path); +int mf_ug_delete_shortcut_by_type(MFDHandle *mfd_handle, int storage_type); +int mf_ug_foreach_shortcut_list(MFDHandle *mfd_handle, mf_shortcut_item_cb callback, void *user_data); +int mf_ug_get_short_count(MFDHandle *mfd_handle, int *count); + +//1 Recent files +int mf_ug_insert_recent_file(MFDHandle *mfd_handle, const char *path, const char *name, int storage_type, const char *thumbnail_path); +int mf_ug_delete_recent_files(MFDHandle *mfd_handle, const char *path); +int mf_ug_delete_recent_files_by_type(MFDHandle *mfd_handle, int storage_type); +int mf_ug_update_recent_files_thumbnail(MFDHandle *mfd_handle, const char *thumbnail, const char *new_thumbnail); +int mf_ug_foreach_recent_files_list(MFDHandle *mfd_handle, mf_recent_files_item_cb callback, void *user_data); +int mf_ug_get_recent_files_count(MFDHandle *mfd_handle, int *count); + +//1 Ringtone +int mf_ug_update_ringtone(MFDHandle *mfd_handle,const char *new_name, char *old_name); +int mf_ug_insert_ringtone(MFDHandle *mfd_handle, const char *ringtone_path, const char *ringtone_name, int storage_type); +int mf_ug_delete_ringtone(MFDHandle *mfd_handle, const char *ringtone_path); +int mf_ug_delete_ringtone_by_type(MFDHandle *mfd_handle, int storage_type); +int mf_ug_foreach_ringtone_list(MFDHandle *mfd_handle, mf_ringtone_item_cb callback, void *user_data); +int mf_ug_get_ringtone_count(MFDHandle *mfd_handle, int *count); +int mf_ug_find_ringtone(MFDHandle *mfd_handle, const char *ringtone_path); + +//1 Alerts +int mf_ug_update_alert(MFDHandle *mfd_handle,const char *new_name, char *old_name); +int mf_ug_insert_alert(MFDHandle *mfd_handle, const char *alert_path, const char *alert_name, int storage_type); +int mf_ug_delete_alert(MFDHandle *mfd_handle, const char *alert_path); +int mf_ug_delete_alert_by_type(MFDHandle *mfd_handle, int storage_type); +int mf_ug_foreach_alert_list(MFDHandle *mfd_handle, mf_ringtone_item_cb callback, void *user_data); +int mf_ug_get_alert_count(MFDHandle *mfd_handle, int *count); +int mf_ug_find_alert(MFDHandle *mfd_handle, const char *alert_path); + + +#ifdef __cplusplus +} +#endif /* __cplusplus */ + + +#endif /*_GALLERY_MEDIA_DB_H_*/ + + diff --git a/src/include/mf-ug-media-error.h b/src/include/mf-ug-media-error.h new file mode 100644 index 0000000..4240e99 --- /dev/null +++ b/src/include/mf-ug-media-error.h @@ -0,0 +1,49 @@ +/* +* Copyright (c) 2000-2015 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. +* +*/ + +#ifndef __MF_UG_MEDIA_ERROR_H_DEF__ +#define __MF_UG_MEDIA_ERROR_H_DEF__ + + +#ifdef __cplusplus +extern "C" { +#endif /* __cplusplus */ + +//Error types definition +#define MFD_ERROR_NONE 0 /**< base */ +#define MFD_ERROR_INVALID_PARAMETER -1 /**< invalid parameter(s) */ +#define MFD_ERROR_INVALID_MEDIA -2 /**< invalid or unknown media */ +#define MFD_ERROR_FILE_NOT_EXSITED -3 /**< file doesn't exist */ +#define MFD_ERROR_DIR_NOT_EXSITED -4 /**< folder doesn't exist */ +#define MFD_ERROR_FILE_EXSITED -5 /**< file doesn't exist */ + + +#define MFD_ERROR_DB_CONNECT -201 /**< connect DB error */ +#define MFD_ERROR_DB_DISCONNECT -202 /**< disconnect DB error */ +#define MFD_ERROR_DB_CREATE_TABLE -203 /**< create table error */ +#define MFD_ERROR_DB_NO_RECORD -204 /**< No record */ +#define MFD_ERROR_DB_INTERNAL -206 /**< internal db error */ + + +#ifdef __cplusplus +} +#endif /* __cplusplus */ + +#endif /*__MF_MEDIA_ERROR_H_DEF__*/ + + + diff --git a/src/include/mf-ug-media-types.h b/src/include/mf-ug-media-types.h new file mode 100644 index 0000000..3621a76 --- /dev/null +++ b/src/include/mf-ug-media-types.h @@ -0,0 +1,75 @@ +/* +* Copyright (c) 2000-2015 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. +* +*/ + +#ifndef __MF_UG_MEDIA_TYPES_H_DEF__ +#define __MF_UG_MEDIA_TYPES_H_DEF__ + +#include <stdbool.h> +#include <stdio.h> +#include <stdlib.h> +#include <time.h> +#include <glib.h> + +#ifdef __cplusplus +extern "C" { +#endif /* __cplusplus */ + + +typedef void MFDHandle; /**< Handle */ + +/** + *@enum GM_CONTENT_TYPE + * Enumerations of GM_CONTENT_TYPE + */ + +#if 1 +//1 Shortcut +typedef struct _MFSitem +{ + char *path; + char *name; +}MFSitem; + +typedef struct _MFRitem +{ + char *path; + char *name; + int storyage_type; + char *thumbnail; +}MFRitem; + +typedef struct _mfRingtone +{ + char *path; + char *name; +}mfRingtone; + + +typedef bool (*mf_shortcut_item_cb)(MFSitem *Sitem, void *user_data); +typedef bool (*mf_recent_files_item_cb)(MFRitem *Ritem, void *user_data); +typedef bool (*mf_ringtone_item_cb)(mfRingtone *Ritem, void *user_data); + +#endif + + +#ifdef __cplusplus +} +#endif /* __cplusplus */ + +#endif /*__MF_UG_MEDIA_TYPES_H_DEF__*/ + + diff --git a/src/include/mf-ug-media.h b/src/include/mf-ug-media.h new file mode 100644 index 0000000..c346f6b --- /dev/null +++ b/src/include/mf-ug-media.h @@ -0,0 +1,69 @@ +/* +* Copyright (c) 2000-2015 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. +* +*/ + +#ifndef __MF_UG_MEDIA_H_ +#define __MF_UG_MEDIA_H_ + +#include "mf-ug-media-types.h" +#include "mf-ug-media-error.h" + +#ifdef __cplusplus +extern "C" { +#endif /* __cplusplus */ + +int mf_ug_media_connect(MFDHandle **handle); +int mf_ug_media_disconnect(MFDHandle *handle); +int mf_ug_media_add_shortcut(MFDHandle *mfd_handle, const char *shortcut_path, const char *shortcut_name, int storage_type); +int mf_ug_media_delete_shortcut(MFDHandle *mfd_handle, const char *path); +int mf_ug_media_delete_shortcut_by_type(MFDHandle *mfd_handle, int storage_type); +int mf_ug_media_add_recent_files(MFDHandle *mfd_handle, const char *path, const char *name, int storage_type, const char *thumbnail_path); +int mf_ug_media_delete_recent_files(MFDHandle *mfd_handle, const char *path); +int mf_ug_media_delete_recent_files_by_type(MFDHandle *mfd_handle, int storage_type); +int mf_ug_media_update_recent_files_thumbnail(MFDHandle *mfd_handle, const char *thumbnail, const char *new_thumbnail); +int mf_ug_media_foreach_shortcut_list(MFDHandle *mfd_handle, mf_shortcut_item_cb callback, void *user_data); +int mf_ug_media_foreach_recent_files_list(MFDHandle *mfd_handle, mf_recent_files_item_cb callback, void *user_data); +int mf_ug_media_get_short_count(MFDHandle *mfd_handle, int *count); +int mf_ug_media_get_recent_files_count(MFDHandle *mfd_handle, int *count); +int mf_ug_destroy_shortcut_item(MFSitem *sitem); +int mf_ug_destroy_recent_files_item(MFRitem *ritem); + +//1 Ringtone +int mf_ug_media_add_ringtone(MFDHandle *mfd_handle, const char *ringtone_path, + const char *ringtone_name, int storage_type); +int mf_ug_media_delete_ringtone(MFDHandle *mfd_handle, const char *path); +int mf_ug_media_delete_ringtone_by_type(MFDHandle *mfd_handle, int storage_type); +int mf_ug_media_foreach_ringtone_list(MFDHandle *mfd_handle, mf_ringtone_item_cb callback, void *user_data); +int mf_ug_media_get_ringtone_count(MFDHandle *mfd_handle, int *count); +int mf_ug_destroy_ringtone_item(mfRingtone *ritem); + +//1 Alert +int mf_ug_media_add_alert(MFDHandle *mfd_handle, const char *alert_path, + const char *alert_name, int storage_type); +int mf_ug_media_delete_alert(MFDHandle *mfd_handle, const char *path); +int mf_ug_media_delete_alert_by_type(MFDHandle *mfd_handle, int storage_type); +int mf_ug_media_foreach_alert_list(MFDHandle *mfd_handle, mf_ringtone_item_cb callback, void *user_data); +int mf_ug_media_get_alert_count(MFDHandle *mfd_handle, int *count); +int mf_ug_destroy_alert_item(mfRingtone *ritem); + +#ifdef __cplusplus +} +#endif /* __cplusplus */ + + +#endif /*__MF_UG_MEDIA_H_*/ + + diff --git a/src/include/mf-ug-music.h b/src/include/mf-ug-music.h new file mode 100644 index 0000000..c2c955f --- /dev/null +++ b/src/include/mf-ug-music.h @@ -0,0 +1,28 @@ +/* +* Copyright (c) 2000-2015 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. +* +*/ + + + + +#ifndef __MF_UG_MUSIC_H_DEF__ +#define __MF_UG_MUSIC_H_DEF__ + +void mf_ug_music_launch_cb(void *data, Evas_Object *obj, void *event_info); +void mf_ug_destory_music_ug(); +Eina_Bool mf_ug_is_music_ug_run(); + +#endif diff --git a/src/include/mf-ug-resource.h b/src/include/mf-ug-resource.h index 2b39fe9..05eb66b 100644 --- a/src/include/mf-ug-resource.h +++ b/src/include/mf-ug-resource.h @@ -1,83 +1,77 @@ /* - * 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. - */ +* Copyright (c) 2000-2015 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. +* +*/ + + + #ifndef __DEF_MF_UG_RESOURCE_H_ #define __DEF_MF_UG_RESOURCE_H_ -#include "../../data/ug_edc_common.h" #include "mf-ug-conf.h" -/************* system strings ************/ -#define MF_UG_LABEL_UNSUPPORT_FILE_TYPE dgettext("sys_string", "IDS_COM_BODY_UNSUPPORTED_FILE_TYPE") -#define MF_UG_LABEL_CONNECT_FAILED dgettext("sys_string", "IDS_COM_POP_CONNECTION_FAILED") -#define MF_UG_LABEL_PHONE dgettext("sys_string", "IDS_COM_BODY_PHONE") -#define MF_UG_LABEL_SELECTED dgettext("sys_string", "IDS_COM_BODY_SELECTED") -#define MF_UG_LABEL_MMC dgettext("sys_string", "IDS_COM_BODY_MEMORY_CARD") -#define MF_UG_LABEL_UNKNOWN dgettext("sys_string", "IDS_COM_BODY_UNKNOWN") -#define MF_UG_LABEL_SET dgettext("sys_string", "IDS_COM_SK_SET") -#define MF_UG_LABEL_ATTACH dgettext("sys_string", "IDS_COM_POP_ATTACH") -#define MF_UG_LABEL_CANCEL dgettext("sys_string", "IDS_COM_SK_CANCEL") -#define MF_UG_LABEL_NO_FILES dgettext("sys_string", "IDS_COM_BODY_NO_FILES") -#define MF_UG_LABEL_MYFILES dgettext("sys_string", "IDS_COM_BODY_MY_FILES") -#define MF_UG_LABEL_OK dgettext("sys_string", "IDS_COM_SK_OK") -#define MF_UG_LABEL_DATE dgettext("sys_string", "IDS_COM_POP_DATE") -#define MF_UG_LABEL_SIZE dgettext("sys_string", "IDS_COM_POP_SIZE") -#define MF_UG_LABEL_TYPE dgettext("sys_string", "IDS_COM_POP_TYPE") -#define MF_UG_LABEL_NAME dgettext("sys_string", "IDS_COM_POP_NAME") -#define MF_UG_LABEL_SEARCH dgettext("sys_string", "IDS_COM_BODY_SEARCH") -#define MF_UG_LABEL_CANCEL dgettext("sys_string", "IDS_COM_SK_CANCEL") -#define MF_UG_LABEL_NO_RESULT dgettext("sys_string", "IDS_COM_BODY_NO_SEARCH_RESULTS") -#define MF_UG_LABEL_IMPORT dgettext("sys_string", "IDS_COM_OPT_IMPORT") -#define MF_UG_LABEL_CREATE dgettext("sys_string", "IDS_COM_BODY_CREATE_FOLDER") -#define MF_UG_LABEL_NOT_ENOUGH_SPACE dgettext("sys_string", "IDS_COM_POP_NOT_ENOUGH_MEMORY") -#define MF_UG_LABEL_FOLDER dgettext("sys_string", "IDS_COM_POP_FOLDER") -#define MF_UG_LABEL_SAVE dgettext("sys_string", "IDS_COM_SK_SAVE") -#define MF_UG_LABEL_YES dgettext("sys_string", "IDS_COM_SK_YES") -#define MF_UG_LABEL_NO dgettext("sys_string", "IDS_COM_SK_NO") -#define MF_UG_LABEL_SELECT_ALL dgettext("sys_string", "IDS_COM_BODY_SELECT_ALL") -#define MF_UG_LABEL_MAX_CHARACTER_REACHED dgettext("sys_string", "IDS_COM_POP_MAXIMUM_NUMBER_OF_CHARACTERS_REACHED") -#define MF_UG_LABEL_ALARM dgettext("sys_string", "IDS_COM_BODY_ALARM") -#define MF_UG_LABEL_DONE dgettext("sys_string", "IDS_COM_POP_DONE") - -/************ myfile strings *************/ -#define MF_UG_LABEL_MEMORY_NOT_ENOUGH dgettext(UGPACKAGE, "IDS_MF_POP_NOT_ENOUGH_HEAP_MEMORY") -#define MF_UG_LABEL_ASCENDING dgettext(UGPACKAGE, "IDS_MF_POP_ASCENDING") -#define MF_UG_LABEL_DESCENDING dgettext(UGPACKAGE, "IDS_MF_POP_DESCENDING") -#define MF_UG_LABEL_EXPORT dgettext(UGPACKAGE, "IDS_MF_BUTTON_EXPORT_HERE") -#define MF_UG_LABEL_HOME dgettext(UGPACKAGE, "IDS_MF_BUTTON_HOME") -#define MF_UG_LABEL_UPPER dgettext(UGPACKAGE, "IDS_MF_TAB_UP") -#define MF_UG_LABEL_LIST_BY dgettext(UGPACKAGE, "IDS_MF_OPT_LIST_BY") -#define MF_UG_LABEL_GO_TO_MYFILES dgettext(UGPACKAGE, "IDS_MF_BUTTON_GO_TO_MY_FILES") -#define MF_UG_LABEL_RINGTONES dgettext(UGPACKAGE, "IDS_MF_BODY_RINGTONES") -#define MF_UG_LABEL_DRM_UNABLE_SET dgettext(UGPACKAGE, "IDS_MF_POP_UNABLE_TO_SET_DRM_PROTECTED_CONTENT_AS_RINGTONE_OR_NOTIFICATION_ALERT") - -/************no design id **************/ -#define MF_UG_LABEL_OTHER_MUSIC "Other music" -#define MF_UG_LABEL_UNABLE_TO_PLAY_DURING_CALL "Unable to play during call" -#define MF_UG_LABEL_UNABLE_TO_PLAY_ERROR_OCCURRED "Unable to play. Error occurred" -#define MF_UG_LABEL_SAVE_HERE "Set here" -#define MF_UG_LABEL_GET_NAME_FAILED "Get name failed. try again!" -#define MF_UG_LABEL_NAME_INVALID ("Invalid name, retry!") -#define MF_UG_LABEL_ILLEGAL_CHAR "Name contains illegal character, Retry!" -#define MF_UG_LABEL_PATH_REACH_MAX_LEN "Full path length should be less than 4096,Retry!" -#define MF_UG_LABEL_DUP_NAME "Duplicated name, retry!" -#define MF_UG_LABEL_OPER_READ_ONLY "Operation failed: Read Only Area" -#define MF_UG_LABEL_CREATE_DIR_FAILED "Create Directory failed" -#define MF_UG_LABEL_EMPTY_FOLDER_NAME "Folder name can't be empty, Retry!" -#define MF_UG_LABEL_NO_MEM_CARD "No memory card inserted" +#define MF_UG_LABEL_PHONE "IDS_MF_BODY_DEVICE_MEMORY_ABB" +#define MF_UG_LABEL_SELECTED "IDS_COM_BODY_PD_SELECTED" +#define MF_UG_LABEL_MMC "IDS_MF_BODY_SD_CARD_ABB" +#define MF_UG_LABEL_NO_FILES "IDS_COM_BODY_NO_FILES" +#define MF_UG_LABEL_MYFILES "IDS_COM_BODY_MY_FILES" +#define MF_UG_LABEL_OK "IDS_COM_SK_OK" +#define MF_UG_LABEL_NO_RESULT "IDS_COM_BODY_NO_ITEMS" +#define MF_UG_LABEL_DONE "IDS_COM_SK_DONE" +#define MF_UG_LABEL_CANCEL "IDS_COM_SK_CANCEL" +#define MF_UG_LABEL_DELETE "IDS_COM_BODY_DELETE" +#define MF_UG_LABEL_UNSUPPORT_FILE_TYPE "IDS_COM_BODY_UNSUPPORTED_FILE_TYPE" +#define MF_UG_LABEL_SELECT_ALL "IDS_COM_BODY_SELECT_ALL" +#define MF_UG_LABEL_YES "IDS_COM_SK_YES" +#define MF_UG_LABEL_NO "IDS_COM_SK_NO" +#define MF_UG_LABEL_BACK "IDS_COM_SK_BACK" +#define MF_UG_LABEL_ADD "IDS_COM_SK_ADD" +#define MF_UG_LABEL_DELETE "IDS_COM_BODY_DELETE" +#define MF_UG_LABEL_FAILED "IDS_COM_POP_FAILED" +#define MF_UG_LABEL_SUCCESS "IDS_COM_POP_SUCCESS" +#define MF_UG_LABEL_FAILED "IDS_COM_POP_FAILED" +#define MF_UG_BUTTON_LABEL_DEL "IDS_MF_POP_DELETE_Q" +#define MF_UG_LABEL_ADD_FAILED "IDS_MUSIC_POP_UNABLE_TO_ADD_SOME_ITEMS_DONT_EXIST" +#define MF_UG_POP_TITLE_OPERATION_ERROR "IDS_COM_BODY_OPERATION_FAILED" +#define MF_UG_LABEL_UNABLE_TO_PLAY_DURING_CALL "IDS_MF_POP_UNABLE_TO_PLAY_DURING_CALL" +#define MF_UG_LABEL_UNABLE_TO_PLAY_ERROR_OCCURRED "IDS_MUSIC_POP_UNABLE_TO_PLAY_ERROR_OCCURRED" +#define MF_UG_LABEL_GET_NAME_FAILED "IDS_MF_POP_INVALID_FILE_NAME" +#define MF_UG_LABEL_NAME_INVALID "IDS_MF_POP_INVALID_FILE_NAME" +#define MF_UG_LABEL_ILLEGAL_CHAR "IDS_VR_POP_INVALID_CHARACTER_ENTERED_TRY_AGAIN" +#define MF_UG_LABEL_DUP_NAME "IDS_COM_POP_ALREDY_EXISTS" +#define MF_UG_LABEL_OPER_READ_ONLY "Operation failed: Read Only Area" +#define MF_UG_LABEL_CREATE_DIR_FAILED "IDS_COM_POP_FAILED" +#define MF_UG_LABEL_EMPTY_FOLDER_NAME "IDS_MF_POP_ERR_FOLDER_NAME_EMPTY" +#define MF_UG_LABEL_DEFAULT_RINGTONE "IDS_MF_OPT_DEFAULT_RINGTONE" +#define MF_UG_LABEL_MAX_CHARACTER_REACHED "IDS_COM_POP_MAXIMUM_NUMBER_OF_CHARACTERS_REACHED" +#define MF_UG_LABEL_CREATE "IDS_COM_BODY_CREATE_FOLDER" +#define MF_UG_LABEL_SILENT "IDS_ST_BODY_PHONEPROFILES_SILENT" +#define MF_UG_LABEL_NOT_ENOUGH_SPACE "IDS_COM_POP_NOT_ENOUGH_MEMORY" +#define MF_UG_LABEL_FOLDER "IDS_COM_POP_FOLDER" +#define MF_UG_LABEL_CONNECT_FAILED "IDS_COM_POP_CONNECTION_FAILED" +#define MF_UG_LABEL_IMPORT_CHAP "IDS_COM_OPT_IMPORT" +#define MF_UG_LABEL_DOCUMENTS "IDS_MF_BODY_DOCUMENTS" +#define MF_UG_LABEL_SELECT_ITEMS "IDS_MF_HEADER_SELECT_ITEMS" +#define MF_UG_LABEL_PROCESSING "IDS_COM_POP_PROCESSING" +#define MF_UG_LABEL_SEARCH "IDS_COM_BODY_SEARCH" +#define MF_UG_LABEL_DEFAULT_NOTIFICATION_SOUND "IDS_ST_BODY_DEFAULT_NOTIFICATION_SOUND_ABB" +#define MF_UG_LABEL_REACH_MAX_SHARE_COUNT "IDS_IV_POP_YOU_CAN_SELECT_UP_TO_PD_ITEMS" +#define MF_UG_LABEL_DONE_CAP "IDS_TPLATFORM_ACBUTTON_DONE_ABB" +#define MF_UG_LABEL_CANCEL_CAP "IDS_TPLATFORM_ACBUTTON_CANCEL_ABB" +#define MF_UG_LABEL_MAXIMUM_SIZE "IDS_IM_POP_MAXIMUM_SIZE_OF_FILES_EXCEEDED" #endif diff --git a/src/include/mf-ug-ringtone-view.h b/src/include/mf-ug-ringtone-view.h new file mode 100644 index 0000000..0c9ed5c --- /dev/null +++ b/src/include/mf-ug-ringtone-view.h @@ -0,0 +1,30 @@ +/* +* Copyright (c) 2000-2015 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. +* +*/ + + + + +#ifndef __MF_UG_RINGTONE_VIEW_H_DEF__ +#define __MF_UG_RINGTONE_VIEW_H_DEF__ + +void mf_ug_create_rintone_view(void *data); +bool mf_ug_ringtone_is_default(int mode, const char *path); +void mf_ug_ringtone_list_resume(void *data); + +Evas_Object *mf_ug_ringtone_list_create(void *data); + +#endif diff --git a/src/include/mf-ug-search-internal.h b/src/include/mf-ug-search-internal.h index c3a6aa3..fd9d4d5 100644 --- a/src/include/mf-ug-search-internal.h +++ b/src/include/mf-ug-search-internal.h @@ -1,18 +1,24 @@ /* - * 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. - */ +* Copyright (c) 2000-2015 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. +* +*/ + + + + + #ifndef _MF_SEARCH_INTERNAL_H_ #define _MF_SEARCH_INTERNAL_H_ @@ -52,8 +58,14 @@ **/ int _mf_ug_search_init(ms_handle_t **handle); -int _mf_ug_search_start(ms_handle_t *handle, const char **root_path, unsigned int path_num, const char *needle, mf_search_option option, - void *user_data); +int _mf_ug_search_start(ms_handle_t *handle, + const char **root_path, + unsigned int path_num, + const char *needle, + mf_search_option option, + void *user_data, + mf_search_filter_cb func, + int category); int _mf_ug_search_stop(ms_handle_t *handle); void _mf_ug_search_finalize(ms_handle_t **handle); diff --git a/src/include/mf-ug-search.h b/src/include/mf-ug-search.h index 037fef9..6584c8d 100644 --- a/src/include/mf-ug-search.h +++ b/src/include/mf-ug-search.h @@ -1,18 +1,24 @@ /* - * 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. - */ +* Copyright (c) 2000-2015 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. +* +*/ + + + + + #ifndef _MF_SEARCH_H_ #define _MF_SEARCH_H_ @@ -29,73 +35,90 @@ typedef unsigned int mf_search_handle; **/ typedef unsigned int mf_search_result; +typedef int (*mf_search_filter_cb) (const char *); + + /** * Enumerations of search option **/ +typedef enum _mf_search_category_type mf_search_category_type; +enum _mf_search_category_type { + MF_SEARCH_CATEGORY_NONE = 0, + MF_SEARCH_CATEGORY_SOUND, + MF_SEARCH_CATEGORY_VIDEO, + MF_SEARCH_CATEGORY_IMAGE, + MF_SEARCH_CATEGORY_DOCUMENT, + MF_SEARCH_CATEGORY_OTHERS, + MF_SEARCH_CATEGORY_MAX, +}; + typedef enum _mf_search_option mf_search_option; enum _mf_search_option { - MF_SEARCH_OPT_NONE = (1 << 0), - MF_SEARCH_OPT_HIDDEN = (1 << 1), - MF_SEARCH_OPT_DIR = (1 << 2), - MF_SEARCH_OPT_FILE = (1 << 3), - MF_SEARCH_OPT_EXT = (1 << 4), + MF_SEARCH_OPT_NONE = (1 << 0), + MF_SEARCH_OPT_HIDDEN = (1 << 1), + MF_SEARCH_OPT_DIR = (1 << 2), + MF_SEARCH_OPT_FILE = (1 << 3), + MF_SEARCH_OPT_EXT = (1 << 4), + MF_SEARCH_OPT_MULTI_EXT = (1 << 5) }; typedef enum _mf_search_pipe_msg_type mf_search_pipe_msg_type; enum _mf_search_pipe_msg_type { - MF_SEARCH_PIPE_MSG_NONE = 0, - MF_SEARCH_PIPE_MSG_ROOT_CHANGE, - MF_SEARCH_PIPE_MSG_RESULT_REPORT, - MF_SEARCH_PIPE_MSG_FINISHED, - MF_SEARCH_PIPE_MSG_MAX, + MF_SEARCH_PIPE_MSG_NONE = 0, + MF_SEARCH_PIPE_MSG_ROOT_CHANGE, + MF_SEARCH_PIPE_MSG_RESULT_REPORT, + MF_SEARCH_PIPE_MSG_FINISHED, + MF_SEARCH_PIPE_MSG_MAX, }; typedef enum _mf_search_state mf_search_state; enum _mf_search_state { - MF_SEARCH_STATE_NONE = 0, - MF_SEARCH_STATE_INIT, - MF_SEARCH_STATE_SEARCH, - MF_SEARCH_STATE_MAX, + MF_SEARCH_STATE_NONE = 0, + MF_SEARCH_STATE_INIT, + MF_SEARCH_STATE_SEARCH, + MF_SEARCH_STATE_MAX, }; typedef struct _mf_search_result_t mf_search_result_t; struct _mf_search_result_t { - GList *dir_list; - GList *file_list; - gchar *current_dir; - guint total_count; - gboolean is_end; + GList *dir_list; + GList *file_list; + gchar *current_dir; + guint total_count; + gboolean is_end; }; typedef struct _ms_args_t ms_args_t; struct _ms_args_t { - GList *root_path; - gchar *needle; - mf_search_option option; - void *user_data; + GList *root_path; + gchar *needle; + mf_search_option option; + void *user_data; + mf_search_filter_cb func; + int category; } ; typedef struct _ms_handle_t ms_handle_t; struct _ms_handle_t { - mf_search_state state; - GMutex *cmd_lock; - ms_args_t *args; - - GThread *thread_h; - GMutex *thread_mutex; - /* critical section */ - gboolean is_stop; - mf_search_result_t *result; - /* critical section */ + mf_search_state state; + GMutex cmd_lock; + ms_args_t *args; + + GThread *thread_h; + GMutex thread_mutex; + /* critical section */ + gboolean is_stop; + mf_search_result_t *result; + /* critical section */ }; typedef struct _mf_search_pipe_msg mf_search_pipe_msg; struct _mf_search_pipe_msg { - mf_search_pipe_msg_type mf_sp_msg_type; - void *report_result; - gchar *current_path; + mf_search_pipe_msg_type mf_sp_msg_type; + void *report_result; + gchar *current_path; }; /** @@ -108,12 +131,12 @@ typedef void (*mf_Search_Cb) (mf_search_pipe_msg_type type, mf_search_result res /** * Definition of error code **/ -#define MF_SEARCH_ERROR_NONE (0) -#define MF_SEARCH_ERROR_INTERNAL (-(1)) /* Internal error */ -#define MF_SEARCH_ERROR_INVAL_P (-(2)) /* Invalid params */ -#define MF_SEARCH_ERROR_INVAL_S (-(3)) /* Invalid status */ -#define MF_SEARCH_ERROR_ALLOC (-(4)) /* Memory allocation failed */ -#define MF_SEARCH_ERROR_FS (-(5)) /* File system error */ +#define MF_SEARCH_ERROR_NONE (0) +#define MF_SEARCH_ERROR_INTERNAL (-(1)) /* Internal error */ +#define MF_SEARCH_ERROR_INVAL_P (-(2)) /* Invalid params */ +#define MF_SEARCH_ERROR_INVAL_S (-(3)) /* Invalid status */ +#define MF_SEARCH_ERROR_ALLOC (-(4)) /* Memory allocation failed */ +#define MF_SEARCH_ERROR_FS (-(5)) /* File system error */ /*+++++++++++++++++++++++ APIs +++++++++++++++++++++++*/ @@ -139,8 +162,14 @@ int mf_ug_search_init(mf_search_handle *handle); * If success, #mf_search state is changed from MF_SEARCH_STATE_INIT to MF_SEARCH_STATE_SEARCH * Return value: This function returns zero on success, or negative value. **/ -int mf_ug_search_start(mf_search_handle handle, const char **root_path, unsigned int path_num, const char *needle, mf_search_option option, - void *user_data); +int mf_ug_search_start(mf_search_handle handle, + const char **root_path, + unsigned int path_num, + const char *needle, + mf_search_option option, + void *user_data, + mf_search_filter_cb func, + int category); /** * mf_ug_search_stop: * @handle: the handle of mf_search @@ -206,6 +235,4 @@ int mf_ug_search_result_is_end(mf_search_result_t *result, int *is_end); **/ int mf_ug_search_result_total_count_get(mf_search_result_t *result, unsigned int *count); -void mf_ug_search_view_item_append(void *data, void *user_data); - #endif diff --git a/src/include/mf-ug-util.h b/src/include/mf-ug-util.h index 91d258a..56636e5 100644 --- a/src/include/mf-ug-util.h +++ b/src/include/mf-ug-util.h @@ -1,18 +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. - */ +* Copyright (c) 2000-2015 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. +* +*/ + + + + #ifndef __DEF_MF_UG_UTIL_H_ #define __DEF_MF_UG_UTIL_H_ @@ -22,234 +27,252 @@ #include <glib.h> #include "mf-ug-main.h" +#include "mf-ug-fs-util.h" #define UG_SAFE_FREE_CHAR(x) do {\ - if ((x) != NULL) {\ - free(x); \ - x = NULL;\ - } \ - } while (0) + if ((x) != NULL) {\ + free(x); \ + x = NULL;\ + } \ + } while (0) #define UG_SAFE_FREE_GSTRING(x) do {\ - if ((x) != NULL) {\ - g_string_free(x, TRUE); \ - x = NULL;\ - } \ - } while (0) + if ((x) != NULL) {\ + g_string_free(x, TRUE); \ + x = NULL;\ + } \ + } while (0) #define UG_CHAR_CHECK_NULL_GOTO(arg, dest) do {\ - if ((arg) == NULL) {\ - goto dest;\ - } \ - } while (0) + if ((arg) == NULL) {\ + goto dest;\ + } \ + } while (0) #define UG_GSTRING_CHECK_NULL_GOTO(arg, dest) do {\ - if ((arg) == NULL || (arg->str) == NULL) {\ - goto dest;\ - } \ - } while (0) + if ((arg) == NULL || (arg->str) == NULL) {\ + goto dest;\ + } \ + } while (0) #define UG_SAFE_DEL_NAVI_ITEM(x) do {\ - if ((x) != NULL) {\ - elm_object_item_del(x); \ - x = NULL;\ - } \ - } while (0) + if ((*x) != NULL) {\ + elm_object_item_del(*x); \ + *x = NULL;\ + } \ + } while (0) #define UG_SAFE_FREE_OBJ(x) do {\ - if ((x) != NULL) {\ - evas_object_del(x); \ - x = NULL;\ - } \ - } while (0) + if ((x) != NULL) {\ + evas_object_del(x); \ + x = NULL;\ + } \ + } while (0) #define UG_SAFE_STRCPY(dest, src) \ - do{if(!dest||!src)break;\ - strncpy (dest , src, sizeof(dest)-1);\ - dest[sizeof(dest)-1] = 0; }while(0) + do { if (!dest || !src) break; \ + strncpy (dest, src, sizeof(dest)-1); \ + dest[sizeof(dest)-1] = 0; } while (0) #define UG_SAFE_DEL_ECORE_TIMER(timer) do { \ - if (timer) { \ - ecore_timer_del(timer);\ - timer = NULL; \ - } \ - } while (0) + if (timer) { \ + ecore_timer_del(timer);\ + timer = NULL; \ + } \ + } while (0) #define goto_if(x, dest) do { \ - if (x) {\ - goto dest;\ - }\ - } while (0) + if (x) {\ + goto dest;\ + }\ + } while (0) #define ug_ecore_idler_del(idler) do { \ - if(idler) { \ - ecore_idler_del(idler);\ - idler = NULL; \ - } \ - } while (0) + if (idler) { \ + ecore_idler_del(idler);\ + idler = NULL; \ + } \ + } while (0) typedef enum _mf_ug_list_play_state mf_ug_list_play_state; enum _mf_ug_list_play_state { - PLAY_STATE_INIT = 0, - PLAY_STATE_READY, - PLAY_STATE_PLAYING, - PLAY_STATE_PAUSED, - PLAY_STATE_STOP, - PLAY_STATE_MAX + PLAY_STATE_INIT = 0, + PLAY_STATE_READY, + PLAY_STATE_PLAYING, + PLAY_STATE_PAUSED, + PLAY_STATE_STOP, + PLAY_STATE_MAX }; typedef enum _mf_ug_select_mode mf_ug_select_mode; enum _mf_ug_select_mode { - SELECT_MODE = 0, - SINGLE_FILE_MODE, - SINGLE_ALL_MODE, - MULTI_FILE_MODE, - MULTI_ALL_MODE, - EXPORT_MODE, - IMPORT_MODE, - IMPORT_SINGLE, - IMPORT_PATH_SELECT_MODE, - SAVE_MODE, - SELECT_MODE_MAX -}; - -typedef enum _mf_ug_drm_mode mf_ug_drm_mode; -enum _mf_ug_drm_mode { - DRM_FILTER_NONE = 0, - DRM_FILTER_ALL, - DRM_FILTER_WITHOUT_FL, - DRM_FILTER_IMAGE, - DRM_FILTER_RINGTONE, - DRM_FILTER_MAX + SELECT_MODE = 0, + SINGLE_FILE_MODE, + SINGLE_ALL_MODE, + MULTI_FILE_MODE, + MULTI_ALL_MODE, + EXPORT_MODE, + IMPORT_MODE, + IMPORT_SINGLE, + IMPORT_PATH_SELECT_MODE, + DOCUMENT_SHARE, + SSM_DOCUMENT_SHARE, + SAVE_MODE, + SELECT_MODE_MAX }; typedef enum _mf_ug_marked_switch mf_ug_marked_switch; enum _mf_ug_marked_switch { - MARKED_OFF = 0, - MARKED_ON, + MARKED_OFF = 0, + MARKED_ON, }; typedef enum _mf_ug_file_filter_type mf_ug_file_filter_type; enum _mf_ug_file_filter_type { - SHOW_ALL_LIST = 0, - SHOW_IMAGE_LIST, - SHOW_SOUND_LIST, - SHOW_VIDEO_LIST, - SHOW_FLASH_LIST, - SHOW_FOLDER_LIST, - SHOW_IMAGE_VIDEO_LIST, - SHOW_IMAGE_SOUND_LIST, - SHOW_VIDEO_SOUND_LIST, - SHOW_BY_EXTENSION + SHOW_ALL_LIST = 0, + SHOW_IMAGE_LIST, + SHOW_SOUND_LIST, + SHOW_VIDEO_LIST, + SHOW_FLASH_LIST, + SHOW_FOLDER_LIST, + SHOW_IMAGE_VIDEO_LIST, + SHOW_IMAGE_SOUND_LIST, + SHOW_VIDEO_SOUND_LIST, + SHOW_DOCUMENT_LIST, + SHOW_BY_EXTENSION }; typedef enum _mf_ug_state_mode mf_ug_state_mode; enum _mf_ug_state_mode { - STATE_PHONE = 0, - STATE_MEMORY, - STATE_MODE_MAX + STATE_PHONE = 0, + STATE_MEMORY, + STATE_MODE_MAX }; typedef enum _mf_ug_mmc_insert_state mf_ug_mmc_insert_state; enum _mf_ug_mmc_insert_state { - MMC_OFF = 0, - MMC_ON + MMC_OFF = 0, + MMC_ON }; typedef enum _mf_ug_launch_type mf_ug_launch_type; enum _mf_ug_launch_type { - LAUNCH_TYPE_FORK = 0, - LAUNCH_TYPE_FAIL, - LAUNCH_TYPE_DIR, - LAUNCH_TYPE_IMAGE, - LAUNCH_TYPE_MUSIC, - LAUNCH_TYPE_VIDEO, - LAUNCH_TYPE_UNSUPPORT, - LAUNCH_TYPE_MAX + LAUNCH_TYPE_FORK = 0, + LAUNCH_TYPE_FAIL, + LAUNCH_TYPE_DIR, + LAUNCH_TYPE_IMAGE, + LAUNCH_TYPE_MUSIC, + LAUNCH_TYPE_VIDEO, + LAUNCH_TYPE_UNSUPPORT, + LAUNCH_TYPE_MAX }; typedef enum _mf_ug_eina_list_node_type mf_ug_eina_list_node_type; enum _mf_ug_eina_list_node_type { - NODE_TYPE_NONE = 0, - NODE_TYPE_CHAR, - NODE_TYPE_PNODE, - NODE_TYPE_GSTRING, - NODE_TYPE_MAX + NODE_TYPE_NONE = 0, + NODE_TYPE_CHAR, + NODE_TYPE_PNODE, + NODE_TYPE_GSTRING, + NODE_TYPE_MAX }; typedef enum _mf_ug_ctrl_bar_type mf_ug_ctrl_bar_type; enum _mf_ug_ctrl_bar_type { - CTRL_BAR_NORMAL = 0, - CTRL_BAR_MUSIC, - CTRL_BAR_RINGTONE, - CTRL_BAR_MULTI, - CTR_BAR_MAX + CTRL_BAR_NORMAL = 0, + CTRL_BAR_MUSIC, + CTRL_BAR_RINGTONE, + CTRL_BAR_MULTI, + CTR_BAR_MAX }; typedef enum _mf_ug_view_type mf_ug_view_type; enum _mf_ug_view_type { - mf_ug_view_root = 0, - mf_ug_view_normal, - mf_ug_view_max + mf_ug_view_root = 0, + mf_ug_view_normal, + mf_ug_view_ringtone_del, + mf_ug_view_max }; +#define INHERIT_MF_LIST \ + int list_type;\ + int ug_iGroupValue;\ + int storage_type;\ + ugData *ug_pData; + +typedef struct __mf_list_data_t{ + INHERIT_MF_LIST +}mf_list_data_t; + + typedef struct _ugListItemData ugListItemData; struct _ugListItemData { - Evas_Object *ug_pCheckBox; - Evas_Object *ug_pRadioBox; - Evas_Object *ug_pPlaybtn; - Elm_Object_Item *ug_pItem; - char *ug_pThumbPath; - GString *ug_pItemName; - ugData *ug_pData; - bool ug_bChecked; - int ug_iGroupValue; - bool ug_bRealThumbFlag; + INHERIT_MF_LIST + Evas_Object *ug_pCheckBox; + Evas_Object *ug_pRadioBox; + Evas_Object *ug_pPlaybtn; + Elm_Object_Item *ug_pItem; + char *ug_pThumbPath; + GString *ug_pItemName; + bool ug_bChecked; + bool ug_bRealThumbFlag; + Eina_Bool thumbnail_create; + media_info_h media; + char *sound_title; + bool ug_bDefaultItem; + double selsize; }; typedef struct _ug_dir_event_t ug_dir_event_t; struct _ug_dir_event_t { - int event; - char *name; + int event; + char *name; }; -typedef enum _mf_ug_theme_type mf_ug_theme_type; +typedef enum _mf_ug_theme_type mf_ug_theme_type; enum _mf_ug_theme_type { - UG_THEME_INVALID = -1, - UG_THEME_NBEAT = 0, - UG_THEME_NBEAT_BLACK = 1, - UG_THEME_ERROR + UG_THEME_INVALID = -1, + UG_THEME_NBEAT = 0, + UG_THEME_NBEAT_BLACK = 1, + UG_THEME_ERROR }; -typedef enum _mf_ug_more_type_e mf_ug_more_type_e; +typedef enum _mf_ug_more_type_e mf_ug_more_type_e; -enum _mf_ug_more_type_e{ /* softkey / contextual popup */ - UG_MORE_DEFAULT = 0, - UG_MORE_CREATE_FOLDER, - UG_MORE_SEARCH, - UG_MORE_TYPE_MAX +enum _mf_ug_more_type_e{ /* softkey / contextual popup */ + UG_MORE_DEFAULT = 0, + UG_MORE_CREATE_FOLDER, + UG_MORE_SEARCH, + UG_MORE_TYPE_MAX }; typedef enum _mf_ug_file_name_type_e mf_ug_file_name_type_e; enum _mf_ug_file_name_type_e { - FILE_NAME_WITH_BRACKETS, - FILE_NAME_WITH_UNDERLINE, - FILE_NAME_NONE, + FILE_NAME_WITH_BRACKETS, + FILE_NAME_WITH_UNDERLINE, + FILE_NAME_NONE, }; typedef enum __mf_ug_thumbnail_type_e mf_ug_thumbnail_type_e; enum __mf_ug_thumbnail_type_e { - MF_UG_THUMBNAIL_TYPE_DEFAULT, - MF_UG_THUMBNAIL_TYPE_THUMBNAIL, - MF_UG_THUMBNAIL_TYPE_MAX + MF_UG_THUMBNAIL_TYPE_DEFAULT, + MF_UG_THUMBNAIL_TYPE_THUMBNAIL, + MF_UG_THUMBNAIL_TYPE_MAX }; + +typedef struct __mf_ug_view_node_s mf_ug_view_node_s; +struct __mf_ug_view_node_s { + int view_type; + char *path; +}; + + bool mf_ug_util_is_mass_storage_on(); int mf_ug_util_create_dir_monitor(void *data); int mf_ug_util_set_mmc_state_cb(void *data); @@ -261,6 +284,7 @@ void mf_ug_list_play_play_music_item(ugListItemData *data); void mf_ug_list_play_destory_playing_file(void *data); void mf_ug_list_play_update_item_icon(void *data); + void mf_ug_util_storage_insert_action(void *data, char *pItemLabel); void mf_ug_util_destory_mmc_state_cb(); void mf_ug_util_destory_dir_monitor(void *data); @@ -271,7 +295,6 @@ int mf_ug_util_add_dir_watch(const char *path, void *data); mf_ug_launch_type mf_ug_util_get_file_launch_type(char *path); void mf_ug_util_destory_mass_storage_callback(); -mf_ug_theme_type mf_ug_util_get_theme(void); int mf_ug_file_attr_get_parent_path(const char *path, char **parent_path); char *mf_ug_util_upper_folder_name_get(void *data, GString *fullpath); void mf_ug_util_operation_alloc_failed(void *data); @@ -279,5 +302,26 @@ int mf_ug_util_remove_dir_watch(void); void mf_ug_util_sort_the_file_list(void *data); int mf_ug_util_check_disk_space(void *data); long mf_ug_util_character_count_get(const char *original); +int mf_ug_util_generate_root_view_file_list(Eina_List **list, int storage_state); +int mf_ug_util_set_default_ringtone_cb(void *data); +void mf_ug_util_destory_default_ringtone_cb(); +bool mf_ug_util_is_unique_view(int mode); +bool mf_ug_util_is_multi_select_mode(int mode); +bool mf_ug_util_is_single_select_mode(int mode); +bool mf_ug_util_is_import_mode(int mode); +bool mf_ug_util_find_item_from_pnode_list(Eina_List *list, const char *fullpath); +void mf_ug_util_destory_default_alert_cb(); +int mf_ug_util_set_default_alert_cb(void *data); +void mf_ug_util_destory_default_ringtone_cb(); +int mf_ug_util_set_default_ringtone_cb(void *data); +char *mf_ug_util_get_default_alert(); +char *mf_ug_util_get_default_ringtone(); +void mf_ug_util_mmc_remove_action(void *data); +char **mf_ug_util_get_send_result_array(void *data, int *item_count); +void mf_ug_util_path_push(char *path, int view_type); +mf_ug_view_node_s *mf_ug_util_path_pop(); +mf_ug_view_node_s *mf_ug_util_path_top_get(); +void mf_ug_util_view_node_free(mf_ug_view_node_s **view_node); +void mf_ug_util_path_stack_free(); #endif /* __DEF_MYFILE_UTIL_H_ */ diff --git a/src/include/mf-ug-view.h b/src/include/mf-ug-view.h new file mode 100644 index 0000000..26bd3d1 --- /dev/null +++ b/src/include/mf-ug-view.h @@ -0,0 +1,29 @@ +/* +* Copyright (c) 2000-2015 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. +* +*/ + + + + +#ifndef __MF_UG_VIEW_H_DEF__ +#define __MF_UG_VIEW_H_DEF__ + +#include <Elementary.h> + +void mf_ug_search_view_item_append(void *data, void *user_data); +Evas_Object *mf_widget_create_select_all_layout(Evas_Object *parent); + +#endif diff --git a/src/include/mf-ug-widget.h b/src/include/mf-ug-widget.h new file mode 100644 index 0000000..0f51dc7 --- /dev/null +++ b/src/include/mf-ug-widget.h @@ -0,0 +1,58 @@ +/* +* Copyright (c) 2000-2015 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. +* +*/ + + + +#ifndef __MF_UG_WIDGET_H +#define __MF_UG_WIDGET_H + +#include "mf-ug-main.h" + +Evas_Object *mf_ug_widget_create_button(Evas_Object *parent, const char *style, + const char *caption, Evas_Object *icon, + void (*func) (void *, Evas_Object *, void *), + void *data, + Eina_Bool flag_propagate); +void mf_ug_widget_object_text_set(Evas_Object *obj, const char *ID, const char* part); +void mf_ug_widget_object_item_translate_set(Elm_Object_Item *item, const char *ID); + +char *mf_ug_widget_get_text(const char *ID); +Evas_Object *mf_ug_widget_toolbar_create(Evas_Object *parent); +Elm_Object_Item *mf_ug_widget_item_tabbar_item_append(Evas_Object *obj, + const char *icon, + const char *label, + Evas_Smart_Cb func, + const void *data); +void mf_ug_widget_object_item_text_set(Elm_Object_Item *item, const char *ID, const char* part); +Evas_Object *mf_ug_widget_create_progressbar(Evas_Object *parent, char *style); +Evas_Object *mf_ug_widget_nocontent_create(Evas_Object *parent, const char *text, const char *icon_path); +Evas_Object *mf_ug_tabbar_create_path_tab(Evas_Object *parent, char *info); +void mf_ug_navi_bar_create_default_view(void *data); +void mf_ug_navi_bar_set_ctrl_button(void *data); +int mf_ug_genlist_ringtone_items_add(void *data, int value); +Elm_Object_Item *mf_ug_genlist_default_ringtone_item_append(Evas_Object *parent, + void *data, + int groudValue, + Elm_Genlist_Item_Class *itc); +Elm_Object_Item *mf_ug_genlist_silent_item_append(Evas_Object *parent, + void *data, + int groudValue, + Elm_Genlist_Item_Class *itc); + +void mf_ug_object_create_select_all_layout(Evas_Object *pParent, Evas_Smart_Cb pChangeFunc, + Evas_Object_Event_Cb pMouseDownFunc, void *pUserData, Evas_Object **pCheckBox, Evas_Object **pSelectLayout); +#endif diff --git a/src/include/mf-ug-winset.h b/src/include/mf-ug-winset.h index a18e85c..745ad40 100644 --- a/src/include/mf-ug-winset.h +++ b/src/include/mf-ug-winset.h @@ -1,18 +1,19 @@ /* - * 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. - */ +* Copyright (c) 2000-2015 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. +* +*/ #ifndef __DEF_MF_UG_WINSET_H_ #define __DEF_MF_UG_WINSET_H_ @@ -21,144 +22,126 @@ #include <assert.h> #include <Elementary.h> #include <glib.h> -#include <vconf.h> -#include <vconf-keys.h> - #include "mf-ug-main.h" -#include "../../data/ug_edc_common.h" #include "mf-ug-conf.h" #include "mf-ug-fs-util.h" /******************Navigation Bar Definition ***********/ -#define NAVI_MORE_BUTTON_PART "toolbar_more_btn" -#define NAVI_BOTTOM_BUTTON_1_PART "toolbar_button1" -#define NAVI_BOTTOM_BUTTON_2_PART "toolbar_button2" -#define NAVI_BUTTON_STYLE "naviframe/toolbar/default" -#define NAVI_BUTTON_EDIT "naviframe/more/default" +#define NAVI_MORE_BUTTON_PART "toolbar_more_btn" +#define NAVI_BOTTOM_BUTTON_1_PART "toolbar_button1" +#define NAVI_BOTTOM_BUTTON_2_PART "toolbar_button2" +#define NAVI_BUTTON_STYLE "naviframe/toolbar/default" +#define NAVI_BUTTON_EDIT "naviframe/more/default" -#define TITLE_BTN_STYLE "elm/button/base/naviframe/title_icon" -#define TITLE_LEFT_BTN "title_left_btn" -#define TITLE_RIGHT_BTN "title_right_btn" +#define TITLE_BTN_STYLE "elm/button/base/naviframe/title_icon" +#define TITLE_LEFT_BTN "title_left_btn" +#define TITLE_RIGHT_BTN "title_right_btn" #define MF_UG_NAVI_STYLE_ENABLE "basic" -#define MF_UG_UPPER_HEIGHT (113*elm_config_scale_get()) -#define MF_UG_UPPER_WIDTH (480*elm_config_scale_get()) +#define MF_UG_UPPER_HEIGHT (113*elm_config_scale_get()) +#define MF_UG_UPPER_WIDTH (480*elm_config_scale_get()) Evas_Object *mf_ug_navi_bar_create_navi_bar(Evas_Object *parent); void mf_ug_navi_bar_set_new_content(Evas_Object *pLayout, Evas_Object *NaviContent); void mf_ug_navi_bar_create_default_view(void *data); -ugNaviBar *mf_ug_navi_bar_get_in_use_navi(void *data); -void mf_ug_navi_bar_reset_navi_object(ugNaviBar *pNavi_s); -void mf_ug_navi_bar_refresh_navibar_recovered_view(void *data, ugNaviBar *pNaviStruct); -void mf_ug_navi_bar_remove_navi_list_item_by_label(void *data, const char *pNaviLabel); -void mf_ug_navi_bar_set_blocking(void *data, bool bblock_during_transition); + void mf_ug_navi_bar_remove_previous_contents(void *data); -void mf_ug_navi_bar_del_item_directly(void *data); -void mf_ug_navi_bar_create_new_folder_view(void *data); -ugNaviBar *ug_mf_navi_bar_get_navi_from_navilist(Eina_List *navilist, const char *label); -ugNaviBar *mf_ug_navi_bar_get_navi_struct_by_label(void *data, const char *pNaviLabel); void mf_ug_navi_bar_title_set(void *data); -Evas_Object *mf_ug_navibar_create_notify_popup(void *data, - Evas_Object *parent, - char *label, - bool time_out, - void func(void *data, Evas_Object *obj, void *event_info)); +void mf_ug_navi_bar_create_group_radio_box(void *data); +void mf_ug_navi_bar_button_set_disable(void *data, bool disable); +void mf_ug_navi_bar_set_path_state(Evas_Object *layout, Eina_Bool flag); +Evas_Object *mf_ug_navi_bar_create_layout(Evas_Object *parent, const char *edj, const char *grp_name); +Evas_Object *mf_genlist_create_path_info(Evas_Object *parent, const char *info, Evas_Object **pathinfo); +Evas_Object *mf_ug_navi_bar_create_box(Evas_Object * parent); +void mf_ug_navi_add_back_button(void *data); +void mf_ug_navi_bar_create_delete_view(void *data); +int mf_ug_navibar_get_ringtone_count(int mode); -/********** Control Bar Definition ********/ -#define UG_CTRL_ICON_CANCEL UG_ICON_PATH"/myfile_icon_cancel.png" -#define UG_CTRL_ICON_SAVE UG_ICON_PATH"/myfile_icon_done.png" -#define UG_TITLE_ICON_HOME UG_ICON_PATH"/Controlbar/U01_controlbar_cion_home.png" -#define UG_TITLE_ICON_HOME_PRESS UG_ICON_PATH"/Controlbar/U01_controlbar_cion_home_press.png" -#define UG_TITLE_ICON_UPPER UG_ICON_PATH"/Controlbar/U01_controlbar_cion_up_folder.png" -#define UG_TITLE_ICON_UPPER_PRESS UG_ICON_PATH"/Controlbar/U01_controlbar_cion_up_folder_press.png" - -typedef enum _eCtrlBarButtonType eCtrlBarButtonType; - -enum _eCtrlBarButtonType { - CTRL_BUTTON_CANCEL = 0, - CTRL_BUTTON_DONE, - CTRL_BUTTON_ADD, - CTRL_BUTTON_OTHER_RIONTONGS, - CTRL_BUTTON_MUSIC, - CTRL_BUTTON_MAX -}; +/********** Control Bar Definition ********/ -void mf_ug_ctrl_bar_set(void *data, ugNaviBar *pNavi_s); -void mf_ug_ctrl_bar_set_item_disable(void *data); - - -/**********Tab Bar Definition *************/ -Evas_Object *mf_ug_tab_bar_create(Evas_Object *parent); -Elm_Object_Item *mf_ug_tab_bar_append_item(Evas_Object *pTabBar, char *pTabIconPath, char *pTabBarLabel, void *user_data); -void mf_ug_tab_bar_set_item_view(Evas_Object *tab_layout, Evas_Object *view); -void mf_ug_tab_bar_remove_item_by_label(Evas_Object *pTabBar, char *pTabLabel); -void mf_ug_tab_bar_remove_all_items(Evas_Object *pTabBar); -void mf_ug_tab_bar_set_selected_item(Elm_Object_Item *pItem); -void mf_ug_tab_bar_set_item_disable(Evas_Object *pTabBar, Eina_Bool disable); -void mf_ug_ctrl_bar_recover(void *data); -Elm_Object_Item *mf_ug_tab_bar_get_item_by_label(Evas_Object *pTabBar, char *pTabLabel); -int mf_ug_tab_bar_items_count_get(Evas_Object *pTabBar); -void mf_ug_navi_bar_button_set_disable(void *data, bool disable); +#define UG_TITLE_ICON_HOME "myfile_controlbar_cion_home.png" +#define UG_TITLE_ICON_HOME_PRESS "myfile_controlbar_cion_home_press.png" +#define UG_TITLE_ICON_UPPER "myfile_controlbar_cion_up_folder.png" +#define UG_TITLE_ICON_UPPER_PRESS "myfile_controlbar_cion_up_folder_press.png" +#define UG_TITLE_ICON_SELECT_ALL "myfile_icon_select_all.png" +#define UG_TITLE_ICON_SELECT_ALL_PRESS "myfile_icon_select_all_selected.png" +void mf_ug_navi_bar_set_ctrl_item_disable(void *data); -/*********** Popup Definition ************/ +/*********** Popup Definition ************/ typedef enum _mf_ug_popup_mode mf_ug_popup_mode; enum _mf_ug_popup_mode { - UG_POPMODE_MIN = 0, - UG_POPMODE_TEXT, - UG_POPMODE_TITLE_TEXT, - UG_POPMODE_TEXT_TWO_BTN, - UG_POPMODE_TITLE_TEXT_TWO_BTN, - UG_POPMODE_TEXT_BTN, - UG_POPMODE_TITLE_TEXT_BTN, - UG_POPMODE_TITLE_TEXT_THREE_BTN, - UG_POPMODE_PROGRESSBAR, - UG_POPMODE_SEARCH, - UG_POPMODE_LIST_BY, - UG_POPMPDE_MAX + UG_POPMODE_MIN = 0, + UG_POPMODE_TEXT, + UG_POPMODE_TITLE_TEXT, + UG_POPMODE_TEXT_TWO_BTN, + UG_POPMODE_TITLE_TEXT_TWO_BTN, + UG_POPMODE_TEXT_BTN, + UG_POPMODE_TITLE_TEXT_BTN, + UG_POPMODE_TITLE_TEXT_THREE_BTN, + UG_POPMODE_PROGRESSBAR, + UG_POPMODE_SEARCH, + UG_POPMODE_LIST_BY, + UG_POPMPDE_MAX }; typedef enum _mf_ug_popup_event_type mf_ug_popup_event_type; enum _mf_ug_popup_event_type { - UG_ELM_POPUP_NONE, - UG_ELM_POPUP_YES, - UG_ELM_POPUP_NO, - UG_ELM_POPUP_OK, - UG_ELM_POPUP_CANCLE, - UG_ELM_POPUP_AUTO_RENAME, - UG_ELM_POPUP_REPLACE, - UG_ELM_POPUP_PHONE, - UG_ELM_POPUP_MEMORY, - UG_ELM_POPUP_MAX + UG_ELM_POPUP_NONE, + UG_ELM_POPUP_YES, + UG_ELM_POPUP_NO, + UG_ELM_POPUP_OK, + UG_ELM_POPUP_CANCLE, + UG_ELM_POPUP_AUTO_RENAME, + UG_ELM_POPUP_REPLACE, + UG_ELM_POPUP_PHONE, + UG_ELM_POPUP_MEMORY, + UG_ELM_POPUP_MAX }; -/*********** Popup API ************/ +/*********** Popup API ************/ Evas_Object *mf_ug_popup_create(void *data, mf_ug_popup_mode popupMode, char *title, const char *context, const char *first_btn_text, const char *second_btn_text, - const char *third_btn_text, Evas_Smart_Cb func, void *param); -void mf_ug_popup_indicator_popup(const char *text); + const char *third_btn_text, Evas_Smart_Cb func, void *param); +void mf_ug_popup_indicator_popup(char *text); +Evas_Object *mf_ug_popup_create_new_folder_popup(void *data, char *context); +Evas_Object *mf_ug_popup_create_search(void *data, Evas_Smart_Cb func, void *param); +Evas_Object *mf_ug_progress_get(); +void mf_ug_progress_set(Evas_Object *progress); +Eina_Bool mf_ug_popup_present_flag_get(); + void mf_ug_context_popup_create_more(void *data, Evas_Object *parent); +void mf_ug_resize_more_ctxpopup_cb(void *data, Evas_Object *obj, void *event_info); /******************* Genlist API *********************/ -void mf_ug_upper_genlist_item_append(Evas_Object *pGenlist, void *data); -void mf_ug_genlist_goto_myfile_item_append(Evas_Object *pGenlist, void *data); -Evas_Object *mf_navi_bar_upper_create(Evas_Object *parent); -void mf_ug_genlist_goto_myfile_style_set(void *data); -void mf_ug_genlist_upper_style_set(void *data); -Evas_Object *mf_ug_genlist_create_no_content(void *data); Evas_Object *mf_ug_genlist_create_content_list_view(void *data); Evas_Object *__mf_ug_genlist_create_gl(void *data); -Evas_Object *mf_ug_genlist_create_list_new_folder_style(void *data); Evas_Object *mf_ug_genlist_create_path_info(Evas_Object *parent, Elm_Genlist_Item_Class *itc, char *info); Elm_Object_Item *mf_ug_genlist_item_append(Evas_Object *parent, - ugFsNodeInfo *pNode, - void *data, - int groudValue, - Elm_Genlist_Item_Class *itc); + char *real_name, + void *data, + int groudValue, + Elm_Genlist_Item_Class *itc); void mf_ug_genlist_selected_gl(void *data, Evas_Object *obj, void *event_info); +void mf_ug_genlist_item_remove(Evas_Object *parent, int storage); +Evas_Object *mf_ug_genlist_create_checkbox(Evas_Object *parent); + +void mf_ug_navi_bar_push_content(void *data, Evas_Object *NaviContent); +Evas_Object *mf_popup_center_processing(Evas_Object *parent, + const char *context, + Evas_Smart_Cb func, + void *param); +void mf_ug_genlist_first_item_append(void *data, char *fullpath); +void mf_ug_select_all_layout_mouse_down_cb(void *data, Evas_Object *obj, void *event_info); +void mf_ug_genlist_item_bringin_top(void *data, const char *music_path); +Evas_Object *mf_ug_genlist_delete_style_create(void *data); +int mf_ug_genlist_ringtone_delete_items_add(void *data, int value); +void mf_ug_genlist_first_item_insert(void *data, char *fullpath, Elm_Object_Item *insert_afer); +Elm_Object_Item *mf_ug_genlist_default_item_get(); +void mf_ug_genlist_show_select_info(void *data); #endif diff --git a/src/media-db/mf-ug-media-db.c b/src/media-db/mf-ug-media-db.c new file mode 100644 index 0000000..440a726 --- /dev/null +++ b/src/media-db/mf-ug-media-db.c @@ -0,0 +1,1756 @@ +/* +* Copyright (c) 2000-2015 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. +* +*/ + +#include <sqlite3.h> +#include <string.h> +#include <assert.h> +#include <Eina.h> +#include <unistd.h> + +#include "mf-ug-media-error.h" +#include "mf-ug-media-types.h" + +#include "mf-ug-media.h" +#include "mf-ug-media-db.h" +#include "mf-ug-dlog.h" + + +#define MF_DB_NAME "/opt/usr/apps/org.tizen.myfile/data/.myfile_media.db" + +#define MF_PRAGMA_FOREIGN_KEYS_ON "PRAGMA foreign_keys = ON;" + +/************* Shortcut ************/ +#define MF_INSERT_INTO_SHORTCUT_TABLE "INSERT INTO %s (%s, %s, %s) VALUES ('%q', %Q, %d);" +#define MF_DELETE_FROM_SHORTCUT_TABLE "DELETE FROM %s WHERE %s = '%q';" +#define MF_DELETE_BY_TYPE_FROM_SHORTCUT_TABLE "DELETE FROM %s WHERE %s = %d;" +#define MF_SELECT_SHORTCUT_TABLE "SELECT * FROM %s;" +#define MF_SELECT_SHORTCUT_COUNT_TABLE "SELECT count(*) FROM %s;" + +/************ Recent files ***********/ +#define MF_INSERT_INTO_RECENT_FILES_TABLE "INSERT INTO %s (%s, %s, %s, %s) VALUES (?, ?, ?, ?);" +#define MF_DELETE_FROM_RECENT_FILES_TABLE "DELETE FROM %s WHERE %s = '%q';" +#define MF_DELETE_BY_TYPE_FROM_RECENT_FILES_TABLE "DELETE FROM %s WHERE %s = %d;" +#define MF_UPDATE_SET_RECENT_FILES_TABLE "UPDATE %s SET %s = '%q' WHERE (%s = '%q');" +#define MF_UPDATE_FAVORATE_FILES_TABLE "UPDATE %s SET %s = '%q' WHERE (%s = '%q');" +#define MF_SELECT_RECENT_FILES_TABLE "SELECT * FROM %s;" +#define MF_SELECT_RECENT_FILES_COUNT_TABLE "SELECT count(*) FROM %s;" + +#define MF_DELETE_ALL_FROM_TABLE "DELETE FROM %s;" + +/************ ringtone ****************/ +#define MF_INSERT_INTO_RINGTONE_TABLE "INSERT INTO %s (%s, %s, %s) VALUES ('%q', %Q, %d);" +#define MF_DELETE_FROM_RINGTONE_TABLE "DELETE FROM %s WHERE %s = '%q';" +#define MF_DELETE_BY_TYPE_FROM_RINGTONE_TABLE "DELETE FROM %s WHERE %s = %d;" +#define MF_SELECT_RINGTONE_TABLE "SELECT * FROM %s;" +#define MF_SELECT_RINGTONE_COUNT_TABLE "SELECT count(*) FROM %s;" +#define MF_FIND_RINGTONE_TABLE "SELECT * FROM %s WHERE %s = '%q';" + +/************** alert *****************/ +#define MF_INSERT_INTO_ALERT_TABLE "INSERT INTO %s (%s, %s, %s) VALUES ('%q', %Q, %d);" +#define MF_DELETE_FROM_ALERT_TABLE "DELETE FROM %s WHERE %s = '%q';" +#define MF_DELETE_BY_TYPE_FROM_ALERT_TABLE "DELETE FROM %s WHERE %s = %d;" +#define MF_SELECT_ALERT_TABLE "SELECT * FROM %s;" +#define MF_SELECT_ALERT_COUNT_TABLE "SELECT count(*) FROM %s;" +#define MF_FIND_ALERT_TABLE "SELECT * FROM %s WHERE %s = '%q';" + +typedef enum { + MF_TABLE_NONE = -1, + MF_TABLE_SHORTCUT, + MF_TABLE_RECENT_FILES, + MF_TABLE_RINGTONE, + MF_TABLE_ALERT, + MF_TABLE_NUM, +} mf_tbl_name_e; + +typedef enum { + MF_FIELD_SHORTCUT_NONE = -1, + MF_FIELD_SHORTCUT_PATH, + MF_FIELD_SHORTCUT_NAME, + MF_FIELD_SHORTCUT_STORAGE_TYPE, + MF_FIELD_SHORTCUT_NUM, +} mf_field_shortcut_e; + +typedef enum { + MF_FIELD_RECENT_FILES_NONE = -1, + MF_FIELD_RECENT_FILES_PATH, + MF_FIELD_RECENT_FILES_NAME, + MF_FIELD_RECENT_FILES_STORAGE_TYPE, + MF_FIELD_RECENT_FILES_THUMBNAIL, + MF_FIELD_RECENT_FILES_NUM, +} mf_field_recent_files_e; + +typedef enum { + MF_FIELD_RINGTONE_NONE = -1, + MF_FIELD_RINGTONE_PATH, + MF_FIELD_RINGTONE_NAME, + MF_FIELD_RINGTONE_STORAGE_TYPE, + MF_FIELD_RINGTONE_NUM, +} mf_field_ringtone_e; + +typedef enum { + MF_FIELD_ALERT_NONE = -1, + MF_FIELD_ALERT_PATH, + MF_FIELD_ALERT_NAME, + MF_FIELD_ALERT_STORAGE_TYPE, + MF_FIELD_ALERT_NUM, +} mf_field_alert_e; + +typedef struct { + char *field_name; + char *field_type; +} mf_tbl_field_s; + +typedef struct { + char *table_name; + mf_tbl_field_s mf_tbl_field[MF_FIELD_RECENT_FILES_NUM+1]; +} mf_tbl_s; + +mf_tbl_s mf_tbl[MF_TABLE_NUM] = { + {"shortcut", { + {"path", ""} /* PK */ + , + {"name", ""} /* PK */ + , + {"storage_type", ""} /* PK */ + } + } + , + {"recent_files", { + {"path", ""} /* PK */ + , + {"name", ""} + , + {"storage_type", ""} + , + {"thumbnail_path", ""} + } + + } + , + {"ringtone", { + {"path", ""} /* PK */ + , + {"name", ""} /* PK */ + , + {"storage_type", ""} /* PK */ + } + } + , + {"alert", { + {"path", ""} /* PK */ + , + {"name", ""} /* PK */ + , + {"storage_type", ""} /* PK */ + } + } +}; + +static int __mf_busy_handler(void *pData, int count) +{ + usleep(50000); + + ug_debug("web_media_busy_handler called : %d", count); + + return 100 - count; +} + +int mf_sqlite3_exec( + sqlite3 *p_db, /* An open database */ + const char *sql, /* SQL to be evaluated */ + int (*callback)(void*, int, char**, char**), /* Callback function */ + void *params, /* 1st argument to callback */ + char **errmsg /* Error msg written here */ +) +{ + ug_debug("mf_sqlite3_exec enter\n"); + sqlite3_stmt *p_statement = NULL; + int result = sqlite3_prepare_v2(p_db, sql, -1, &p_statement, NULL); + if (result != SQLITE_OK) { + ug_debug("sqlite3_prepare_v2 error result=%d", result); + return result; + } + result = sqlite3_step(p_statement); + + result = sqlite3_finalize(p_statement); + if (result != SQLITE_OK) { + ug_debug("sqlite3_finalize error result=%d", result); + } + ug_debug("mf_sqlite3_exec leave result=%d", result); + return result; +} + + +static int __mf_sqlite3_commit_trans(MFDHandle *mfd_handle) +{ + char *err_msg = NULL; + + sqlite3 *handle = (sqlite3 *)mfd_handle; + if (handle == NULL) { + ug_debug("handle is NULL"); + return MFD_ERROR_DB_INTERNAL; + } + + ug_debug("gm_sqlite3_commit_trans enter\n"); + if (SQLITE_OK != mf_sqlite3_exec(handle, "COMMIT;", NULL, NULL, &err_msg)) { + if (err_msg) { + ug_debug("Error:failed to end transaction: error=%s\n", + err_msg); + sqlite3_free(err_msg); + } + return MFD_ERROR_DB_INTERNAL; + } + if (err_msg) + sqlite3_free(err_msg); + ug_debug("gm_sqlite3_commit_trans leave\n"); + return 0; +} + +static int __mf_query_bind_text(sqlite3_stmt *stmt, int pos, const char *str) +{ + assert(NULL != stmt); + + if (str) + return sqlite3_bind_text(stmt, pos, (const char *)str, strlen(str), SQLITE_STATIC); + else + return sqlite3_bind_null(stmt, pos); +} + +static int __mf_query_bind_int(sqlite3_stmt *stmt, int pos, int num) +{ + assert(NULL != stmt); + assert(pos > -1); + return sqlite3_bind_int(stmt, pos, num); +} + +static char *__mf_query_table_column_text(sqlite3_stmt *stmt, int pos) +{ + assert(NULL != stmt); + assert(pos > -1); + return (char *)sqlite3_column_text(stmt, pos); +} + +static int __mf_query_table_column_int(sqlite3_stmt *stmt, int pos) +{ + assert(NULL != stmt); + assert(pos > -1); + return sqlite3_column_int(stmt, pos); +} + +static void __mf_data_to_text(char *textbuf, char **output) +{ + if (textbuf && strlen(textbuf) > 0) { + if (*output) { + free(*output); + *output = NULL; + } + *output = strdup(textbuf); + } +} + + +static int __mf_query_sql(MFDHandle *mfd_handle, char *query_str) +{ + int err = -1; + char *err_msg = NULL; + + sqlite3 *handle = (sqlite3 *)mfd_handle; + if (handle == NULL) { + ug_debug("handle is NULL"); + return MFD_ERROR_DB_INTERNAL; + } + + ug_debug("SQL = %s\n", query_str); + + err = mf_sqlite3_exec(handle, query_str, NULL, NULL, &err_msg); + if (SQLITE_OK != err) { + if (err_msg) { + ug_debug("failed to query[%s]", err_msg); + sqlite3_free(err_msg); + } + ug_debug("Query fails : query_string[%s]", query_str); + return MFD_ERROR_DB_INTERNAL; + } + + if (err_msg) + sqlite3_free(err_msg); + ug_debug("query success\n"); + + return err; +} + +static int __mf_sqlite3_begin_trans(MFDHandle *mfd_handle) +{ + char *err_msg = NULL; + + sqlite3 *handle = (sqlite3 *)mfd_handle; + if (handle == NULL) { + ug_debug("handle is NULL"); + return MFD_ERROR_DB_INTERNAL; + } + + ug_debug("gm_sqlite3_begin_trans enter\n"); + if (SQLITE_OK != + mf_sqlite3_exec(handle, "BEGIN IMMEDIATE;", NULL, NULL, &err_msg)) { + if (err_msg) { + ug_debug("Error:failed to begin transaction: error=%s\n", + err_msg); + sqlite3_free(err_msg); + } + return MFD_ERROR_DB_INTERNAL; + } + if (err_msg) + sqlite3_free(err_msg); + ug_debug("gm_sqlite3_begin_trans leave\n"); + return 0; +} + +static int __mf_sqlite3_rollback_trans(MFDHandle *mfd_handle) +{ + char *err_msg = NULL; + + sqlite3 *handle = (sqlite3 *)mfd_handle; + if (handle == NULL) { + ug_debug("handle is NULL"); + return MFD_ERROR_DB_INTERNAL; + } + + ug_debug("gm_sqlite3_rollback_trans enter\n"); + if (SQLITE_OK != + mf_sqlite3_exec(handle, "ROLLBACK;", NULL, NULL, &err_msg)) { + if (err_msg) { + ug_debug("Error:failed to rollback transaction: error=%s\n", + err_msg); + sqlite3_free(err_msg); + } + return MFD_ERROR_DB_INTERNAL; + } + if (err_msg) + sqlite3_free(err_msg); + ug_debug("gm_sqlite3_rollback_trans leave\n"); + return 0; +} + + +static void __mf_convert_recent_files_column_to_citem(sqlite3_stmt *stmt, MFRitem *ritem) +{ + char *textbuf = NULL; + + textbuf = __mf_query_table_column_text(stmt, MF_FIELD_RECENT_FILES_PATH); + __mf_data_to_text(textbuf, &(ritem->path)); + + textbuf = __mf_query_table_column_text(stmt, MF_FIELD_RECENT_FILES_NAME); + __mf_data_to_text(textbuf, &(ritem->name)); + + ritem->storyage_type = __mf_query_table_column_int(stmt, MF_FIELD_RECENT_FILES_STORAGE_TYPE); + + textbuf = __mf_query_table_column_text(stmt, MF_FIELD_RECENT_FILES_THUMBNAIL); + __mf_data_to_text(textbuf, &(ritem->thumbnail)); + +} + +static void __mf_foreach_recent_files_ritem_cb(mf_recent_files_item_cb callback, void *data, void *user_data) +{ + Eina_List *list = (Eina_List *)data; + Eina_List *iter = NULL; + + for (iter = list; iter != NULL; iter = eina_list_next(iter)) { + MFRitem *ritem = NULL; + ritem = (MFRitem *)iter->data; + + if (callback(ritem, user_data) == FALSE) + break; + } +} + +static void __mf_free_recent_files_list(void *data) +{ + mf_ug_destroy_recent_files_item(data); +} + +static void __mf_media_db_eina_list_free_full(Eina_List **list, void (*func)(void *data)) +{ + ug_mf_retm_if(*list == NULL, "list is NULL"); + + void *pNode = NULL; + Eina_List *l = NULL; + EINA_LIST_FOREACH(*list, l, pNode) { + func(pNode); + } + eina_list_free(*list); + *list = NULL; +} + +int mf_ug_connect_db_with_handle(sqlite3 **db_handle) +{ + int ret = MFD_ERROR_NONE; + + if (db_handle == NULL) { + ug_debug("error invalid arguments"); + return MFD_ERROR_INVALID_PARAMETER; + } + + /*Connect DB*/ + ret = sqlite3_open(MF_DB_NAME, db_handle); + if (SQLITE_OK != ret) { + + ug_debug("error when db open"); + *db_handle = NULL; + return MFD_ERROR_DB_CONNECT; + } + + /*Register busy handler*/ + ret = sqlite3_busy_handler(*db_handle, NULL, NULL); + if (SQLITE_OK != ret) { + + if (*db_handle) { + ug_debug("[error when register busy handler] %s\n", sqlite3_errmsg(*db_handle)); + } + + ret = sqlite3_close(*db_handle); + *db_handle = NULL; + + return MFD_ERROR_DB_CONNECT; + } + + /* set foreign_keys */ + char *query_string = NULL; + query_string = + sqlite3_mprintf(MF_PRAGMA_FOREIGN_KEYS_ON); + + ug_debug("Query : %s", query_string); + + ret = __mf_query_sql(*db_handle, query_string); + sqlite3_free(query_string); + + return MFD_ERROR_NONE; +} + +int mf_ug_disconnect_db_with_handle(sqlite3 *db_handle) +{ + int ret = MFD_ERROR_NONE; + + ret = sqlite3_close(db_handle); + if (SQLITE_OK != ret) { + ug_debug("error when db close"); + ug_debug("Error : %s", sqlite3_errmsg(db_handle)); + db_handle = NULL; + return MFD_ERROR_DB_DISCONNECT; + } + + return MFD_ERROR_NONE; +} + +/*1 Shortcut*/ + +static void __mf_convert_shortcut_column_to_sitem(sqlite3_stmt *stmt, MFSitem *sitem) +{ + char *textbuf = NULL; + + textbuf = __mf_query_table_column_text(stmt, MF_FIELD_SHORTCUT_PATH); + __mf_data_to_text(textbuf, &(sitem->path)); +} + +static void __mf_foreach_shortcut_sitem_cb(mf_shortcut_item_cb callback, void *data, void *user_data) +{ + Eina_List *list = (Eina_List *)data; + Eina_List *iter = NULL; + + for (iter = list; iter != NULL; iter = eina_list_next(iter)) { + MFSitem *sitem = NULL; + sitem = (MFSitem *)iter->data; + + if (callback(sitem, user_data) == FALSE) + break; + } +} + +static void __mf_free_shortcut_list(void *data) +{ + mf_ug_destroy_shortcut_item(data); +} + +int mf_ug_update_shortcut(MFDHandle *mfd_handle, const char *new_name, char *old_name) +{ + if (new_name == NULL) { + ug_debug("device_id is null"); + return MFD_ERROR_INVALID_PARAMETER; + } + + ug_error("mf_ug_update_shortcut"); + int err = -1; + mf_tbl_field_s *mf_tbl_field; + char *query_string = NULL; + mf_tbl_name_e field_seq = MF_TABLE_SHORTCUT; + mf_tbl_field = mf_tbl[field_seq].mf_tbl_field; + + + query_string = + sqlite3_mprintf(MF_UPDATE_FAVORATE_FILES_TABLE, + mf_tbl[field_seq].table_name, + /*mf_tbl_field[MF_FIELD_SHORTCUT_PATH].field_name,*/ + mf_tbl_field[MF_FIELD_SHORTCUT_PATH].field_name, + new_name, + mf_tbl_field[MF_FIELD_SHORTCUT_PATH].field_name, + old_name + ); + + ug_error("Query : %s", query_string); + + err = __mf_query_sql(mfd_handle, query_string); + sqlite3_free(query_string); + + if (err < 0) { + ug_debug("Inserting device table failed\n"); + ug_debug("query string is %s\n", query_string); + return MFD_ERROR_DB_INTERNAL; + } + + return MFD_ERROR_NONE; +} + + + +int mf_ug_insert_shortcut(MFDHandle *mfd_handle, const char *shortcut_path, const char *shortcut_name, int storage_type) +{ + ug_debug(""); + + if (shortcut_path == NULL) { + ug_debug("device_id is null"); + return MFD_ERROR_INVALID_PARAMETER; + } + + int err = -1; + mf_tbl_field_s *mf_tbl_field; + char *query_string = NULL; + mf_tbl_name_e field_seq = MF_TABLE_SHORTCUT; + mf_tbl_field = mf_tbl[field_seq].mf_tbl_field; + + + query_string = + sqlite3_mprintf(MF_INSERT_INTO_SHORTCUT_TABLE, + mf_tbl[field_seq].table_name, + mf_tbl_field[MF_FIELD_SHORTCUT_PATH].field_name, + mf_tbl_field[MF_FIELD_SHORTCUT_NAME].field_name, + mf_tbl_field[MF_FIELD_SHORTCUT_STORAGE_TYPE].field_name, + shortcut_path, + shortcut_name, + storage_type); + + ug_debug("Query : %s", query_string); + + err = __mf_query_sql(mfd_handle, query_string); + sqlite3_free(query_string); + + if (err < 0) { + ug_debug("Inserting device table failed\n"); + ug_debug("query string is %s\n", query_string); + return MFD_ERROR_DB_INTERNAL; + } + + return MFD_ERROR_NONE; +} + +int mf_ug_delete_shortcut(MFDHandle *mfd_handle, const char *shortcut_path) +{ + ug_debug(""); + + if (shortcut_path == NULL) { + ug_debug("shortcut_path is null"); + return MFD_ERROR_INVALID_PARAMETER; + } + + int err = -1; + mf_tbl_field_s *mf_tbl_field; + char *query_string = NULL; + mf_tbl_name_e field_seq = MF_TABLE_SHORTCUT; + mf_tbl_field = mf_tbl[field_seq].mf_tbl_field; + + query_string = + sqlite3_mprintf(MF_DELETE_FROM_SHORTCUT_TABLE, + mf_tbl[field_seq].table_name, + mf_tbl_field[MF_FIELD_SHORTCUT_PATH].field_name, + shortcut_path); + + ug_debug("Query : %s", query_string); + + err = __mf_sqlite3_begin_trans(mfd_handle); + if (err < 0) { + ug_debug("gm_sqlite3_begin_trans failed"); + return err; + } + + err = __mf_query_sql(mfd_handle, query_string); + sqlite3_free(query_string); + + if (err < 0) { + ug_debug("delete content by content_id failed.. Now start to rollback"); + __mf_sqlite3_rollback_trans(mfd_handle); + return err; + } + + err = __mf_sqlite3_commit_trans(mfd_handle); + if (err < 0) { + ug_debug("gm_sqlite3_commit_trans failed.. Now start to rollback\n"); + __mf_sqlite3_rollback_trans(mfd_handle); + return err; + } + + return MFD_ERROR_NONE; +} + +int mf_ug_delete_shortcut_by_type(MFDHandle *mfd_handle, int storage_type) +{ + ug_debug(""); + + int err = -1; + mf_tbl_field_s *mf_tbl_field; + char *query_string = NULL; + mf_tbl_name_e field_seq = MF_TABLE_SHORTCUT; + mf_tbl_field = mf_tbl[field_seq].mf_tbl_field; + + query_string = + sqlite3_mprintf(MF_DELETE_BY_TYPE_FROM_SHORTCUT_TABLE, + mf_tbl[field_seq].table_name, + mf_tbl_field[MF_FIELD_SHORTCUT_STORAGE_TYPE].field_name, + storage_type); + + ug_debug("Query : %s", query_string); + + err = __mf_sqlite3_begin_trans(mfd_handle); + if (err < 0) { + ug_debug("gm_sqlite3_begin_trans failed"); + return err; + } + + err = __mf_query_sql(mfd_handle, query_string); + sqlite3_free(query_string); + + if (err < 0) { + ug_debug("delete content by content_id failed.. Now start to rollback"); + __mf_sqlite3_rollback_trans(mfd_handle); + return err; + } + + err = __mf_sqlite3_commit_trans(mfd_handle); + if (err < 0) { + ug_debug("gm_sqlite3_commit_trans failed.. Now start to rollback\n"); + __mf_sqlite3_rollback_trans(mfd_handle); + return err; + } + + return MFD_ERROR_NONE; +} + +int mf_ug_foreach_shortcut_list(MFDHandle *mfd_handle, mf_shortcut_item_cb callback, void *user_data) +{ + ug_debug(""); + + char *query_string = NULL; + mf_tbl_name_e field_seq = MF_TABLE_SHORTCUT; + sqlite3_stmt *stmt = NULL; + int rc = 0; + + query_string = + sqlite3_mprintf(MF_SELECT_SHORTCUT_TABLE, + mf_tbl[field_seq].table_name); + + ug_debug("Query : %s", query_string); + + rc = sqlite3_prepare_v2(mfd_handle, query_string, strlen(query_string), &stmt, NULL); + sqlite3_free(query_string); + if (SQLITE_OK != rc) { + ug_debug("failed to query[%s]", sqlite3_errmsg(mfd_handle)); + ug_debug("Query fails : query_string[%s]", query_string); + return MFD_ERROR_DB_INTERNAL; + } + + rc = sqlite3_step(stmt); + if (SQLITE_ROW != rc) { + ug_debug("No result"); + rc = sqlite3_finalize(stmt); + if (SQLITE_OK != rc) { + ug_debug("sqlite3_finalize fail, rc : %d, db_error : %s", rc, sqlite3_errmsg(mfd_handle)); + } + return MFD_ERROR_DB_NO_RECORD; + } + + Eina_List *shortcut_list = NULL; + MFSitem *sitem = NULL; + + while (SQLITE_ROW == rc) { + sitem = (MFSitem *)calloc(1, sizeof(MFSitem)); + if (!sitem) { + ug_debug("allocation failed"); + return MFD_ERROR_DB_INTERNAL; + } + __mf_convert_shortcut_column_to_sitem(stmt, sitem); + shortcut_list = eina_list_append(shortcut_list, sitem); + rc = sqlite3_step(stmt); + ug_debug(""); + } + + rc = sqlite3_finalize(stmt); + if (SQLITE_OK != rc) { + ug_debug("sqlite3_finalize fail, rc : %d, db_error : %s", rc, sqlite3_errmsg(mfd_handle)); + } + + __mf_foreach_shortcut_sitem_cb(callback, shortcut_list, user_data); + + if (shortcut_list) { + __mf_media_db_eina_list_free_full(&shortcut_list, __mf_free_shortcut_list); + } + + return MFD_ERROR_NONE; +} + +int mf_ug_get_short_count(MFDHandle *mfd_handle, int *count) +{ + ug_debug(""); + + char *query_string = NULL; + mf_tbl_name_e field_seq = MF_TABLE_SHORTCUT; + sqlite3_stmt *stmt = NULL; + int rc = 0; + + query_string = + sqlite3_mprintf(MF_SELECT_SHORTCUT_COUNT_TABLE, + mf_tbl[field_seq].table_name); + + ug_debug("Query : %s", query_string); + + rc = sqlite3_prepare_v2(mfd_handle, query_string, strlen(query_string), &stmt, NULL); + sqlite3_free(query_string); + if (SQLITE_OK != rc) { + ug_debug("failed to query[%s]", sqlite3_errmsg(mfd_handle)); + ug_debug("Query fails : query_string[%s]", query_string); + return MFD_ERROR_DB_INTERNAL; + } + + rc = sqlite3_step(stmt); + if (SQLITE_ROW != rc) { + ug_debug("No result"); + rc = sqlite3_finalize(stmt); + if (SQLITE_OK != rc) { + ug_debug("sqlite3_finalize fail, rc : %d, db_error : %s", rc, sqlite3_errmsg(mfd_handle)); + } + *count = 0; + return MFD_ERROR_DB_NO_RECORD; + } + + *count = sqlite3_column_int(stmt, 0); + ug_debug("count : %d", *count); + + rc = sqlite3_finalize(stmt); + if (SQLITE_OK != rc) { + ug_debug("sqlite3_finalize fail, rc : %d, db_error : %s", rc, sqlite3_errmsg(mfd_handle)); + } + + return MFD_ERROR_NONE; +} + +/*1 Recent files*/ + + + +int mf_ug_insert_recent_file(MFDHandle *mfd_handle, const char *path, const char *name, int storage_type, const char *thumbnail_path) +{ + ug_debug(""); + ug_mf_retvm_if (path == NULL, MFD_ERROR_INVALID_PARAMETER, "path is NULL"); + /*mf_retvm_if (name == NULL, MFD_ERROR_INVALID_PARAMETER, "path is NULL"); + mf_retvm_if (thumbnail_path == NULL, MFD_ERROR_INVALID_PARAMETER, "path is NULL");*/ + + + sqlite3_stmt *stmt = NULL; + int err = -1; + + char query_string[255]; + memset(query_string, 0, sizeof(query_string)); + mf_tbl_field_s *mf_tbl_field; + mf_tbl_name_e field_seq = MF_TABLE_RECENT_FILES; + mf_tbl_field = mf_tbl[field_seq].mf_tbl_field; + + snprintf(query_string, sizeof(query_string), MF_INSERT_INTO_RECENT_FILES_TABLE, + mf_tbl[field_seq].table_name, + mf_tbl_field[MF_FIELD_RECENT_FILES_PATH].field_name, + mf_tbl_field[MF_FIELD_RECENT_FILES_NAME].field_name, + mf_tbl_field[MF_FIELD_RECENT_FILES_STORAGE_TYPE].field_name, + mf_tbl_field[MF_FIELD_RECENT_FILES_THUMBNAIL].field_name); + + err = sqlite3_prepare_v2(mfd_handle, query_string, strlen(query_string), &stmt, NULL); + if (err != SQLITE_OK) { + ug_debug("sqlite3_prepare_v2"); + goto INSERT_FAIL; + } + + __mf_query_bind_text(stmt, 1, path); + __mf_query_bind_text(stmt, 2, name); + __mf_query_bind_int(stmt, 3, storage_type); + __mf_query_bind_text(stmt, 4, thumbnail_path); + +INSERT_FAIL: + err = sqlite3_step(stmt); + if (err != SQLITE_DONE) { + SECURE_DEBUG("Inserting content table failed. %s", sqlite3_errmsg(mfd_handle)); + if (SQLITE_OK != sqlite3_finalize(stmt)) { + ug_debug("sqlite3_finalize failed"); + } + return MFD_ERROR_DB_INTERNAL; + } + + if (SQLITE_OK != sqlite3_finalize(stmt)) { + ug_debug("sqlite3_finalize failed"); + } + ug_debug("Query : %s", query_string); + + return MFD_ERROR_NONE; +} + +int mf_ug_delete_recent_files(MFDHandle *mfd_handle, const char *path) +{ + ug_debug(""); + + if (path == NULL) { + ug_debug("shortcut_path is null"); + return MFD_ERROR_INVALID_PARAMETER; + } + + int err = -1; + mf_tbl_field_s *mf_tbl_field; + char *query_string = NULL; + mf_tbl_name_e field_seq = MF_TABLE_RECENT_FILES; + mf_tbl_field = mf_tbl[field_seq].mf_tbl_field; + + query_string = + sqlite3_mprintf(MF_DELETE_FROM_RECENT_FILES_TABLE, + mf_tbl[field_seq].table_name, + mf_tbl_field[MF_FIELD_RECENT_FILES_PATH].field_name, + path); + + ug_debug("Query : %s", query_string); + + err = __mf_sqlite3_begin_trans(mfd_handle); + if (err < 0) { + ug_debug("gm_sqlite3_begin_trans failed"); + return err; + } + + err = __mf_query_sql(mfd_handle, query_string); + sqlite3_free(query_string); + + if (err < 0) { + ug_debug("delete content by content_id failed.. Now start to rollback"); + __mf_sqlite3_rollback_trans(mfd_handle); + return err; + } + + err = __mf_sqlite3_commit_trans(mfd_handle); + if (err < 0) { + ug_debug("gm_sqlite3_commit_trans failed.. Now start to rollback\n"); + __mf_sqlite3_rollback_trans(mfd_handle); + return err; + } + + return MFD_ERROR_NONE; +} + +int mf_ug_delete_recent_files_by_type(MFDHandle *mfd_handle, int storage_type) +{ + ug_debug(""); + + int err = -1; + mf_tbl_field_s *mf_tbl_field; + char *query_string = NULL; + mf_tbl_name_e field_seq = MF_TABLE_RECENT_FILES; + mf_tbl_field = mf_tbl[field_seq].mf_tbl_field; + + query_string = + sqlite3_mprintf(MF_DELETE_BY_TYPE_FROM_RECENT_FILES_TABLE, + mf_tbl[field_seq].table_name, + mf_tbl_field[MF_FIELD_RECENT_FILES_STORAGE_TYPE].field_name, + storage_type); + + ug_debug("Query : %s", query_string); + + err = __mf_sqlite3_begin_trans(mfd_handle); + if (err < 0) { + ug_debug("gm_sqlite3_begin_trans failed"); + return err; + } + + err = __mf_query_sql(mfd_handle, query_string); + sqlite3_free(query_string); + + if (err < 0) { + ug_debug("delete content by content_id failed.. Now start to rollback"); + __mf_sqlite3_rollback_trans(mfd_handle); + return err; + } + + err = __mf_sqlite3_commit_trans(mfd_handle); + if (err < 0) { + ug_debug("gm_sqlite3_commit_trans failed.. Now start to rollback\n"); + __mf_sqlite3_rollback_trans(mfd_handle); + return err; + } + + return MFD_ERROR_NONE; +} + +int mf_ug_update_recent_files_thumbnail(MFDHandle *mfd_handle, const char *thumbnail, const char *new_thumbnail) +{ + ug_debug(""); + + if (thumbnail == NULL) { + ug_debug("thumbnail is null"); + return MFD_ERROR_INVALID_PARAMETER; + } + if (new_thumbnail == NULL) { + ug_debug("new_thumbnail is null"); + return MFD_ERROR_INVALID_PARAMETER; + } + + int err = -1; + + mf_tbl_field_s *mf_tbl_field; + mf_tbl_name_e field_seq = MF_TABLE_RECENT_FILES; + mf_tbl_field = mf_tbl[field_seq].mf_tbl_field; + char *query_string = NULL; + + query_string = + sqlite3_mprintf(MF_UPDATE_SET_RECENT_FILES_TABLE, + mf_tbl[field_seq].table_name, + mf_tbl_field[MF_FIELD_RECENT_FILES_THUMBNAIL].field_name, + new_thumbnail, + mf_tbl_field[MF_FIELD_RECENT_FILES_THUMBNAIL].field_name, + thumbnail); + + ug_debug("Query : %s", query_string); + + err = __mf_query_sql(mfd_handle, query_string); + sqlite3_free(query_string); + + if (err < 0) { + ug_debug("Updating content table failed"); + ug_debug("query string is %s", query_string); + return MFD_ERROR_DB_INTERNAL; + } + + return MFD_ERROR_NONE; +} + + + +int mf_ug_foreach_recent_files_list(MFDHandle *mfd_handle, mf_recent_files_item_cb callback, void *user_data) +{ + ug_debug(""); + + char *query_string = NULL; + mf_tbl_name_e field_seq = MF_TABLE_RECENT_FILES; + sqlite3_stmt *stmt = NULL; + int rc = 0; + + query_string = sqlite3_mprintf(MF_SELECT_RECENT_FILES_TABLE, mf_tbl[field_seq].table_name); + + ug_debug("Query : %s", query_string); + + rc = sqlite3_prepare_v2(mfd_handle, query_string, strlen(query_string), &stmt, NULL); + sqlite3_free(query_string); + if (SQLITE_OK != rc) { + ug_debug("failed to query[%s]", sqlite3_errmsg(mfd_handle)); + ug_debug("Query fails : query_string[%s]", query_string); + return MFD_ERROR_DB_INTERNAL; + } + + rc = sqlite3_step(stmt); + if (SQLITE_ROW != rc) { + ug_debug("No result"); + rc = sqlite3_finalize(stmt); + if (SQLITE_OK != rc) { + ug_debug("sqlite3_finalize fail, rc : %d, db_error : %s", rc, sqlite3_errmsg(mfd_handle)); + } + return MFD_ERROR_DB_NO_RECORD; + } + + Eina_List *recent_files_list = NULL; + MFRitem *ritem = NULL; + + while (SQLITE_ROW == rc) { + ritem = (MFRitem *)calloc(1, sizeof(MFRitem)); + if (!ritem) { + ug_debug("allocation failed"); + return MFD_ERROR_DB_INTERNAL; + } + + __mf_convert_recent_files_column_to_citem(stmt, ritem); + recent_files_list = eina_list_append(recent_files_list, ritem); + rc = sqlite3_step(stmt); + ug_debug(""); + } + + rc = sqlite3_finalize(stmt); + if (SQLITE_OK != rc) { + ug_debug("sqlite3_finalize fail, rc : %d, db_error : %s", rc, sqlite3_errmsg(mfd_handle)); + } + + __mf_foreach_recent_files_ritem_cb(callback, recent_files_list, user_data); + + if (recent_files_list) { + __mf_media_db_eina_list_free_full(&recent_files_list, __mf_free_recent_files_list); + } + + return MFD_ERROR_NONE; +} + + +int mf_ug_get_recent_files_count(MFDHandle *mfd_handle, int *count) +{ + ug_debug(""); + + char *query_string = NULL; + mf_tbl_name_e field_seq = MF_TABLE_RECENT_FILES; + sqlite3_stmt *stmt = NULL; + int rc = 0; + + query_string = sqlite3_mprintf(MF_SELECT_RECENT_FILES_COUNT_TABLE, mf_tbl[field_seq].table_name); + + ug_debug("Query : %s", query_string); + + rc = sqlite3_prepare_v2(mfd_handle, query_string, strlen(query_string), &stmt, NULL); + sqlite3_free(query_string); + if (SQLITE_OK != rc) { + ug_debug("failed to query[%s]", sqlite3_errmsg(mfd_handle)); + ug_debug("Query fails : query_string[%s]", query_string); + return MFD_ERROR_DB_INTERNAL; + } + + rc = sqlite3_step(stmt); + if (SQLITE_ROW != rc) { + ug_debug("No result"); + rc = sqlite3_finalize(stmt); + if (SQLITE_OK != rc) { + ug_debug("sqlite3_finalize fail, rc : %d, db_error : %s", rc, sqlite3_errmsg(mfd_handle)); + } + *count = 0; + return MFD_ERROR_DB_NO_RECORD; + } + + *count = sqlite3_column_int(stmt, 0); + ug_debug("count : %d", *count); + + rc = sqlite3_finalize(stmt); + if (SQLITE_OK != rc) { + ug_debug("sqlite3_finalize fail, rc : %d, db_error : %s", rc, sqlite3_errmsg(mfd_handle)); + } + + return MFD_ERROR_NONE; +} + +/*1 Ringtones*/ + +static void __mf_convert_ringtone_column_to_ringtone_item(sqlite3_stmt *stmt, mfRingtone *ritem) +{ + char *textbuf = NULL; + + textbuf = __mf_query_table_column_text(stmt, MF_FIELD_SHORTCUT_PATH); + __mf_data_to_text(textbuf, &(ritem->path)); +} + +static void __mf_foreach_ringtone_item_cb(mf_ringtone_item_cb callback, void *data, void *user_data) +{ + Eina_List *list = (Eina_List *)data; + Eina_List *iter = NULL; + + for (iter = list; iter != NULL; iter = eina_list_next(iter)) { + mfRingtone *ritem = NULL; + ritem = (mfRingtone *)iter->data; + + if (callback(ritem, user_data) == FALSE) + break; + } +} + +static void __mf_free_ringtone_list(void *data) +{ + mf_ug_destroy_ringtone_item(data); +} + +int mf_ug_update_ringtone(MFDHandle *mfd_handle, const char *new_name, char *old_name) +{ + if (new_name == NULL) { + ug_debug("device_id is null"); + return MFD_ERROR_INVALID_PARAMETER; + } + + ug_error("mf_ug_update_shortcut"); + int err = -1; + mf_tbl_field_s *mf_tbl_field; + char *query_string = NULL; + mf_tbl_name_e field_seq = MF_TABLE_RINGTONE; + mf_tbl_field = mf_tbl[field_seq].mf_tbl_field; + + + query_string = + sqlite3_mprintf(MF_UPDATE_FAVORATE_FILES_TABLE, + mf_tbl[field_seq].table_name, + /*mf_tbl_field[MF_FIELD_SHORTCUT_PATH].field_name,*/ + mf_tbl_field[MF_FIELD_RINGTONE_PATH].field_name, + new_name, + mf_tbl_field[MF_FIELD_RINGTONE_PATH].field_name, + old_name + ); + + ug_error("Query : %s", query_string); + + err = __mf_query_sql(mfd_handle, query_string); + sqlite3_free(query_string); + + if (err < 0) { + ug_debug("Inserting device table failed\n"); + ug_debug("query string is %s\n", query_string); + return MFD_ERROR_DB_INTERNAL; + } + + return MFD_ERROR_NONE; +} + + + +int mf_ug_insert_ringtone(MFDHandle *mfd_handle, const char *ringtone_path, const char *ringtone_name, int storage_type) +{ + ug_debug(""); + + if (ringtone_path == NULL) { + ug_debug("device_id is null"); + return MFD_ERROR_INVALID_PARAMETER; + } + + int err = -1; + mf_tbl_field_s *mf_tbl_field; + char *query_string = NULL; + mf_tbl_name_e field_seq = MF_TABLE_RINGTONE; + mf_tbl_field = mf_tbl[field_seq].mf_tbl_field; + + + query_string = + sqlite3_mprintf(MF_INSERT_INTO_RINGTONE_TABLE, + mf_tbl[field_seq].table_name, + mf_tbl_field[MF_FIELD_RINGTONE_PATH].field_name, + mf_tbl_field[MF_FIELD_RINGTONE_NAME].field_name, + mf_tbl_field[MF_FIELD_RINGTONE_STORAGE_TYPE].field_name, + ringtone_path, + ringtone_name, + storage_type); + + ug_debug("Query : %s", query_string); + + err = __mf_query_sql(mfd_handle, query_string); + sqlite3_free(query_string); + + if (err < 0) { + ug_debug("Inserting device table failed\n"); + ug_debug("query string is %s\n", query_string); + return MFD_ERROR_DB_INTERNAL; + } + + return MFD_ERROR_NONE; +} + +int mf_ug_delete_ringtone(MFDHandle *mfd_handle, const char *ringtone_path) +{ + ug_debug(""); + + if (ringtone_path == NULL) { + ug_debug("shortcut_path is null"); + return MFD_ERROR_INVALID_PARAMETER; + } + + int err = -1; + mf_tbl_field_s *mf_tbl_field; + char *query_string = NULL; + mf_tbl_name_e field_seq = MF_TABLE_RINGTONE; + mf_tbl_field = mf_tbl[field_seq].mf_tbl_field; + + query_string = + sqlite3_mprintf(MF_DELETE_FROM_RINGTONE_TABLE, + mf_tbl[field_seq].table_name, + mf_tbl_field[MF_FIELD_RINGTONE_PATH].field_name, + ringtone_path); + + ug_debug("Query : %s", query_string); + + err = __mf_sqlite3_begin_trans(mfd_handle); + if (err < 0) { + ug_debug("gm_sqlite3_begin_trans failed"); + return err; + } + + err = __mf_query_sql(mfd_handle, query_string); + sqlite3_free(query_string); + + if (err < 0) { + ug_debug("delete content by content_id failed.. Now start to rollback"); + __mf_sqlite3_rollback_trans(mfd_handle); + return err; + } + + err = __mf_sqlite3_commit_trans(mfd_handle); + if (err < 0) { + ug_debug("gm_sqlite3_commit_trans failed.. Now start to rollback\n"); + __mf_sqlite3_rollback_trans(mfd_handle); + return err; + } + + return MFD_ERROR_NONE; +} + +int mf_ug_find_ringtone(MFDHandle *mfd_handle, const char *ringtone_path) +{ + ug_debug(""); + + mf_tbl_field_s *mf_tbl_field; + char *query_string = NULL; + mf_tbl_name_e field_seq = MF_TABLE_RINGTONE; + mf_tbl_field = mf_tbl[field_seq].mf_tbl_field; + sqlite3_stmt *stmt = NULL; + int rc = 0; + int find = 0; + query_string = + sqlite3_mprintf(MF_FIND_RINGTONE_TABLE, + mf_tbl[field_seq].table_name, + mf_tbl_field[MF_FIELD_RINGTONE_PATH].field_name, + ringtone_path); + + ug_debug("Query : %s", query_string); + + rc = sqlite3_prepare_v2(mfd_handle, query_string, strlen(query_string), &stmt, NULL); + sqlite3_free(query_string); + if (SQLITE_OK != rc) { + ug_debug("failed to query[%s]", sqlite3_errmsg(mfd_handle)); + ug_debug("Query fails : query_string[%s]", query_string); + return find; + } + + rc = sqlite3_step(stmt); + if (SQLITE_ROW != rc) { + ug_debug("No result"); + rc = sqlite3_finalize(stmt); + if (SQLITE_OK != rc) { + ug_debug("sqlite3_finalize fail, rc : %d, db_error : %s", rc, sqlite3_errmsg(mfd_handle)); + } + return find; + } + + + while (SQLITE_ROW == rc) { + + find = 1; + rc = sqlite3_step(stmt); + ug_debug(""); + } + + rc = sqlite3_finalize(stmt); + if (SQLITE_OK != rc) { + ug_debug("sqlite3_finalize fail, rc : %d, db_error : %s", rc, sqlite3_errmsg(mfd_handle)); + } + return find; +} + + + +int mf_ug_delete_ringtone_by_type(MFDHandle *mfd_handle, int storage_type) +{ + ug_debug(""); + + int err = -1; + mf_tbl_field_s *mf_tbl_field; + char *query_string = NULL; + mf_tbl_name_e field_seq = MF_TABLE_RINGTONE; + mf_tbl_field = mf_tbl[field_seq].mf_tbl_field; + + query_string = + sqlite3_mprintf(MF_DELETE_BY_TYPE_FROM_RINGTONE_TABLE, + mf_tbl[field_seq].table_name, + mf_tbl_field[MF_FIELD_RINGTONE_STORAGE_TYPE].field_name, + storage_type); + + ug_debug("Query : %s", query_string); + + err = __mf_sqlite3_begin_trans(mfd_handle); + if (err < 0) { + ug_debug("gm_sqlite3_begin_trans failed"); + return err; + } + + err = __mf_query_sql(mfd_handle, query_string); + sqlite3_free(query_string); + + if (err < 0) { + ug_debug("delete content by content_id failed.. Now start to rollback"); + __mf_sqlite3_rollback_trans(mfd_handle); + return err; + } + + err = __mf_sqlite3_commit_trans(mfd_handle); + if (err < 0) { + ug_debug("gm_sqlite3_commit_trans failed.. Now start to rollback\n"); + __mf_sqlite3_rollback_trans(mfd_handle); + return err; + } + + return MFD_ERROR_NONE; +} + +int mf_ug_foreach_ringtone_list(MFDHandle *mfd_handle, mf_ringtone_item_cb callback, void *user_data) +{ + ug_debug(""); + + char *query_string = NULL; + mf_tbl_name_e field_seq = MF_TABLE_RINGTONE; + sqlite3_stmt *stmt = NULL; + int rc = 0; + + query_string = + sqlite3_mprintf(MF_SELECT_RINGTONE_TABLE, + mf_tbl[field_seq].table_name); + + ug_debug("Query : %s", query_string); + + rc = sqlite3_prepare_v2(mfd_handle, query_string, strlen(query_string), &stmt, NULL); + sqlite3_free(query_string); + if (SQLITE_OK != rc) { + ug_debug("failed to query[%s]", sqlite3_errmsg(mfd_handle)); + ug_debug("Query fails : query_string[%s]", query_string); + return MFD_ERROR_DB_INTERNAL; + } + + rc = sqlite3_step(stmt); + if (SQLITE_ROW != rc) { + ug_debug("No result"); + rc = sqlite3_finalize(stmt); + if (SQLITE_OK != rc) { + ug_debug("sqlite3_finalize fail, rc : %d, db_error : %s", rc, sqlite3_errmsg(mfd_handle)); + } + return MFD_ERROR_DB_NO_RECORD; + } + + Eina_List *ringtone_list = NULL; + mfRingtone *ritem = NULL; + + while (SQLITE_ROW == rc) { + ritem = (mfRingtone *)calloc(1, sizeof(mfRingtone)); + if (ritem) { + __mf_convert_ringtone_column_to_ringtone_item(stmt, ritem); + ringtone_list = eina_list_append(ringtone_list, ritem); + } + rc = sqlite3_step(stmt); + ug_debug(""); + } + + rc = sqlite3_finalize(stmt); + if (SQLITE_OK != rc) { + ug_debug("sqlite3_finalize fail, rc : %d, db_error : %s", rc, sqlite3_errmsg(mfd_handle)); + } + + __mf_foreach_ringtone_item_cb(callback, ringtone_list, user_data); + + if (ringtone_list) { + __mf_media_db_eina_list_free_full(&ringtone_list, __mf_free_ringtone_list); + } + + return MFD_ERROR_NONE; +} + +int mf_ug_get_ringtone_count(MFDHandle *mfd_handle, int *count) +{ + ug_debug(""); + + char *query_string = NULL; + mf_tbl_name_e field_seq = MF_TABLE_RINGTONE; + sqlite3_stmt *stmt = NULL; + int rc = 0; + + query_string = + sqlite3_mprintf(MF_SELECT_RINGTONE_COUNT_TABLE, + mf_tbl[field_seq].table_name); + + ug_debug("Query : %s", query_string); + + rc = sqlite3_prepare_v2(mfd_handle, query_string, strlen(query_string), &stmt, NULL); + sqlite3_free(query_string); + if (SQLITE_OK != rc) { + ug_debug("failed to query[%s]", sqlite3_errmsg(mfd_handle)); + ug_debug("Query fails : query_string[%s]", query_string); + return MFD_ERROR_DB_INTERNAL; + } + + rc = sqlite3_step(stmt); + if (SQLITE_ROW != rc) { + ug_debug("No result"); + rc = sqlite3_finalize(stmt); + if (SQLITE_OK != rc) { + ug_debug("sqlite3_finalize fail, rc : %d, db_error : %s", rc, sqlite3_errmsg(mfd_handle)); + } + *count = 0; + return MFD_ERROR_DB_NO_RECORD; + } + + *count = sqlite3_column_int(stmt, 0); + ug_debug("count : %d", *count); + + rc = sqlite3_finalize(stmt); + if (SQLITE_OK != rc) { + ug_debug("sqlite3_finalize fail, rc : %d, db_error : %s", rc, sqlite3_errmsg(mfd_handle)); + } + + return MFD_ERROR_NONE; +} + + +int mf_ug_update_alert(MFDHandle *mfd_handle, const char *new_name, char *old_name) +{ + if (new_name == NULL) { + ug_debug("device_id is null"); + return MFD_ERROR_INVALID_PARAMETER; + } + + ug_error("mf_ug_update_shortcut"); + int err = -1; + mf_tbl_field_s *mf_tbl_field; + char *query_string = NULL; + mf_tbl_name_e field_seq = MF_TABLE_ALERT; + mf_tbl_field = mf_tbl[field_seq].mf_tbl_field; + + + query_string = + sqlite3_mprintf(MF_UPDATE_FAVORATE_FILES_TABLE, + mf_tbl[field_seq].table_name, + /*mf_tbl_field[MF_FIELD_SHORTCUT_PATH].field_name,*/ + mf_tbl_field[MF_FIELD_ALERT_PATH].field_name, + new_name, + mf_tbl_field[MF_FIELD_ALERT_PATH].field_name, + old_name + ); + + ug_error("Query : %s", query_string); + + err = __mf_query_sql(mfd_handle, query_string); + sqlite3_free(query_string); + + if (err < 0) { + ug_debug("Inserting device table failed\n"); + ug_debug("query string is %s\n", query_string); + return MFD_ERROR_DB_INTERNAL; + } + + return MFD_ERROR_NONE; +} + + + +int mf_ug_insert_alert(MFDHandle *mfd_handle, const char *alert_path, const char *alert_name, int storage_type) +{ + ug_debug(""); + + if (alert_path == NULL) { + ug_debug("device_id is null"); + return MFD_ERROR_INVALID_PARAMETER; + } + + int err = -1; + mf_tbl_field_s *mf_tbl_field; + char *query_string = NULL; + mf_tbl_name_e field_seq = MF_TABLE_ALERT; + mf_tbl_field = mf_tbl[field_seq].mf_tbl_field; + + + query_string = + sqlite3_mprintf(MF_INSERT_INTO_ALERT_TABLE, + mf_tbl[field_seq].table_name, + mf_tbl_field[MF_FIELD_ALERT_PATH].field_name, + mf_tbl_field[MF_FIELD_ALERT_NAME].field_name, + mf_tbl_field[MF_FIELD_ALERT_STORAGE_TYPE].field_name, + alert_path, + alert_name, + storage_type); + + ug_debug("Query : %s", query_string); + + err = __mf_query_sql(mfd_handle, query_string); + sqlite3_free(query_string); + + if (err < 0) { + ug_debug("Inserting device table failed\n"); + ug_debug("query string is %s\n", query_string); + return MFD_ERROR_DB_INTERNAL; + } + + return MFD_ERROR_NONE; +} + +int mf_ug_delete_alert(MFDHandle *mfd_handle, const char *alert_path) +{ + ug_debug(""); + + if (alert_path == NULL) { + ug_debug("shortcut_path is null"); + return MFD_ERROR_INVALID_PARAMETER; + } + + int err = -1; + mf_tbl_field_s *mf_tbl_field; + char *query_string = NULL; + mf_tbl_name_e field_seq = MF_TABLE_ALERT; + mf_tbl_field = mf_tbl[field_seq].mf_tbl_field; + + query_string = + sqlite3_mprintf(MF_DELETE_FROM_ALERT_TABLE, + mf_tbl[field_seq].table_name, + mf_tbl_field[MF_FIELD_ALERT_PATH].field_name, + alert_path); + + ug_debug("Query : %s", query_string); + + err = __mf_sqlite3_begin_trans(mfd_handle); + if (err < 0) { + ug_debug("gm_sqlite3_begin_trans failed"); + return err; + } + + err = __mf_query_sql(mfd_handle, query_string); + sqlite3_free(query_string); + + if (err < 0) { + ug_debug("delete content by content_id failed.. Now start to rollback"); + __mf_sqlite3_rollback_trans(mfd_handle); + return err; + } + + err = __mf_sqlite3_commit_trans(mfd_handle); + if (err < 0) { + ug_debug("gm_sqlite3_commit_trans failed.. Now start to rollback\n"); + __mf_sqlite3_rollback_trans(mfd_handle); + return err; + } + + return MFD_ERROR_NONE; +} + +int mf_ug_find_alert(MFDHandle *mfd_handle, const char *alert_path) +{ + ug_debug(""); + + mf_tbl_field_s *mf_tbl_field; + char *query_string = NULL; + mf_tbl_name_e field_seq = MF_TABLE_ALERT; + mf_tbl_field = mf_tbl[field_seq].mf_tbl_field; + sqlite3_stmt *stmt = NULL; + int rc = 0; + int find = 0; + query_string = + sqlite3_mprintf(MF_FIND_ALERT_TABLE, + mf_tbl[field_seq].table_name, + mf_tbl_field[MF_FIELD_ALERT_PATH].field_name, + alert_path); + + ug_debug("Query : %s", query_string); + + rc = sqlite3_prepare_v2(mfd_handle, query_string, strlen(query_string), &stmt, NULL); + sqlite3_free(query_string); + if (SQLITE_OK != rc) { + ug_debug("failed to query[%s]", sqlite3_errmsg(mfd_handle)); + ug_debug("Query fails : query_string[%s]", query_string); + return find; + } + + rc = sqlite3_step(stmt); + if (SQLITE_ROW != rc) { + ug_debug("No result"); + rc = sqlite3_finalize(stmt); + if (SQLITE_OK != rc) { + ug_debug("sqlite3_finalize fail, rc : %d, db_error : %s", rc, sqlite3_errmsg(mfd_handle)); + } + return find; + } + + + while (SQLITE_ROW == rc) { + + find = 1; + rc = sqlite3_step(stmt); + ug_debug(""); + } + + rc = sqlite3_finalize(stmt); + if (SQLITE_OK != rc) { + ug_debug("sqlite3_finalize fail, rc : %d, db_error : %s", rc, sqlite3_errmsg(mfd_handle)); + } + return find; +} + + + +int mf_ug_delete_alert_by_type(MFDHandle *mfd_handle, int storage_type) +{ + ug_debug(""); + + int err = -1; + mf_tbl_field_s *mf_tbl_field; + char *query_string = NULL; + mf_tbl_name_e field_seq = MF_TABLE_ALERT; + mf_tbl_field = mf_tbl[field_seq].mf_tbl_field; + + query_string = + sqlite3_mprintf(MF_DELETE_BY_TYPE_FROM_ALERT_TABLE, + mf_tbl[field_seq].table_name, + mf_tbl_field[MF_FIELD_ALERT_STORAGE_TYPE].field_name, + storage_type); + + ug_debug("Query : %s", query_string); + + err = __mf_sqlite3_begin_trans(mfd_handle); + if (err < 0) { + ug_debug("gm_sqlite3_begin_trans failed"); + return err; + } + + err = __mf_query_sql(mfd_handle, query_string); + sqlite3_free(query_string); + + if (err < 0) { + ug_debug("delete content by content_id failed.. Now start to rollback"); + __mf_sqlite3_rollback_trans(mfd_handle); + return err; + } + + err = __mf_sqlite3_commit_trans(mfd_handle); + if (err < 0) { + ug_debug("gm_sqlite3_commit_trans failed.. Now start to rollback\n"); + __mf_sqlite3_rollback_trans(mfd_handle); + return err; + } + + return MFD_ERROR_NONE; +} + +int mf_ug_foreach_alert_list(MFDHandle *mfd_handle, mf_ringtone_item_cb callback, void *user_data) +{ + ug_debug(""); + + char *query_string = NULL; + mf_tbl_name_e field_seq = MF_TABLE_ALERT; + sqlite3_stmt *stmt = NULL; + int rc = 0; + + query_string = + sqlite3_mprintf(MF_SELECT_ALERT_TABLE, + mf_tbl[field_seq].table_name); + + ug_debug("Query : %s", query_string); + + rc = sqlite3_prepare_v2(mfd_handle, query_string, strlen(query_string), &stmt, NULL); + sqlite3_free(query_string); + if (SQLITE_OK != rc) { + ug_debug("failed to query[%s]", sqlite3_errmsg(mfd_handle)); + ug_debug("Query fails : query_string[%s]", query_string); + return MFD_ERROR_DB_INTERNAL; + } + + rc = sqlite3_step(stmt); + if (SQLITE_ROW != rc) { + ug_debug("No result"); + rc = sqlite3_finalize(stmt); + if (SQLITE_OK != rc) { + ug_debug("sqlite3_finalize fail, rc : %d, db_error : %s", rc, sqlite3_errmsg(mfd_handle)); + } + return MFD_ERROR_DB_NO_RECORD; + } + + Eina_List *alert_list = NULL; + mfRingtone *ritem = NULL; + + while (SQLITE_ROW == rc) { + ritem = (mfRingtone *)calloc(1, sizeof(mfRingtone)); + if (!ritem) { + ug_debug("allocation failed"); + return MFD_ERROR_DB_INTERNAL; + } + __mf_convert_ringtone_column_to_ringtone_item(stmt, ritem); + alert_list = eina_list_append(alert_list, ritem); + rc = sqlite3_step(stmt); + ug_debug(""); + } + + rc = sqlite3_finalize(stmt); + if (SQLITE_OK != rc) { + ug_debug("sqlite3_finalize fail, rc : %d, db_error : %s", rc, sqlite3_errmsg(mfd_handle)); + } + + __mf_foreach_ringtone_item_cb(callback, alert_list, user_data); + + if (alert_list) { + __mf_media_db_eina_list_free_full(&alert_list, __mf_free_ringtone_list); + } + + return MFD_ERROR_NONE; +} + +int mf_ug_get_alert_count(MFDHandle *mfd_handle, int *count) +{ + ug_debug(""); + + char *query_string = NULL; + mf_tbl_name_e field_seq = MF_TABLE_ALERT; + sqlite3_stmt *stmt = NULL; + int rc = 0; + + query_string = + sqlite3_mprintf(MF_SELECT_ALERT_COUNT_TABLE, + mf_tbl[field_seq].table_name); + + ug_debug("Query : %s", query_string); + + rc = sqlite3_prepare_v2(mfd_handle, query_string, strlen(query_string), &stmt, NULL); + sqlite3_free(query_string); + if (SQLITE_OK != rc) { + ug_debug("failed to query[%s]", sqlite3_errmsg(mfd_handle)); + ug_debug("Query fails : query_string[%s]", query_string); + return MFD_ERROR_DB_INTERNAL; + } + + rc = sqlite3_step(stmt); + if (SQLITE_ROW != rc) { + ug_debug("No result"); + rc = sqlite3_finalize(stmt); + if (SQLITE_OK != rc) { + ug_debug("sqlite3_finalize fail, rc : %d, db_error : %s", rc, sqlite3_errmsg(mfd_handle)); + } + *count = 0; + return MFD_ERROR_DB_NO_RECORD; + } + + *count = sqlite3_column_int(stmt, 0); + ug_debug("count : %d", *count); + + rc = sqlite3_finalize(stmt); + if (SQLITE_OK != rc) { + ug_debug("sqlite3_finalize fail, rc : %d, db_error : %s", rc, sqlite3_errmsg(mfd_handle)); + } + + return MFD_ERROR_NONE; +} + diff --git a/src/media-db/mf-ug-media.c b/src/media-db/mf-ug-media.c new file mode 100644 index 0000000..1f31ae7 --- /dev/null +++ b/src/media-db/mf-ug-media.c @@ -0,0 +1,533 @@ +/* +* Copyright (c) 2000-2015 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. +* +*/ + +#include <sqlite3.h> +#include <string.h> +#include "mf-ug-media.h" +#include "mf-ug-media-db.h" +#include "mf-ug-media-error.h" +#include "mf-ug-dlog.h" +#include "mf-ug-media-types.h" + +int mf_ug_media_connect(MFDHandle **handle) +{ + int ret = MFD_ERROR_NONE; + sqlite3 *db_handle = NULL; + + ret = mf_ug_connect_db_with_handle(&db_handle); + if (ret != MFD_ERROR_NONE) { + return ret; + } + + *handle = db_handle; + return MFD_ERROR_NONE; + +} + +int mf_ug_media_disconnect(MFDHandle *handle) +{ + sqlite3 * db_handle = (sqlite3 *)handle; + + if (handle == NULL) { + return MFD_ERROR_INVALID_PARAMETER; + } + + return mf_ug_disconnect_db_with_handle(db_handle); +} + +/*1 Shortcut*/ + +int mf_ug_media_add_shortcut(MFDHandle *mfd_handle, const char *shortcut_path, + const char *shortcut_name, int storage_type) +{ + int ret = MFD_ERROR_NONE; + + if (mfd_handle == NULL) { + ug_debug("media service handle is NULL"); + return MFD_ERROR_INVALID_PARAMETER; + } + + ret = mf_ug_insert_shortcut(mfd_handle, shortcut_path, shortcut_name, storage_type); + if (ret != MFD_ERROR_NONE) { + ug_debug("insert device info into devices table failed"); + return ret; + } + + return ret; +} + + + +int mf_ug_media_delete_shortcut(MFDHandle *mfd_handle, const char *path) +{ + int ret = MFD_ERROR_NONE; + + if (mfd_handle == NULL) { + ug_debug("media service handle is NULL"); + return MFD_ERROR_INVALID_PARAMETER; + } + + ret = mf_ug_delete_shortcut(mfd_handle, path); + if (ret != MFD_ERROR_NONE) { + ug_debug("delete device info into devices table failed"); + return ret; + } + + return ret; +} + +int mf_ug_media_delete_shortcut_by_type(MFDHandle *mfd_handle, int storage_type) +{ + int ret = MFD_ERROR_NONE; + + if (mfd_handle == NULL) { + ug_debug("media service handle is NULL"); + return MFD_ERROR_INVALID_PARAMETER; + } + ret = mf_ug_delete_shortcut_by_type(mfd_handle, storage_type); + + if (ret != MFD_ERROR_NONE) { + ug_debug("delete device info into devices table failed"); + return ret; + } + + return ret; +} + +int mf_ug_media_foreach_shortcut_list(MFDHandle *mfd_handle, mf_shortcut_item_cb callback, void *user_data) +{ + int ret = MFD_ERROR_NONE; + + if (mfd_handle == NULL) { + ug_debug("media service handle is NULL"); + return MFD_ERROR_INVALID_PARAMETER; + } + + ret = mf_ug_foreach_shortcut_list(mfd_handle, callback, user_data); + if (ret != MFD_ERROR_NONE && ret != MFD_ERROR_DB_NO_RECORD) { + ug_debug + ("foreach content list fail"); + return ret; + } + + return ret; +} + +int mf_ug_media_get_short_count(MFDHandle *mfd_handle, int *count) +{ + int ret = MFD_ERROR_NONE; + + if (mfd_handle == NULL) { + ug_debug("media service handle is NULL"); + return MFD_ERROR_INVALID_PARAMETER; + } + + ret = mf_ug_get_short_count(mfd_handle, count); + if (ret != MFD_ERROR_NONE && ret != MFD_ERROR_DB_NO_RECORD) { + ug_debug + ("foreach content list fail"); + return ret; + } + + return ret; +} + +int mf_ug_destroy_shortcut_item(MFSitem *sitem) +{ + if (sitem == NULL) { + ug_debug("ditem is NULL"); + return MFD_ERROR_INVALID_PARAMETER; + } + if (sitem->path) { + free(sitem->path); + sitem->path = NULL; + } + if (sitem->name) { + free(sitem->name); + sitem->name = NULL; + } + + return MFD_ERROR_NONE; +} + +/*1 Recent files*/ +int mf_ug_media_add_recent_files(MFDHandle *mfd_handle, const char *path, const char *name, int storage_type, const char *thumbnail_path) +{ + int ret = MFD_ERROR_NONE; + + if (mfd_handle == NULL) { + ug_debug("media service handle is NULL"); + return MFD_ERROR_INVALID_PARAMETER; + } + + ret = mf_ug_insert_recent_file(mfd_handle, path, name, storage_type, thumbnail_path); + if (ret != MFD_ERROR_NONE) { + ug_debug("insert content info into folder table failed"); + return ret; + } + + return ret; +} + +int mf_ug_media_delete_recent_files(MFDHandle *mfd_handle, const char *path) +{ + int ret = MFD_ERROR_NONE; + + if (mfd_handle == NULL) { + ug_debug("media service handle is NULL"); + return MFD_ERROR_INVALID_PARAMETER; + } + + ret = mf_ug_delete_recent_files(mfd_handle, path); + if (ret != MFD_ERROR_NONE) { + ug_debug("delete device info into devices table failed"); + return ret; + } + + return ret; +} + +int mf_ug_media_delete_recent_files_by_type(MFDHandle *mfd_handle, int storage_type) +{ + int ret = MFD_ERROR_NONE; + + if (mfd_handle == NULL) { + ug_debug("media service handle is NULL"); + return MFD_ERROR_INVALID_PARAMETER; + } + + ret = mf_ug_delete_recent_files_by_type(mfd_handle, storage_type); + if (ret != MFD_ERROR_NONE) { + ug_debug("delete device info into devices table failed"); + return ret; + } + + return ret; +} + +int mf_ug_media_update_recent_files_thumbnail(MFDHandle *mfd_handle, const char *thumbnail, const char *new_thumbnail) +{ + int ret = MFD_ERROR_NONE; + + if (mfd_handle == NULL) { + ug_debug("media service handle is NULL"); + return MFD_ERROR_INVALID_PARAMETER; + } + + ret = mf_ug_update_recent_files_thumbnail(mfd_handle, thumbnail, new_thumbnail); + if (ret != MFD_ERROR_NONE) { + ug_debug + ("update device icon failed"); + return ret; + } + + return ret; + +} + + + +int mf_ug_media_foreach_recent_files_list(MFDHandle *mfd_handle, mf_recent_files_item_cb callback, void *user_data) +{ + int ret = MFD_ERROR_NONE; + + if (mfd_handle == NULL) { + ug_debug("media service handle is NULL"); + return MFD_ERROR_INVALID_PARAMETER; + } + + ret = mf_ug_foreach_recent_files_list(mfd_handle, callback, user_data); + if (ret != MFD_ERROR_NONE && ret != MFD_ERROR_DB_NO_RECORD) { + ug_debug("foreach content list fail"); + return ret; + } + + return ret; +} + + +int mf_ug_media_get_recent_files_count(MFDHandle *mfd_handle, int *count) +{ + int ret = MFD_ERROR_NONE; + + if (mfd_handle == NULL) { + ug_debug("media service handle is NULL"); + return MFD_ERROR_INVALID_PARAMETER; + } + + ret = mf_ug_get_recent_files_count(mfd_handle, count); + if (ret != MFD_ERROR_NONE && ret != MFD_ERROR_DB_NO_RECORD) { + ug_debug + ("foreach content list fail"); + return ret; + } + + return ret; +} + + + +int mf_ug_destroy_recent_files_item(MFRitem *ritem) +{ + if (ritem == NULL) { + ug_debug("citem is NULL"); + return MFD_ERROR_INVALID_PARAMETER; + } + if (ritem->path) { + free(ritem->path); + ritem->path = NULL; + } + if (ritem->name) { + free(ritem->name); + ritem->name = NULL; + } + if (ritem->thumbnail) { + free(ritem->thumbnail); + ritem->thumbnail = NULL; + } + + return MFD_ERROR_NONE; +} + +/*1 Ringtone*/ +int mf_ug_media_add_ringtone(MFDHandle *mfd_handle, const char *ringtone_path, + const char *ringtone_name, int storage_type) +{ + int ret = MFD_ERROR_NONE; + + if (mfd_handle == NULL) { + ug_debug("media service handle is NULL"); + return MFD_ERROR_INVALID_PARAMETER; + } + + ret = mf_ug_insert_ringtone(mfd_handle, ringtone_path, ringtone_name, storage_type); + if (ret != MFD_ERROR_NONE) { + ug_debug("insert device info into devices table failed"); + return ret; + } + + return ret; +} + + + +int mf_ug_media_delete_ringtone(MFDHandle *mfd_handle, const char *path) +{ + int ret = MFD_ERROR_NONE; + + if (mfd_handle == NULL) { + ug_debug("media service handle is NULL"); + return MFD_ERROR_INVALID_PARAMETER; + } + + ret = mf_ug_delete_ringtone(mfd_handle, path); + if (ret != MFD_ERROR_NONE) { + ug_debug("delete device info into devices table failed"); + return ret; + } + + return ret; +} + +int mf_ug_media_delete_ringtone_by_type(MFDHandle *mfd_handle, int storage_type) +{ + int ret = MFD_ERROR_NONE; + + if (mfd_handle == NULL) { + ug_debug("media service handle is NULL"); + return MFD_ERROR_INVALID_PARAMETER; + } + ret = mf_ug_delete_ringtone_by_type(mfd_handle, storage_type); + + if (ret != MFD_ERROR_NONE) { + ug_debug("delete device info into devices table failed"); + return ret; + } + + return ret; +} + +int mf_ug_media_foreach_ringtone_list(MFDHandle *mfd_handle, mf_ringtone_item_cb callback, void *user_data) +{ + int ret = MFD_ERROR_NONE; + + if (mfd_handle == NULL) { + ug_debug("media service handle is NULL"); + return MFD_ERROR_INVALID_PARAMETER; + } + + ret = mf_ug_foreach_ringtone_list(mfd_handle, callback, user_data); + if (ret != MFD_ERROR_NONE && ret != MFD_ERROR_DB_NO_RECORD) { + ug_debug + ("foreach content list fail"); + return ret; + } + + return ret; +} + +int mf_ug_media_get_ringtone_count(MFDHandle *mfd_handle, int *count) +{ + int ret = MFD_ERROR_NONE; + + if (mfd_handle == NULL) { + ug_debug("media service handle is NULL"); + return MFD_ERROR_INVALID_PARAMETER; + } + + ret = mf_ug_get_ringtone_count(mfd_handle, count); + if (ret != MFD_ERROR_NONE && ret != MFD_ERROR_DB_NO_RECORD) { + ug_debug + ("foreach content list fail"); + return ret; + } + + return ret; +} + +int mf_ug_destroy_ringtone_item(mfRingtone *ritem) +{ + if (ritem == NULL) { + ug_debug("ditem is NULL"); + return MFD_ERROR_INVALID_PARAMETER; + } + if (ritem->path) { + free(ritem->path); + ritem->path = NULL; + } + if (ritem->name) { + free(ritem->name); + ritem->name = NULL; + } + + return MFD_ERROR_NONE; +} + +/*1 Alert*/ +int mf_ug_media_add_alert(MFDHandle *mfd_handle, const char *alert_path, + const char *alert_name, int storage_type) +{ + int ret = MFD_ERROR_NONE; + + if (mfd_handle == NULL) { + ug_debug("media service handle is NULL"); + return MFD_ERROR_INVALID_PARAMETER; + } + + ret = mf_ug_insert_alert(mfd_handle, alert_path, alert_name, storage_type); + if (ret != MFD_ERROR_NONE) { + ug_debug("insert device info into devices table failed"); + return ret; + } + + return ret; +} + + + +int mf_ug_media_delete_alert(MFDHandle *mfd_handle, const char *path) +{ + int ret = MFD_ERROR_NONE; + + if (mfd_handle == NULL) { + ug_debug("media service handle is NULL"); + return MFD_ERROR_INVALID_PARAMETER; + } + + ret = mf_ug_delete_alert(mfd_handle, path); + if (ret != MFD_ERROR_NONE) { + ug_debug("delete device info into devices table failed"); + return ret; + } + + return ret; +} + +int mf_ug_media_delete_alert_by_type(MFDHandle *mfd_handle, int storage_type) +{ + int ret = MFD_ERROR_NONE; + + if (mfd_handle == NULL) { + ug_debug("media service handle is NULL"); + return MFD_ERROR_INVALID_PARAMETER; + } + ret = mf_ug_delete_alert_by_type(mfd_handle, storage_type); + + if (ret != MFD_ERROR_NONE) { + ug_debug("delete device info into devices table failed"); + return ret; + } + + return ret; +} + +int mf_ug_media_foreach_alert_list(MFDHandle *mfd_handle, mf_ringtone_item_cb callback, void *user_data) +{ + int ret = MFD_ERROR_NONE; + + if (mfd_handle == NULL) { + ug_debug("media service handle is NULL"); + return MFD_ERROR_INVALID_PARAMETER; + } + + ret = mf_ug_foreach_alert_list(mfd_handle, callback, user_data); + if (ret != MFD_ERROR_NONE && ret != MFD_ERROR_DB_NO_RECORD) { + ug_debug + ("foreach content list fail"); + return ret; + } + + return ret; +} + +int mf_ug_media_get_alert_count(MFDHandle *mfd_handle, int *count) +{ + int ret = MFD_ERROR_NONE; + + if (mfd_handle == NULL) { + ug_debug("media service handle is NULL"); + return MFD_ERROR_INVALID_PARAMETER; + } + + ret = mf_ug_get_alert_count(mfd_handle, count); + if (ret != MFD_ERROR_NONE && ret != MFD_ERROR_DB_NO_RECORD) { + ug_debug + ("foreach content list fail"); + return ret; + } + + return ret; +} + +int mf_ug_destroy_alert_item(mfRingtone *ritem) +{ + if (ritem == NULL) { + ug_debug("ditem is NULL"); + return MFD_ERROR_INVALID_PARAMETER; + } + if (ritem->path) { + free(ritem->path); + ritem->path = NULL; + } + if (ritem->name) { + free(ritem->name); + ritem->name = NULL; + } + + return MFD_ERROR_NONE; +} + diff --git a/src/mf-ug-main.c b/src/mf-ug-main.c index 0430646..6ee0eec 100644 --- a/src/mf-ug-main.c +++ b/src/mf-ug-main.c @@ -1,31 +1,34 @@ /* - * 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. - */ - +* Copyright (c) 2000-2015 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. +* +*/ + +#include <stdio.h> +#include <stdlib.h> +#include <errno.h> #include <sys/time.h> -#include <Elementary.h> -#include <Ecore_X.h> -#include <vconf.h> + +#include <appsvc.h> #include <media_content.h> -#include <utilX.h> -#include <assert.h> +#include <Ecore_X.h> +#include <Elementary.h> +#include <system_settings.h> #include "mf-ug-main.h" #include "mf-ug-fs-util.h" #include "mf-ug-util.h" -#include "../data/ug_edc_common.h" #include "mf-ug-conf.h" #include "mf-ug-dlog.h" #include "mf-ug-winset.h" @@ -33,6 +36,13 @@ #include "mf-ug-resource.h" #include "mf-ug-cb.h" #include "mf-ug-list-play.h" +#include "mf-ug-widget.h" +#include "mf-ug-media.h" +#include "mf-ug-db-handle.h" +#include "mf-ug-music.h" +#include "mf-ug-ringtone-view.h" +#include "mf-ug-file-util.h" + #ifdef UG_OPERATION_SELECT_MODE @@ -41,6 +51,82 @@ #define MF_BUNDLE_SELECTION_MODE_MULTI "multiple" #endif +#define MF_DEFAULT_RINGTONE_SHOW "show" + +static int exit_flag = EINA_FALSE; +static Ecore_Idler *ctrlbar_state_idler = NULL; +static Elm_Win_Indicator_Opacity_Mode indi_o_mode; +static Elm_Win_Indicator_Mode indi_mode; +static bool overlap_mode = false; +static bool b_hide_indicator = false; +static bool b_is_background = false; + +ugData *mf_ug_data = NULL; +ugData *mf_ug_ugdata() +{ + return mf_ug_data; +} + +bool mf_ug_main_is_background() +{ + return b_is_background; +} + +int __mf_ug_get_indicator_state(ugData *ugd) +{ + ug_mf_retvm_if(ugd == NULL, -1, "ugd is NULL"); + /* Save old view's indicator values */ + indi_mode = elm_win_indicator_mode_get(ugd->ug_MainWindow.ug_pWindow); + indi_o_mode = elm_win_indicator_opacity_get(ugd->ug_MainWindow.ug_pWindow); + ug_debug("indi_o_mode: %d, indi_mode: %d", indi_o_mode, indi_mode); + /* Save old view's overlap mode */ + overlap_mode = (int)evas_object_data_get(ugd->ug_MainWindow.ug_pConformant, "overlap"); + ug_debug("overlap_mode: %d", overlap_mode); + return 0; +} + +int _mf_ug_indicator_state_set(ugData *ugd, bool flag_hide) +{ + ug_mf_retvm_if(ugd == NULL, -1, "ugd is NULL"); + /* transparent indicator setting */ + if (!flag_hide) { + elm_win_indicator_mode_set(ugd->ug_MainWindow.ug_pWindow, ELM_WIN_INDICATOR_SHOW); + elm_win_indicator_opacity_set(ugd->ug_MainWindow.ug_pWindow, ELM_WIN_INDICATOR_OPAQUE); + elm_object_signal_emit(ugd->ug_MainWindow.ug_pConformant, + "elm,state,indicator,nooverlap", ""); + evas_object_data_set(ugd->ug_MainWindow.ug_pConformant, "overlap", NULL); + } else { + elm_win_indicator_mode_set(ugd->ug_MainWindow.ug_pWindow, ELM_WIN_INDICATOR_SHOW); + elm_win_indicator_opacity_set(ugd->ug_MainWindow.ug_pWindow, ELM_WIN_INDICATOR_TRANSPARENT); + elm_object_signal_emit(ugd->ug_MainWindow.ug_pConformant, "elm,state,indicator,overlap", ""); + evas_object_data_set(ugd->ug_MainWindow.ug_pConformant, "overlap", (void *)EINA_TRUE); + } + return 0; +} + +int _mf_ug_reset_indicator(ugData *ugd) +{ + ug_mf_retvm_if(ugd == NULL, -1, "ugd is NULL"); + ug_debug("indi_o_mode: %d, indi_mode: %d", indi_o_mode, + indi_mode); + ug_debug("overlap_mode: %d", overlap_mode); + /* Set old view's indicator */ + elm_win_indicator_mode_set(ugd->ug_MainWindow.ug_pWindow, indi_mode); + elm_win_indicator_opacity_set(ugd->ug_MainWindow.ug_pWindow, indi_o_mode); + /* set old view's conformant overlap mode + if layout is different with new view and needs starts from (0,60) */ + if (!overlap_mode) { + elm_object_signal_emit(ugd->ug_MainWindow.ug_pConformant, + "elm,state,indicator,nooverlap", ""); + evas_object_data_set(ugd->ug_MainWindow.ug_pConformant, "overlap", NULL); + } else { + elm_object_signal_emit(ugd->ug_MainWindow.ug_pConformant, "elm,state,indicator,overlap", ""); + evas_object_data_set(ugd->ug_MainWindow.ug_pConformant, "overlap", (void *)EINA_TRUE); + } + ug_debug("indicator restored done!"); + return 0; +} + /****************************** ** Prototype : __mf_ug_main_init_data ** Description : @@ -58,42 +144,38 @@ ******************************/ static void __mf_ug_main_init_data(void *data) { - UG_TRACE_BEGIN; - ugData *ugd = (ugData *)data; - ug_mf_retm_if(ugd == NULL, "ugData is NULL"); - - if (ugd->ug_Status.ug_pPath != NULL) - { - g_string_free(ugd->ug_Status.ug_pPath, TRUE); - ugd->ug_Status.ug_pPath = NULL; - } - ugd->ug_Status.ug_pPath = g_string_new(PHONE_FOLDER); - ugd->ug_Status.ug_iState = STATE_PHONE; - ugd->ug_Status.ug_iRadioOn = 0; - ugd->ug_Status.ug_iMmcFlag = false; - ugd->ug_Status.ug_bAudioPlayFlag = false; - ugd->ug_Status.ug_bInstallFlag = true; - ugd->ug_Status.ug_bInSettingView = false; - ugd->ug_Status.ug_bSettingEntry = false; - ugd->ug_Status.ug_iMore = UG_MORE_DEFAULT; - - ugd->ug_UiGadget.ug_iSelectMode = SINGLE_FILE_MODE; - ugd->ug_UiGadget.ug_iFilterMode = SHOW_ALL_LIST; - ugd->ug_UiGadget.ug_pExtension = NULL; - ugd->ug_UiGadget.ug_iDrmFilter = DRM_FILTER_NONE; - ugd->ug_UiGadget.ug_iMarkedMode = MARKED_OFF; - ugd->ug_UiGadget.ug_pMultiSelectFileList = NULL; - - ugd->ug_ListPlay.ug_pPlayFilePath = NULL; - ugd->ug_ListPlay.ug_iPlayState = PLAY_STATE_INIT; -#ifdef UG_OPERATION_SELECT_MODE - ugd->ug_UiGadget.ug_bOperationSelectFlag = false; -#endif - - - mf_ug_util_create_dir_monitor(ugd); - mf_ug_util_set_mmc_state_cb(ugd); - UG_TRACE_END; + UG_TRACE_BEGIN; + ugData *ugd = (ugData *)data; + ug_mf_retm_if(ugd == NULL, "ugData is NULL"); + + if (ugd->ug_Status.ug_pPath != NULL) { + g_string_free(ugd->ug_Status.ug_pPath, TRUE); + ugd->ug_Status.ug_pPath = NULL; + } + ugd->ug_Status.ug_pPath = g_string_new(PHONE_FOLDER); + ugd->ug_Status.ug_iState = STATE_PHONE; + ugd->ug_Status.ug_iRadioOn = 0; + ugd->ug_Status.ug_iMmcFlag = false; + ugd->ug_Status.ug_bInstallFlag = true; + ugd->ug_Status.ug_iMore = UG_MORE_DEFAULT; + ugd->ug_Status.ug_iViewType = mf_ug_view_root; + + ugd->ug_UiGadget.ug_iSelectMode = SINGLE_FILE_MODE; + ugd->ug_UiGadget.ug_iFilterMode = SHOW_ALL_LIST; + ugd->ug_UiGadget.ug_pExtension = NULL; + + ugd->ug_UiGadget.ug_iMarkedMode = MARKED_OFF; + ugd->ug_UiGadget.ug_pMultiSelectFileList = NULL; + ugd->ug_UiGadget.ug_iSoundMode = mf_ug_sound_mode_none; + + ugd->ug_ListPlay.ug_pPlayFilePath = NULL; + ugd->ug_ListPlay.play_data = NULL; + ugd->ug_ListPlay.ug_iPlayState = PLAY_STATE_INIT; + + mf_ug_util_create_dir_monitor(ugd); + mf_ug_util_set_mmc_state_cb(ugd); + /*mf_ug_list_play_earjack_monitor(ugd); UG was not launching due to this function*/ + UG_TRACE_END; } /****************************** @@ -113,47 +195,56 @@ static void __mf_ug_main_init_data(void *data) ******************************/ static void __mf_ug_main_free_data(void *data) { - UG_TRACE_BEGIN; - ugData *ugd = (ugData *)data; - ug_mf_retm_if(ugd == NULL, "ugData is NULL"); - - if (ugd->ug_Status.ug_pPath) - { - g_string_free(ugd->ug_Status.ug_pPath, TRUE); - ugd->ug_Status.ug_pPath = NULL; - } - if (ugd->ug_UiGadget.ug_pMultiSelectFileList) - { - mf_ug_util_free_eina_list_data(&ugd->ug_UiGadget.ug_pMultiSelectFileList, NODE_TYPE_CHAR); - ugd->ug_UiGadget.ug_pMultiSelectFileList = NULL; - } - if (ugd->ug_UiGadget.ug_pDirList) - { - mf_ug_util_free_eina_list_data(&ugd->ug_UiGadget.ug_pDirList, NODE_TYPE_PNODE); - ugd->ug_UiGadget.ug_pDirList = NULL; - } - if (ugd->ug_UiGadget.ug_pFilterList) - { - mf_ug_util_free_eina_list_data(&ugd->ug_UiGadget.ug_pFilterList, NODE_TYPE_PNODE); - ugd->ug_UiGadget.ug_pFilterList = NULL; - } - - if (ugd->ug_Status.ug_pUpper_folder) - { - free(ugd->ug_Status.ug_pUpper_folder); - ugd->ug_Status.ug_pUpper_folder = NULL; - } - if (ugd->ug_Status.ug_pEntryPath) - { - free(ugd->ug_Status.ug_pEntryPath); - ugd->ug_Status.ug_pEntryPath = NULL; - } - - UG_TRACE_END; + UG_TRACE_BEGIN; + ugData *ugd = (ugData *)data; + ug_mf_retm_if(ugd == NULL, "ugData is NULL"); + + if (ugd->ug_Status.ug_pPath) { + g_string_free(ugd->ug_Status.ug_pPath, TRUE); + ugd->ug_Status.ug_pPath = NULL; + } + if (ugd->ug_UiGadget.ug_pMultiSelectFileList) { + mf_ug_util_free_eina_list_data(&ugd->ug_UiGadget.ug_pMultiSelectFileList, NODE_TYPE_CHAR); + ugd->ug_UiGadget.ug_pMultiSelectFileList = NULL; + } + if (ugd->ug_UiGadget.ug_pDirList) { + mf_ug_util_free_eina_list_data(&ugd->ug_UiGadget.ug_pDirList, NODE_TYPE_PNODE); + ugd->ug_UiGadget.ug_pDirList = NULL; + } + if (ugd->ug_UiGadget.ug_pFilterList) { + mf_ug_util_free_eina_list_data(&ugd->ug_UiGadget.ug_pFilterList, NODE_TYPE_PNODE); + ugd->ug_UiGadget.ug_pFilterList = NULL; + } + + if (ugd->ug_Status.ug_pUpper_folder) { + free(ugd->ug_Status.ug_pUpper_folder); + ugd->ug_Status.ug_pUpper_folder = NULL; + } + if (ugd->ug_Status.ug_pEntryPath) { + free(ugd->ug_Status.ug_pEntryPath); + ugd->ug_Status.ug_pEntryPath = NULL; + } + if (ugd->ug_UiGadget.title) { + free(ugd->ug_UiGadget.title); + ugd->ug_UiGadget.title = NULL; + } + if (ugd->ug_Status.mark_mode) { + free(ugd->ug_Status.mark_mode); + ugd->ug_Status.mark_mode = NULL; + } + + UG_SAFE_FREE_CHAR(ugd->ug_MainWindow.ug_pNaviTitle); + UG_SAFE_FREE_CHAR(ugd->ug_Status.monitor_path); + UG_SAFE_FREE_CHAR(ugd->ug_Status.ug_launch_path); + UG_SAFE_FREE_CHAR(ugd->ug_UiGadget.ug_pExtension); + UG_SAFE_FREE_CHAR(ugd->ug_UiGadget.default_ringtone); + UG_SAFE_FREE_CHAR(ugd->ug_UiGadget.domain); + UG_SAFE_FREE_CHAR(ugd->ug_UiGadget.position); + + UG_TRACE_END; } - /****************************** ** Prototype : __mf_ug_main_free_evas_object ** Description : Samsung @@ -172,74 +263,46 @@ static void __mf_ug_main_free_data(void *data) static void __mf_ug_main_free_evas_object(void *data) { - UG_TRACE_BEGIN; - ugData *ugd = (ugData *)data; - ug_mf_retm_if(ugd == NULL, "ugData is NULL"); - - int iNaviListLen = 0; - int index = 0; - - if (ugd->ug_MainWindow.ug_pNormalPopup != NULL) - { - - evas_object_del(ugd->ug_MainWindow.ug_pNormalPopup); - ugd->ug_MainWindow.ug_pNormalPopup = NULL; - } - if (ugd->ug_MainWindow.ug_pRadioGroup != NULL) - { - - evas_object_del(ugd->ug_MainWindow.ug_pRadioGroup); - ugd->ug_MainWindow.ug_pRadioGroup = NULL; - } - - iNaviListLen = eina_list_count(ugd->ug_MainWindow.ug_pNaviBarList); - for (index = 0; index < iNaviListLen; index++) - { - ugNaviBar *pNavi_s = NULL; - pNavi_s = (ugNaviBar *)eina_list_nth(ugd->ug_MainWindow.ug_pNaviBarList, index); - if (pNavi_s->ug_pNaviLabel != NULL) - { - free(pNavi_s->ug_pNaviLabel); - pNavi_s->ug_pNaviLabel = NULL; - } - if (pNavi_s->ug_pNaviTitle != NULL) - { - free(pNavi_s->ug_pNaviTitle); - pNavi_s->ug_pNaviTitle = NULL; - } - } - - if (ugd->ug_MainWindow.ug_pTabBar != NULL) - { - evas_object_del(ugd->ug_MainWindow.ug_pTabBar); - ugd->ug_MainWindow.ug_pTabBar = NULL; - } - - - if (ugd->ug_MainWindow.ug_pBackGround != NULL) - { - evas_object_del(ugd->ug_MainWindow.ug_pBackGround); - ugd->ug_MainWindow.ug_pBackGround = NULL; - } - - if (ugd->ug_MainWindow.ug_pMainLayout != NULL) - { - evas_object_del(ugd->ug_MainWindow.ug_pMainLayout); - ugd->ug_MainWindow.ug_pMainLayout = NULL; - } - UG_TRACE_END; + UG_TRACE_BEGIN; + ugData *ugd = (ugData *)data; + ug_mf_retm_if(ugd == NULL, "ugData is NULL"); + + if (ugd->ug_MainWindow.ug_pNormalPopup != NULL) { + evas_object_del(ugd->ug_MainWindow.ug_pNormalPopup); + ugd->ug_MainWindow.ug_pNormalPopup = NULL; + } + if (ugd->ug_MainWindow.ug_pRadioGroup != NULL) { + evas_object_del(ugd->ug_MainWindow.ug_pRadioGroup); + ugd->ug_MainWindow.ug_pRadioGroup = NULL; + } + + if (ugd->ug_MainWindow.ug_pBackGround != NULL) { + evas_object_del(ugd->ug_MainWindow.ug_pBackGround); + ugd->ug_MainWindow.ug_pBackGround = NULL; + } + + if (ugd->ug_MainWindow.ug_pMainLayout != NULL) { + evas_object_del(ugd->ug_MainWindow.ug_pMainLayout); + ugd->ug_MainWindow.ug_pMainLayout = NULL; + } + if (ugd->ug_MainWindow.ug_pContextPopup != NULL) { + evas_object_del(ugd->ug_MainWindow.ug_pContextPopup); + ugd->ug_MainWindow.ug_pContextPopup = NULL; + } + + UG_TRACE_END; } Evas_Object *mf_ug_main_create_bg(Evas_Object *win) { - ug_mf_retv_if(win == NULL, NULL); - Evas_Object *bg = elm_bg_add(win); + ug_mf_retv_if(win == NULL, NULL); + Evas_Object *bg = elm_bg_add(win); - 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); + 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); - return bg; + return bg; } /****************************** @@ -259,38 +322,40 @@ Evas_Object *mf_ug_main_create_bg(Evas_Object *win) ******************************/ static Evas_Object *__mf_ug_main_create_main_layout(Evas_Object *parent) { - UG_TRACE_BEGIN; - Evas_Object *layout = NULL; - ug_mf_retvm_if(parent == NULL, NULL, "parent is NULL"); + UG_TRACE_BEGIN; + Evas_Object *layout = NULL; + ug_mf_retvm_if(parent == NULL, NULL, "parent is NULL"); - layout = elm_layout_add(parent); - ug_mf_retvm_if(layout == NULL, NULL, "Failed elm_layout_add.\n"); + layout = elm_layout_add(parent); - elm_layout_theme_set(layout, "layout", "application", "default"); - evas_object_size_hint_weight_set(layout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - evas_object_size_hint_align_set(layout, EVAS_HINT_FILL, EVAS_HINT_FILL); - evas_object_show(layout); - UG_TRACE_END; + ug_mf_retvm_if(layout == NULL, NULL, "Failed elm_layout_add.\n"); - return layout; + elm_layout_theme_set(layout, "layout", "application", "default"); + evas_object_size_hint_weight_set(layout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); + evas_object_size_hint_align_set(layout, EVAS_HINT_FILL, EVAS_HINT_FILL); + evas_object_show(layout); + UG_TRACE_END; + + return layout; } Evas_Object *mf_ug_main_tab_layout_create(Evas_Object *parent) { - Evas_Object *layout; + Evas_Object *layout; - ug_mf_retv_if(parent == NULL, NULL); + ug_mf_retv_if(parent == NULL, NULL); - layout = elm_layout_add(parent); - ug_mf_retvm_if(layout == NULL, NULL, "Failed elm_layout_add.\n"); - elm_object_focus_set(layout, EINA_FALSE); + layout = elm_layout_add(parent); + ug_mf_retvm_if(layout == NULL, NULL, "Failed elm_layout_add.\n"); + elm_object_focus_set(layout, EINA_FALSE); - elm_layout_theme_set(layout, "layout", "tabbar", "default"); + /*elm_layout_theme_set(layout, "layout", "application", "tabbar");*/ + elm_layout_theme_set(layout, "layout", "tabbar", "default"); - evas_object_size_hint_weight_set(layout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); + evas_object_size_hint_weight_set(layout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - evas_object_hide(layout); - return layout; + evas_object_hide(layout); + return layout; } /****************************** @@ -309,117 +374,145 @@ Evas_Object *mf_ug_main_tab_layout_create(Evas_Object *parent) ** Modification : Created function ** ******************************/ -static int __mf_ug_main_set_path_option(void *data, const char *path) +int __mf_ug_main_get_atoi(const char *number) { - UG_TRACE_BEGIN; - ugData *ugd = (ugData *)data; - ug_mf_retvm_if(ugd == NULL, MYFILE_ERR_SRC_ARG_INVALID, "ugd is NULL"); - ug_mf_retvm_if(path == NULL, MYFILE_ERR_SRC_ARG_INVALID, "path is NULL"); - - int error_code = MYFILE_ERR_NONE; - char *entry_path = NULL; - - if (strncmp(path, PHONE_FOLDER, strlen(PHONE_FOLDER)) == 0 || strncmp(path, MEMORY_FOLDER, strlen(MEMORY_FOLDER)) == 0) - { - - /**check whether is /opt/media or /mnt/mmc */ - entry_path = strdup(path); - if (entry_path == NULL) - { - return MYFILE_ERR_ALLOCATE_FAIL; - } - } - else if (strncmp(path, UG_SETTING_RINGTONE_PATH, strlen(UG_SETTING_RINGTONE_PATH)) == 0 - || strncmp(path, UG_SETTING_ALERTS_PATH, strlen(UG_SETTING_ALERTS_PATH)) == 0 - || strncmp(path, UG_SETTING_MSG_ALERTS_PATH, strlen(UG_SETTING_MSG_ALERTS_PATH)) == 0) - { - - /**check whether is setting ringtone or alerts path */ - entry_path = strdup(path); - if (entry_path == NULL) - { - return MYFILE_ERR_ALLOCATE_FAIL; - } - ugd->ug_Status.ug_bInSettingView = true; - ugd->ug_Status.ug_bSettingEntry = true; - ugd->ug_Status.ug_bRingtoneSet = true; - } - else if (strlen(path) == 1 && strncmp(path, "/", 1)) - { - /**chech the path whether is "/" */ - entry_path = strdup(PHONE_FOLDER); - if (entry_path == NULL) - { - return MYFILE_ERR_ALLOCATE_FAIL; - } - } - else - { - /**not begin with /mnt/mmc and /opt/media , so append it to /opt/media*/ - char *temp = strdup(PHONE_FOLDER); - if (temp == NULL) - { - return MYFILE_ERR_ALLOCATE_FAIL; - } - entry_path = g_strconcat(temp, path, NULL); - free(temp); - } - - if (entry_path != NULL) - { - /** if there is a '/' at the end of the path, can't be recognized */ - if (entry_path[strlen(entry_path) - 1] == '/') - { - entry_path[strlen(entry_path) - 1] = '\0'; - } - - if (ecore_file_exists(entry_path) == false) - { - - if (ugd->ug_UiGadget.ug_iSelectMode == EXPORT_MODE || - ugd->ug_UiGadget.ug_iSelectMode == IMPORT_PATH_SELECT_MODE || - ugd->ug_UiGadget.ug_iSelectMode == IMPORT_MODE || - ugd->ug_UiGadget.ug_iSelectMode == SAVE_MODE || - ugd->ug_UiGadget.ug_iSelectMode == IMPORT_SINGLE) - { - error_code = mf_ug_fm_svc_wrapper_create_p(entry_path); - if (error_code != MYFILE_ERR_NONE) - { - free(entry_path); - return MYFILE_ERR_INVALID_FILE_PATH; - } - } - else - { - free(entry_path); - return MYFILE_ERR_INVALID_FILE_PATH; - } - } - if (ecore_file_is_dir(entry_path) == false) - { - ug_mf_debug("path is not a directory"); - free(entry_path); - return MYFILE_ERR_INVALID_DIR_PATH; - } - - if (ugd->ug_Status.ug_pPath) - { - g_string_free(ugd->ug_Status.ug_pPath, TRUE); - ugd->ug_Status.ug_pPath = NULL; - } - ugd->ug_Status.ug_pEntryPath = g_strdup(entry_path); - ugd->ug_Status.ug_pPath = g_string_new(entry_path); - ugd->ug_Status.ug_iViewType = mf_ug_view_normal; - free(entry_path); - } - else - { - return MYFILE_ERR_ALLOCATE_FAIL; - } - UG_TRACE_END; - return error_code; + char *endptr = NULL; + long val = 0; + + errno = 0; + + val = strtol(number, &endptr, 10); + + if ((errno == ERANGE && (val == LONG_MAX || val == LONG_MIN)) || (errno != 0 && val == 0)) { + ug_error("strtol, val = %d", val); + return -1; + } + + if (endptr == number) { + ug_error("No digits were found, number = %s", number); + return -1; + } + + return (int)val; } +static void __mf_ug_main_set_max_len_option(void *data, const char *number) +{ + UG_TRACE_BEGIN; + ugData *ugd = (ugData *)data; + ug_error("number is [%s]", number); + ugd->ug_UiGadget.ug_MaxSetFlag = EINA_FALSE; + + if (number == NULL) { + ugd->ug_UiGadget.ug_iMaxLength = 500; + + } else { + int max_len = __mf_ug_main_get_atoi(number); + if (max_len <= 0 || max_len > 500) { + ugd->ug_UiGadget.ug_iMaxLength = 500; + } else { + ugd->ug_UiGadget.ug_iMaxLength = max_len; + ugd->ug_UiGadget.ug_MaxSetFlag = EINA_TRUE; + } + } + ug_error("ugd->ug_UiGadget.ug_iMaxLength is [%d]", ugd->ug_UiGadget.ug_iMaxLength); +} + +static int __mf_ug_main_set_path_option(void *data, const char *path) +{ + UG_TRACE_BEGIN; + ugData *ugd = (ugData *)data; + ug_mf_retvm_if(ugd == NULL, MYFILE_ERR_SRC_ARG_INVALID, "ugd is NULL"); + ug_mf_retvm_if(path == NULL, MYFILE_ERR_SRC_ARG_INVALID, "path is NULL"); + + int error_code = MYFILE_ERR_NONE; + char *entry_path = NULL; + + if (strncmp(path, PHONE_FOLDER, strlen(PHONE_FOLDER)) == 0 || strncmp(path, MEMORY_FOLDER, strlen(MEMORY_FOLDER)) == 0) { + + /**check whether is /opt/media or /mnt/mmc */ + entry_path = strdup(path); + if (entry_path == NULL) { + return MYFILE_ERR_ALLOCATE_FAIL; + } + } else if (strncmp(path, UG_SETTING_RINGTONE_PATH, strlen(UG_SETTING_RINGTONE_PATH)) == 0 + || strncmp(path, UG_SETTING_ALERTS_PATH, strlen(UG_SETTING_ALERTS_PATH)) == 0 + || strncmp(path, UG_SETTING_MSG_ALERTS_PATH, strlen(UG_SETTING_MSG_ALERTS_PATH)) == 0 + || strncmp(path, UG_SETTING_SMART_ALRAMS, strlen(UG_SETTING_SMART_ALRAMS)) == 0) { + + /**check whether is setting ringtone or alerts path */ + entry_path = strdup(path); + if (entry_path == NULL) { + return MYFILE_ERR_ALLOCATE_FAIL; + } + if (g_strcmp0(entry_path, UG_SETTING_MSG_ALERTS_PATH) != 0) { + ugd->ug_UiGadget.ug_iSoundMode = mf_ug_sound_mode_ringtone; + } else { + ugd->ug_UiGadget.ug_iSoundMode = mf_ug_sound_mode_alert; + } + } else if (strlen(path) == 1 && strncmp(path, "/", 1)) { + /**chech the path whether is "/" */ + entry_path = strdup(PHONE_FOLDER); + if (entry_path == NULL) { + return MYFILE_ERR_ALLOCATE_FAIL; + } + } else { + /**not begin with /mnt/mmc and /opt/media , so append it to /opt/media*/ + char *temp = strdup(PHONE_FOLDER); + if (temp == NULL) { + return MYFILE_ERR_ALLOCATE_FAIL; + } + entry_path = g_strconcat(temp, path, NULL); + free(temp); + } + + if (entry_path != NULL) { + /** if there is a '/' at the end of the path, can't be recognized */ + if (entry_path[strlen(entry_path) - 1] == '/') { + entry_path[strlen(entry_path) - 1] = '\0'; + } + + if (mf_file_exists(entry_path) == false) { + + if (ugd->ug_UiGadget.ug_iSelectMode == EXPORT_MODE || + ugd->ug_UiGadget.ug_iSelectMode == IMPORT_PATH_SELECT_MODE || + ugd->ug_UiGadget.ug_iSelectMode == IMPORT_MODE || + ugd->ug_UiGadget.ug_iSelectMode == SAVE_MODE || + ugd->ug_UiGadget.ug_iSelectMode == IMPORT_SINGLE) { + error_code = mf_ug_fm_svc_wrapper_create_p(entry_path); + if (error_code != MYFILE_ERR_NONE) { + free(entry_path); + return MYFILE_ERR_INVALID_FILE_PATH; + } + } else { + free(entry_path); + return MYFILE_ERR_INVALID_FILE_PATH; + } + } + if (mf_is_dir(entry_path) == false) { + ug_mf_debug("path is not a directory"); + free(entry_path); + return MYFILE_ERR_INVALID_DIR_PATH; + } + + if (ugd->ug_Status.ug_pPath) { + g_string_free(ugd->ug_Status.ug_pPath, TRUE); + ugd->ug_Status.ug_pPath = NULL; + } + ugd->ug_Status.ug_pEntryPath = g_strdup(entry_path); + ugd->ug_Status.ug_pPath = g_string_new(entry_path); + if (g_strcmp0(entry_path, PHONE_FOLDER) == 0) { + ugd->ug_Status.ug_iViewType = mf_ug_view_root; + } else { + ugd->ug_Status.ug_iViewType = mf_ug_view_normal; + } + free(entry_path); + } else { + return MYFILE_ERR_ALLOCATE_FAIL; + } + UG_TRACE_END; + return error_code; +} /****************************** ** Prototype : __mf_ug_main_set_select_mode @@ -437,66 +530,79 @@ static int __mf_ug_main_set_path_option(void *data, const char *path) ** Modification : Created function ** ******************************/ - static void __mf_ug_main_set_select_mode(void *data, const char *select_mode) { - UG_TRACE_BEGIN; - ugData *ugd = (ugData *)data; - ug_mf_retm_if(ugd == NULL, "ugd is NULL"); - - if (select_mode != NULL) - { - if (!strncmp(select_mode, UG_SELECT_MODE_SINGLE_FILE, strlen(select_mode))) - { - ugd->ug_UiGadget.ug_iSelectMode = SINGLE_FILE_MODE; - } - else if (!strncmp(select_mode, UG_SELECT_MODE_MULTI_FILE, strlen(select_mode))) - { - ugd->ug_UiGadget.ug_iSelectMode = MULTI_FILE_MODE; - } - else if (!strncmp(select_mode, UG_SELECT_MODE_SINGLE_ALL, strlen(select_mode))) - { - ugd->ug_UiGadget.ug_iSelectMode = SINGLE_ALL_MODE; - } - else if (!strncmp(select_mode, UG_SELECT_MODE_MULTI_ALL, strlen(select_mode))) - { - ugd->ug_UiGadget.ug_iSelectMode = MULTI_ALL_MODE; - } - else if(!strncmp(select_mode, UG_SELECT_MODE_IMPORT, strlen(select_mode))) - { - ugd->ug_UiGadget.ug_iSelectMode = IMPORT_MODE; - } - else if(!strncmp(select_mode, UG_SELECT_MODE_IMPORT_PATH_SELECT, strlen(select_mode))) - { - ugd->ug_UiGadget.ug_iSelectMode = IMPORT_PATH_SELECT_MODE; - } - else if(!strncmp(select_mode, UG_SELECT_MODE_EXPORT, strlen(select_mode))) - { - ugd->ug_UiGadget.ug_iSelectMode = EXPORT_MODE; - } - else if (!strncmp(select_mode, UG_SELECT_MODE_IMPORT_SINGLE, strlen(select_mode))) - { - ugd->ug_UiGadget.ug_iSelectMode = IMPORT_SINGLE; - ugd->ug_Status.ug_iViewType = mf_ug_view_normal; - } - else if (!strncmp(select_mode, UG_SELECT_MODE_SAVE, strlen(select_mode))) - { - ugd->ug_UiGadget.ug_iSelectMode = SAVE_MODE; - } - else - { - ugd->ug_UiGadget.ug_iSelectMode = SINGLE_FILE_MODE; - } - } - else - { - ugd->ug_UiGadget.ug_iSelectMode = SINGLE_FILE_MODE; - } - UG_TRACE_END; + UG_TRACE_BEGIN; + ugData *ugd = (ugData *)data; + ug_mf_retm_if(ugd == NULL, "ugd is NULL"); + + if (select_mode != NULL) { + if (!strncmp(select_mode, UG_SELECT_MODE_SINGLE_FILE, strlen(select_mode))) { + ugd->ug_UiGadget.ug_iSelectMode = SINGLE_FILE_MODE; + } else if (!strncmp(select_mode, UG_SELECT_MODE_MULTI_FILE, strlen(select_mode))) { + ugd->ug_UiGadget.ug_iSelectMode = MULTI_FILE_MODE; + } else if (!strncmp(select_mode, UG_SELECT_MODE_SINGLE_ALL, strlen(select_mode))) { + ugd->ug_UiGadget.ug_iSelectMode = SINGLE_ALL_MODE; + } else if (!strncmp(select_mode, UG_SELECT_MODE_MULTI_ALL, strlen(select_mode))) { + ugd->ug_UiGadget.ug_iSelectMode = MULTI_ALL_MODE; + } else if (!strncmp(select_mode, UG_SELECT_MODE_IMPORT, strlen(select_mode))) { + ugd->ug_UiGadget.ug_iSelectMode = IMPORT_MODE; + } else if (!strncmp(select_mode, UG_SELECT_MODE_IMPORT_PATH_SELECT, strlen(select_mode))) { + ugd->ug_UiGadget.ug_iSelectMode = IMPORT_PATH_SELECT_MODE; + } else if (!strncmp(select_mode, UG_SELECT_MODE_EXPORT, strlen(select_mode))) { + ugd->ug_UiGadget.ug_iSelectMode = EXPORT_MODE; + } else if (!strncmp(select_mode, UG_SELECT_MODE_IMPORT_SINGLE, strlen(select_mode))) { + ugd->ug_UiGadget.ug_iSelectMode = IMPORT_SINGLE; + ugd->ug_Status.ug_iViewType = mf_ug_view_normal; + } else if (!strncmp(select_mode, UG_SELECT_MODE_SAVE, strlen(select_mode))) { + ugd->ug_UiGadget.ug_iSelectMode = SAVE_MODE; + } else if (!strncmp(select_mode, UG_SELECT_MODE_DOCUMENT_SHARE, strlen(select_mode))) { + ugd->ug_UiGadget.ug_iSelectMode = DOCUMENT_SHARE; + } else if (!strncmp(select_mode, UG_SELECT_MODE_SSM_DOCUMENT_SHARE, strlen(select_mode))) { + ugd->ug_UiGadget.ug_iSelectMode = SSM_DOCUMENT_SHARE; + } else { + ugd->ug_UiGadget.ug_iSelectMode = SINGLE_FILE_MODE; + } + } else { + ugd->ug_UiGadget.ug_iSelectMode = SINGLE_FILE_MODE; + } + UG_TRACE_END; } - +static void __mf_ug_main_set_filter_by_mime(void *data, const char *mime_type) +{ + UG_TRACE_BEGIN; + ugData *ugd = (ugData *)data; + ug_mf_retm_if(ugd == NULL, "ugd is NULL"); + + if (mime_type != NULL) { + if (!strncmp(mime_type, UG_FILE_MIME_TYPE_IMAGE, strlen(mime_type))) { + ugd->ug_UiGadget.ug_iFilterMode = SHOW_IMAGE_LIST; + } else if (!strncmp(mime_type, UG_FILE_MIME_TYPE_VIDEO, strlen(mime_type))) { + ugd->ug_UiGadget.ug_iFilterMode = SHOW_VIDEO_LIST; + } else if (!strncmp(mime_type, UG_FILE_MIME_TYPE_AUDIO, strlen(mime_type))) { + ugd->ug_UiGadget.ug_iFilterMode = SHOW_SOUND_LIST; + } else if (!strncmp(mime_type, UG_FILE_MIME_TYPE_DOCUMENT, strlen(mime_type))) { + ugd->ug_UiGadget.ug_iFilterMode = SHOW_DOCUMENT_LIST; + } else if (!strncmp(mime_type, UG_FILE_MIME_TYPE_DIR, strlen(mime_type))) { + ugd->ug_UiGadget.ug_iFilterMode = SHOW_FOLDER_LIST; + } else if (!strncmp(mime_type, UG_FILE_MIME_TYPE_ALL, strlen(mime_type))) { + ugd->ug_UiGadget.ug_iFilterMode = SHOW_ALL_LIST; + } + } + if (ugd->ug_UiGadget.ug_iFilterMode != SHOW_BY_EXTENSION) { + ugd->ug_UiGadget.ug_iFileFilter = mf_ug_fm_svc_wapper_get_file_filter(ugd->ug_UiGadget.ug_iFilterMode); + } + + + if (ugd->ug_UiGadget.ug_iFilterMode == SHOW_SOUND_LIST && ugd->ug_UiGadget.ug_iSelectMode == SINGLE_FILE_MODE) { + ugd->ug_Status.ug_iCtrlBarType = CTRL_BAR_MUSIC; + } else { + ugd->ug_Status.ug_iCtrlBarType = CTRL_BAR_MULTI; + } + UG_TRACE_END; +} /****************************** ** Prototype : __mf_ug_main_set_filter_mode @@ -514,86 +620,58 @@ static void __mf_ug_main_set_select_mode(void *data, const char *select_mode) ** Modification : Created function ** ******************************/ - static void __mf_ug_main_set_filter_mode(void *data, const char *file_filter) { - UG_TRACE_BEGIN; - ugData *ugd = (ugData *)data; - ug_mf_retm_if(ugd == NULL, "ugd is NULL"); - - if (file_filter != NULL) - { - if (!strncmp(file_filter, UG_FILE_FILTER_ALL, strlen(file_filter))) - { - ugd->ug_UiGadget.ug_iFilterMode = SHOW_ALL_LIST; - } - else if (!strncmp(file_filter, UG_FILE_FILTER_IMAGE, strlen(file_filter))) - { - ugd->ug_UiGadget.ug_iFilterMode = SHOW_IMAGE_LIST; - } - else if (!strncmp(file_filter, UG_FILE_FILTER_SOUND, strlen(file_filter))) - { - ugd->ug_UiGadget.ug_iFilterMode = SHOW_SOUND_LIST; - } - else if (!strncmp(file_filter, UG_FILE_FILTER_VIDEO, strlen(file_filter))) - { - ugd->ug_UiGadget.ug_iFilterMode = SHOW_VIDEO_LIST; - } - else if (!strncmp(file_filter, UG_FILE_FILTER_FLASH, strlen(file_filter))) - { - ugd->ug_UiGadget.ug_iFilterMode = SHOW_FLASH_LIST; - } - else if (!strncmp(file_filter, UG_FILE_FILTER_FOLDER, strlen(file_filter))) - { - ugd->ug_UiGadget.ug_iFilterMode = SHOW_FOLDER_LIST; - } - else if (!strncmp(file_filter, UG_FILE_FILTER_IV, strlen(file_filter))) - { - ugd->ug_UiGadget.ug_iFilterMode = SHOW_IMAGE_VIDEO_LIST; - } - else if (!strncmp(file_filter, UG_FILE_FILTER_IS, strlen(file_filter))) - { - ugd->ug_UiGadget.ug_iFilterMode = SHOW_IMAGE_SOUND_LIST; - } - else if (!strncmp(file_filter, UG_FILE_FILTER_VS, strlen(file_filter))) - { - ugd->ug_UiGadget.ug_iFilterMode = SHOW_VIDEO_SOUND_LIST; - } - else - { - ugd->ug_UiGadget.ug_iFilterMode = SHOW_BY_EXTENSION; - ugd->ug_UiGadget.ug_pExtension = strdup(file_filter); - if (g_strcmp0(file_filter, "opml") == 0) - { - ugd->ug_UiGadget.ug_iImportMode = 1; - } - } - } - else - { - ugd->ug_UiGadget.ug_iFilterMode = SHOW_ALL_LIST; - ugd->ug_UiGadget.ug_pExtension = NULL; - } - - if (ugd->ug_UiGadget.ug_iFilterMode != SHOW_BY_EXTENSION) - { - ugd->ug_UiGadget.ug_iFileFilter = mf_ug_fm_svc_wapper_get_file_filter(ugd->ug_UiGadget.ug_iFilterMode); - } - - - if (ugd->ug_UiGadget.ug_iFilterMode == SHOW_SOUND_LIST && ugd->ug_UiGadget.ug_iSelectMode == SINGLE_FILE_MODE) - { - ugd->ug_Status.ug_iCtrlBarType = CTRL_BAR_MUSIC; - } - else - { - ugd->ug_Status.ug_iCtrlBarType = CTRL_BAR_MULTI; - } - UG_TRACE_END; + UG_TRACE_BEGIN; + ugData *ugd = (ugData *)data; + ug_mf_retm_if(ugd == NULL, "ugd is NULL"); + + if (file_filter != NULL) { + if (!strncmp(file_filter, UG_FILE_FILTER_ALL, strlen(file_filter))) { + ugd->ug_UiGadget.ug_iFilterMode = SHOW_ALL_LIST; + } else if (!strncmp(file_filter, UG_FILE_FILTER_IMAGE, strlen(file_filter))) { + ugd->ug_UiGadget.ug_iFilterMode = SHOW_IMAGE_LIST; + } else if (!strncmp(file_filter, UG_FILE_FILTER_SOUND, strlen(file_filter))) { + ugd->ug_UiGadget.ug_iFilterMode = SHOW_SOUND_LIST; + } else if (!strncmp(file_filter, UG_FILE_FILTER_VIDEO, strlen(file_filter))) { + ugd->ug_UiGadget.ug_iFilterMode = SHOW_VIDEO_LIST; + } else if (!strncmp(file_filter, UG_FILE_FILTER_FLASH, strlen(file_filter))) { + ugd->ug_UiGadget.ug_iFilterMode = SHOW_FLASH_LIST; + } else if (!strncmp(file_filter, UG_FILE_FILTER_FOLDER, strlen(file_filter))) { + ugd->ug_UiGadget.ug_iFilterMode = SHOW_FOLDER_LIST; + } else if (!strncmp(file_filter, UG_FILE_FILTER_IV, strlen(file_filter))) { + ugd->ug_UiGadget.ug_iFilterMode = SHOW_IMAGE_VIDEO_LIST; + } else if (!strncmp(file_filter, UG_FILE_FILTER_IS, strlen(file_filter))) { + ugd->ug_UiGadget.ug_iFilterMode = SHOW_IMAGE_SOUND_LIST; + } else if (!strncmp(file_filter, UG_FILE_FILTER_VS, strlen(file_filter))) { + ugd->ug_UiGadget.ug_iFilterMode = SHOW_VIDEO_SOUND_LIST; + } else if (!strncmp(file_filter, UG_FILE_FILTER_DOCUMENT, strlen(file_filter))) { + ugd->ug_UiGadget.ug_iFilterMode = SHOW_DOCUMENT_LIST; + } else { + ugd->ug_UiGadget.ug_iFilterMode = SHOW_BY_EXTENSION; + ugd->ug_UiGadget.ug_pExtension = strdup(file_filter); + if (g_strcmp0(file_filter, "opml") == 0) { + ugd->ug_UiGadget.ug_iImportMode = 1; + } + } + } else { + ugd->ug_UiGadget.ug_iFilterMode = SHOW_ALL_LIST; + ugd->ug_UiGadget.ug_pExtension = NULL; + } + + if (ugd->ug_UiGadget.ug_iFilterMode != SHOW_BY_EXTENSION) { + ugd->ug_UiGadget.ug_iFileFilter = mf_ug_fm_svc_wapper_get_file_filter(ugd->ug_UiGadget.ug_iFilterMode); + } + + + if (ugd->ug_UiGadget.ug_iFilterMode == SHOW_SOUND_LIST && ugd->ug_UiGadget.ug_iSelectMode == SINGLE_FILE_MODE) { + ugd->ug_Status.ug_iCtrlBarType = CTRL_BAR_MUSIC; + } else { + ugd->ug_Status.ug_iCtrlBarType = CTRL_BAR_MULTI; + } + UG_TRACE_END; } - - /****************************** ** Prototype : __mf_ug_main_set_marked_mode ** Description : Samsung @@ -610,110 +688,94 @@ static void __mf_ug_main_set_filter_mode(void *data, const char *file_filter) ** Modification : Created function ** ******************************/ - static void __mf_ug_main_set_marked_mode(void *data, const char *marked_mode) { - UG_TRACE_BEGIN; - ugData *ugd = (ugData *)data; - ug_mf_retm_if(ugd == NULL, "ugd is NULL"); - - if (marked_mode != NULL) - { - ugd->ug_UiGadget.ug_iMarkedMode = MARKED_ON; - mf_ug_util_get_params_path(&ugd->ug_UiGadget.ug_pMultiSelectFileList, marked_mode); - } - else - { - ugd->ug_UiGadget.ug_iMarkedMode = MARKED_OFF; - } - UG_TRACE_END; + UG_TRACE_BEGIN; + ugData *ugd = (ugData *)data; + ug_mf_retm_if(ugd == NULL, "ugd is NULL"); + + if (marked_mode != NULL) { + ugd->ug_UiGadget.ug_iMarkedMode = MARKED_ON; + mf_ug_util_get_params_path(&ugd->ug_UiGadget.ug_pMultiSelectFileList, marked_mode); + } else { + ugd->ug_UiGadget.ug_iMarkedMode = MARKED_OFF; + } + UG_TRACE_END; } -/****************************** -** Prototype : __mf_ug_main_set_drm_filter_mode -** Description : Samsung -** Input : void *data -** char *drm_filter -** Output : None -** Return Value : -** Calls : -** Called By : -** -** History : -** 1.Date : 2010/12/10 -** Author : Samsung -** Modification : Created function -** -******************************/ - -static void __mf_ug_main_set_drm_filter_mode(void *data, const char *drm_filter) +static int __mf_ug_main_set_view_mode(void *data, const char *view_mode, const char *path) { - - UG_TRACE_BEGIN; - ugData *ugd = (ugData *)data; - ug_mf_retm_if(ugd == NULL, "ugd is NULL"); - if (drm_filter != NULL) - { - if (!strncmp(drm_filter, UG_DRM_FILTER_NONE, strlen(drm_filter))) - { - ugd->ug_UiGadget.ug_iDrmFilterMode = DRM_FILTER_NONE; - } - else if (!strncmp(drm_filter, UG_DRM_FILTER_ALL, strlen(drm_filter))) - { - ugd->ug_UiGadget.ug_iDrmFilterMode = DRM_FILTER_ALL; - } - else if (!strncmp(drm_filter, UG_DRM_FILTER_WITHOUT_FL, strlen(drm_filter))) - { - ugd->ug_UiGadget.ug_iDrmFilterMode = DRM_FILTER_WITHOUT_FL; - } - else - { - ugd->ug_UiGadget.ug_iDrmFilterMode = DRM_FILTER_ALL; - } - } - else - { - ugd->ug_UiGadget.ug_iDrmFilterMode = DRM_FILTER_ALL; - } - - ugd->ug_UiGadget.ug_iDrmFilter = mf_ug_fm_svc_wapper_get_drm_filter(ugd->ug_UiGadget.ug_iDrmFilterMode, ugd->ug_UiGadget.ug_iFileFilter); - UG_TRACE_END; + UG_TRACE_BEGIN; + ugData *ugd = (ugData *)data; + ug_mf_retvm_if(ugd == NULL, MYFILE_ERR_SRC_ARG_INVALID, "ugd is NULL"); + ug_mf_retvm_if(view_mode == NULL, MYFILE_ERR_SRC_ARG_INVALID, "view_mode is NULL"); + ug_mf_retvm_if(path == NULL, MYFILE_ERR_SRC_ARG_INVALID, "path is NULL"); + + int error_code = MYFILE_ERR_ALLOCATE_FAIL; + char *entry_path = NULL; + + if (view_mode != NULL) { + if (!strncmp(view_mode, UG_VIEW_MODE_DEFAULT_SOUND_ITEM, strlen(view_mode))) { + entry_path = strdup(path); + if (entry_path == NULL) { + error_code = MYFILE_ERR_ALLOCATE_FAIL; + return error_code; + } + + if (entry_path[strlen(entry_path) - 1] == '/') { + entry_path[strlen(entry_path) - 1] = '\0'; + } + if (ugd->ug_Status.ug_pPath) { + g_string_free(ugd->ug_Status.ug_pPath, TRUE); + ugd->ug_Status.ug_pPath = NULL; + } + if (mf_file_exists(entry_path) == false || mf_is_dir(entry_path) == false) { + error_code = MYFILE_ERR_ALLOCATE_FAIL; + } else { + ugd->ug_Status.ug_pEntryPath = g_strdup(entry_path); + ugd->ug_Status.ug_pPath = g_string_new(entry_path); + if (g_strcmp0(entry_path, PHONE_FOLDER) == 0) { + ugd->ug_Status.ug_iViewType = mf_ug_view_root; + } else { + ugd->ug_Status.ug_iViewType = mf_ug_view_normal; + } + error_code = MYFILE_ERR_NONE; + } + free(entry_path); + } + } + return error_code; } #ifdef UG_OPERATION_SELECT_MODE static void __mf_ug_main_set_operation_select_mode(void *data, const char *select_mode) { - UG_TRACE_BEGIN; - ugData *ugd = (ugData *)data; - ug_mf_retm_if(ugd == NULL, "ugd is NULL"); - - if (select_mode != NULL) - { - if (!strncmp(select_mode, MF_BUNDLE_SELECTION_MODE_SINGLE, strlen(select_mode))) - { - ugd->ug_UiGadget.ug_iSelectMode = SINGLE_FILE_MODE; - } - else if (!strncmp(select_mode, MF_BUNDLE_SELECTION_MODE_MULTI, strlen(select_mode))) - { - ugd->ug_UiGadget.ug_iSelectMode = MULTI_FILE_MODE; - } - else - { - ugd->ug_UiGadget.ug_iSelectMode = SINGLE_FILE_MODE; - } - ugd->ug_UiGadget.ug_bOperationSelectFlag = true; - } - UG_TRACE_END; + UG_TRACE_BEGIN; + ugData *ugd = (ugData *)data; + ug_mf_retm_if(ugd == NULL, "ugd is NULL"); + + if (select_mode != NULL) { + if (!strcasecmp(select_mode, MF_BUNDLE_SELECTION_MODE_SINGLE)) { + ugd->ug_UiGadget.ug_iSelectMode = SINGLE_FILE_MODE; + } else if (!strcasecmp(select_mode, MF_BUNDLE_SELECTION_MODE_MULTI)) { + ugd->ug_UiGadget.ug_iSelectMode = MULTI_FILE_MODE; + } else { + ugd->ug_UiGadget.ug_iSelectMode = SINGLE_FILE_MODE; + } + ugd->ug_UiGadget.ug_bOperationSelectFlag = true; + } + UG_TRACE_END; } #endif + /****************************** ** Prototype : __mf_ug_main_set_option_status ** Description : Samsung ** Input : void *data -** service_h service +** app_control_h app_control ** Output : None ** Return Value : ** Calls : @@ -725,40 +787,135 @@ static void __mf_ug_main_set_operation_select_mode(void *data, const char *selec ** Modification : Created function ** ******************************/ - -static void __mf_ug_main_set_option_status(void *data, service_h service) +static void __mf_ug_main_set_option_status(void *data, app_control_h app_control) { - UG_TRACE_BEGIN; - ugData *ugd = (ugData *)data; - ug_mf_retm_if(ugd == NULL, "ugd is NULL"); - char *path = NULL; - char *select_mode = NULL; - char *filter_mode = NULL; - char *marked_mode = NULL; - char *drm_filter_mode = NULL; -#ifdef UG_OPERATION_SELECT_MODE - char *key[UG_OPTION_COUNT] = { "path", "select_type", "file_type", "marked_mode", "drm_type", MF_BUNDLE_SELECTION_MODE}; - char *operation_select_mode = NULL; -#else - char *key[UG_OPTION_COUNT] = { "path", "select_type", "file_type", "marked_mode", "drm_type"}; -#endif + UG_TRACE_BEGIN; + ugData *ugd = (ugData *)data; + ug_mf_retm_if(ugd == NULL, "ugd is NULL"); + char *path = NULL; + char *select_mode = NULL; + char *filter_mode = NULL; + char *marked_mode = NULL; + char *default_ringtone = NULL; + char *view_mode = NULL; + char *mime_type = NULL; + char *title = NULL; + char *domain = NULL; + char *key[UG_OPTION_COUNT] = { "path", "select_type", "file_type", + "marked_mode", "default ringtone", + "view_mode", "title", "domain"}; + + char *operation = NULL; + app_control_get_operation(app_control, &operation); + ug_error("operation is [%s]", operation); + app_control_get_extra_data(app_control, key[0], &path); + app_control_get_extra_data(app_control, key[1], &select_mode); + app_control_get_extra_data(app_control, key[2], &filter_mode); + app_control_get_extra_data(app_control, key[3], &marked_mode); + app_control_get_extra_data(app_control, key[4], &default_ringtone); + app_control_get_extra_data(app_control, key[5], &view_mode); + app_control_get_extra_data(app_control, key[6], &title); + app_control_get_extra_data(app_control, key[7], &domain); + app_control_get_mime(app_control, &mime_type); + SECURE_ERROR("path is [%s] select_mode is [%s] filter_mode is [%s] marked_mode is [%s] default_ringtone is [%s] view_mode is [%s] title is [%s] domain is [%s]", + path, select_mode, filter_mode, marked_mode, default_ringtone, view_mode, title, domain); + + if (__mf_ug_main_set_view_mode(ugd, view_mode, path) != MYFILE_ERR_NONE) { + __mf_ug_main_set_path_option(ugd, path); + } + + char *indicator = NULL; + app_control_get_extra_data(app_control, "indicator-state", &indicator); + + /* add indicator state for PLM P131108-02061, leo */ + if (indicator) { + ug_debug("indicator: %s", indicator); + if (!strcasecmp(indicator, "hide")) + b_hide_indicator = true; + UG_SAFE_FREE_CHAR(indicator); + } + + if (ugd->ug_UiGadget.ug_iSoundMode != mf_ug_sound_mode_none) { + + ugd->ug_Status.mark_mode = g_strdup(marked_mode); + if (default_ringtone) { + if (g_strcmp0(default_ringtone, MF_DEFAULT_RINGTONE_SHOW) == 0) { + if (ugd->ug_UiGadget.ug_iSoundMode == mf_ug_sound_mode_ringtone) { + ugd->ug_UiGadget.default_ringtone = mf_ug_util_get_default_ringtone(); + mf_ug_util_set_default_ringtone_cb(ugd); + } else if (ugd->ug_UiGadget.ug_iSoundMode == mf_ug_sound_mode_alert) { + ugd->ug_UiGadget.default_ringtone = mf_ug_util_get_default_alert(); + mf_ug_util_set_default_alert_cb(ugd); + } + } + if (marked_mode && g_strcmp0(DEFAULT_RINGTONE_MARK, marked_mode) == 0) { + UG_SAFE_FREE_CHAR(marked_mode); + marked_mode = g_strdup(MF_UG_LABEL_DEFAULT_RINGTONE); + } + } + if (title) { + ugd->ug_UiGadget.title = g_strdup(title); + UG_SAFE_FREE_CHAR(title); + } + if (domain) { + ugd->ug_UiGadget.domain = g_strdup(domain); + UG_SAFE_FREE_CHAR(domain); + } + + char *silent = NULL; + app_control_get_extra_data(app_control, "silent", &silent); + if (silent) { + ug_debug("silent: %s", silent); + if (g_strcmp0(SILENT_SHOW, silent) == 0) { + ugd->ug_UiGadget.silent = EINA_TRUE; + } + if (marked_mode && g_strcmp0(SILENT, marked_mode) == 0) { + UG_SAFE_FREE_CHAR(marked_mode); + marked_mode = g_strdup(MF_UG_LABEL_SILENT); + } + } + } else { + __mf_ug_main_set_select_mode(ugd, select_mode); + + ug_error("mime_type is [%s]", mime_type); + if (mime_type) { + __mf_ug_main_set_filter_by_mime(ugd, mime_type); + } else { + __mf_ug_main_set_filter_mode(ugd, filter_mode); + } - service_get_extra_data(service, key[0], &path); - service_get_extra_data(service, key[1], &select_mode); - service_get_extra_data(service, key[2], &filter_mode); - service_get_extra_data(service, key[3], &marked_mode); - service_get_extra_data(service, key[4], &drm_filter_mode); - - __mf_ug_main_set_select_mode(ugd, select_mode); - __mf_ug_main_set_path_option(ugd, path); - __mf_ug_main_set_filter_mode(ugd, filter_mode); - __mf_ug_main_set_marked_mode(ugd, marked_mode); - __mf_ug_main_set_drm_filter_mode(ugd, drm_filter_mode); #ifdef UG_OPERATION_SELECT_MODE - service_get_extra_data(service, key[5], &operation_select_mode); - __mf_ug_main_set_operation_select_mode(ugd, operation_select_mode); + char *operation_select_mode = NULL; + app_control_get_extra_data(app_control, APPSVC_DATA_SELECTION_MODE, &operation_select_mode); + ug_error("operation_select_mode is [%s]", operation_select_mode); + __mf_ug_main_set_operation_select_mode(ugd, operation_select_mode); + UG_SAFE_FREE_CHAR(operation_select_mode); #endif - UG_TRACE_END; + + } + __mf_ug_main_set_marked_mode(ugd, marked_mode); + ugd->limitsize = -1; + char *max_size = NULL; + app_control_get_extra_data(app_control, APP_CONTROL_DATA_TOTAL_SIZE, &(max_size)); + if (max_size) { + ugd->limitsize = atoi(max_size); + UG_SAFE_FREE_CHAR(max_size); + } + char *number = NULL; + app_control_get_extra_data(app_control, APP_CONTROL_DATA_TOTAL_COUNT, &number); + __mf_ug_main_set_max_len_option(ugd, number); + + UG_SAFE_FREE_CHAR(number); + UG_SAFE_FREE_CHAR(path); + UG_SAFE_FREE_CHAR(select_mode); + UG_SAFE_FREE_CHAR(filter_mode); + UG_SAFE_FREE_CHAR(marked_mode); + UG_SAFE_FREE_CHAR(default_ringtone); + UG_SAFE_FREE_CHAR(mime_type); + UG_SAFE_FREE_CHAR(view_mode); + + ugd->ug_Status.ug_launch_path = g_strdup(ugd->ug_Status.ug_pPath->str); + UG_TRACE_END; } /****************************** @@ -779,51 +936,22 @@ static void __mf_ug_main_set_option_status(void *data, service_h service) ******************************/ static Evas_Object *__mf_ug_main_create_default_layout(Evas_Object *parent, void *data) { - ugData *ugd = (ugData *)data; - ug_mf_retvm_if(ugd == NULL, NULL, "ugd is NULL"); - ug_mf_retvm_if(parent == NULL, NULL, "parent is NULL"); - Evas_Object *pContent = NULL; - int tab_item_count = 1; - - int mmc_card = 0; - int error_code = 0; - /*/check if mmc mounted */ - error_code = mf_ug_util_get_mmc_state(&mmc_card); - if (error_code == 0 && mmc_card == 1) - { - tab_item_count++; - } - /*/check if usb otg mounted - { - Todo: we need to add something to record what should on - } - create phone navi */ - ugNaviBar *pNavi_phone = calloc(1, sizeof(ugNaviBar)); - ug_mf_retvm_if(pNavi_phone == NULL, NULL, "pNavi_phone is NULL"); - - ugd->ug_MainWindow.ug_pNaviBar = mf_ug_navi_bar_create_navi_bar(parent); - if (ugd->ug_MainWindow.ug_pNaviBar == NULL) - { - ug_debug("ugd->ug_MainWindow.ug_pNaviBar is NULL"); - free(pNavi_phone); - pNavi_phone = NULL; - UG_TRACE_END; - return NULL; - } - - pNavi_phone->ug_bNaviFlagInUse = TRUE; - - UG_SAFE_FREE_CHAR(pNavi_phone->ug_pCurrentPath); - pNavi_phone->ug_pCurrentPath = g_strdup(ugd->ug_Status.ug_pPath->str); - - UG_SAFE_FREE_CHAR(pNavi_phone->ug_pNaviLabel); - pNavi_phone->ug_pNaviLabel = strdup(MF_UG_LABEL_PHONE); - /*/insert phone navi into the navi_list */ - /** Todo: if we need to check ap->mf_MainWindow.plistNaviBar?*/ - ugd->ug_MainWindow.ug_pNaviBarList = eina_list_append(ugd->ug_MainWindow.ug_pNaviBarList, pNavi_phone); - - UG_TRACE_END; - return ugd->ug_MainWindow.ug_pNaviBar; + ugData *ugd = (ugData *)data; + ug_mf_retvm_if(ugd == NULL, NULL, "ugd is NULL"); + ug_mf_retvm_if(parent == NULL, NULL, "parent is NULL"); + int tab_item_count = 1; + + int mmc_card = 0; + int error_code = 0; + /*/check if mmc mounted */ + error_code = mf_ug_util_get_mmc_state(&mmc_card); + if (error_code == 0 && mmc_card == 1) { + tab_item_count++; + } + ugd->ug_MainWindow.ug_pNaviBar = mf_ug_navi_bar_create_navi_bar(parent); + + UG_TRACE_END; + return ugd->ug_MainWindow.ug_pNaviBar; } /****************************** @@ -841,81 +969,62 @@ static Evas_Object *__mf_ug_main_create_default_layout(Evas_Object *parent, void ** Modification : Created function ** ******************************/ - -static void __mf_ug_main_start(void *data) +static Eina_Bool __mf_ug_ctrlbar_state_idler(void *data) { - UG_TRACE_BEGIN; - ugData *ugd = (ugData *)data; - ug_mf_retm_if(ugd == NULL, "ugd is NULL"); - Evas_Object *pContent = NULL; - int error_code = 0; - int mmc_card = 0; - - pContent = __mf_ug_main_create_default_layout(ugd->ug_MainWindow.ug_pMainLayout, ugd); - - if (pContent != NULL) - { - elm_object_part_content_set(ugd->ug_MainWindow.ug_pMainLayout, "elm.swallow.content", pContent); - mf_ug_navi_bar_create_default_view(ugd); - mf_ug_ctrl_bar_set_item_disable(ugd); - mf_ug_navi_bar_set_blocking(data, false); - } - else - { - return; - } - ug_debug("done"); - UG_TRACE_END; - - return; -} + UG_TRACE_BEGIN; + ctrlbar_state_idler = NULL; + ugData *ugd = (ugData *)data; + ug_mf_retvm_if(ugd == NULL, EINA_FALSE, "ugd is NULL"); + mf_ug_navi_bar_set_ctrl_item_disable(ugd); + return EINA_FALSE; +} -static Eina_Bool ug_callback_hw_key_down( void *data, int type __attribute__((unused)), void *event ) +void mf_ug_main_update_ctrl_in_idle(void *data) { - assert(data != NULL); - assert(event != NULL); - - if(data == NULL) - { - return ECORE_CALLBACK_DONE; - } - if(event == NULL) - { - return ECORE_CALLBACK_DONE; - } - - ugData *ugd = data; - Ecore_Event_Key *key_event = event; - - if (strcmp(key_event->keyname, KEY_BACK) == 0) - { - if (mf_ug_fm_svc_wapper_is_root_path(ugd->ug_Status.ug_pPath)) - { - ug_destroy_me(ugd->ug); - } - else - { - mf_ug_cb_upper_click_cb(ugd, NULL, NULL); - } - } - else if (strcmp(key_event->keyname, KEY_MENU) == 0) - { - //TODO: Add menu handler here. - return ECORE_CALLBACK_DONE; - } - - return ECORE_CALLBACK_DONE; + ug_ecore_idler_del(ctrlbar_state_idler); + ctrlbar_state_idler = ecore_idler_add(__mf_ug_ctrlbar_state_idler, data); } +static void __mf_ug_main_start(void *data) +{ + UG_TRACE_BEGIN; + ugData *ugd = (ugData *)data; + ug_mf_retm_if(ugd == NULL, "ugd is NULL"); + Evas_Object *pContent = NULL; + + pContent = __mf_ug_main_create_default_layout(ugd->ug_MainWindow.ug_pMainLayout, ugd); + + if (pContent != NULL) { + elm_object_part_content_set(ugd->ug_MainWindow.ug_pMainLayout, "elm.swallow.content", pContent); + { + if (ugd->ug_UiGadget.ug_iSoundMode != mf_ug_sound_mode_none) { + mf_ug_create_rintone_view(ugd); + /*Fix the P130902-01617, refer to the android galaxy S4.*/ + mf_ug_player_vol_set(ugd, ugd->ug_Status.ug_pEntryPath); + + } else { + mf_ug_navi_bar_create_default_view(ugd); + + } + mf_ug_util_path_push(ugd->ug_Status.ug_pPath->str, ugd->ug_Status.ug_iViewType); + } + mf_ug_main_update_ctrl_in_idle(ugd); + } else { + return; + } + UG_TRACE_END; + + return; +} /****************************** ** Prototype : on_create ** Description : Samsung ** Input : ui_gadget_h ug ** enum ug_mode mode -** service_h service +** app_control_h app_control ** void *priv ** Output : None ** Return Value : @@ -928,63 +1037,68 @@ static Eina_Bool ug_callback_hw_key_down( void *data, int type __attribute__((un ** Modification : Created function ** ******************************/ - -static void *on_create(ui_gadget_h ug, enum ug_mode mode, service_h service, void *priv) +static void *on_create(ui_gadget_h ug, enum ug_mode mode, app_control_h app_control, void *priv) { - UG_TRACE_BEGIN; + UG_TRACE_BEGIN; + + Evas_Object *win = NULL; + ugData *ugd = NULL; - ug_mf_retv_if(NULL == priv, NULL); + ug_mf_retv_if(NULL == priv, NULL); - ugData *ugd = priv; + ugd = priv; + ugd->ug = ug; + bindtextdomain(UGPACKAGE, UGLOCALEDIR); + elm_theme_extension_add(NULL, UG_EDJ_NAVIGATIONBAR); - ugd->ug = ug; + win = (Evas_Object *)ug_get_window(); + ug_mf_retv_if(NULL == win, NULL); + ugd->ug_MainWindow.ug_pConformant = ug_get_conformant(); + ug_mf_retv_if(NULL == ugd->ug_MainWindow.ug_pConformant, NULL); - bindtextdomain(UGPACKAGE, UGLOCALEDIR); + ugd->ug_MainWindow.ug_pWindow = win; + ugd->ug_Status.ug_bInstallFlag = false; + ugd->ug_Status.ug_bCancelDisableFlag = false; + ugd->ug_UiGadget.ug_iImportMode = 0; - Evas_Object *win = ug_get_window(); - ug_mf_retv_if(NULL == win, NULL); + /*evas_object_event_callback_add(ugd->ug_MainWindow.ug_pWindow, EVAS_CALLBACK_RESIZE, mf_ug_resize_more_ctxpopup_cb, ugd);*/ - if (elm_win_wm_rotation_supported_get(win)) - { - int rotations[] = - { - APP_DEVICE_ORIENTATION_0, - APP_DEVICE_ORIENTATION_180, - }; + ugd->ug_MainWindow.ug_pMainLayout = __mf_ug_main_create_main_layout(ugd->ug_MainWindow.ug_pWindow); + ugd->ug_MainWindow.ug_pBackGround = mf_ug_main_create_bg(ugd->ug_MainWindow.ug_pWindow); + elm_object_part_content_set(ugd->ug_MainWindow.ug_pMainLayout, "elm.swallow.bg", ugd->ug_MainWindow.ug_pBackGround); - elm_win_wm_rotation_available_rotations_set(win, rotations, sizeof(rotations) / sizeof(rotations[0])); - } + __mf_ug_get_indicator_state(ugd); - ugd->ug_MainWindow.ug_pWindow = win; - ugd->ug_Status.ug_bInstallFlag = false; - ugd->ug_Status.ug_bCancelDisableFlag = false; - ugd->ug_UiGadget.ug_iImportMode = 0; - ugd->ug_MainWindow.ug_pMainLayout = __mf_ug_main_create_main_layout(ugd->ug_MainWindow.ug_pWindow); - ugd->ug_MainWindow.ug_pBackGround = mf_ug_main_create_bg(ugd->ug_MainWindow.ug_pWindow); - elm_object_part_content_set(ugd->ug_MainWindow.ug_pMainLayout, "elm.swallow.bg", ugd->ug_MainWindow.ug_pBackGround); + __mf_ug_main_init_data(ugd); + __mf_ug_main_set_option_status(ugd, app_control); + ug_error("b_hide_indicator is [%d]", b_hide_indicator); + _mf_ug_indicator_state_set(ugd, b_hide_indicator); + int err = media_content_connect(); + if (err != MEDIA_CONTENT_ERROR_NONE) { + ug_debug("media_content_connect failed!"); + } - __mf_ug_main_init_data(ugd); - __mf_ug_main_set_option_status(ugd, service); - int err = media_content_connect(); - if (err != MEDIA_CONTENT_ERROR_NONE) - { - ug_debug("media_content_connect failed!"); - } + /*device_add_callback(DEVICE_CALLBACK_POWER_STATE, mf_ug_cb_lcd_state_changed_cb, ugd);*/ - ugd->key_event_handler = ecore_event_handler_add( ECORE_EVENT_KEY_DOWN, ug_callback_hw_key_down, ugd ); - power_set_changed_cb(mf_ug_cb_lcd_state_changed_cb, ugd); + int ret = mf_ug_db_handle_create(); + if (ret == MFD_ERROR_NONE) { + ug_error("db open success"); + } else { + ug_error("db open failed"); + } - __mf_ug_main_start(ugd); + __mf_ug_main_start(ugd); + ugd->ug_Status.ug_launch_view = ugd->ug_Status.ug_iViewType; - UG_TRACE_END; - return ugd->ug_MainWindow.ug_pMainLayout; + UG_TRACE_END; + return ugd->ug_MainWindow.ug_pMainLayout; } /****************************** ** Prototype : on_start ** Description : ** Input : ui_gadget_h ug -** service_h service +** app_control_h app_control ** void *priv ** Output : None ** Return Value : @@ -997,8 +1111,9 @@ static void *on_create(ui_gadget_h ug, enum ug_mode mode, service_h service, voi ** Modification : Created function ** ******************************/ -static void on_start(ui_gadget_h ug, service_h service, void *priv) +static void on_start(ui_gadget_h ug, app_control_h app_control, void *priv) { + } @@ -1006,7 +1121,7 @@ static void on_start(ui_gadget_h ug, service_h service, void *priv) ** Prototype : on_pause ** Description : ** Input : ui_gadget_h ug -** service_h service +** app_control_h app_control ** void *priv ** Output : None ** Return Value : @@ -1019,17 +1134,23 @@ static void on_start(ui_gadget_h ug, service_h service, void *priv) ** Modification : Created function ** ******************************/ -static void on_pause(ui_gadget_h ug, service_h service, void *priv) +static void on_pause(ui_gadget_h ug, app_control_h app_control, void *priv) { - UG_TRACE_BEGIN; - if (!priv) - return; - ugData *ugd = (ugData *)priv; - - if (0 != ugd->ug_ListPlay.ug_Player) - { - mf_ug_list_play_pause(ugd); - } + UG_TRACE_BEGIN; + if (!priv) + return; + ugData *ugd = (ugData *)priv; + + + if (0 != ugd->ug_ListPlay.ug_Player) { + if (!mf_ug_list_play_pause(ugd)) { + ug_error("==========================="); + mf_ug_list_play_destory_playing_file(ugd); + } + + } + /*Fix the P130902-01617, refer to the android galaxy S4.*/ + mf_ug_player_vol_reset_default_value(ugd); } /****************************** @@ -1051,75 +1172,74 @@ static void on_pause(ui_gadget_h ug, service_h service, void *priv) ******************************/ inline bool __mf_ug_main_check_exist(const char *path) { - if (path && (access(path, F_OK) == 0)) - { - return true; - } - return false; + if (path && (access(path, F_OK) == 0)) { + return true; + } + return false; } -static void on_resume(ui_gadget_h ug, service_h service, void *priv) +static void on_resume(ui_gadget_h ug, app_control_h app_control, void *priv) { - UG_TRACE_BEGIN; - ug_mf_retm_if(NULL == priv, "priv is NULL"); - ugData *ugd = priv; - - if (!__mf_ug_main_check_exist(ugd->ug_Status.ug_pPath->str)) - { - ugNaviBar *pNavi_s = mf_ug_navi_bar_get_in_use_navi(ugd); - GString *parent_path = mf_ug_fm_svc_wrapper_get_file_parent_path(ugd->ug_Status.ug_pPath); - int storage = mf_ug_fm_svc_wapper_get_location(ugd->ug_Status.ug_pPath->str); - - g_string_free(ugd->ug_Status.ug_pPath, TRUE); - ugd->ug_Status.ug_pPath = NULL; - free(pNavi_s->ug_pCurrentPath); - pNavi_s->ug_pCurrentPath = NULL; - - if (parent_path && parent_path->str) - { - if (__mf_ug_main_check_exist(parent_path->str)) - { - ug_debug("paretn is [%s] exit", parent_path->str); - ugd->ug_Status.ug_pPath = g_string_new(parent_path->str); - pNavi_s->ug_pCurrentPath = g_strdup(parent_path->str); - } - else - { - ug_debug("paretn is [%s] not exit", parent_path->str); - if (storage == MF_UG_PHONE) - { - ugd->ug_Status.ug_pPath = g_string_new(PHONE_FOLDER); - pNavi_s->ug_pCurrentPath = strdup(PHONE_FOLDER); - } - else - { - ugd->ug_Status.ug_pPath = g_string_new(MEMORY_FOLDER); - pNavi_s->ug_pCurrentPath = strdup(MEMORY_FOLDER); - } - } - } - else - { - ug_debug("get parent failed"); - if (storage == MF_UG_PHONE) - { - ugd->ug_Status.ug_pPath = g_string_new(PHONE_FOLDER); - pNavi_s->ug_pCurrentPath = strdup(PHONE_FOLDER); - } - else - { - ugd->ug_Status.ug_pPath = g_string_new(MEMORY_FOLDER); - pNavi_s->ug_pCurrentPath = strdup(MEMORY_FOLDER); - } - } - - mf_ug_navi_bar_create_default_view(ugd); - mf_ug_ctrl_bar_set_item_disable(ugd); - g_string_free(parent_path, TRUE); - parent_path = NULL; - } - - UG_TRACE_END; + UG_TRACE_BEGIN; + + b_is_background = false; + ug_mf_retm_if(NULL == priv, "priv is NULL"); + ugData *ugd = priv; + + if (mf_ug_util_is_unique_view(ugd->ug_UiGadget.ug_iSelectMode)) { + return; + } + if (ugd->ug_UiGadget.ug_iSoundMode != mf_ug_sound_mode_none) { + if (ugd->ug_Status.ug_iViewType == mf_ug_view_ringtone_del) { + int count = mf_ug_navibar_get_ringtone_count(ugd->ug_UiGadget.ug_iSoundMode); + int item_count = elm_genlist_items_count(ugd->ug_MainWindow.ug_pNaviGenlist); + if (count != item_count) { + /*To fix P140507-02173, there is no need to update delete view when reenter settings + UG_SAFE_FREE_OBJ(ugd->ug_MainWindow.ug_pNormalPopup); + mf_ug_navi_bar_create_delete_view(ugd);*/ + } + } + /*Fix the P130902-01617, refer to the android galaxy S4.*/ + if (!mf_ug_is_music_ug_run()) { + ug_error("========================== music ug is not running"); + mf_ug_player_vol_set(ugd, ugd->ug_Status.ug_pEntryPath); + } + mf_ug_ringtone_list_resume(ugd); + return; + } + if (!__mf_ug_main_check_exist(ugd->ug_Status.ug_pPath->str)) { + GString *parent_path = mf_ug_fm_svc_wrapper_get_file_parent_path(ugd->ug_Status.ug_pPath); + int storage = mf_ug_fm_svc_wapper_get_location(ugd->ug_Status.ug_pPath->str); + + g_string_free(ugd->ug_Status.ug_pPath, TRUE); + ugd->ug_Status.ug_pPath = NULL; + + if (parent_path && parent_path->str) { + if (__mf_ug_main_check_exist(parent_path->str)) { + ugd->ug_Status.ug_pPath = g_string_new(parent_path->str); + } else { + if (storage == MF_UG_PHONE) { + ugd->ug_Status.ug_pPath = g_string_new(PHONE_FOLDER); + } else { + ugd->ug_Status.ug_pPath = g_string_new(MEMORY_FOLDER); + } + } + } else { + if (storage == MF_UG_PHONE) { + ugd->ug_Status.ug_pPath = g_string_new(PHONE_FOLDER); + } else { + ugd->ug_Status.ug_pPath = g_string_new(MEMORY_FOLDER); + } + } + + mf_ug_navi_bar_create_default_view(ugd); + mf_ug_navi_bar_set_ctrl_item_disable(ugd); + g_string_free(parent_path, TRUE); + parent_path = NULL; + } + + + UG_TRACE_END; } /****************************** @@ -1140,8 +1260,75 @@ static void on_resume(ui_gadget_h ug, service_h service, void *priv) ** Modification : Created function ** ******************************/ -static void on_message(ui_gadget_h ug, service_h msg, service_h service, void *priv) +static void on_message(ui_gadget_h ug, app_control_h msg, app_control_h app_control, void *priv) +{ +} + +void __mf_ug_subtitle_show(void *data) { + UG_TRACE_BEGIN; + ugData *ugd = (ugData *)data; + ug_mf_retm_if(ugd == NULL, "ugd is NULL"); + ugListItemData *itemData = NULL ; + + int iDirCount = 0, iFileCount = 0; + Elm_Object_Item *it = NULL; + Evas_Object *pGenlist = ugd->ug_MainWindow.ug_pNaviGenlist; + + it = elm_genlist_first_item_get(pGenlist); + while (it) { + itemData = elm_object_item_data_get(it); + if (itemData->ug_bChecked) { + if (mf_is_dir(itemData->ug_pItemName->str)) { + iDirCount++; + } else { + iFileCount++; + } + } + + it = elm_genlist_item_next_get(it); + } + int count = 0; + count = iDirCount + iFileCount; + if (count > 0) { + char *label = NULL; + label = g_strdup_printf(mf_ug_widget_get_text(MF_UG_LABEL_SELECTED), count); + if (ugd->ug_MainWindow.ug_pNaviItem != NULL) { + ug_error("label = %s", label); + } + elm_object_item_part_text_set(ugd->ug_MainWindow.ug_pNaviItem, "subtitle", label); + ug_error("label = %s", label); + UG_SAFE_FREE_CHAR(label); + } else { + elm_object_item_part_text_set(ugd->ug_MainWindow.ug_pNaviItem, "subtitle", ""); + elm_object_item_signal_emit(ugd->ug_MainWindow.ug_pNaviItem, "elm,state,subtitle,hide", "elm"); + } + UG_TRACE_END; + +} + +static void __ug_language_changed_cb(void *user_data) +{ + ug_error("__ug_language_changed_cb"); + ugData *ugd = (ugData *)user_data; + ug_mf_retm_if(ugd == NULL, "ugd is NULL"); + + char *locale = NULL; + int retcode = -1; + retcode = system_settings_get_value_string(SYSTEM_SETTINGS_KEY_LOCALE_LANGUAGE, &locale); + if (retcode != SYSTEM_SETTINGS_ERROR_NONE) { + ug_mf_error("[ERR] failed to update the language"); + } + if (locale) { + ug_error("locale is [%s]", locale); + elm_language_set(locale); + if (ugd->ug_UiGadget.ug_iSelectMode == MULTI_FILE_MODE || + ugd->ug_UiGadget.ug_iSelectMode == MULTI_ALL_MODE || + ugd->ug_UiGadget.ug_iSelectMode == MULTI_ALL_MODE || + ugd->ug_UiGadget.ug_iSelectMode == IMPORT_MODE) { + __mf_ug_subtitle_show(ugd); + } + } } /****************************** @@ -1149,7 +1336,7 @@ static void on_message(ui_gadget_h ug, service_h msg, service_h service, void *p ** Description : ** Input : ui_gadget_h ug ** enum ug_event event -** service_h service +** app_control_h app_control ** void *priv ** Output : None ** Return Value : @@ -1162,32 +1349,44 @@ static void on_message(ui_gadget_h ug, service_h msg, service_h service, void *p ** Modification : Created function ** ******************************/ -static void on_event(ui_gadget_h ug, enum ug_event event, service_h service, void *priv) +static void on_event(ui_gadget_h ug, enum ug_event event, app_control_h app_control, void *priv) { - UG_TRACE_BEGIN; - switch (event) - { - case UG_EVENT_LOW_MEMORY: - break; + ugData *ugd = NULL; + + ug_mf_retm_if(NULL == priv, "priv is NULL"); + + ugd = priv; + ugd->ug = ug; - case UG_EVENT_LOW_BATTERY: - break; + UG_TRACE_BEGIN; + switch (event) { + case UG_EVENT_LOW_MEMORY: + break; - case UG_EVENT_LANG_CHANGE: - break; + case UG_EVENT_LOW_BATTERY: + break; - case UG_EVENT_ROTATE_PORTRAIT: - case UG_EVENT_ROTATE_PORTRAIT_UPSIDEDOWN: - case UG_EVENT_ROTATE_LANDSCAPE: - case UG_EVENT_ROTATE_LANDSCAPE_UPSIDEDOWN: - break; + case UG_EVENT_LANG_CHANGE: + __ug_language_changed_cb(ugd); + break; - default: - break; - } + case UG_EVENT_ROTATE_PORTRAIT: + break; - UG_TRACE_END; + case UG_EVENT_ROTATE_PORTRAIT_UPSIDEDOWN: + break; + + case UG_EVENT_ROTATE_LANDSCAPE: + break; + + case UG_EVENT_ROTATE_LANDSCAPE_UPSIDEDOWN: + break; + + default: + break; + } + UG_TRACE_END; } @@ -1197,7 +1396,7 @@ static void on_event(ui_gadget_h ug, enum ug_event event, service_h service, voi ** Description : Samsung ** Input : ui_gadget_h ug ** enum ug_key_event event -** service_h service +** app_contrul_h app_contrul ** void *priv ** Output : None ** Return Value : @@ -1211,38 +1410,36 @@ static void on_event(ui_gadget_h ug, enum ug_event event, service_h service, voi ** ******************************/ -static void on_key_event(ui_gadget_h ug, enum ug_key_event event, service_h service, void *priv) +static void on_key_event(ui_gadget_h ug, enum ug_key_event event, app_control_h app_control, void *priv) { - UG_TRACE_BEGIN; - ugData *ugd = (ugData *)priv; - ug_mf_retm_if(ugd == NULL, "ugd is NULL"); - - switch (event) - { - case UG_KEY_EVENT_END: - if (ugd->ug_MainWindow.ug_pNormalPopup) - { - evas_object_del(ugd->ug_MainWindow.ug_pNormalPopup); - ugd->ug_MainWindow.ug_pNormalPopup = NULL; - } - if (0 != ugd->ug_ListPlay.ug_Player) - { - mf_ug_list_play_destory_playing_file(ugd); - UG_SAFE_FREE_CHAR(ugd->ug_ListPlay.ug_pPlayFilePath); - } - ug_destroy_me(ug); - break; - default: - break; - } - UG_TRACE_END; + UG_TRACE_BEGIN; + ugData *ugd = (ugData *)priv; + ug_mf_retm_if(ugd == NULL, "ugd is NULL"); + + switch (event) { + case UG_KEY_EVENT_END: + if (ugd->ug_MainWindow.ug_pNormalPopup) { + evas_object_del(ugd->ug_MainWindow.ug_pNormalPopup); + ugd->ug_MainWindow.ug_pNormalPopup = NULL; + } + if (0 != ugd->ug_ListPlay.ug_Player) { + mf_ug_list_play_destory_playing_file(ugd); + ugd->ug_ListPlay.play_data = NULL; + UG_SAFE_FREE_CHAR(ugd->ug_ListPlay.ug_pPlayFilePath); + } + ug_destroy_me(ug); + break; + default: + break; + } + UG_TRACE_END; } /****************************** ** Prototype : on_destroy ** Description : ** Input : ui_gadget_h ug -** service_h service +** app_control_h app_control ** void *priv ** Output : None ** Return Value : @@ -1255,45 +1452,92 @@ static void on_key_event(ui_gadget_h ug, enum ug_key_event event, service_h serv ** Modification : Created function ** ******************************/ -static void on_destroy(ui_gadget_h ug, service_h service, void *priv) +static void on_destroy(ui_gadget_h ug, app_control_h app_control, void *priv) { - UG_TRACE_BEGIN; - ugData *ugd = (ugData *)priv; - ug_mf_retm_if(ugd == NULL, "ugd is NULL"); - - __mf_ug_main_free_data(ugd); - - if (ugd->ug_Status.ug_bInstallFlag == true) - { - mf_ug_util_destory_dir_monitor(ugd); - mf_ug_util_destory_mmc_state_cb(); - media_content_disconnect(); - power_unset_changed_cb(); - } - - ug_ecore_idler_del(ugd->ug_Status.search_idler); - ug_ecore_idler_del(ugd->ug_Status.popup_del_idler); - ug_ecore_idler_del(ugd->ug_Status.popup_create_idler); - ug_ecore_idler_del(ugd->ug_Status.msg_finish_idler); - UG_SAFE_DEL_ECORE_TIMER(ugd->ug_Status.pPopupTimer); - - if (0 != ugd->ug_ListPlay.ug_Player) - { - mf_ug_list_play_destory_playing_file(ugd); - UG_SAFE_FREE_CHAR(ugd->ug_ListPlay.ug_pPlayFilePath); - } - - UG_SAFE_DEL_ECORE_TIMER(ugd->ug_Status.ug_pThumbUpdateTimer); - UG_SAFE_DEL_ECORE_TIMER(ugd->ug_Status.play_timer); - __mf_ug_main_free_evas_object(ugd); - if(ugd->key_event_handler) - { - ecore_event_handler_del(ugd->key_event_handler); - } - UG_TRACE_END; + UG_TRACE_BEGIN; + ugData *ugd = (ugData *)priv; + ug_mf_retm_if(ugd == NULL, "ugd is NULL"); + + if (exit_flag) { + return; + } + /*close_rec_ext_handle();*/ + exit_flag = EINA_TRUE; + mf_ug_util_path_stack_free(); + mf_ug_destory_music_ug(); + __mf_ug_main_free_data(ugd); + if (ugd->show) {/*no destroy the idle after UG destroy, Fixed the P131014-03517 by jian12.li*/ + ecore_idler_del(ugd->show); + ugd->show = NULL; + } + if (ugd->ug_ListPlay.playing_err_idler) {/*no destroy the idle after UG destroy, Fixed the P131014-03517 by jian12.li*/ + ecore_idler_del(ugd->ug_ListPlay.playing_err_idler); + ugd->ug_ListPlay.playing_err_idler = NULL; + } + if (ugd->ug_Status.popup_del_idler) {/*no destroy the idle after UG destroy, Fixed the P131014-03517 by jian12.li*/ + ecore_idler_del(ugd->ug_Status.popup_del_idler); + ugd->ug_Status.popup_del_idler = NULL; + } + + if (ugd->ug_Status.search_idler) {/*no destroy the idle after UG destroy, Fixed the P131014-03517 by jian12.li*/ + ecore_idler_del(ugd->ug_Status.search_idler); + ugd->ug_Status.search_idler = NULL; + } + if (ugd->ug_Status.ug_bInstallFlag == true) { + mf_ug_util_destory_dir_monitor(ugd); + mf_ug_util_destory_mmc_state_cb(); + mf_ug_destory_earjack_monitor(); + if (media_content_disconnect() != MEDIA_CONTENT_ERROR_NONE) { + ug_error("media content disconnect failed."); + } + /*power_unset_changed_cb();*/ + } + + ug_ecore_idler_del(ctrlbar_state_idler); + + if (ugd->ug_Status.search_handler > 0) { + mf_ug_search_stop(ugd->ug_Status.search_handler); + } + + + if (ugd->ug_Status.search_handler > 0) { + mf_ug_search_finalize(&ugd->ug_Status.search_handler); + } + if (ugd->ug_UiGadget.ug_pSyncPipe != NULL) { + ecore_pipe_del(ugd->ug_UiGadget.ug_pSyncPipe); + ugd->ug_UiGadget.ug_pSyncPipe = NULL; + } + + /*evas_object_event_callback_del(ugd->ug_MainWindow.ug_pWindow, EVAS_CALLBACK_RESIZE, mf_ug_resize_more_ctxpopup_cb);*/ + + mf_ug_db_handle_destory(); + if (ugd->ug_UiGadget.ug_iSoundMode == mf_ug_sound_mode_ringtone) { + mf_ug_util_destory_default_ringtone_cb(); + } else if (ugd->ug_UiGadget.ug_iSoundMode == mf_ug_sound_mode_alert) { + mf_ug_util_destory_default_alert_cb(); + } + ug_ecore_idler_del(ugd->ug_Status.search_idler); + ug_ecore_idler_del(ugd->ug_Status.popup_del_idler); + ug_ecore_idler_del(ugd->ug_Status.popup_create_idler); + ug_ecore_idler_del(ugd->ug_Status.msg_finish_idler); + UG_SAFE_DEL_ECORE_TIMER(ugd->ug_Status.pSearchTimer); + + if (0 != ugd->ug_ListPlay.ug_Player) { + mf_ug_list_play_destory_playing_file(ugd); + ugd->ug_ListPlay.play_data = NULL; + UG_SAFE_FREE_CHAR(ugd->ug_ListPlay.ug_pPlayFilePath); + } + + UG_SAFE_DEL_ECORE_TIMER(ugd->ug_Status.play_timer); + _mf_ug_reset_indicator(ugd); + __mf_ug_main_free_evas_object(ugd); + + /*Fix the P130902-01617, refer to the android galaxy S4.*/ + mf_ug_player_vol_reset_default_value(ugd); + + UG_TRACE_END; } - /****************************** ** Prototype : UG_MODULE_INIT ** Description : @@ -1311,36 +1555,33 @@ static void on_destroy(ui_gadget_h ug, service_h service, void *priv) ******************************/ UG_MODULE_API int UG_MODULE_INIT(struct ug_module_ops *ops) { - UG_TRACE_BEGIN; - ugData *ugd; - - if (!ops) - { - return -1; - } - - ugd = calloc(1, sizeof(ugData)); - 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; - UG_TRACE_END; - return 0; + UG_TRACE_BEGIN; + ugData *ugd; + + if (!ops) { + return -1; + } + + ugd = calloc(1, sizeof(ugData)); + if (!ugd) { + return -1; + } + + mf_ug_data = ugd; + 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; + UG_TRACE_END; + return 0; } - - /****************************** ** Prototype : UG_MODULE_EXIT ** Description : @@ -1358,18 +1599,16 @@ UG_MODULE_API int UG_MODULE_INIT(struct ug_module_ops *ops) ******************************/ UG_MODULE_API void UG_MODULE_EXIT(struct ug_module_ops *ops) { - UG_TRACE_BEGIN; - ugData *ugd; - - if (!ops) - { - return; - } - ugd = ops->priv; - - if (ugd) - { - free(ugd); - } - UG_TRACE_END; + UG_TRACE_BEGIN; + ugData *ugd; + + if (!ops || (!ops->priv)) { + return; + } + ugd = ops->priv; + + if (ugd) { + free(ugd); + } + UG_TRACE_END; } diff --git a/src/widget/mf-ug-ctrl-bar.c b/src/widget/mf-ug-ctrl-bar.c deleted file mode 100644 index 6153099..0000000 --- a/src/widget/mf-ug-ctrl-bar.c +++ /dev/null @@ -1,249 +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 <Eina.h> -#include <Elementary.h> - -#include "mf-ug-winset.h" -#include "mf-ug-cb.h" -#include "mf-ug-fm-svc-wrapper.h" -#include "mf-ug-util.h" -#include "mf-ug-resource.h" - -#define UG_CTRL_STYLE_TYPE "controlbar" - - -/****************************** -** Prototype : __mf_ug_ctrl_bar_create -** Description : Samsung -** Input : Evas_Object *parent -** Output : None -** Return Value : -** Calls : -** Called By : -** -** History : -** 1.Date : 2010/12/10 -** Author : Samsung -** Modification : Created function -** -******************************/ -static Evas_Object *__mf_ug_ctrl_bar_create(Evas_Object *parent) -{ - UG_TRACE_BEGIN; - ug_mf_retvm_if(parent == NULL, NULL, "parent is NULL"); - - Evas_Object *pCtrlBar = NULL; - - pCtrlBar = elm_toolbar_add(parent); - elm_toolbar_shrink_mode_set(pCtrlBar, ELM_TOOLBAR_SHRINK_EXPAND); - elm_object_style_set(pCtrlBar, "naviframe"); - elm_object_focus_set(pCtrlBar, EINA_FALSE); - evas_object_show(pCtrlBar); - UG_TRACE_END; - return pCtrlBar; -} - - -/****************************** -** Prototype : __mf_ug_ctrl_bar_append_item -** Description : Samsung -** Input : void *data -** Evas_Object *ctrl_bar -** int type -** Output : None -** Return Value : -** Calls : -** Called By : -** -** History : -** 1.Date : 2010/12/10 -** Author : Samsung -** Modification : Created function -** -******************************/ -static void __mf_ug_ctrl_bar_append_item(void *data, Evas_Object *ctrl_bar, int type) -{ - UG_TRACE_BEGIN; - ugData *ugd = (ugData *)data; - ug_mf_retm_if(ugd == NULL, "ugd is NULL"); - Evas_Object *pCtrlBar = ctrl_bar; - ug_mf_retm_if(pCtrlBar == NULL, "pCtrlBar is NULL"); - Elm_Object_Item *item = NULL; - if (ugd->ug_UiGadget.ug_iSelectMode == SINGLE_ALL_MODE || ugd->ug_UiGadget.ug_iSelectMode == SINGLE_FILE_MODE) { - item = elm_toolbar_item_append(pCtrlBar, NULL, NULL, NULL, NULL); - elm_object_item_disabled_set(item, EINA_TRUE); - item = elm_toolbar_item_append(pCtrlBar, NULL, NULL, NULL, NULL); - elm_object_item_disabled_set(item, EINA_TRUE); - item = elm_toolbar_item_append(pCtrlBar, NULL, NULL, NULL, NULL); - elm_object_item_disabled_set(item, EINA_TRUE); - //elm_toolbar_item_append(pCtrlBar, NULL, MF_UG_LABEL_SET, (Evas_Smart_Cb) mf_ug_cb_add_button_cb, ugd); - } else { - if (ugd->ug_UiGadget.ug_iSelectMode == IMPORT_MODE || - ugd->ug_UiGadget.ug_iSelectMode == IMPORT_PATH_SELECT_MODE || - ugd->ug_UiGadget.ug_iSelectMode == IMPORT_SINGLE) { - elm_toolbar_item_append(pCtrlBar, NULL, MF_UG_LABEL_IMPORT, (Evas_Smart_Cb) mf_ug_cb_add_button_cb, ugd); - item = elm_toolbar_item_append(pCtrlBar, NULL, NULL, NULL, NULL); - elm_object_item_disabled_set(item, EINA_TRUE); - //elm_toolbar_item_append(pCtrlBar, NULL, MF_UG_LABEL_SEARCH, (Evas_Smart_Cb) mf_ug_search_view_enter_search_routine, ugd); - } else if (ugd->ug_UiGadget.ug_iSelectMode == EXPORT_MODE) { - elm_toolbar_item_append(pCtrlBar, NULL, MF_UG_LABEL_EXPORT, (Evas_Smart_Cb) mf_ug_cb_add_button_cb, ugd); - elm_toolbar_item_append(pCtrlBar, NULL, MF_UG_LABEL_CREATE, (Evas_Smart_Cb) mf_ug_cb_create_new_folder, ugd); - } else { - elm_toolbar_item_append(pCtrlBar, NULL, MF_UG_LABEL_ATTACH, (Evas_Smart_Cb) mf_ug_cb_add_button_cb, ugd); - } - } - - elm_toolbar_item_append(pCtrlBar, NULL, MF_UG_LABEL_CANCEL, (Evas_Smart_Cb) mf_ug_cb_back_button_cb, ugd); - - - UG_TRACE_END; -} - - -/****************************** -** Prototype : mf_ug_ctrl_bar_set -** Description : Samsung -** Input : void* data -** ugNaviBar *pNavi_s -** Output : None -** Return Value : -** Calls : -** Called By : -** -** History : -** 1.Date : 2010/12/10 -** Author : Samsung -** Modification : Created function -** -******************************/ -void mf_ug_ctrl_bar_set(void *data, ugNaviBar *pNavi_s) -{ - UG_TRACE_BEGIN; - ugData *ugd = (ugData *)data; - ug_mf_retm_if(ugd == NULL, "ugd is NULL"); - - Evas_Object *pNaviBar = ugd->ug_MainWindow.ug_pNaviBar; - Evas_Object *pCtrlBar = NULL; - - int type = ugd->ug_Status.ug_iCtrlBarType; - pCtrlBar = __mf_ug_ctrl_bar_create(pNaviBar); - ugd->ug_MainWindow.ug_pNaviCtrlBar = pCtrlBar; - type = CTRL_BAR_NORMAL; - __mf_ug_ctrl_bar_append_item(ugd, pCtrlBar, type); - evas_object_show(pCtrlBar); - elm_object_item_part_content_set(ugd->ug_MainWindow.ug_pNaviItem, UG_CTRL_STYLE_TYPE, pCtrlBar); - UG_TRACE_END; -} - -/****************************** -** Prototype : mf_ug_ctrl_bar_disable_item -** Description : Samsung -** Input : void *data -** bool disable -** Output : None -** Return Value : -** Calls : -** Called By : -** -** History : -** 1.Date : 2010/12/10 -** Author : Samsung -** Modification : Created function -** -******************************/ -void mf_ug_ctrl_bar_disable_item(void *data, bool disable) -{ - UG_TRACE_BEGIN; - ugData *ugd = (ugData *)data; - ug_mf_retm_if(ugd == NULL, "ugd is NULL"); - - Evas_Object *pCtrlBar = NULL; - - ugNaviBar *pNavi_s = mf_ug_navi_bar_get_in_use_navi(ugd); - ug_mf_retm_if(pNavi_s == NULL, "get navigation bar in use failed"); - - pCtrlBar = ugd->ug_MainWindow.ug_pNaviCtrlBar; - - Elm_Object_Item *it = NULL; - it = elm_toolbar_first_item_get(pCtrlBar); - - while(it) { - const char *button_label = elm_object_item_text_get(it); - const char *disable_labe = NULL; - if (ugd->ug_UiGadget.ug_iSelectMode == SINGLE_ALL_MODE || ugd->ug_UiGadget.ug_iSelectMode == SINGLE_FILE_MODE) { - disable_labe = MF_UG_LABEL_SET; - } else if (ugd->ug_UiGadget.ug_iSelectMode == IMPORT_MODE || - ugd->ug_UiGadget.ug_iSelectMode == IMPORT_PATH_SELECT_MODE || - ugd->ug_UiGadget.ug_iSelectMode == IMPORT_SINGLE) { - disable_labe = MF_UG_LABEL_IMPORT; - } else { - disable_labe = MF_UG_LABEL_ATTACH; - } - if (g_strcmp0(button_label, disable_labe) == 0) { - elm_object_item_disabled_set(it, !disable); - } - it = elm_toolbar_item_next_get(it); - } -} - -/****************************** -** Prototype : mf_ug_ctrl_bar_set_item_disable -** Description : Samsung -** Input : void *data -** Output : None -** Return Value : -** Calls : -** Called By : -** -** History : -** 1.Date : 2010/12/10 -** Author : Samsung -** Modification : Created function -** -******************************/ -void mf_ug_ctrl_bar_set_item_disable(void *data) -{ - UG_TRACE_BEGIN; - ugData *ugd = (ugData *)data; - ug_mf_retm_if(ugd == NULL, "ugd is NULL"); - bool disable = false; - - if (ugd->ug_Status.ug_bNoContentFlag == true) { - mf_ug_navi_bar_button_set_disable(ugd, true); - } else { - disable = mf_ug_util_is_genlist_selected(ugd); - mf_ug_navi_bar_button_set_disable(ugd, !disable); - } - UG_TRACE_END; -} - -void mf_ug_ctrl_bar_recover(void *data) -{ - UG_TRACE_BEGIN; - ugData *ugd = (ugData *)data; - ug_mf_retm_if(ugd == NULL, "ugd is NULL"); - - ugNaviBar *pNavi_s = mf_ug_navi_bar_get_in_use_navi(ugd); - ug_mf_retm_if(pNavi_s == NULL, "get navi failed"); - - Evas_Object *naviBar = ugd->ug_MainWindow.ug_pNaviBar; - Evas_Object *ctrl_bar = NULL; - - ug_mf_retm_if(naviBar == NULL, "navi is NULL"); - ctrl_bar = elm_object_item_part_content_get(ugd->ug_MainWindow.ug_pNaviItem, UG_CTRL_STYLE_TYPE); - ugd->ug_MainWindow.ug_pNaviCtrlBar = ctrl_bar; -} diff --git a/src/widget/mf-ug-genlist.c b/src/widget/mf-ug-genlist.c index 86b8f52..a774bcb 100644 --- a/src/widget/mf-ug-genlist.c +++ b/src/widget/mf-ug-genlist.c @@ -1,32 +1,68 @@ /* - * 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. - */ +* Copyright (c) 2000-2015 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. +* +*/ #include <Eina.h> #include "mf-ug-winset.h" +#include "mf-ug-widget.h" #include "mf-ug-util.h" #include "mf-ug-fm-svc-wrapper.h" #include "mf-ug-fs-util.h" #include "mf-ug-resource.h" #include "mf-ug-cb.h" +#include "mf-ug-db-handle.h" +#include "mf-ug-list-play.h" +#include "mf-ug-file-util.h" +#define MF_LIST_THUMBNAIL_SIZE 72 -#define MF_UG_SELECTED_ITEM_BRING_UP_COUNT 7 -#define MF_UG_SELECTED_ITEM_BRING_UP_COUNT_MAX 8 +#define MF_UG_SELECTED_ITEM_BRING_UP_COUNT 7 +#define MF_UG_SELECTED_ITEM_BRING_UP_COUNT_MAX 8 + +#define MF_UG_LIST_PLAY_TIME_OUT 0.01 + +#define MF_UG_GENLIST_REALIZE_ITEM_COUNT 10 + +static Elm_Object_Item *default_item = NULL; +static int global_radio_max = 0; +bool g_ug_bDefaultItem = false; +void mf_ug_main_sound_title_in_idle(void *data); +int __mf_update_sound_title(void *app_data); + +void mf_ug_radio_max_set(int value) +{ + global_radio_max = value; +} + +int mf_ug_radio_max_get() +{ + return global_radio_max; +} + +Elm_Object_Item *mf_ug_genlist_default_item_get() +{ + return default_item; +} + +void mf_ug_genlist_default_item_set(Elm_Object_Item *item) +{ + default_item = item; + +} -#define MF_UG_LIST_PLAY_TIME_OUT 0.5 /****************************** ** Prototype : __mf_ug_genlist_is_file_marked ** Description : Samsung @@ -45,30 +81,30 @@ ******************************/ static gboolean __mf_ug_genlist_is_file_marked(Eina_List *source, GString *path) { - UG_TRACE_BEGIN; - ug_mf_retvm_if(source == NULL, false, "source is NULL"); - ug_mf_retvm_if(path == NULL, false, "path is NULL"); - - bool flag = false; - Eina_List *l = NULL; - void *data = NULL; - - EINA_LIST_FOREACH(source, l, data) { - char *source_path = strdup(data); - if (source_path != NULL) { - if (strcmp(source_path, path->str) == 0) { - flag = true; - free(source_path); - source_path = NULL; - break; - } else { - free(source_path); - source_path = NULL; - } - } - } - UG_TRACE_END; - return flag; + UG_TRACE_BEGIN; + ug_mf_retvm_if(source == NULL, false, "source is NULL"); + ug_mf_retvm_if(path == NULL, false, "path is NULL"); + + bool flag = false; + Eina_List *l = NULL; + void *data = NULL; + + EINA_LIST_FOREACH(source, l, data) { + char *source_path = strdup(data); + if (source_path != NULL) { + if (strcmp(source_path, path->str) == 0) { + flag = true; + free(source_path); + source_path = NULL; + break; + } else { + free(source_path); + source_path = NULL; + } + } + } + UG_TRACE_END; + return flag; } @@ -90,40 +126,40 @@ static gboolean __mf_ug_genlist_is_file_marked(Eina_List *source, GString *path) ******************************/ static void __mf_ug_genlist_set_marked_path(Eina_List **source, GString *path) { - UG_TRACE_BEGIN; - bool file_exist_flag = false; - char *source_path; - Eina_List *l = NULL; - void *data = NULL; - - ug_mf_retm_if(source == NULL, "source is NULL"); - ug_mf_retm_if(path == NULL, "path is NULL"); - - if (NULL == *source || eina_list_count(*source) == 0) { - *source = eina_list_append(*source, strdup(path->str)); - } else { - - EINA_LIST_FOREACH(*source, l, data) { - source_path = (char *)data; - if (source_path != NULL) { - if (strcmp(source_path, path->str) == 0) { - file_exist_flag = true; - break; - } - } - } - if (file_exist_flag == true) { - *source = eina_list_remove(*source, source_path); - } else { - *source = eina_list_append(*source, strdup(path->str)); - } - } - UG_TRACE_END; + UG_TRACE_BEGIN; + bool file_exist_flag = false; + char *source_path; + Eina_List *l = NULL; + void *data = NULL; + + ug_mf_retm_if(source == NULL, "source is NULL"); + ug_mf_retm_if(path == NULL, "path is NULL"); + + if (NULL == *source || eina_list_count(*source) == 0) { + *source = eina_list_append(*source, strdup(path->str)); + } else { + + EINA_LIST_FOREACH(*source, l, data) { + source_path = (char *)data; + if (source_path != NULL) { + if (strcmp(source_path, path->str) == 0) { + file_exist_flag = true; + break; + } + } + } + if (file_exist_flag == true) { + *source = eina_list_remove(*source, source_path); + } else { + *source = eina_list_append(*source, strdup(path->str)); + } + } + UG_TRACE_END; } /****************************** -** Prototype : __mf_ug_genlist_create_checkbox +** Prototype : mf_ug_genlist_create_checkbox ** Description : Samsung ** Input : Evas_Object *parent ** Output : None @@ -137,66 +173,75 @@ static void __mf_ug_genlist_set_marked_path(Eina_List **source, GString *path) ** Modification : Created function ** ******************************/ -static Evas_Object *__mf_ug_genlist_create_checkbox(Evas_Object *parent) +Evas_Object *mf_ug_genlist_create_checkbox(Evas_Object *parent) { - UG_TRACE_BEGIN; - Evas_Object *ck_box = NULL; - - ck_box = elm_check_add(parent); - evas_object_size_hint_weight_set(ck_box, 1.0, 1.0); - evas_object_size_hint_align_set(ck_box, -1.0, 0.5); - elm_check_state_set(ck_box, 0); - evas_object_show(ck_box); - evas_object_repeat_events_set(ck_box, 0); - UG_TRACE_END; - return ck_box; + UG_TRACE_BEGIN; + Evas_Object *ck_box = NULL; + + ck_box = elm_check_add(parent); + elm_object_style_set(ck_box, "default"); + /*evas_object_size_hint_weight_set(ck_box, 1.0, 1.0); + evas_object_size_hint_align_set(ck_box, -1.0, 0.5);*/ + elm_check_state_set(ck_box, 0); + evas_object_show(ck_box); + evas_object_repeat_events_set(ck_box, 0); + UG_TRACE_END; + return ck_box; } -static void __mf_ug_genlist_show_select_info(void *data) +void mf_ug_genlist_show_select_info(void *data) { - UG_TRACE_BEGIN; - ugListItemData *itemData = (ugListItemData *)data; - ug_mf_retm_if(itemData == NULL, "itemData is NULL"); - - ugData *ugd = itemData->ug_pData; - ug_mf_retm_if(ugd == NULL, "ugd is NULL"); - - int iDirCount = 0, iFileCount = 0; - Elm_Object_Item *it = NULL; - - Evas_Object *pGenlist = ugd->ug_MainWindow.ug_pNaviGenlist; - - it = elm_genlist_first_item_get(pGenlist); - while (it) { - itemData = elm_object_item_data_get(it); - if (itemData->ug_bChecked) { - if (ecore_file_is_dir(itemData->ug_pItemName->str)) { - iDirCount++; - } else { - iFileCount++; - } - } - - it = elm_genlist_item_next_get(it); - } - int count = 0; - count = iDirCount + iFileCount; - if (count > 0) { - Evas_Object *notify_popup = NULL; - char lable_file[UG_LABEL_STRING_LENGTH] = { '\0', }; - char *label = NULL; - /*1 TODO: need to update for multi-language */ - - snprintf(lable_file, sizeof(lable_file), "%d", count); - label = g_strconcat(MF_UG_LABEL_SELECTED, "(", lable_file, ")", NULL); - notify_popup = mf_ug_navibar_create_notify_popup(itemData->ug_pData, ugd->ug_MainWindow.ug_pNaviLayout, label, false, NULL); - ugd->ug_MainWindow.ug_pSelectInfoLayout = notify_popup; - UG_SAFE_FREE_CHAR(label); - - } else { - UG_SAFE_FREE_OBJ(ugd->ug_MainWindow.ug_pSelectInfoLayout); - } - UG_TRACE_END; + UG_TRACE_BEGIN; + + ugData *ugd = (ugData *)data; + ug_mf_retm_if(ugd == NULL, "ugd is NULL"); + + int iDirCount = 0, iFileCount = 0; + Elm_Object_Item *it = NULL; + ugListItemData *itemData = NULL; + + Evas_Object *pGenlist = ugd->ug_MainWindow.ug_pNaviGenlist; + + it = elm_genlist_first_item_get(pGenlist); + while (it) { + itemData = elm_object_item_data_get(it); + if (itemData->ug_bChecked) { + if (mf_is_dir(itemData->ug_pItemName->str)) { + iDirCount++; + } else { + iFileCount++; + } + } + + it = elm_genlist_item_next_get(it); + } + int count = 0; + count = iFileCount; + if (count > 0) { + char *label = NULL; + label = g_strdup_printf(mf_ug_widget_get_text(MF_UG_LABEL_SELECTED), count); + elm_object_item_part_text_set(ugd->ug_MainWindow.ug_pNaviItem, "elm.text.title", label); + UG_SAFE_FREE_CHAR(label); + } else { + if (mf_ug_util_is_import_mode(ugd->ug_UiGadget.ug_iSelectMode)) { + mf_ug_widget_object_item_text_set(ugd->ug_MainWindow.ug_pNaviItem, MF_UG_LABEL_IMPORT_CHAP, "elm.text.title"); + } else if (ugd->ug_UiGadget.ug_iSelectMode == DOCUMENT_SHARE || ugd->ug_UiGadget.ug_iSelectMode == SSM_DOCUMENT_SHARE) { + mf_ug_widget_object_item_text_set(ugd->ug_MainWindow.ug_pNaviItem, MF_UG_LABEL_DOCUMENTS, "elm.text.title"); + } else { + + /*ug_error("ugd->ug_UiGadget.ug_iSelectMode is [%d]", ugd->ug_UiGadget.ug_iSelectMode);*/ + if (ugd->ug_UiGadget.ug_iSelectMode == IMPORT_MODE || ugd->ug_UiGadget.ug_iSelectMode == EXPORT_MODE || + ugd->ug_UiGadget.ug_iSelectMode == MULTI_FILE_MODE || ugd->ug_UiGadget.ug_iSelectMode == MULTI_ALL_MODE) { + elm_object_item_part_text_set(ugd->ug_MainWindow.ug_pNaviItem, "elm.text.title", mf_file_get(ugd->ug_Status.ug_pPath->str)); + } else { + char *label = NULL; + label = g_strdup(mf_ug_widget_get_text(MF_UG_LABEL_SELECT_ITEMS)); + elm_object_item_part_text_set(ugd->ug_MainWindow.ug_pNaviItem, "elm.text.title", label); + UG_SAFE_FREE_CHAR(label); + } + } + } + UG_TRACE_END; } @@ -219,38 +264,82 @@ static void __mf_ug_genlist_show_select_info(void *data) ******************************/ static void __mf_ug_genlist_checkbox_cb(void *data, Evas_Object *obj, void *event_info) { - UG_TRACE_BEGIN; - ugListItemData *itemData = (ugListItemData *)data; - ug_mf_retm_if(itemData == NULL, "itemData is NULL"); - ugData *ugd = (ugData *)itemData->ug_pData; - - if (itemData->ug_bChecked == false) { - itemData->ug_bChecked = true; - } else { - itemData->ug_bChecked = false; - } - - if (itemData->ug_pData->ug_UiGadget.ug_iMarkedMode == MARKED_ON) { - __mf_ug_genlist_set_marked_path(&itemData->ug_pData->ug_UiGadget.ug_pMultiSelectFileList, itemData->ug_pItemName); - } - if (itemData->ug_bChecked) { - ugd->ug_Status.ug_iCheckedCount++; - } else { - ugd->ug_Status.ug_iCheckedCount--; - } - if (ugd->ug_MainWindow.ug_pSelectAllCheckBox) { - if (ugd->ug_Status.ug_iTotalCount == ugd->ug_Status.ug_iCheckedCount) { - ugd->ug_Status.ug_bSelectAllChecked = EINA_TRUE; - } else { - ugd->ug_Status.ug_bSelectAllChecked = EINA_FALSE; - } - elm_check_state_pointer_set(ugd->ug_MainWindow.ug_pSelectAllCheckBox, &ugd->ug_Status.ug_bSelectAllChecked); - } - - __mf_ug_genlist_show_select_info(itemData); - mf_ug_ctrl_bar_set_item_disable(itemData->ug_pData); - - UG_TRACE_END; + UG_TRACE_BEGIN; + ugListItemData *itemData = (ugListItemData *)data; + ug_mf_retm_if(itemData == NULL, "itemData is NULL"); + ugData *ugd = (ugData *)itemData->ug_pData; + + if (itemData->ug_bChecked == false) { + itemData->ug_bChecked = true; + } else { + itemData->ug_bChecked = false; + } + + if (itemData->ug_pData->ug_UiGadget.ug_iMarkedMode == MARKED_ON) { + __mf_ug_genlist_set_marked_path(&itemData->ug_pData->ug_UiGadget.ug_pMultiSelectFileList, itemData->ug_pItemName); + } + + struct stat stFileInfo; + if (itemData->ug_bChecked) { + ugd->ug_Status.ug_iCheckedCount++; + stat(itemData->ug_pItemName->str, &stFileInfo); + if (ugd->limitsize > 0 && ugd->selsize + stFileInfo.st_size > ugd->limitsize) { + char *noti = NULL; + noti = g_strdup_printf(mf_ug_widget_get_text(MF_UG_LABEL_MAXIMUM_SIZE)); + mf_ug_popup_indicator_popup(noti); + if (itemData->ug_bChecked == 0) { + itemData->ug_bChecked = 1; + } else { + itemData->ug_bChecked = 0; + } + elm_check_state_set(itemData->ug_pCheckBox, itemData->ug_bChecked); + UG_SAFE_FREE_CHAR(noti); + return; + } + ugd->selsize += stFileInfo.st_size; + } else { + ugd->ug_Status.ug_iCheckedCount--; + stat(itemData->ug_pItemName->str, &stFileInfo); + ugd->selsize = ugd->selsize - stFileInfo.st_size; + } + if (ugd->ug_Status.ug_iCheckedCount > ugd->ug_UiGadget.ug_iMaxLength) { + char *reach_string = mf_ug_widget_get_text(MF_UG_LABEL_REACH_MAX_SHARE_COUNT); + char *max_string = g_strdup_printf(reach_string, ugd->ug_UiGadget.ug_iMaxLength); + ug_error("max_string is [%s]", max_string); + /*UG_SAFE_FREE_CHAR(reach_string);*/ + mf_ug_popup_indicator_popup(max_string); + UG_SAFE_FREE_CHAR(max_string); + if (itemData->ug_bChecked == 0) { + itemData->ug_bChecked = 1; + } else { + itemData->ug_bChecked = 0; + } + if (itemData->ug_bChecked) { + ugd->ug_Status.ug_iCheckedCount++; + } else { + ugd->ug_Status.ug_iCheckedCount--; + } + elm_check_state_set(itemData->ug_pCheckBox, itemData->ug_bChecked); + return; + } + ugd->ug_Status.ug_iTotalCount = eina_list_count(ugd->ug_UiGadget.ug_pFilterList); + if (ugd->ug_Status.ug_iTotalCount == ugd->ug_Status.ug_iCheckedCount) { + ugd->ug_Status.ug_bSelectAllChecked = EINA_TRUE; + } else { + ugd->ug_Status.ug_bSelectAllChecked = EINA_FALSE; + } + if (ugd->ug_Status.ug_bSelectAllChecked) { + elm_check_state_set(ugd->ug_MainWindow.ug_pSelectAllCheckBox, 1); + } else { + elm_check_state_set(ugd->ug_MainWindow.ug_pSelectAllCheckBox, 0); + } + + ug_error("========= ugd->ug_Status.ug_iCheckedCount is [%d]", ugd->ug_Status.ug_iCheckedCount); + + mf_ug_genlist_show_select_info(ugd); + mf_ug_navi_bar_set_ctrl_item_disable(itemData->ug_pData); + + UG_TRACE_END; } @@ -272,51 +361,48 @@ static void __mf_ug_genlist_checkbox_cb(void *data, Evas_Object *obj, void *even ******************************/ static Evas_Object *__mf_ug_genlist_create_radio_box(Evas_Object *parent, ugListItemData *params) { - UG_TRACE_BEGIN; - - ugListItemData *itemData = (ugListItemData *)params; - ug_mf_retvm_if(itemData == NULL, NULL, "itemData is NULL"); - - ugData *ugd = (ugData *)(itemData->ug_pData); - ug_mf_retvm_if(ugd == NULL, NULL, "ugd is NULL"); - - Evas_Object *radio_box = NULL; - radio_box = elm_radio_add(parent); - elm_radio_state_value_set(radio_box, itemData->ug_iGroupValue); - elm_radio_group_add(radio_box, ugd->ug_MainWindow.ug_pRadioGroup); - elm_radio_value_set(ugd->ug_MainWindow.ug_pRadioGroup, ugd->ug_Status.ug_iRadioOn); - UG_TRACE_END; - return radio_box; + UG_TRACE_BEGIN; + + ugListItemData *itemData = (ugListItemData *)params; + ug_mf_retvm_if(itemData == NULL, NULL, "itemData is NULL"); + + ugData *ugd = (ugData *)(itemData->ug_pData); + ug_mf_retvm_if(ugd == NULL, NULL, "ugd is NULL"); + + Evas_Object *radio_box = NULL; + radio_box = elm_radio_add(parent); + if (ugd->ug_UiGadget.ug_iSoundMode != mf_ug_sound_mode_none) { + elm_object_style_set(radio_box, "silent"); + } + elm_radio_state_value_set(radio_box, itemData->ug_iGroupValue); + elm_radio_group_add(radio_box, ugd->ug_MainWindow.ug_pRadioGroup); + elm_radio_value_set(ugd->ug_MainWindow.ug_pRadioGroup, ugd->ug_Status.ug_iRadioOn); + UG_TRACE_END; + return radio_box; } - +#if 0 /* Currently not used */ static bool __mf_ug_list_play_timer_cb(void *data) { - ugListItemData *item_data = (ugListItemData *)data; - ugData *ugd = (ugData *)item_data->ug_pData; - - - if (ugd->ug_ListPlay.ug_iPlayState == PLAY_STATE_PLAYING || ugd->ug_ListPlay.ug_iPlayState == PLAY_STATE_PAUSED) { - if (g_strcmp0(ugd->ug_ListPlay.ug_pPlayFilePath, item_data->ug_pItemName->str) == 0) { - mf_ug_list_play_destory_playing_file(ugd); - //mf_ug_list_disable_play_itc(ugd, true); - //mf_ug_list_play_update_item_icon(ugd); - UG_SAFE_FREE_CHAR(ugd->ug_ListPlay.ug_pPlayFilePath); - } else { - //mf_ug_list_paly_hide_play_icon(ugd); - } - } - mf_ug_cb_list_play_cb(item_data, NULL, NULL); - if (elm_radio_value_get(ugd->ug_MainWindow.ug_pRadioGroup) != item_data->ug_iGroupValue) { - ugd->ug_Status.ug_iRadioOn = item_data->ug_iGroupValue; - item_data->ug_bChecked = true; - elm_radio_value_set(ugd->ug_MainWindow.ug_pRadioGroup, item_data->ug_iGroupValue); - } - - item_data->ug_pData->ug_Status.play_timer = NULL; - return ECORE_CALLBACK_CANCEL; - + ugListItemData *item_data = (ugListItemData *)data; + ugData *ugd = (ugData *)item_data->ug_pData; + + ugd->ug_ListPlay.hiden_flag = false; + + if (ugd->ug_ListPlay.ug_iPlayState == PLAY_STATE_PLAYING || ugd->ug_ListPlay.ug_iPlayState == PLAY_STATE_PAUSED) { + if (g_strcmp0(ugd->ug_ListPlay.ug_pPlayFilePath, item_data->ug_pItemName->str) == 0) { + mf_ug_list_play_destory_playing_file(ugd); + ugd->ug_ListPlay.play_data = NULL; + UG_SAFE_FREE_CHAR(ugd->ug_ListPlay.ug_pPlayFilePath); + } + } + mf_ug_cb_list_play_cb(item_data, NULL, NULL); + item_data->ug_pData->ug_Status.play_timer = NULL; + ugd->ug_ListPlay.play_data = item_data->ug_pItem; + elm_genlist_select_mode_set(ugd->ug_MainWindow.ug_pNaviGenlist, ELM_OBJECT_SELECT_MODE_ALWAYS); + return ECORE_CALLBACK_CANCEL; } +#endif /****************************** ** Prototype : __mf_ug_genlist_radio_box_cb @@ -338,30 +424,34 @@ static bool __mf_ug_list_play_timer_cb(void *data) static void __mf_ug_genlist_radio_box_cb(void *data, Evas_Object *obj, void *event_info) { - UG_TRACE_BEGIN; - ugListItemData *itemData = (ugListItemData *)data; - ug_mf_retm_if(itemData == NULL, "ugListItemData is NULL"); - ugData *ugd = (ugData *)itemData->ug_pData; - ug_mf_retm_if(ugd == NULL, "ugd is NULL"); - - itemData->ug_bChecked = true; - itemData->ug_pData->ug_Status.ug_iRadioOn = itemData->ug_iGroupValue; - elm_radio_value_set(itemData->ug_pData->ug_MainWindow.ug_pRadioGroup, itemData->ug_iGroupValue); - mf_ug_ctrl_bar_set_item_disable(itemData->ug_pData); - - - mf_ug_launch_type launch_type = mf_ug_util_get_file_launch_type(itemData->ug_pItemName->str); - if (launch_type == LAUNCH_TYPE_MUSIC) { - if (ugd->ug_Status.play_timer == NULL) { - ug_error(">>>>>>>>>>>>>> entry list play"); - ugd->ug_Status.play_timer = ecore_timer_add(MF_UG_LIST_PLAY_TIME_OUT, (Ecore_Task_Cb)__mf_ug_list_play_timer_cb, itemData); - } else { - ug_error(">>>>>>>>>>>>>> Faild entry list play"); - - } - } - - UG_TRACE_END; + UG_TRACE_BEGIN; + ugListItemData *itemData = (ugListItemData *)data; + ug_mf_retm_if(itemData == NULL, "ugListItemData is NULL"); + ugData *ugd = (ugData *)itemData->ug_pData; + ug_mf_retm_if(ugd == NULL, "ugd is NULL"); + + itemData->ug_bChecked = true; + itemData->ug_pData->ug_Status.ug_iRadioOn = itemData->ug_iGroupValue; + elm_radio_value_set(itemData->ug_pData->ug_MainWindow.ug_pRadioGroup, itemData->ug_iGroupValue); + mf_ug_navi_bar_set_ctrl_item_disable(itemData->ug_pData); + /* + mf_ug_launch_type launch_type = LAUNCH_TYPE_UNSUPPORT; + if (mf_ug_is_default_ringtone(ugd, itemData->ug_pItemName->str)) { + launch_type = LAUNCH_TYPE_MUSIC; + } else { + launch_type = mf_ug_util_get_file_launch_type(itemData->ug_pItemName->str); + } + if (launch_type == LAUNCH_TYPE_MUSIC) { + if (ugd->ug_Status.play_timer == NULL) { + ug_error(">>>>>>>>>>>>>> entry list play"); + ugd->ug_Status.play_timer = ecore_timer_add(MF_UG_LIST_PLAY_TIME_OUT, (Ecore_Task_Cb)__mf_ug_list_play_timer_cb, itemData); + } else { + ug_error(">>>>>>>>>>>>>> Faild entry list play"); + + } + } + */ + UG_TRACE_END; } @@ -384,26 +474,79 @@ static void __mf_ug_genlist_radio_box_cb(void *data, Evas_Object *obj, void *eve ******************************/ static char *__mf_ug_genlist_get_gl_label(void *data, Evas_Object *obj, const char *part) { - UG_TRACE_BEGIN; - ugListItemData *itemData = (ugListItemData *)data; - ug_mf_retvm_if(itemData == NULL, NULL, "itemData is NULL"); - - if (strcmp(part, "elm.text") == 0) { - UG_TRACE_END; - if (g_strcmp0(itemData->ug_pItemName->str, PHONE_FOLDER) == 0) { - return g_strdup(MF_UG_LABEL_PHONE); - } else if (g_strcmp0(itemData->ug_pItemName->str, MEMORY_FOLDER) == 0) { - return g_strdup(MF_UG_LABEL_MMC); - } else { - return strdup(ecore_file_file_get(itemData->ug_pItemName->str)); - } - } else if (strcmp(part, "elm.uptitle.text") == 0) { - UG_TRACE_END; - return strdup(("Upper Level")); - } else { - UG_TRACE_END; - return strdup(""); - } + UG_TRACE_BEGIN; + ugListItemData *itemData = (ugListItemData *)data; + ug_mf_retvm_if(itemData == NULL, NULL, "itemData is NULL"); + if (strcmp(part, "elm.text.main.left") == 0) { + UG_TRACE_END; + if (g_strcmp0(itemData->ug_pItemName->str, PHONE_FOLDER) == 0) { + return g_strdup(mf_ug_widget_get_text(MF_UG_LABEL_PHONE)); + } else if (g_strcmp0(itemData->ug_pItemName->str, MEMORY_FOLDER) == 0) { + return g_strdup(mf_ug_widget_get_text(MF_UG_LABEL_MMC)); + } else { + if (itemData->ug_pData->ug_UiGadget.ug_iSoundMode != mf_ug_sound_mode_none) { + if (g_strcmp0(MF_UG_LABEL_DEFAULT_RINGTONE, itemData->ug_pItemName->str) == 0) { + if (itemData->ug_pData->ug_UiGadget.domain && 0 == g_strcmp0(itemData->ug_pData->ug_UiGadget.domain, MESSAGE) + && itemData->ug_pData->ug_Status.ug_launch_path && 0 == g_strcmp0(itemData->ug_pData->ug_Status.ug_launch_path, UG_SETTING_MSG_ALERTS_PATH)) {/*just for message-> more -> Notificaion sound*/ + return g_strdup(mf_ug_widget_get_text(MF_UG_LABEL_DEFAULT_NOTIFICATION_SOUND)); + } else { + return g_strdup(mf_ug_widget_get_text(itemData->ug_pItemName->str)); + } + } else if (g_strcmp0(MF_UG_LABEL_SILENT, itemData->ug_pItemName->str) == 0) { + return g_strdup(mf_ug_widget_get_text(itemData->ug_pItemName->str)); + } + if (!itemData->sound_title) { + /*char *fullpath = NULL; + if (g_strcmp0(MF_UG_LABEL_DEFAULT_RINGTONE, itemData->ug_pItemName->str)==0) { + fullpath = itemData->ug_pData->ug_UiGadget.default_ringtone; + } else { + fullpath = itemData->ug_pItemName->str; + } + itemData->sound_title = mf_ug_file_attr_sound_title_get(fullpath);*/ + } + if (itemData->sound_title) { + return g_strdup(itemData->sound_title); + } else { +#if 0 + char *title = mf_ug_file_attr_sound_title_get(itemData->ug_pItemName->str); + if (title) { + return title; + } else +#endif + { + char *filename = (char *)mf_file_get((const char *)itemData->ug_pItemName->str); + char *newFileName = g_strdup(filename); + char *newFileName1 = newFileName; + for (; *newFileName1 != '\0'; newFileName1++) { + if (*newFileName1 == '_') + *newFileName1 = ' '; + } + char *file_strip_ext = mf_strip_ext(newFileName); + if (itemData->ug_bDefaultItem == true && file_strip_ext != NULL && g_str_has_prefix(file_strip_ext, "Alarm ")) {/*Fixed the plm bug(P140620-05330 ).*/ + int len = strlen(file_strip_ext); + char *file_strip_ext1 = (char *)calloc(1, len); + + if (file_strip_ext1 != NULL) { + strncpy(file_strip_ext1, &file_strip_ext[6], len); + g_free(file_strip_ext); + file_strip_ext = file_strip_ext1; + } + } + g_free(newFileName); + return file_strip_ext; + } + } + /*UG_TRACE_END;*/ + } + return strdup(mf_file_get(itemData->ug_pItemName->str)); + } + } else if (strcmp(part, "elm.uptitle.text") == 0) { + UG_TRACE_END; + return strdup(("Upper Level")); + } else { + UG_TRACE_END; + return strdup(""); + } } @@ -424,64 +567,82 @@ static char *__mf_ug_genlist_get_gl_label(void *data, Evas_Object *obj, const ch ******************************/ static void __mf_ug_genlist_get_thumbnail(void *data) { - UG_TRACE_BEGIN; - ugListItemData *itemData = (ugListItemData *)data; - ug_mf_retm_if(itemData == NULL, "itemData is NULL"); - - const char *dir_icon_path = UG_ICON_FOLDER; - //const char *dir_create_icon_path = UG_ICON_FOLDER_CREATED; - char *icon_path = NULL; - int error_code = MYFILE_ERR_NONE; - int thumbnail_type = 0; - - if (itemData->ug_pThumbPath == NULL) { - if (ecore_file_is_dir(itemData->ug_pItemName->str)) { - itemData->ug_pThumbPath = strdup(dir_icon_path); - itemData->ug_bRealThumbFlag = true; - } else { - thumbnail_type = mf_ug_file_attr_get_file_icon(itemData->ug_pItemName->str, &error_code, &icon_path); - if (icon_path) { - itemData->ug_pThumbPath = strdup(icon_path); - itemData->ug_bRealThumbFlag = true; - free(icon_path); - icon_path = NULL; - } else { /*/must be image/video file */ - - mf_ug_fs_file_type type = UG_FILE_TYPE_NONE; - type = mf_ug_file_attr_get_file_type_by_mime(itemData->ug_pItemName->str); - - if (type == UG_FILE_TYPE_VIDEO) { - itemData->ug_pThumbPath = strdup(UG_ICON_VIDEO); - } else if (type == UG_FILE_TYPE_IMAGE) { - itemData->ug_pThumbPath = strdup(UG_ICON_IMAGE); - } else { - itemData->ug_pThumbPath = strdup(UG_DEFAULT_ICON); - } - itemData->ug_bRealThumbFlag = false; - error_code = MYFILE_ERR_GET_THUMBNAIL_FAILED; - } - } - } else if (itemData->ug_pThumbPath && ecore_file_exists(itemData->ug_pThumbPath)) { - if (itemData->ug_bRealThumbFlag == false) { - error_code = MYFILE_ERR_GET_THUMBNAIL_FAILED; - } - } else if (!ecore_file_exists(itemData->ug_pThumbPath)) { - - ug_debug("ug_pThumbPath[%s] is not exist", itemData->ug_pThumbPath); - free(itemData->ug_pThumbPath); - itemData->ug_pThumbPath = NULL; - /*/set default icon */ - itemData->ug_pThumbPath = strdup(UG_DEFAULT_ICON); - itemData->ug_bRealThumbFlag = false; - error_code = MYFILE_ERR_GET_THUMBNAIL_FAILED; - } -#ifdef UG_THUMB_REAL_TIME_UPDATE - /*/check if we need to add refresh timer */ - if (error_code != 0 && itemData->ug_pData->ug_Status.ug_pThumbUpdateTimer == NULL) { - itemData->ug_pData->ug_Status.ug_pThumbUpdateTimer = ecore_timer_add(INTERVAL_THUMB_UPDATE, mf_ug_cb_thumb_timer_cb, itemData); - } -#endif - UG_TRACE_END; + UG_TRACE_BEGIN; + ugListItemData *itemData = (ugListItemData *)data; + ug_mf_retm_if(itemData == NULL, "itemData is NULL"); + + const char *dir_icon_path = UG_ICON_FOLDER; + /*const char *dir_create_icon_path = UG_ICON_FOLDER_CREATED;*/ + char *icon_path = NULL; + int error_code = MYFILE_ERR_NONE; + + if (itemData->ug_pThumbPath == NULL) { + if (mf_is_dir(itemData->ug_pItemName->str)) { + if (g_strcmp0(itemData->ug_pItemName->str, PHONE_FOLDER) == 0) { + itemData->ug_pThumbPath = strdup(UG_ICON_ITEM_ROOT_PHONE); + itemData->ug_bRealThumbFlag = true; + } else if (g_strcmp0(itemData->ug_pItemName->str, MEMORY_FOLDER) == 0) { + itemData->ug_pThumbPath = strdup(UG_ICON_ITEM_ROOT_MMC); + itemData->ug_bRealThumbFlag = true; + } else { + itemData->ug_pThumbPath = strdup(dir_icon_path); + itemData->ug_bRealThumbFlag = true; + } + } else { + if (itemData->media) { + if (itemData->thumbnail_create == EINA_TRUE) { + media_info_cancel_thumbnail(itemData->media); + itemData->thumbnail_create = EINA_FALSE; + } + media_info_destroy(itemData->media); + itemData->media = NULL; + } + mf_ug_file_attr_get_file_icon(itemData->ug_pItemName->str, &error_code, &icon_path, &itemData->media); + if (icon_path) { + itemData->ug_pThumbPath = strdup(icon_path); + itemData->ug_bRealThumbFlag = true; + free(icon_path); + icon_path = NULL; + } else { /*/must be image/video file */ + mf_ug_fs_file_type type = UG_FILE_TYPE_NONE; + type = mf_ug_file_attr_get_file_type_by_mime(itemData->ug_pItemName->str); + + if (type == UG_FILE_TYPE_VIDEO) { + itemData->ug_pThumbPath = strdup(UG_ICON_VIDEO); + } else if (type == UG_FILE_TYPE_IMAGE) { + itemData->ug_pThumbPath = strdup(UG_ICON_IMAGE); + } else { + itemData->ug_pThumbPath = strdup(UG_DEFAULT_ICON); + } + itemData->ug_bRealThumbFlag = false; + error_code = MYFILE_ERR_GET_THUMBNAIL_FAILED; + } + } + } else { + if (strncmp(itemData->ug_pThumbPath, MF_IMAGE_HEAD, strlen(MF_IMAGE_HEAD)) == 0) { + /*do nothing;*/ + } else { + if (mf_file_exists(itemData->ug_pThumbPath)) { + if (itemData->ug_bRealThumbFlag == false) { + error_code = MYFILE_ERR_GET_THUMBNAIL_FAILED; + } + } else { + free(itemData->ug_pThumbPath); + itemData->ug_pThumbPath = NULL; + /*/set default icon */ + itemData->ug_pThumbPath = strdup(UG_DEFAULT_ICON); + itemData->ug_bRealThumbFlag = false; + error_code = MYFILE_ERR_GET_THUMBNAIL_FAILED; + } + } + } + if (error_code != 0) { + if (itemData->thumbnail_create == EINA_FALSE) { + mf_ug_cb_create_thumbnail(itemData, mf_ug_cb_thumb_created_cb); + itemData->thumbnail_create = EINA_TRUE; + } + } + UG_TRACE_END; } @@ -501,74 +662,44 @@ static void __mf_ug_genlist_get_thumbnail(void *data) ** Modification : Created function ** ******************************/ -static Evas_Object *__mf_ug_genlist_create_thumbnail(void *data, Evas_Object *parent) -{ - - UG_TRACE_BEGIN; - ugListItemData *itemData = (ugListItemData *)data; - ug_mf_retvm_if(itemData == NULL, NULL, "itemData is NULL"); - - Evas_Object *thumb = NULL; - -#ifdef USE_IMAGE_OBJECT - thumb = evas_object_image_add(evas_object_evas_get(parent)); -#else - thumb = elm_image_add(parent); -#endif - if (thumb == NULL) { - ug_debug("thumb is NULL"); - } - if (thumb) { -#ifdef USE_IMAGE_OBJECT - int load_err = EVAS_LOAD_ERROR_NONE; - evas_object_image_file_set(thumb, itemData->ug_pThumbPath, NULL); - load_err = evas_object_image_load_error_get(thumb); - - if (load_err != EVAS_LOAD_ERROR_NONE) { - evas_object_del(thumb); - thumb = NULL; - } else { - evas_object_image_filled_set(thumb, EINA_TRUE); - } -#else - elm_image_file_set(thumb, itemData->ug_pThumbPath, NULL); -#endif - } - UG_TRACE_END; - return thumb; -} - - -/****************************** -** Prototype : __mf_ug_genlist_create_mmc_icon -** Description : Samsung -** Input : Evas_Object *parent -** Output : None -** Return Value : -** Calls : -** Called By : -** -** History : -** 1.Date : 2010/12/10 -** Author : Samsung -** Modification : Created function -** -******************************/ -static Evas_Object *__mf_ug_genlist_create_mmc_icon(Evas_Object *parent) +static Evas_Object *__mf_ug_genlist_create_thumbnail(void *data, Evas_Object *obj) { - UG_TRACE_BEGIN; - Evas_Object *ic_memory = NULL; - const char *memory_icon_path = UG_ICON_MEMORY_SUB; - - ic_memory = elm_image_add(parent); - elm_image_file_set(ic_memory, memory_icon_path, NULL); - evas_object_show(ic_memory); - UG_TRACE_END; - return ic_memory; + UG_TRACE_BEGIN; + ugListItemData *listItemData = (ugListItemData *)data; + ug_mf_retvm_if(listItemData == NULL, NULL, "listItemData is NULL"); + ug_mf_retvm_if(obj == NULL, NULL, "obj is NULL"); + + Evas_Object *layout = NULL; + Evas_Object *thumb = NULL; + + layout = elm_layout_add(obj); + elm_layout_file_set(layout, UG_EDJ_NAVIGATIONBAR, UG_GRP_LIST); + evas_object_repeat_events_set(layout, EINA_TRUE); + + thumb = elm_image_add(layout); + elm_image_prescale_set(thumb, MF_LIST_THUMBNAIL_SIZE); + elm_image_fill_outside_set(thumb, EINA_TRUE); + elm_image_smooth_set(thumb, EINA_FALSE); + + if (listItemData->ug_pThumbPath && strncmp(listItemData->ug_pThumbPath, MF_IMAGE_HEAD, strlen(MF_IMAGE_HEAD)) == 0) { + elm_image_file_set(thumb, UG_EDJ_IMAGE, listItemData->ug_pThumbPath); /*Todo*/ + } else { + elm_image_file_set(thumb, listItemData->ug_pThumbPath, NULL); /*Todo*/ + } + + elm_object_part_content_set(layout, "thumbnail", thumb); + if (!mf_ug_file_attr_is_dir(listItemData->ug_pItemName->str)) { + mf_ug_fs_file_type type = UG_FILE_TYPE_NONE; + type = mf_ug_file_attr_get_file_type_by_mime(listItemData->ug_pItemName->str); + if (type == UG_FILE_TYPE_VIDEO) { + elm_object_signal_emit(layout, "elm.video.show", "elm"); + } + } + UG_TRACE_END; + return layout; } - /****************************** ** Prototype : __mf_ug_genlist_add_checkbox ** Description : Samsung @@ -587,23 +718,26 @@ static Evas_Object *__mf_ug_genlist_create_mmc_icon(Evas_Object *parent) ******************************/ static Evas_Object *__mf_ug_genlist_add_checkbox(void *data, Evas_Object *parent) { - UG_TRACE_BEGIN; - ugListItemData *itemData = (ugListItemData *)data; - ug_mf_retvm_if(itemData == NULL, NULL, "itemData is NULL"); + UG_TRACE_BEGIN; + ugListItemData *itemData = (ugListItemData *)data; + ug_mf_retvm_if(itemData == NULL, NULL, "itemData is NULL"); - Evas_Object *check_box = __mf_ug_genlist_create_checkbox(parent); - evas_object_propagate_events_set(check_box, 0); + Evas_Object *check_box = mf_ug_genlist_create_checkbox(parent); + evas_object_propagate_events_set(check_box, 0); - elm_check_state_set(check_box, itemData->ug_bChecked); + elm_check_state_set(check_box, itemData->ug_bChecked); - itemData->ug_pCheckBox = check_box; - evas_object_smart_callback_add(check_box, "changed", __mf_ug_genlist_checkbox_cb, itemData); + itemData->ug_pCheckBox = check_box; + evas_object_smart_callback_add(check_box, "changed", __mf_ug_genlist_checkbox_cb, itemData); - UG_TRACE_END; - return check_box; + UG_TRACE_END; + return check_box; } - +static void _myfile_popup_change_category_radio_toggle_cb(void *data, Evas_Object *obj, const char *emission, const char *source) +{ + __mf_ug_genlist_radio_box_cb(data, obj, NULL); +} /****************************** ** Prototype : __mf_ug_genlist_add_radio_box @@ -623,62 +757,21 @@ static Evas_Object *__mf_ug_genlist_add_checkbox(void *data, Evas_Object *parent ******************************/ static Evas_Object *__mf_ug_genlist_add_radio_box(void *data, Evas_Object *parent) { - UG_TRACE_BEGIN; - ugListItemData *itemData = (ugListItemData *)data; - ug_mf_retvm_if(itemData == NULL, NULL, "itemData is NULL"); + UG_TRACE_BEGIN; + ugListItemData *itemData = (ugListItemData *)data; + ug_mf_retvm_if(itemData == NULL, NULL, "itemData is NULL"); - Evas_Object *radio_box = __mf_ug_genlist_create_radio_box(parent, itemData); + Evas_Object *radio_box = __mf_ug_genlist_create_radio_box(parent, itemData); - evas_object_propagate_events_set(radio_box, 0); - itemData->ug_pRadioBox = radio_box; - evas_object_smart_callback_add(radio_box, "changed", __mf_ug_genlist_radio_box_cb, itemData); + evas_object_propagate_events_set(radio_box, 0); + itemData->ug_pRadioBox = radio_box; +/* evas_object_smart_callback_add(radio_box, "changed", __mf_ug_genlist_radio_box_cb, itemData);*/ + elm_object_signal_callback_add(radio_box, "elm,action,radio,toggle", "", + _myfile_popup_change_category_radio_toggle_cb, + itemData); - UG_TRACE_END; - return radio_box; -} - - -static Evas_Object *__mf_ug_genlist_gl_upper_icon_get(void *data, Evas_Object * obj, const char *part) -{ - UG_TRACE_BEGIN; - ugListItemData *listItemData = (ugListItemData *)data; - - ug_mf_retvm_if(listItemData == NULL, NULL, "listItemData is NULL"); - ug_mf_retvm_if(listItemData->ug_pItemName == NULL, NULL, "m_ItemName is NULL"); - ug_mf_retvm_if(part == NULL, NULL, "part is NULL"); - ug_mf_retvm_if(obj == NULL, NULL, "obj is NULL"); - - Evas_Object *thumb = NULL; - if (!strcmp(part, "elm.icon")) { - thumb = elm_image_add(obj); - elm_object_focus_set(thumb, EINA_FALSE); - if (thumb) { - elm_image_file_set(thumb, listItemData->ug_pThumbPath, NULL); - } - } - return thumb; -} - - -static Evas_Object *__mf_ug_genlist_upper_icon_get(void *data, Evas_Object * obj, const char *part) -{ - ug_mf_retvm_if(data == NULL, NULL, "data is NULL"); - ug_mf_retvm_if(obj == NULL, NULL, "obj is NULL"); - - ugData *ugd = (ugData *)data; - - if (!strcmp(part, "elm.icon.1")) { - Evas_Object *btn = elm_button_add(obj); - elm_object_text_set(btn, MF_UG_LABEL_HOME); - evas_object_smart_callback_add(btn, "clicked", mf_ug_cb_home_button_cb, ugd); - return btn; - } else if (!strcmp(part, "elm.icon.2")) { - Evas_Object *btn = elm_button_add(obj); - elm_object_text_set(btn, MF_UG_LABEL_UPPER); - evas_object_smart_callback_add(btn, "clicked", mf_ug_cb_upper_click_cb, ugd); - return btn; - } - return NULL; + UG_TRACE_END; + return radio_box; } /****************************** @@ -698,143 +791,328 @@ static Evas_Object *__mf_ug_genlist_upper_icon_get(void *data, Evas_Object * obj ** Modification : Created function ** ******************************/ -static Evas_Object *__mf_ug_genlist_get_gl_icon(void *data, Evas_Object *obj, const char *part) +/*static Evas_Object *__mf_ug_genlist_ringtone_play_icon_create(void *data, Evas_Object *obj) { - UG_TRACE_BEGIN; - Evas_Object *thumb = NULL, *ic_memory = NULL; - Evas_Object *layout = NULL; - Evas_Object *selected_box = NULL; - - mf_ug_storage_type is_in_mmc = 0; - ugListItemData *listItemData = (ugListItemData *)data; - ug_mf_retv_if(listItemData == NULL, NULL); - ugData *ugd = listItemData->ug_pData; - ug_mf_retv_if(ugd == NULL, NULL); - - if (!strcmp(part, "elm.icon")) { - __mf_ug_genlist_get_thumbnail(listItemData); - thumb = __mf_ug_genlist_create_thumbnail(listItemData, obj); - layout = elm_layout_add(obj); - elm_layout_file_set(layout, UG_EDJ_NAVIGATIONBAR, UG_GRP_LIST); - elm_object_part_content_set(layout, "swallow_thumb", thumb); - - mf_ug_file_attr_get_store_type_by_full(listItemData->ug_pItemName->str, &is_in_mmc); - if (is_in_mmc == MF_UG_MMC) { - ic_memory = __mf_ug_genlist_create_mmc_icon(obj); - elm_object_part_content_set(layout, "myfile.memory_icon.sub", ic_memory); - } - UG_TRACE_END; - return layout; - } else if (!strcmp(part, "elm.icon.1")) { - if (ugd->ug_UiGadget.ug_pMultiSelectFileList) { - if (__mf_ug_genlist_is_file_marked(ugd->ug_UiGadget.ug_pMultiSelectFileList, listItemData->ug_pItemName)) { - listItemData->ug_bChecked = true; - } - } - if (ecore_file_is_dir(listItemData->ug_pItemName->str)) { - if (ugd->ug_UiGadget.ug_iSelectMode == MULTI_ALL_MODE) { - selected_box = __mf_ug_genlist_add_checkbox(listItemData, obj); - } else if (ugd->ug_UiGadget.ug_iSelectMode == SINGLE_ALL_MODE) { - selected_box = __mf_ug_genlist_add_radio_box(listItemData, obj); - } - } else { - if (ugd->ug_UiGadget.ug_iSelectMode == MULTI_FILE_MODE - || ugd->ug_UiGadget.ug_iSelectMode == MULTI_ALL_MODE - || ugd->ug_UiGadget.ug_iSelectMode == IMPORT_PATH_SELECT_MODE - || ugd->ug_UiGadget.ug_iSelectMode == IMPORT_MODE) { - selected_box = __mf_ug_genlist_add_checkbox(listItemData, obj); - } else if (ugd->ug_UiGadget.ug_iSelectMode == SINGLE_FILE_MODE - || ugd->ug_UiGadget.ug_iSelectMode == SINGLE_ALL_MODE - || ugd->ug_UiGadget.ug_iSelectMode == IMPORT_SINGLE) { - - selected_box = __mf_ug_genlist_add_radio_box(listItemData, obj); - } - } - evas_object_propagate_events_set(selected_box, EINA_FALSE); - return selected_box; - } else if (!strcmp(part, "elm.icon.2")) { - __mf_ug_genlist_get_thumbnail(listItemData); - thumb = __mf_ug_genlist_create_thumbnail(listItemData, obj); - return thumb; - } else if (!strcmp(part, "elm.icon.3")) { -#ifdef LIST_PLAY_SUPPORT - if (!ecore_file_is_dir(listItemData->ug_pItemName->str)) { - Evas_Object *music_icon = NULL; - Evas_Object *music_button = NULL; - mf_ug_launch_type launch_type = mf_ug_util_get_file_launch_type(listItemData->ug_pItemName->str); - ug_error("item name is [%s]", listItemData->ug_pItemName->str); - if (launch_type == LAUNCH_TYPE_MUSIC) { - if (g_strcmp0(ugd->ug_ListPlay.ug_pPlayFilePath, listItemData->ug_pItemName->str) == 0) { - char *play_icon = NULL; - char *pause_icon = NULL; - - music_button = elm_button_add(obj); - elm_object_style_set(music_button, "circle/empty"); - - music_icon = elm_image_add(music_button); - if (ugd->ug_ListPlay.ug_pPlayFilePath) { - if (g_strcmp0(ugd->ug_ListPlay.ug_pPlayFilePath, listItemData->ug_pItemName->str) == 0) { - if (ugd->ug_ListPlay.ug_iPlayState == PLAY_STATE_PLAYING) { - pause_icon = strdup(UG_ICON_MUSIC_PAUSE_WHITE); - elm_image_file_set(music_icon, pause_icon, NULL); - } else if (ugd->ug_ListPlay.ug_iPlayState == PLAY_STATE_PAUSED) { - play_icon = strdup(UG_ICON_MUSIC_PLAY_WHITE); - elm_image_file_set(music_icon, play_icon, NULL); - } else { - play_icon = strdup(UG_ICON_MUSIC_PLAY_WHITE); - elm_image_file_set(music_icon, play_icon, NULL); - } - } else { - play_icon = strdup(UG_ICON_MUSIC_PLAY_WHITE); - elm_image_file_set(music_icon, play_icon, NULL); - } - } else { - play_icon = strdup(UG_ICON_MUSIC_PLAY_WHITE); - elm_image_file_set(music_icon, play_icon, NULL); - } - evas_object_size_hint_aspect_set(music_icon, EVAS_ASPECT_CONTROL_BOTH, 1, 1); - elm_object_part_content_set(music_button, "icon", music_icon); - evas_object_propagate_events_set(music_button, EINA_FALSE); - evas_object_smart_callback_add(music_button, "clicked", (Evas_Smart_Cb)mf_ug_cb_list_play_cb, (void*)listItemData); - evas_object_smart_callback_add(music_button, "pressed", mf_ug_cb_play_button_pressed_cb, ugd); - evas_object_smart_callback_add(music_button, "unpressed", mf_ug_cb_play_button_unpressed_cb, ugd); - listItemData->ug_pPlaybtn = music_button; - UG_TRACE_END; - return music_button; - } - } - } + ugListItemData *listItemData = (ugListItemData *)data; + ug_mf_retv_if(listItemData == NULL, NULL); + ugData *ugd = listItemData->ug_pData; + ug_mf_retv_if(ugd == NULL, NULL); + Evas_Object *music_icon = NULL; + Evas_Object *music_button = NULL; + if (g_strcmp0(ugd->ug_ListPlay.ug_pPlayFilePath, listItemData->ug_pItemName->str) == 0) { + const char *play_icon = NULL; + char *pause_icon = NULL; + + music_button = elm_button_add(obj); + //elm_object_style_set(music_button, "circle/empty"); + elm_object_style_set(music_button, "myfile_play"); + music_icon = elm_image_add(music_button); + if (ugd->ug_ListPlay.ug_pPlayFilePath) { + if (g_strcmp0(ugd->ug_ListPlay.ug_pPlayFilePath, listItemData->ug_pItemName->str) == 0) { + if (ugd->ug_ListPlay.ug_iPlayState == PLAY_STATE_PLAYING) { + pause_icon = UG_ICON_MUSIC_PAUSE_WHITE; + elm_image_file_set(music_icon, UG_EDJ_IMAGE, pause_icon); + } else if (ugd->ug_ListPlay.ug_iPlayState == PLAY_STATE_PAUSED) { + play_icon = UG_ICON_MUSIC_PLAY_WHITE; + elm_image_file_set(music_icon, UG_EDJ_IMAGE, play_icon); + } else { + play_icon = UG_ICON_MUSIC_PLAY_WHITE; + elm_image_file_set(music_icon, UG_EDJ_IMAGE, play_icon); + } + } else { + play_icon = UG_ICON_MUSIC_PLAY_WHITE; + elm_image_file_set(music_icon, UG_EDJ_IMAGE, play_icon); + } + } else { + play_icon = UG_ICON_MUSIC_PLAY_WHITE; + elm_image_file_set(music_icon, UG_EDJ_IMAGE, play_icon); + } + evas_object_size_hint_min_set(music_icon, 45, 45); + evas_object_size_hint_aspect_set(music_icon, EVAS_ASPECT_CONTROL_BOTH, 1, 1); + elm_object_part_content_set(music_button, "icon", music_icon); + evas_object_propagate_events_set(music_button, EINA_FALSE); + evas_object_smart_callback_add(music_button, "clicked", (Evas_Smart_Cb)mf_ug_cb_list_play_cb, (void*)listItemData); + evas_object_smart_callback_add(music_button, "pressed", mf_ug_cb_play_button_pressed_cb, ugd); + evas_object_smart_callback_add(music_button, "unpressed", mf_ug_cb_play_button_unpressed_cb, ugd); + listItemData->ug_pPlaybtn = music_button; + UG_TRACE_END; + } + return music_button; +}*/ + +/*static Evas_Object *__mf_ug_genlist_normal_play_icon_create(void *data, Evas_Object *obj) +{ + ugListItemData *listItemData = (ugListItemData *)data; + ug_mf_retv_if(listItemData == NULL, NULL); + ugData *ugd = listItemData->ug_pData; + ug_mf_retv_if(ugd == NULL, NULL); + Evas_Object *music_icon = NULL; + Evas_Object *music_button = NULL; + + const char *play_icon = NULL; + char *pause_icon = NULL; + + music_button = elm_button_add(obj); + //elm_object_style_set(music_button, "circle/empty"); + elm_object_style_set(music_button, "myfile_play"); + music_icon = elm_image_add(music_button); + if (ugd->ug_ListPlay.ug_pPlayFilePath) { + if (g_strcmp0(ugd->ug_ListPlay.ug_pPlayFilePath, listItemData->ug_pItemName->str) == 0) { + ug_error("==================="); + if (ugd->ug_ListPlay.ug_iPlayState == PLAY_STATE_PLAYING) { + pause_icon = UG_ICON_MUSIC_PAUSE_WHITE; + elm_image_file_set(music_icon, UG_EDJ_IMAGE, pause_icon); + } else if (ugd->ug_ListPlay.ug_iPlayState == PLAY_STATE_PAUSED) { + play_icon = UG_ICON_MUSIC_PLAY_WHITE; + elm_image_file_set(music_icon, UG_EDJ_IMAGE, play_icon); + } else { + play_icon = UG_ICON_MUSIC_PLAY_WHITE; + elm_image_file_set(music_icon, UG_EDJ_IMAGE, play_icon); + } + } else { + play_icon = UG_ICON_MUSIC_PLAY_WHITE; + elm_image_file_set(music_icon, UG_EDJ_IMAGE, play_icon); + } + } else { + play_icon = UG_ICON_MUSIC_PLAY_WHITE; + elm_image_file_set(music_icon, UG_EDJ_IMAGE, play_icon); + } + evas_object_size_hint_min_set(music_icon, 45, 45); + evas_object_size_hint_aspect_set(music_icon, EVAS_ASPECT_CONTROL_BOTH, 1, 1); + elm_object_part_content_set(music_button, "icon", music_icon); + evas_object_propagate_events_set(music_button, EINA_FALSE); + evas_object_smart_callback_add(music_button, "clicked", (Evas_Smart_Cb)mf_ug_cb_list_play_cb, (void*)listItemData); + //evas_object_smart_callback_add(music_button, "pressed", mf_ug_cb_play_button_pressed_cb, ugd); + //evas_object_smart_callback_add(music_button, "unpressed", mf_ug_cb_play_button_unpressed_cb, ugd); + listItemData->ug_pPlaybtn = music_button; + UG_TRACE_END; + return music_button; +}*/ + +#if 0 /* Currently not used */ +static Evas_Object *__mf_ug_genlist_play_icon_create(void *data, Evas_Object *obj) +{ + ugListItemData *listItemData = (ugListItemData *)data; + ug_mf_retv_if(listItemData == NULL, NULL); + ugData *ugd = listItemData->ug_pData; + ug_mf_retv_if(ugd == NULL, NULL); + + Evas_Object *music_button = NULL; + if (!mf_is_dir(listItemData->ug_pItemName->str)) { + mf_ug_launch_type launch_type = LAUNCH_TYPE_UNSUPPORT; + if (mf_ug_is_default_ringtone(ugd, listItemData->ug_pItemName->str)) { + launch_type = LAUNCH_TYPE_MUSIC; + } else { + launch_type = mf_ug_util_get_file_launch_type(listItemData->ug_pItemName->str); + } + SECURE_DEBUG("item name is [%s]", listItemData->ug_pItemName->str); + + if (ugd->ug_ListPlay.hiden_flag == true) { + return NULL; + } + if (launch_type == LAUNCH_TYPE_MUSIC) { + if (ugd->ug_UiGadget.ug_iSoundMode != mf_ug_sound_mode_none) { + music_button = __mf_ug_genlist_ringtone_play_icon_create(data, obj); + } else { + music_button = __mf_ug_genlist_normal_play_icon_create(data, obj); + } + } + } + return music_button; + +} #endif - UG_TRACE_END; - return NULL; +static Evas_Object *__mf_ug_genlist_delete_get_gl_icon(void *data, Evas_Object *obj, const char *part) +{ + UG_TRACE_BEGIN; + Evas_Object *selected_box = NULL; + + ugListItemData *listItemData = (ugListItemData *)data; + ug_mf_retv_if(listItemData == NULL, NULL); + ugData *ugd = listItemData->ug_pData; + ug_mf_retv_if(ugd == NULL, NULL); + + if (!strcmp(part, "elm.icon.2")) { + Evas_Object *content = elm_layout_add(obj); + elm_layout_theme_set(content, "layout", + "list/C/type.2", "default"); + + selected_box = __mf_ug_genlist_add_checkbox(listItemData, obj); + evas_object_propagate_events_set(selected_box, EINA_FALSE); + + elm_layout_content_set(content, "elm.swallow.content", selected_box); + return content; + } else { + UG_TRACE_END; + return NULL; + } +} - } else { - UG_TRACE_END; - return NULL; - } +static Evas_Object *__mf_ug_genlist_get_gl_icon(void *data, Evas_Object *obj, const char *part) +{ + UG_TRACE_BEGIN; + Evas_Object *thumb = NULL; + Evas_Object *layout = NULL; + Evas_Object *selected_box = NULL; + + ugListItemData *listItemData = (ugListItemData *)data; + ug_mf_retv_if(listItemData == NULL, NULL); + ugData *ugd = listItemData->ug_pData; + ug_mf_retv_if(ugd == NULL, NULL); + + if (!strcmp(part, "elm.icon.1")) { + __mf_ug_genlist_get_thumbnail(listItemData); + layout = elm_layout_add(obj); + elm_layout_theme_set(layout, "layout", + "list/B/type.2", "default"); + thumb = __mf_ug_genlist_create_thumbnail(listItemData, obj); + UG_TRACE_END; + elm_layout_content_set(layout, "elm.swallow.content", thumb); + return layout; + } else if (!strcmp(part, "elm.icon.2")) { + if (ugd->ug_UiGadget.ug_pMultiSelectFileList) { + /*if (__mf_ug_genlist_is_file_marked(ugd->ug_UiGadget.ug_pMultiSelectFileList, listItemData->ug_pItemName)) { + listItemData->ug_bChecked = true; + }*/ + } + if (mf_is_dir(listItemData->ug_pItemName->str)) { + if (ugd->ug_UiGadget.ug_iSelectMode == MULTI_ALL_MODE) { + selected_box = __mf_ug_genlist_add_checkbox(listItemData, obj); + } else if (ugd->ug_UiGadget.ug_iSelectMode == SINGLE_ALL_MODE) { + selected_box = __mf_ug_genlist_add_radio_box(listItemData, obj); + } + } else { + if (mf_ug_util_is_multi_select_mode(ugd->ug_UiGadget.ug_iSelectMode)) { + printf("============================== checkbox\n"); + selected_box = __mf_ug_genlist_add_checkbox(listItemData, obj); + printf("==============================checkbox[%p] listItemData is [%s]\n", selected_box, listItemData->ug_pItemName->str); + } else if (mf_ug_util_is_single_select_mode(ugd->ug_UiGadget.ug_iSelectMode)) { + printf("==============================radiobox\n"); + selected_box = __mf_ug_genlist_add_radio_box(listItemData, obj); + printf("==============================radiobox[%p] listItemData is [%s]\n", selected_box, listItemData->ug_pItemName->str); + } + } + evas_object_propagate_events_set(selected_box, EINA_FALSE); + layout = elm_layout_add(obj); + elm_layout_theme_set(layout, "layout", + "list/C/type.2", "default"); + elm_layout_content_set(layout, "elm.swallow.content", selected_box); + return layout; + /* } else if (!strcmp(part, "elm.icon.2")) { */ + /* __mf_ug_genlist_get_thumbnail(listItemData); */ + /* thumb = __mf_ug_genlist_create_thumbnail(listItemData, obj); */ + /* return thumb; */ + } else if (!strcmp(part, "elm.icon.right")) { + /*Evas_Object *play_btn = __mf_ug_genlist_play_icon_create(listItemData, obj); + return play_btn;*/ + UG_TRACE_END; + + return NULL; + + } else { + UG_TRACE_END; + return NULL; + } } -static Evas_Object *__mf_ug_genlist_get_gl_editfiled_icon(void *data, Evas_Object *obj, const char *part) +static Evas_Object *__mf_ug_genlist_ringtone_get_gl_icon(void *data, Evas_Object *obj, const char *part) { - ugListItemData *listItemData = (ugListItemData *)data; - ug_mf_retv_if(listItemData == NULL, NULL); - ugData *ugd = listItemData->ug_pData; - ug_mf_retv_if(ugd == NULL, NULL); - - ug_debug("listItemData is [%p]", listItemData); - - if (!strcmp(part, "elm.icon")) { - Evas_Object *button = NULL; - button = elm_button_add(obj); - evas_object_propagate_events_set(button, EINA_FALSE); - elm_object_text_set(button, MF_UG_LABEL_GO_TO_MYFILES); - evas_object_smart_callback_add(button, "clicked", mf_ug_cb_goto_myfile_button_cb, ugd); - if(listItemData->ug_pItem) - elm_genlist_item_select_mode_set(listItemData->ug_pItem, ELM_OBJECT_SELECT_MODE_NONE); - return button; - } - return NULL; + UG_TRACE_BEGIN; + Evas_Object *selected_box = NULL; + + ugListItemData *listItemData = (ugListItemData *)data; + ug_mf_retv_if(listItemData == NULL, NULL); + ugData *ugd = listItemData->ug_pData; + ug_mf_retv_if(ugd == NULL, NULL); + + if (!strcmp(part, "elm.icon.2")) { + if (mf_is_dir(listItemData->ug_pItemName->str)) { + if (ugd->ug_UiGadget.ug_iSelectMode == MULTI_ALL_MODE) { + selected_box = __mf_ug_genlist_add_checkbox(listItemData, obj); + } else if (ugd->ug_UiGadget.ug_iSelectMode == SINGLE_ALL_MODE) { + selected_box = __mf_ug_genlist_add_radio_box(listItemData, obj); + } + } else { + if (mf_ug_util_is_multi_select_mode(ugd->ug_UiGadget.ug_iSelectMode)) { + selected_box = __mf_ug_genlist_add_checkbox(listItemData, obj); + } else if (mf_ug_util_is_single_select_mode(ugd->ug_UiGadget.ug_iSelectMode)) { + selected_box = __mf_ug_genlist_add_radio_box(listItemData, obj); + } + } + evas_object_propagate_events_set(selected_box, EINA_FALSE); + Evas_Object *layout = elm_layout_add(obj); + elm_layout_theme_set(layout, "layout", + "list/C/type.2", "default"); + elm_layout_content_set(layout, "elm.swallow.content", selected_box); + return layout; + } else if (!strcmp(part, "elm.icon.right")) { +#ifdef LIST_PLAY_SUPPORT + if (!mf_is_dir(listItemData->ug_pItemName->str)) { + Evas_Object *music_icon = NULL; + Evas_Object *music_button = NULL; + + mf_ug_launch_type launch_type = LAUNCH_TYPE_UNSUPPORT; + if (mf_ug_is_default_ringtone(ugd, listItemData->ug_pItemName->str)) { + launch_type = LAUNCH_TYPE_MUSIC; + } else { + launch_type = mf_ug_util_get_file_launch_type(listItemData->ug_pItemName->str); + } + + if (ugd->ug_ListPlay.hiden_flag == true) { + return NULL; + } + if (launch_type == LAUNCH_TYPE_MUSIC) { + if (g_strcmp0(ugd->ug_ListPlay.ug_pPlayFilePath, listItemData->ug_pItemName->str) == 0) { + const char *play_icon = NULL; + char *pause_icon = NULL; + + music_button = elm_button_add(obj); + /*elm_object_style_set(music_button, "circle/empty");*/ + elm_object_style_set(music_button, "myfile_play"); + music_icon = elm_image_add(music_button); + if (ugd->ug_ListPlay.ug_pPlayFilePath) { + if (g_strcmp0(ugd->ug_ListPlay.ug_pPlayFilePath, listItemData->ug_pItemName->str) == 0) { + if (ugd->ug_ListPlay.ug_iPlayState == PLAY_STATE_PLAYING) { + pause_icon = UG_ICON_MUSIC_PAUSE_WHITE; + elm_image_file_set(music_icon, UG_EDJ_IMAGE, pause_icon); + } else if (ugd->ug_ListPlay.ug_iPlayState == PLAY_STATE_PAUSED) { + play_icon = UG_ICON_MUSIC_PLAY_WHITE; + elm_image_file_set(music_icon, UG_EDJ_IMAGE, play_icon); + } else { + play_icon = UG_ICON_MUSIC_PLAY_WHITE; + elm_image_file_set(music_icon, UG_EDJ_IMAGE, play_icon); + } + } else { + play_icon = UG_ICON_MUSIC_PLAY_WHITE; + elm_image_file_set(music_icon, UG_EDJ_IMAGE, play_icon); + } + } else { + play_icon = UG_ICON_MUSIC_PLAY_WHITE; + elm_image_file_set(music_icon, UG_EDJ_IMAGE, play_icon); + } + evas_object_size_hint_min_set(music_icon, ELM_SCALE_SIZE(45), ELM_SCALE_SIZE(45)); + evas_object_size_hint_aspect_set(music_icon, EVAS_ASPECT_CONTROL_BOTH, 1, 1); + elm_object_part_content_set(music_button, "icon", music_icon); + evas_object_propagate_events_set(music_button, EINA_FALSE); + evas_object_smart_callback_add(music_button, "clicked", (Evas_Smart_Cb)mf_ug_cb_list_play_cb, (void *)listItemData); + evas_object_smart_callback_add(music_button, "pressed", mf_ug_cb_play_button_pressed_cb, ugd); + evas_object_smart_callback_add(music_button, "unpressed", mf_ug_cb_play_button_unpressed_cb, ugd); + listItemData->ug_pPlaybtn = music_button; + UG_TRACE_END; + return music_button; + } + } + } +#endif + UG_TRACE_END; + + return NULL; + + } else { + UG_TRACE_END; + return NULL; + } } /****************************** @@ -856,7 +1134,7 @@ static Evas_Object *__mf_ug_genlist_get_gl_editfiled_icon(void *data, Evas_Objec ******************************/ static Eina_Bool __mf_ug_genlist_get_gl_state(void *data, Evas_Object *obj, const char *part) { - return EINA_FALSE; + return EINA_FALSE; } @@ -878,21 +1156,28 @@ static Eina_Bool __mf_ug_genlist_get_gl_state(void *data, Evas_Object *obj, cons ******************************/ static void __mf_ug_genlist_del_gl(void *data, Evas_Object *obj) { - UG_TRACE_BEGIN; - ugListItemData *itemData = (ugListItemData *)data; - ug_mf_retm_if(itemData == NULL, "itemData is NULL"); - if (itemData->ug_pItemName && itemData->ug_pItemName->str) { - g_string_free(itemData->ug_pItemName, TRUE); - itemData->ug_pItemName = NULL; - } - if (itemData->ug_pThumbPath) { - free(itemData->ug_pThumbPath); - itemData->ug_pThumbPath = NULL; - } - free(itemData); - itemData = NULL; - UG_TRACE_END; - return; + UG_TRACE_BEGIN; + ugListItemData *itemData = (ugListItemData *)data; + ug_mf_retm_if(itemData == NULL, "itemData is NULL"); + if (itemData->ug_pItemName && itemData->ug_pItemName->str) { + g_string_free(itemData->ug_pItemName, TRUE); + itemData->ug_pItemName = NULL; + } + if (itemData->ug_pThumbPath) { + free(itemData->ug_pThumbPath); + itemData->ug_pThumbPath = NULL; + } + if (itemData->media) { + if (itemData->thumbnail_create == EINA_TRUE) { + media_info_cancel_thumbnail(itemData->media); + } + media_info_destroy(itemData->media); + itemData->media = NULL; + } + free(itemData); + itemData = NULL; + UG_TRACE_END; + return; } @@ -914,207 +1199,199 @@ static void __mf_ug_genlist_del_gl(void *data, Evas_Object *obj) ** Modification : Created function ** ******************************/ - -void mf_ug_genlist_selected_gl(void *data, Evas_Object *obj, void *event_info) +void mf_ug_genlist_sel(void *data) { - UG_TRACE_BEGIN; - ugData *ugd = (ugData *)data; - ug_mf_retm_if(ugd == NULL, "ugd is NULL"); - - Elm_Object_Item *item = (Elm_Object_Item *) event_info; - int error_code = 0; - int mmc_card = 0; - error_code = mf_ug_util_get_mmc_state(&mmc_card); - - ugNaviBar *pNavi_s = mf_ug_navi_bar_get_in_use_navi(ugd); - if (item != NULL) { - ugListItemData *selected = (ugListItemData *)elm_object_item_data_get(item); - fprintf(stdout, "selected text %s\n", (char *)selected->ug_pItemName->str); - elm_genlist_item_selected_set(item, EINA_FALSE); - if (ugd->ug_Status.ug_b_NaviPushFlag) - return; - if (!ecore_file_is_dir(selected->ug_pItemName->str)) { - - if (ugd->ug_UiGadget.ug_iSelectMode == EXPORT_MODE || ugd->ug_UiGadget.ug_iSelectMode == SAVE_MODE) { - return; - } - if (ugd->ug_UiGadget.ug_iSelectMode == SINGLE_FILE_MODE || ugd->ug_UiGadget.ug_iSelectMode == SINGLE_ALL_MODE) { - mf_ug_launch_type launch_type = mf_ug_util_get_file_launch_type(selected->ug_pItemName->str); - if (launch_type == LAUNCH_TYPE_MUSIC) { - if (ugd->ug_Status.play_timer == NULL) { - ug_error(">>>>>>>>>>>>>> entry list play"); - ugd->ug_Status.play_timer = ecore_timer_add(MF_UG_LIST_PLAY_TIME_OUT, (Ecore_Task_Cb)__mf_ug_list_play_timer_cb, selected); - } else { - ug_error(">>>>>>>>>>>>>> Faild entry list play"); - - } - } else { - if (elm_radio_value_get(ugd->ug_MainWindow.ug_pRadioGroup) != selected->ug_iGroupValue) { - ugd->ug_Status.ug_iRadioOn = selected->ug_iGroupValue; - selected->ug_bChecked = true; - elm_radio_value_set(ugd->ug_MainWindow.ug_pRadioGroup, selected->ug_iGroupValue); - } - } - - - } else { - if (selected->ug_bChecked == 0) { - selected->ug_bChecked = 1; - } else { - selected->ug_bChecked = 0; - } - elm_check_state_set(selected->ug_pCheckBox, selected->ug_bChecked); - - if (selected->ug_bChecked) { - ugd->ug_Status.ug_iCheckedCount++; - } else { - ugd->ug_Status.ug_iCheckedCount--; - } - if (ugd->ug_MainWindow.ug_pSelectAllCheckBox) { - if (ugd->ug_Status.ug_iTotalCount == ugd->ug_Status.ug_iCheckedCount) { - ugd->ug_Status.ug_bSelectAllChecked = EINA_TRUE; - } else { - ugd->ug_Status.ug_bSelectAllChecked = EINA_FALSE; - } - elm_check_state_pointer_set(ugd->ug_MainWindow.ug_pSelectAllCheckBox, &ugd->ug_Status.ug_bSelectAllChecked); - } - __mf_ug_genlist_show_select_info(selected); - } - } else if (ecore_file_is_dir(selected->ug_pItemName->str) && strcmp(selected->ug_pItemName->str, "Upper Level")) { - if (ugd->ug_ListPlay.ug_iPlayState == PLAY_STATE_PLAYING || ugd->ug_ListPlay.ug_iPlayState == PLAY_STATE_PAUSED) { - mf_ug_list_play_destory_playing_file(ugd); - UG_SAFE_FREE_CHAR(ugd->ug_ListPlay.ug_pPlayFilePath); - } - if (ugd->ug_Status.ug_pPath) { - g_string_free(ugd->ug_Status.ug_pPath, TRUE); - ugd->ug_Status.ug_pPath = NULL; - } - ugd->ug_Status.ug_pPath = g_string_new(selected->ug_pItemName->str); - ugd->ug_Status.ug_b_NaviPushFlag = true; - - if (pNavi_s->ug_pCurrentPath != NULL) { - free(pNavi_s->ug_pCurrentPath); - pNavi_s->ug_pCurrentPath = NULL; - } - pNavi_s->ug_pCurrentPath = strdup(selected->ug_pItemName->str); - mf_ug_navi_bar_create_default_view(ugd); - } - - mf_ug_ctrl_bar_set_item_disable(ugd); - } - UG_TRACE_END; + UG_TRACE_BEGIN; + Elm_Object_Item *item = (Elm_Object_Item *) data; + ugListItemData *selected = (ugListItemData *)elm_object_item_data_get(item); + ugData *ugd = (ugData *)selected->ug_pData; + ug_mf_retm_if(ugd == NULL, "ugd is NULL");/*Fixed the P131011-01548 by jian12.li, sometimes, if the ug is extised, we still send the result to other app.*/ + ug_mf_retm_if(ugd->ug == NULL, "ugd->ug is NULL");/*Fixed the P131011-01548 by jian12.li, sometimes, if the ug is extised, we still send the result to other app.*/ + + { + fprintf(stdout, "selected text %s\n", (char *)selected->ug_pItemName->str); + elm_genlist_item_selected_set(item, EINA_FALSE); + if (ugd->ug_UiGadget.ug_iSelectMode == DOCUMENT_SHARE) { + ug_error(); + char *result = NULL; + app_control_h app_control = NULL; + result = g_strdup(selected->ug_pItemName->str); + if (result) { + int ret = 0; + ret = app_control_create(&app_control); + if (ret == APP_CONTROL_ERROR_NONE) { + ug_error(); + app_control_add_extra_data(app_control, "result", result); + ug_send_result(ugd->ug, app_control); + app_control_destroy(app_control); + } + ug_debug("result is [%s]", result); + UG_SAFE_FREE_CHAR(result); + ug_destroy_me(ugd->ug); + ugd->ug = NULL; + } + return; + } + if (!mf_is_dir(selected->ug_pItemName->str)) { + + if (ugd->ug_UiGadget.ug_iSelectMode == EXPORT_MODE || ugd->ug_UiGadget.ug_iSelectMode == SAVE_MODE) { + return; + } + if (mf_ug_util_is_single_select_mode(ugd->ug_UiGadget.ug_iSelectMode)) { + + if (elm_radio_value_get(ugd->ug_MainWindow.ug_pRadioGroup) != selected->ug_iGroupValue) { + ugd->ug_Status.ug_iRadioOn = selected->ug_iGroupValue; + selected->ug_bChecked = true; + elm_radio_value_set(ugd->ug_MainWindow.ug_pRadioGroup, selected->ug_iGroupValue); + } + /* + mf_ug_launch_type launch_type = LAUNCH_TYPE_UNSUPPORT; + if (mf_ug_is_default_ringtone(ugd, selected->ug_pItemName->str)) { + launch_type = LAUNCH_TYPE_MUSIC; + } else { + launch_type = mf_ug_util_get_file_launch_type(selected->ug_pItemName->str); + } + if (launch_type == LAUNCH_TYPE_MUSIC) { + //elm_genlist_select_mode_set(ugd->ug_MainWindow.ug_pNaviGenlist, ELM_OBJECT_SELECT_MODE_NONE); + if (ugd->ug_ListPlay.play_data) { + ugd->ug_ListPlay.hiden_flag = true; + elm_genlist_item_fields_update(ugd->ug_ListPlay.play_data, "elm.icon.2", ELM_GENLIST_ITEM_FIELD_CONTENT); + } + if (ugd->ug_Status.play_timer == NULL) { + ug_error(">>>>>>>>>>>>>> entry list play"); + if (ugd->show) { + ecore_idler_del(ugd->show); + ugd->show = NULL; + } + ugd->ug_Status.play_timer = ecore_timer_add(MF_UG_LIST_PLAY_TIME_OUT, (Ecore_Task_Cb)__mf_ug_list_play_timer_cb, selected); + } else { + ug_error(">>>>>>>>>>>>>> Faild entry list play"); + + } + } + */ + } else { + /* + mf_ug_launch_type launch_type = LAUNCH_TYPE_UNSUPPORT; + launch_type = mf_ug_util_get_file_launch_type(selected->ug_pItemName->str); + if (launch_type == LAUNCH_TYPE_MUSIC) { + //P131128-07671,Messages > Compose > Attach > Audio > click audio item , music should not play + //mf_ug_cb_list_play_cb(selected, NULL, NULL); + } + */ + if (selected->ug_bChecked == 0) { + selected->ug_bChecked = 1; + } else { + selected->ug_bChecked = 0; + } + + struct stat stFileInfo; + stat(selected->ug_pItemName->str, &stFileInfo); + if (selected->ug_bChecked) { + ugd->ug_Status.ug_iCheckedCount++; + if (ugd->limitsize > 0 && ugd->selsize + stFileInfo.st_size > ugd->limitsize) { + char *noti = NULL; + noti = g_strdup_printf(mf_ug_widget_get_text(MF_UG_LABEL_MAXIMUM_SIZE)); + mf_ug_popup_indicator_popup(noti); + if (selected->ug_bChecked == 0) { + selected->ug_bChecked = 1; + } else { + selected->ug_bChecked = 0; + } + UG_SAFE_FREE_CHAR(noti); + return; + } + ugd->selsize += stFileInfo.st_size; + } else { + ugd->ug_Status.ug_iCheckedCount--; + ugd->selsize -= stFileInfo.st_size; + } + ug_error("========= ugd->ug_Status.ug_iCheckedCount is [%d]", ugd->ug_Status.ug_iCheckedCount); + if (ugd->ug_Status.ug_iCheckedCount > ugd->ug_UiGadget.ug_iMaxLength) { + ug_error(); + char *reach_string = mf_ug_widget_get_text(MF_UG_LABEL_REACH_MAX_SHARE_COUNT); + char *max_string = g_strdup_printf(reach_string, ugd->ug_UiGadget.ug_iMaxLength); + /*UG_SAFE_FREE_CHAR(reach_string);*/ + ug_error("max_string is [%s]", max_string); + mf_ug_popup_indicator_popup(max_string); + UG_SAFE_FREE_CHAR(max_string); + if (selected->ug_bChecked == 0) { + selected->ug_bChecked = 1; + } else { + selected->ug_bChecked = 0; + } + if (selected->ug_bChecked) { + ugd->ug_Status.ug_iCheckedCount++; + } else { + ugd->ug_Status.ug_iCheckedCount--; + } + return; + } else { + ug_error(); + elm_check_state_set(selected->ug_pCheckBox, selected->ug_bChecked); + } + ugd->ug_Status.ug_iTotalCount = eina_list_count(ugd->ug_UiGadget.ug_pFilterList); + if (ugd->ug_Status.ug_iTotalCount == ugd->ug_Status.ug_iCheckedCount) { + ugd->ug_Status.ug_bSelectAllChecked = EINA_TRUE; + } else { + ugd->ug_Status.ug_bSelectAllChecked = EINA_FALSE; + } + if(ugd->ug_Status.ug_bSelectAllChecked) { + elm_check_state_set(ugd->ug_MainWindow.ug_pSelectAllCheckBox, 1); + } else { + elm_check_state_set(ugd->ug_MainWindow.ug_pSelectAllCheckBox, 0); + } + mf_ug_genlist_show_select_info(ugd); + } + } else if (mf_is_dir(selected->ug_pItemName->str)) { + if (ugd->ug_ListPlay.ug_iPlayState == PLAY_STATE_PLAYING || ugd->ug_ListPlay.ug_iPlayState == PLAY_STATE_PAUSED) { + mf_ug_list_play_destory_playing_file(ugd); + ugd->ug_ListPlay.play_data = NULL; + UG_SAFE_FREE_CHAR(ugd->ug_ListPlay.ug_pPlayFilePath); + } + if (ugd->ug_Status.ug_pPath) { + g_string_free(ugd->ug_Status.ug_pPath, TRUE); + ugd->ug_Status.ug_pPath = NULL; + } + ug_error(">>>>>>>>>>>>>>>>> selected->ug_pItemName->str is [%s]", selected->ug_pItemName->str); + ugd->ug_Status.ug_pPath = g_string_new(selected->ug_pItemName->str); + + if (ugd->ug_Status.ug_iViewType == mf_ug_view_root) { + ugd->ug_Status.ug_iViewType = mf_ug_view_normal; + mf_ug_navi_bar_create_default_view(ugd); + mf_ug_util_path_push(ugd->ug_Status.ug_pPath->str, ugd->ug_Status.ug_iViewType); + } else { + mf_ug_navi_bar_create_default_view(ugd); + mf_ug_util_path_push(ugd->ug_Status.ug_pPath->str, ugd->ug_Status.ug_iViewType); + } + } + + mf_ug_navi_bar_set_ctrl_item_disable(ugd); + } + UG_TRACE_END; } - - -static Evas_Object *__mf_ug_genlist_create_editfield(Evas_Object *parent, Evas_Object **pEntry) +void mf_ug_genlist_selected_gl(void *data, Evas_Object *obj, void *event_info) { - ug_mf_retvm_if(parent == NULL, NULL, "parent is NULL"); - - Evas_Object *layout = elm_layout_add(parent); - elm_layout_theme_set(layout, "layout", "editfield", "default"); - Evas_Object *entry = elm_entry_add(parent); - elm_object_part_content_set(layout, "elm.swallow.content", entry); - *pEntry = entry; - return layout; + UG_TRACE_BEGIN; + ugData *ugd = (ugData *)data; + ug_mf_retm_if(ugd == NULL, "ugd is NULL"); + + Elm_Object_Item *item = (Elm_Object_Item *) event_info; + if (item != NULL) { + { + ug_error(); + mf_ug_genlist_sel(item); + } + } + UG_TRACE_END; } -static Evas_Object *__mf_ug_genlist_gl_new_folder_icon_get(void *data, Evas_Object * obj, const char *part) +static void __mf_ug_genlist_lang_changed(void *data, Evas_Object *obj, void *ei) { - UG_TRACE_BEGIN; - ugData *ugd = (ugData *)data; - ug_mf_retvm_if(ugd == NULL, NULL, "ugd is NULL"); - - if (!strcmp(part, "elm.icon")) { - int error_code = 0; - char *fileName = NULL; - char *fullpath = (char *)malloc(sizeof(char) * MYFILE_FILE_PATH_LEN_MAX); - if (fullpath == NULL) { - return NULL; - } - GString *dest_fullpath; - static Elm_Entry_Filter_Limit_Size limit_filter; - Evas_Object *entry = NULL; - - Evas_Object *edit_field = __mf_ug_genlist_create_editfield(obj, &entry); - - elm_entry_single_line_set(entry, EINA_TRUE); - elm_entry_scrollable_set(entry, EINA_TRUE); - - elm_object_signal_emit(edit_field, "elm,state,eraser,show", "elm"); - - evas_object_size_hint_weight_set(edit_field, 1, 1); - evas_object_size_hint_align_set(edit_field, 1, 0.5); - //evas_object_show(edit_field); - ugd->ug_MainWindow.ug_pEditField = edit_field; - - ugd->ug_MainWindow.ug_pEntry = entry; - - limit_filter.max_char_count = MYFILE_FILE_NAME_LEN_MAX; - limit_filter.max_byte_count = 0; - - memset(fullpath, 0, MYFILE_FILE_PATH_LEN_MAX); - fileName = elm_entry_markup_to_utf8(MF_UG_LABEL_FOLDER); - snprintf(fullpath, (MYFILE_FILE_PATH_LEN_MAX), "%s/%s", (char *)ugd->ug_Status.ug_pPath->str, fileName); - - dest_fullpath = g_string_new(fullpath); - - elm_entry_markup_filter_append(entry, elm_entry_filter_limit_size, &limit_filter); - evas_object_smart_callback_add(entry, "maxlength,reached", mf_ug_cb_reach_max_len_cb, ugd); - - if (mf_ug_fm_svc_wrapper_detect_duplication(dest_fullpath)) { - ug_debug("dectetion result is TRUE\ndest_fullpath is %s\n", dest_fullpath->str); - error_code = mf_ug_fm_svc_wrapper_file_auto_rename(ugd, dest_fullpath, FILE_NAME_WITH_BRACKETS, &dest_fullpath); - ug_debug("rename result is %s\n", dest_fullpath->str); - memset(fullpath, 0, strlen(fullpath)); - int len = strlen(ugd->ug_Status.ug_pPath->str) + 1; - strncpy(fullpath, dest_fullpath->str + len, MYFILE_FILE_PATH_LEN_MAX); - /*memset(fileName,0,strlen(fileName));*/ - - UG_SAFE_FREE_CHAR(fileName); - fileName = elm_entry_markup_to_utf8(fullpath); - } - - /*elm_entry_entry_set(entry, ecore_file_file_get(params->m_ItemName->str));*/ - - elm_object_signal_callback_add(edit_field, "elm,eraser,clicked", "elm", mf_ug_cb_eraser_clicked_cb, entry); - - evas_object_show(entry); - elm_object_focus_set(entry, EINA_TRUE); - - elm_entry_entry_set(entry, fileName); - elm_entry_cursor_end_set(entry); - UG_SAFE_FREE_CHAR(fullpath); - UG_SAFE_FREE_GSTRING(dest_fullpath); - UG_SAFE_FREE_CHAR(fileName); - return edit_field; - } - return NULL; -} - -Evas_Object *mf_ug_genlist_create_list_new_folder_style(void *data) -{ - - UG_TRACE_BEGIN; - ugData *ugd = (ugData *)data; - ug_mf_retvm_if(ugd == NULL, NULL, "ugd is NULL"); - - Evas_Object *genlist = NULL; - Evas_Object *pNaviBar = NULL; - - pNaviBar = ugd->ug_MainWindow.ug_pNaviBar; - - genlist = elm_genlist_add(pNaviBar); - elm_object_focus_set(genlist, EINA_FALSE); - - ugd->ug_Status.ug_newfolderitec.item_style = "1icon"; - ugd->ug_Status.ug_newfolderitec.func.text_get = NULL; - ugd->ug_Status.ug_newfolderitec.func.content_get = __mf_ug_genlist_gl_new_folder_icon_get; - ugd->ug_Status.ug_newfolderitec.func.state_get = NULL; - ugd->ug_Status.ug_newfolderitec.func.del = NULL; - - Elm_Object_Item *it = elm_genlist_item_append(genlist, &ugd->ug_Status.ug_newfolderitec, ugd, NULL, ELM_GENLIST_ITEM_NONE, NULL, NULL); - elm_genlist_item_select_mode_set(it, ELM_OBJECT_SELECT_MODE_NONE); - return genlist; + UG_TRACE_BEGIN + ug_mf_retm_if(obj == NULL, "obj is NULL"); + elm_genlist_realized_items_update(obj); + UG_TRACE_END } /****************************** @@ -1132,53 +1409,141 @@ Evas_Object *mf_ug_genlist_create_list_new_folder_style(void *data) ** Modification : Created function ** ******************************/ -Evas_Object *__mf_ug_genlist_create_gl(void *data) +void mf_ug_genlist_delete_sel(void *data) { + UG_TRACE_BEGIN; + Elm_Object_Item *item = (Elm_Object_Item *) data; + ugListItemData *selected = (ugListItemData *)elm_object_item_data_get(item); + ugData *ugd = (ugData *)selected->ug_pData; + ug_mf_retm_if(ugd == NULL, "ugd is NULL");/*Fixed the P131011-01548 by jian12.li, sometimes, if the ug is extised, we still send the result to other app.*/ + ug_mf_retm_if(ugd->ug == NULL, "ugd->ug is NULL");/*Fixed the P131011-01548 by jian12.li, sometimes, if the ug is extised, we still send the result to other app.*/ + + { + fprintf(stdout, "selected text %s\n", (char *)selected->ug_pItemName->str); + elm_genlist_item_selected_set(item, EINA_FALSE); + if (!mf_is_dir(selected->ug_pItemName->str)) { + + if (selected->ug_bChecked == 0) { + selected->ug_bChecked = 1; + } else { + selected->ug_bChecked = 0; + } + elm_check_state_set(selected->ug_pCheckBox, selected->ug_bChecked); + + if (selected->ug_bChecked) { + ugd->ug_Status.ug_iCheckedCount++; + } else { + ugd->ug_Status.ug_iCheckedCount--; + } + + if (ugd->ug_Status.ug_iTotalCount == ugd->ug_Status.ug_iCheckedCount) { + ugd->ug_Status.ug_bSelectAllChecked = EINA_TRUE; + } else { + ugd->ug_Status.ug_bSelectAllChecked = EINA_FALSE; + } + mf_ug_genlist_show_select_info(ugd); + } + + mf_ug_navi_bar_set_ctrl_item_disable(ugd); + } + UG_TRACE_END; +} - UG_TRACE_BEGIN; - ugData *ugd = (ugData *)data; - ug_mf_retvm_if(ugd == NULL, NULL, "ugd is NULL"); +void mf_ug_genlist_delete_selected_gl(void *data, Evas_Object *obj, void *event_info) +{ + UG_TRACE_BEGIN; + ugData *ugd = (ugData *)data; + ug_mf_retm_if(ugd == NULL, "ugd is NULL"); + + Elm_Object_Item *item = (Elm_Object_Item *) event_info; + elm_genlist_item_selected_set(item, EINA_FALSE); + mf_ug_genlist_delete_sel(item); + UG_TRACE_END; +} - ugNaviBar *pNaviInUse = mf_ug_navi_bar_get_in_use_navi(ugd); - ug_mf_retvm_if(pNaviInUse == NULL, NULL, "pNaviInUse is NULL"); +Evas_Object *mf_ug_genlist_delete_style_create(void *data) +{ - Evas_Object *genlist; - genlist = elm_genlist_add(ugd->ug_MainWindow.ug_pNaviBar); - 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); + UG_TRACE_BEGIN; + ugData *ugd = (ugData *)data; + ug_mf_retvm_if(ugd == NULL, NULL, "ugd is NULL"); - evas_object_smart_callback_add(genlist, "selected", mf_ug_genlist_selected_gl, ugd); -#ifdef UG_THUMB_REAL_TIME_UPDATE - if (ugd->ug_Status.ug_pThumbUpdateTimer != NULL) { - ecore_timer_del(ugd->ug_Status.ug_pThumbUpdateTimer); - ugd->ug_Status.ug_pThumbUpdateTimer = NULL; - } -#endif + Evas_Object *genlist; + genlist = elm_genlist_add(ugd->ug_MainWindow.ug_pNaviBar); + elm_genlist_mode_set(genlist, ELM_LIST_COMPRESS); + 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); + elm_scroller_policy_set(genlist, ELM_SCROLLER_POLICY_OFF, ELM_SCROLLER_POLICY_AUTO); + evas_object_smart_callback_add(genlist, "selected", mf_ug_genlist_delete_selected_gl, ugd); + evas_object_smart_callback_add(genlist, "language,changed", __mf_ug_genlist_lang_changed, ugd); + + ugd->ug_Status.ug_1text2icon4_itc.item_style = "1line"; + ugd->ug_Status.ug_1text2icon4_itc.func.text_get = __mf_ug_genlist_get_gl_label; + ugd->ug_Status.ug_1text2icon4_itc.func.content_get = __mf_ug_genlist_delete_get_gl_icon; + ugd->ug_Status.ug_1text2icon4_itc.func.state_get = __mf_ug_genlist_get_gl_state; + ugd->ug_Status.ug_1text2icon4_itc.func.del = __mf_ug_genlist_del_gl; + + UG_TRACE_END; + + return genlist; +} + +Evas_Object *__mf_ug_genlist_create_gl(void *data) +{ - ugd->ug_Status.ug_itc.item_style = "1text.3icon"; - ugd->ug_Status.ug_itc.func.text_get = __mf_ug_genlist_get_gl_label; - ugd->ug_Status.ug_itc.func.content_get = __mf_ug_genlist_get_gl_icon; - ugd->ug_Status.ug_itc.func.state_get = __mf_ug_genlist_get_gl_state; - ugd->ug_Status.ug_itc.func.del = __mf_ug_genlist_del_gl; - - if (ugd->ug_UiGadget.ug_iSelectMode == MULTI_FILE_MODE || - ugd->ug_UiGadget.ug_iSelectMode == SINGLE_FILE_MODE || - ugd->ug_UiGadget.ug_iSelectMode == IMPORT_PATH_SELECT_MODE || - ugd->ug_UiGadget.ug_iSelectMode == IMPORT_MODE || - ugd->ug_UiGadget.ug_iSelectMode == EXPORT_MODE || - ugd->ug_UiGadget.ug_iSelectMode == SAVE_MODE || - ugd->ug_UiGadget.ug_iSelectMode == IMPORT_SINGLE) { - ugd->ug_Status.ug_normalitc.item_style = "1text.1icon.2"; - ugd->ug_Status.ug_normalitc.func.text_get = __mf_ug_genlist_get_gl_label; - ugd->ug_Status.ug_normalitc.func.content_get = __mf_ug_genlist_get_gl_icon; - ugd->ug_Status.ug_normalitc.func.state_get = __mf_ug_genlist_get_gl_state; - ugd->ug_Status.ug_normalitc.func.del = __mf_ug_genlist_del_gl; - } - - UG_TRACE_END; - - return genlist; + UG_TRACE_BEGIN; + ugData *ugd = (ugData *)data; + ug_mf_retvm_if(ugd == NULL, NULL, "ugd is NULL"); + + Evas_Object *genlist; + genlist = elm_genlist_add(ugd->ug_MainWindow.ug_pNaviBar); + elm_genlist_mode_set(genlist, ELM_LIST_COMPRESS); + 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); + elm_scroller_policy_set(genlist, ELM_SCROLLER_POLICY_OFF, ELM_SCROLLER_POLICY_AUTO); + evas_object_smart_callback_add(genlist, "selected", mf_ug_genlist_selected_gl, ugd); + evas_object_smart_callback_add(genlist, "language,changed", __mf_ug_genlist_lang_changed, ugd); + + ugd->ug_Status.ug_1text3icon_itc.item_style = "1line"; + ugd->ug_Status.ug_1text3icon_itc.func.text_get = __mf_ug_genlist_get_gl_label; + ugd->ug_Status.ug_1text3icon_itc.func.content_get = __mf_ug_genlist_get_gl_icon; + ugd->ug_Status.ug_1text3icon_itc.func.state_get = __mf_ug_genlist_get_gl_state; + ugd->ug_Status.ug_1text3icon_itc.func.del = __mf_ug_genlist_del_gl; + + if (ugd->ug_UiGadget.ug_iSoundMode != mf_ug_sound_mode_none) { + /*ugd->ug_Status.ug_1text2icon4_itc.item_style = "1text.2icon.4"; + ugd->ug_Status.ug_1text2icon4_itc.item_style = "myfile.1text.2icon.6";*/ + ugd->ug_Status.ug_1text2icon4_itc.item_style = "1line"; + ugd->ug_Status.ug_1text2icon4_itc.func.text_get = __mf_ug_genlist_get_gl_label; + ugd->ug_Status.ug_1text2icon4_itc.func.content_get = __mf_ug_genlist_ringtone_get_gl_icon; + ugd->ug_Status.ug_1text2icon4_itc.func.state_get = __mf_ug_genlist_get_gl_state; + ugd->ug_Status.ug_1text2icon4_itc.func.del = __mf_ug_genlist_del_gl; + } + ugd->ug_Status.ug_1text2icon_itc.item_style = "1line"; + ugd->ug_Status.ug_1text2icon_itc.func.text_get = __mf_ug_genlist_get_gl_label; + ugd->ug_Status.ug_1text2icon_itc.func.content_get = __mf_ug_genlist_get_gl_icon; + ugd->ug_Status.ug_1text2icon_itc.func.state_get = __mf_ug_genlist_get_gl_state; + ugd->ug_Status.ug_1text2icon_itc.func.del = __mf_ug_genlist_del_gl; + if (ugd->ug_UiGadget.ug_iSelectMode == MULTI_FILE_MODE || + ugd->ug_UiGadget.ug_iSelectMode == SINGLE_FILE_MODE || + ugd->ug_UiGadget.ug_iSelectMode == IMPORT_PATH_SELECT_MODE || + ugd->ug_UiGadget.ug_iSelectMode == IMPORT_MODE || + ugd->ug_UiGadget.ug_iSelectMode == EXPORT_MODE || + ugd->ug_UiGadget.ug_iSelectMode == SAVE_MODE || + ugd->ug_UiGadget.ug_iSelectMode == IMPORT_SINGLE || + ugd->ug_UiGadget.ug_iSelectMode == DOCUMENT_SHARE + ) { + ugd->ug_Status.ug_1text1icon_itc.item_style = "1line"; + ugd->ug_Status.ug_1text1icon_itc.func.text_get = __mf_ug_genlist_get_gl_label; + ugd->ug_Status.ug_1text1icon_itc.func.content_get = __mf_ug_genlist_get_gl_icon; + ugd->ug_Status.ug_1text1icon_itc.func.state_get = __mf_ug_genlist_get_gl_state; + ugd->ug_Status.ug_1text1icon_itc.func.del = __mf_ug_genlist_del_gl; + } + + UG_TRACE_END; + + return genlist; } @@ -1202,33 +1567,33 @@ Evas_Object *__mf_ug_genlist_create_gl(void *data) static void __mf_ug_genlist_init_item_data(void *data, ugListItemData **itemData, char *fullname) { - UG_TRACE_BEGIN; - ugData *ugd = (ugData *)data; - ugListItemData **ug_ItemData = itemData; - ug_mf_retm_if(ugd == NULL, "ugd is NULL"); - ug_mf_retm_if(ug_ItemData == NULL, "ug_ItemData is NULL"); - - *ug_ItemData = (ugListItemData *)malloc(sizeof(ugListItemData)); - if (*ug_ItemData == NULL) { - ug_debug("ug_ItemData malloc failed"); - } else { - memset(*ug_ItemData, 0, sizeof(ugListItemData)); - if (fullname) { - (*ug_ItemData)->ug_pItemName = g_string_new(fullname); - } else { - (*ug_ItemData)->ug_pItemName = NULL; - } - (*ug_ItemData)->ug_bChecked = false; - (*ug_ItemData)->ug_pRadioBox = NULL; - (*ug_ItemData)->ug_pCheckBox = NULL; - (*ug_ItemData)->ug_pPlaybtn = NULL; - (*ug_ItemData)->ug_iGroupValue = 0; - (*ug_ItemData)->ug_pItem = NULL; - (*ug_ItemData)->ug_pThumbPath = NULL; - (*ug_ItemData)->ug_bRealThumbFlag = false; - (*ug_ItemData)->ug_pData = ugd; - } - UG_TRACE_END; + UG_TRACE_BEGIN; + ugData *ugd = (ugData *)data; + ugListItemData **ug_ItemData = itemData; + ug_mf_retm_if(ugd == NULL, "ugd is NULL"); + ug_mf_retm_if(ug_ItemData == NULL, "ug_ItemData is NULL"); + + *ug_ItemData = (ugListItemData *)malloc(sizeof(ugListItemData)); + if (*ug_ItemData == NULL) { + ug_debug("ug_ItemData malloc failed"); + } else { + memset(*ug_ItemData, 0, sizeof(ugListItemData)); + if (fullname) { + (*ug_ItemData)->ug_pItemName = g_string_new(fullname); + } else { + (*ug_ItemData)->ug_pItemName = NULL; + } + (*ug_ItemData)->ug_bChecked = false; + (*ug_ItemData)->ug_pRadioBox = NULL; + (*ug_ItemData)->ug_pCheckBox = NULL; + (*ug_ItemData)->ug_pPlaybtn = NULL; + (*ug_ItemData)->ug_iGroupValue = 0; + (*ug_ItemData)->ug_pItem = NULL; + (*ug_ItemData)->ug_pThumbPath = NULL; + (*ug_ItemData)->ug_bRealThumbFlag = false; + (*ug_ItemData)->ug_pData = ugd; + } + UG_TRACE_END; } /****************************** @@ -1246,404 +1611,588 @@ static void __mf_ug_genlist_init_item_data(void *data, ugListItemData **itemData ** Modification : Created function ** ******************************/ -void mf_ug_genlist_upper_style_set(void *data) +Elm_Object_Item *mf_ug_genlist_default_ringtone_item_append(Evas_Object *parent, + void *data, + int groudValue, + Elm_Genlist_Item_Class *itc) { - ug_mf_retm_if(data == NULL, "data is NULL"); - ugData *ugd = (ugData *)data; - ugd->ug_Status.ug_topitc.item_style = "1text.1icon.2"; - ugd->ug_Status.ug_topitc.func.text_get = __mf_ug_genlist_get_gl_label; - ugd->ug_Status.ug_topitc.func.content_get = __mf_ug_genlist_gl_upper_icon_get; - ugd->ug_Status.ug_topitc.func.state_get = __mf_ug_genlist_get_gl_state; - ugd->ug_Status.ug_topitc.func.del = __mf_ug_genlist_del_gl; + ug_mf_retvm_if(parent == NULL, NULL, "pGenlist is NULL"); + ug_mf_retvm_if(data == NULL, NULL, "data is NULL"); + ug_mf_retvm_if(itc == NULL, NULL, "itc is NULL"); + + ugData *ugd = (ugData *)data; + ugListItemData *ug_ItemData = NULL; + Elm_Object_Item *it = NULL; + char *real_name = NULL; + + real_name = g_strdup(MF_UG_LABEL_DEFAULT_RINGTONE); + __mf_ug_genlist_init_item_data(ugd, &ug_ItemData, real_name); + if (ug_ItemData == NULL) { + ug_debug("alloc memory error\n"); + if (real_name) { + free(real_name); + real_name = NULL; + } + return NULL; + } + ug_ItemData->ug_pThumbPath = g_strdup(UG_ICON_MUSIC); + ug_ItemData->ug_bRealThumbFlag = true; + + ug_ItemData->ug_iGroupValue = groudValue; + if (ugd->ug_UiGadget.ug_iSelectMode == SINGLE_ALL_MODE || ugd->ug_UiGadget.ug_iSelectMode == SINGLE_FILE_MODE) { + if (__mf_ug_genlist_is_file_marked(ugd->ug_UiGadget.ug_pMultiSelectFileList, ug_ItemData->ug_pItemName)) { + ug_ItemData->ug_bChecked = true; + ugd->ug_Status.ug_iRadioOn = ug_ItemData->ug_iGroupValue; + } + } + it = elm_genlist_item_append(parent, itc, ug_ItemData, NULL, ELM_GENLIST_ITEM_NONE, NULL, NULL); + ug_ItemData->ug_pItem = it; + mf_ug_genlist_default_item_set(it); + + if (real_name) { + free(real_name); + real_name = NULL; + } + + return it; } -void mf_ug_genlist_goto_myfile_style_set(void *data) +Elm_Object_Item *mf_ug_genlist_silent_item_append(Evas_Object *parent, + void *data, + int groudValue, + Elm_Genlist_Item_Class *itc) { - ug_mf_retm_if(data == NULL, "data is NULL"); - ugData *ugd = (ugData *)data; - ugd->ug_Status.ug_editfileditc.item_style = "1icon"; - ugd->ug_Status.ug_editfileditc.func.text_get = NULL; - ugd->ug_Status.ug_editfileditc.func.content_get = __mf_ug_genlist_get_gl_editfiled_icon; - ugd->ug_Status.ug_editfileditc.func.state_get = NULL; - ugd->ug_Status.ug_editfileditc.func.del = __mf_ug_genlist_del_gl; - - ugd->ug_Status.ug_editfiledBottomSeperatoritc.item_style = "dialogue/separator/11/with_line"; - ugd->ug_Status.ug_editfiledBottomSeperatoritc.func.text_get = NULL; - ugd->ug_Status.ug_editfiledBottomSeperatoritc.func.content_get = NULL; - ugd->ug_Status.ug_editfiledBottomSeperatoritc.func.state_get = NULL; - ugd->ug_Status.ug_editfiledBottomSeperatoritc.func.del = NULL; - - ugd->ug_Status.ug_editfiledUpperSeperatoritc.item_style = "dialogue/separator/10"; - ugd->ug_Status.ug_editfiledUpperSeperatoritc.func.text_get = NULL; - ugd->ug_Status.ug_editfiledUpperSeperatoritc.func.content_get = NULL; - ugd->ug_Status.ug_editfiledUpperSeperatoritc.func.state_get = NULL; - ugd->ug_Status.ug_editfiledUpperSeperatoritc.func.del = NULL; - + ug_mf_retvm_if(parent == NULL, NULL, "pGenlist is NULL"); + ug_mf_retvm_if(data == NULL, NULL, "data is NULL"); + ug_mf_retvm_if(itc == NULL, NULL, "itc is NULL"); + + ugData *ugd = (ugData *)data; + ugListItemData *ug_ItemData = NULL; + Elm_Object_Item *it = NULL; + char *real_name = NULL; + + real_name = g_strdup(MF_UG_LABEL_SILENT); + __mf_ug_genlist_init_item_data(ugd, &ug_ItemData, real_name); + if (ug_ItemData == NULL) { + ug_debug("alloc memory error\n"); + if (real_name) { + free(real_name); + real_name = NULL; + } + return NULL; + } + ug_ItemData->ug_pThumbPath = g_strdup(UG_ICON_MUSIC); + ug_ItemData->ug_bRealThumbFlag = true; + + ug_ItemData->ug_iGroupValue = groudValue; + if (ugd->ug_UiGadget.ug_iSelectMode == SINGLE_ALL_MODE || ugd->ug_UiGadget.ug_iSelectMode == SINGLE_FILE_MODE) { + if (__mf_ug_genlist_is_file_marked(ugd->ug_UiGadget.ug_pMultiSelectFileList, ug_ItemData->ug_pItemName)) { + ug_ItemData->ug_bChecked = true; + ugd->ug_Status.ug_iRadioOn = ug_ItemData->ug_iGroupValue; + } + } + it = elm_genlist_item_append(parent, itc, ug_ItemData, NULL, ELM_GENLIST_ITEM_NONE, NULL, NULL); + ug_ItemData->ug_pItem = it; + + if (real_name) { + free(real_name); + real_name = NULL; + } + + return it; } -Evas_Object *mf_navi_bar_upper_create(Evas_Object *parent) +Elm_Object_Item *mf_ug_genlist_item_append(Evas_Object *parent, + char *real_name, + void *data, + int groudValue, + Elm_Genlist_Item_Class *itc) { - UG_TRACE_BEGIN; - ug_mf_retvm_if(parent == NULL, NULL, "parent is NULL"); - - Evas_Object *upper_genlist = NULL; - upper_genlist = elm_genlist_add(parent); - ug_mf_retvm_if(upper_genlist == NULL, NULL, "upper_genlist is NULL"); - elm_object_focus_set(upper_genlist, EINA_FALSE); - evas_object_size_hint_weight_set(upper_genlist, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - evas_object_size_hint_align_set(upper_genlist, EVAS_HINT_FILL, EVAS_HINT_FILL); - elm_scroller_bounce_set(upper_genlist, EINA_FALSE, EINA_FALSE); - evas_object_show(upper_genlist); - UG_TRACE_END; - return upper_genlist; - + ug_mf_retvm_if(parent == NULL, NULL, "pGenlist is NULL"); + ug_mf_retvm_if(real_name == NULL, NULL, "real_name is NULL"); + ug_mf_retvm_if(data == NULL, NULL, "data is NULL"); + ug_mf_retvm_if(itc == NULL, NULL, "itc is NULL"); + + ugData *ugd = (ugData *)data; + ugListItemData *ug_ItemData = NULL; + Elm_Object_Item *it = NULL; + + __mf_ug_genlist_init_item_data(ugd, &ug_ItemData, real_name); + if (ug_ItemData == NULL) { + ug_debug("alloc memory error\n"); + return NULL; + } + ug_ItemData->ug_bDefaultItem = g_ug_bDefaultItem; + + if (ugd->ug_Status.ug_iViewType == mf_ug_view_root) { + if (g_strcmp0(real_name, PHONE_FOLDER) == 0) { + ug_ItemData->ug_pThumbPath = strdup(UG_ICON_FOLDER); + ug_ItemData->ug_bRealThumbFlag = true; + + } else if (g_strcmp0(real_name, MEMORY_FOLDER) == 0) { + ug_ItemData->ug_pThumbPath = strdup(UG_ICON_ITEM_MMC); + ug_ItemData->ug_bRealThumbFlag = true; + } + } + ug_ItemData->storage_type = mf_ug_fm_svc_wapper_get_location(real_name); + + ug_ItemData->ug_iGroupValue = groudValue; + if (ugd->ug_Status.ug_iViewType != mf_ug_view_ringtone_del) { + if (ugd->ug_UiGadget.ug_iSelectMode == SINGLE_ALL_MODE || ugd->ug_UiGadget.ug_iSelectMode == SINGLE_FILE_MODE) { + if (__mf_ug_genlist_is_file_marked(ugd->ug_UiGadget.ug_pMultiSelectFileList, ug_ItemData->ug_pItemName)) { + ug_ItemData->ug_bChecked = true; + ugd->ug_Status.ug_iRadioOn = ug_ItemData->ug_iGroupValue; + } + } + } else { + ug_ItemData->ug_bChecked = false; + } + it = elm_genlist_item_append(parent, itc, ug_ItemData, NULL, ELM_GENLIST_ITEM_NONE, NULL, NULL); + ug_ItemData->ug_pItem = it; + return it; } - -void mf_ug_upper_genlist_item_append(Evas_Object *pGenlist, void *data) +Elm_Object_Item *mf_ug_genlist_item_prepend(Evas_Object *parent, + char *real_name, + void *data, + int groudValue, + Elm_Genlist_Item_Class *itc) { - ug_mf_retm_if(data == NULL, "data is NULL"); - ug_mf_retm_if(pGenlist == NULL, "pGenlist is NULL"); - ugData *ugd = (ugData *)data; - - Elm_Object_Item *item = NULL; - - ugd->ug_Status.ug_topitc.item_style = "dialogue/bg/2icon"; - ugd->ug_Status.ug_topitc.func.text_get = NULL; - ugd->ug_Status.ug_topitc.func.content_get = __mf_ug_genlist_upper_icon_get; - ugd->ug_Status.ug_topitc.func.state_get = NULL; - ugd->ug_Status.ug_topitc.func.del = NULL; - ugd->ug_Status.ug_separtor_no_bottom_line_itc.item_style = "dialogue/seperator.4"; - ugd->ug_Status.ug_separtor_no_bottom_line_itc.func.text_get = NULL; - ugd->ug_Status.ug_separtor_no_bottom_line_itc.func.content_get = NULL; - ugd->ug_Status.ug_separtor_no_bottom_line_itc.func.state_get = NULL; - ugd->ug_Status.ug_separtor_no_bottom_line_itc.func.del = NULL; - - ugd->ug_Status.ug_separtor_with_bottom_line_itc.item_style = "dialogue/seperator.2"; - ugd->ug_Status.ug_separtor_with_bottom_line_itc.func.text_get = NULL; - ugd->ug_Status.ug_separtor_with_bottom_line_itc.func.content_get = NULL; - ugd->ug_Status.ug_separtor_with_bottom_line_itc.func.state_get = NULL; - ugd->ug_Status.ug_separtor_with_bottom_line_itc.func.del = NULL; - - // separator with no bottom line - item = elm_genlist_item_append(pGenlist, &ugd->ug_Status.ug_separtor_no_bottom_line_itc, NULL, NULL, ELM_GENLIST_ITEM_NONE, NULL, NULL); - - elm_genlist_item_select_mode_set(item, ELM_OBJECT_SELECT_MODE_DISPLAY_ONLY); - - // button for dialogue item (dialogue bg) - elm_genlist_item_append(pGenlist, &ugd->ug_Status.ug_topitc, (void *) ugd, NULL, ELM_GENLIST_ITEM_NONE, NULL, NULL); - - // separator with bottom line - item = elm_genlist_item_append(pGenlist, &ugd->ug_Status.ug_separtor_with_bottom_line_itc, NULL, NULL, ELM_GENLIST_ITEM_NONE, NULL, NULL); - elm_genlist_item_select_mode_set(item, ELM_OBJECT_SELECT_MODE_DISPLAY_ONLY); + ug_mf_retvm_if(parent == NULL, NULL, "pGenlist is NULL"); + ug_mf_retvm_if(real_name == NULL, NULL, "real_name is NULL"); + ug_mf_retvm_if(data == NULL, NULL, "data is NULL"); + ug_mf_retvm_if(itc == NULL, NULL, "itc is NULL"); + + ugData *ugd = (ugData *)data; + ugListItemData *ug_ItemData = NULL; + Elm_Object_Item *it = NULL; + + __mf_ug_genlist_init_item_data(ugd, &ug_ItemData, real_name); + if (ug_ItemData == NULL) { + ug_debug("alloc memory error\n"); + return NULL; + } + + if (ugd->ug_Status.ug_iViewType == mf_ug_view_root) { + if (g_strcmp0(real_name, PHONE_FOLDER) == 0) { + ug_ItemData->ug_pThumbPath = strdup(UG_ICON_FOLDER); + ug_ItemData->ug_bRealThumbFlag = true; + + } else if (g_strcmp0(real_name, MEMORY_FOLDER) == 0) { + ug_ItemData->ug_pThumbPath = strdup(UG_ICON_ITEM_MMC); + ug_ItemData->ug_bRealThumbFlag = true; + } + } + + ug_ItemData->ug_iGroupValue = groudValue; + ug_ItemData->ug_bChecked = true; + ugd->ug_Status.ug_iRadioOn = ug_ItemData->ug_iGroupValue; + it = elm_genlist_item_prepend(parent, itc, ug_ItemData, NULL, ELM_GENLIST_ITEM_NONE, NULL, NULL); + ug_ItemData->ug_pItem = it; + return it; } -void mf_ug_genlist_goto_myfile_item_append(Evas_Object *pGenlist, void *data) +Elm_Object_Item *mf_ug_genlist_item_insert(Evas_Object *parent, + char *real_name, + void *data, + int groudValue, + Elm_Genlist_Item_Class *itc, + Elm_Object_Item *after_item) { - ug_mf_retm_if(pGenlist == NULL, "pGenlist is NULL"); - ug_mf_retm_if(data == NULL, "data is NULL"); - ugData *ugd = (ugData *)data; - - ugListItemData *ug_ItemData; - Elm_Object_Item *it = NULL; - - __mf_ug_genlist_init_item_data(ugd, &ug_ItemData, NULL); - ug_debug("ug_ItemData is [%p]", &ug_ItemData); - - //it = elm_genlist_item_append(pGenlist, &ugd->ug_Status.ug_editfiledUpperSeperatoritc, NULL, NULL, ELM_GENLIST_ITEM_NONE, NULL, - // NULL); - //elm_genlist_item_select_mode_set(it, ELM_OBJECT_SELECT_MODE_DISPLAY_ONLY); - - it = elm_genlist_item_append(pGenlist, &ugd->ug_Status.ug_editfileditc, ug_ItemData, NULL, ELM_GENLIST_ITEM_NONE, NULL, NULL); - ug_ItemData->ug_pItem = it; - //elm_genlist_item_select_mode_set(it, ELM_OBJECT_SELECT_MODE_DISPLAY_ONLY); - - //it = elm_genlist_item_append(pGenlist, &ugd->ug_Status.ug_editfiledBottomSeperatoritc, NULL, NULL, ELM_GENLIST_ITEM_NONE, NULL, - // NULL); - //elm_genlist_item_select_mode_set(it, ELM_OBJECT_SELECT_MODE_DISPLAY_ONLY); + ug_mf_retvm_if(parent == NULL, NULL, "pGenlist is NULL"); + ug_mf_retvm_if(real_name == NULL, NULL, "real_name is NULL"); + ug_mf_retvm_if(data == NULL, NULL, "data is NULL"); + ug_mf_retvm_if(itc == NULL, NULL, "itc is NULL"); + + ugData *ugd = (ugData *)data; + ugListItemData *ug_ItemData = NULL; + Elm_Object_Item *it = NULL; + + __mf_ug_genlist_init_item_data(ugd, &ug_ItemData, real_name); + if (ug_ItemData == NULL) { + ug_debug("alloc memory error\n"); + return NULL; + } + + if (ugd->ug_Status.ug_iViewType == mf_ug_view_root) { + if (g_strcmp0(real_name, PHONE_FOLDER) == 0) { + ug_ItemData->ug_pThumbPath = strdup(UG_ICON_FOLDER); + ug_ItemData->ug_bRealThumbFlag = true; + + } else if (g_strcmp0(real_name, MEMORY_FOLDER) == 0) { + ug_ItemData->ug_pThumbPath = strdup(UG_ICON_ITEM_MMC); + ug_ItemData->ug_bRealThumbFlag = true; + } + } + + ug_ItemData->ug_iGroupValue = groudValue; + ug_ItemData->ug_bChecked = true; + ugd->ug_Status.ug_iRadioOn = ug_ItemData->ug_iGroupValue; + it = elm_genlist_item_insert_after(parent, itc, ug_ItemData, NULL, after_item, ELM_GENLIST_ITEM_NONE, NULL, NULL); + ug_ItemData->ug_pItem = it; + return it; } -Elm_Object_Item *mf_ug_genlist_item_append(Evas_Object *parent, - ugFsNodeInfo *pNode, - void *data, - int groudValue, - Elm_Genlist_Item_Class *itc) +void mf_ug_genlist_shortcuts_append(void *data, Evas_Object *parent, Elm_Genlist_Item_Class *itc) { - ug_mf_retvm_if(parent == NULL, NULL, "pGenlist is NULL"); - ug_mf_retvm_if(pNode == NULL, NULL, "pNode is NULL"); - ug_mf_retvm_if(data == NULL, NULL, "data is NULL"); - ug_mf_retvm_if(itc == NULL, NULL, "itc is NULL"); - - ugData *ugd = (ugData *)data; - ugListItemData *ug_ItemData = NULL; - Elm_Object_Item *it = NULL; - char *real_name = NULL; - - real_name = g_strconcat(pNode->path, "/", pNode->name, NULL); - __mf_ug_genlist_init_item_data(ugd, &ug_ItemData, real_name); - if (ug_ItemData == NULL) { - ug_debug("alloc memory error\n"); - if (real_name) { - free(real_name); - real_name = NULL; - } - return NULL; - } - - if (ugd->ug_Status.ug_iViewType == mf_ug_view_root) { - if(g_strcmp0(real_name, PHONE_FOLDER) == 0) { - ug_ItemData->ug_pThumbPath = strdup(UG_ICON_ITEM_PHONE); - ug_ItemData->ug_bRealThumbFlag = true; - - } else if(g_strcmp0(real_name, MEMORY_FOLDER) == 0) { - ug_ItemData->ug_pThumbPath = strdup(UG_ICON_ITEM_MMC); - ug_ItemData->ug_bRealThumbFlag = true; - } - } - - ug_ItemData->ug_iGroupValue = groudValue; - if (ugd->ug_UiGadget.ug_iSelectMode == SINGLE_ALL_MODE || ugd->ug_UiGadget.ug_iSelectMode == SINGLE_FILE_MODE) { - if (__mf_ug_genlist_is_file_marked(ugd->ug_UiGadget.ug_pMultiSelectFileList, ug_ItemData->ug_pItemName)) { - ug_ItemData->ug_bChecked = true; - ugd->ug_Status.ug_iRadioOn = ug_ItemData->ug_iGroupValue; - } - } - it = elm_genlist_item_append(parent, itc, ug_ItemData, NULL, ELM_GENLIST_ITEM_NONE, NULL, NULL); - ug_ItemData->ug_pItem = it; - - if (real_name) { - free(real_name); - real_name = NULL; - } - - return it; + ugData *ugd = (ugData *)data; + + Eina_List *shortcut = NULL; + mf_ug_db_handle_get_shortcut_files(&shortcut); + if (shortcut) { + Eina_List *l = NULL; + char *filename = NULL; + EINA_LIST_FOREACH(shortcut, l, filename) { + ugListItemData *ug_ItemData = NULL; + Elm_Object_Item *it = NULL; + __mf_ug_genlist_init_item_data(ugd, &ug_ItemData, filename); + ug_ItemData->ug_pThumbPath = strdup(UG_ICON_ITEM_SHORTCUT); + ug_ItemData->ug_bRealThumbFlag = true; + it = elm_genlist_item_append(parent, itc, ug_ItemData, NULL, ELM_GENLIST_ITEM_NONE, NULL, NULL); + ug_ItemData->ug_pItem = it; + + } + + } } - -Evas_Object *mf_ug_genlist_create_layout(Evas_Object *parent, const char *group_name, - double x_weight, double y_weight, - double x_align, double y_align) +void mf_ug_genlist_delete_ringtone_items_add(void *data) { - ug_mf_retvm_if(parent == NULL, NULL, "parent is NULL"); - ug_mf_retvm_if(group_name == NULL, NULL, "group_name is NULL"); - - Evas_Object *layout = elm_layout_add(parent); - - ug_mf_retvm_if(layout == NULL, NULL, "layout is NULL"); - - elm_object_focus_set(layout, EINA_FALSE); - - Eina_Bool result = elm_layout_file_set(layout, UG_EDJ_NAVIGATIONBAR, group_name); - - if (result == EINA_TRUE) - { - evas_object_size_hint_weight_set(layout, x_weight, y_weight); - evas_object_size_hint_align_set(layout, x_align, y_align); - - evas_object_show(layout); - } - - return layout; + UG_TRACE_BEGIN; + ugData *ugd = (ugData *)data; + ug_mf_retm_if(ugd == NULL, "ugd is NULL"); + + if (ugd->ug_UiGadget.ug_iSoundMode != mf_ug_sound_mode_none) { + Eina_List *ringtone_list = NULL; + if (ugd->ug_UiGadget.ug_iSoundMode == mf_ug_sound_mode_ringtone) { + mf_ug_db_handle_get_ringtone_files(&ringtone_list); + } else if (ugd->ug_UiGadget.ug_iSoundMode == mf_ug_sound_mode_alert) { + mf_ug_db_handle_get_alert_files(&ringtone_list); + } + + Eina_List *l = NULL; + char *filename = NULL; + EINA_LIST_FOREACH(ringtone_list, l, filename) { + if (filename) { + mf_ug_genlist_item_append(ugd->ug_MainWindow.ug_pNaviGenlist, filename, ugd, 0, &ugd->ug_Status.ug_1text2icon4_itc); + } + + } + } } - -Evas_Object *mf_ug_genlist_create_default_layout(Evas_Object *parent, const char *group_name) +int mf_ug_genlist_ringtone_delete_items_add(void *data, int value) { - return mf_ug_genlist_create_layout(parent, group_name, - EVAS_HINT_EXPAND, EVAS_HINT_EXPAND, - EVAS_HINT_FILL, EVAS_HINT_FILL); + UG_TRACE_BEGIN; + ugData *ugd = (ugData *)data; + ug_mf_retvm_if(ugd == NULL, -1, "ugd is NULL"); + int groupValue = value; + + if (ugd->ug_UiGadget.ug_iSoundMode != mf_ug_sound_mode_none) { + Eina_List *ringtone_list = NULL; + if (ugd->ug_UiGadget.ug_iSoundMode == mf_ug_sound_mode_ringtone) { + mf_ug_db_handle_get_ringtone_files(&ringtone_list); + } else if (ugd->ug_UiGadget.ug_iSoundMode == mf_ug_sound_mode_alert) { + mf_ug_db_handle_get_alert_files(&ringtone_list); + } + + Eina_List *l = NULL; + char *filename = NULL; + EINA_LIST_FOREACH(ringtone_list, l, filename) { + if (filename) { + /*P131205-01044 by wangyan , if setted ringtone in db , do not add it in delete genlist to avoid to be deleted*/ + if (g_strcmp0(filename, ugd->ug_Status.mark_mode) != 0) { + mf_ug_genlist_item_append(ugd->ug_MainWindow.ug_pNaviGenlist, filename, ugd, groupValue, &ugd->ug_Status.ug_1text2icon4_itc); + groupValue++; + } + } + } + } + return groupValue; } - -Evas_Object *mf_ug_genlist_no_mem_card(void *data) +int mf_ug_genlist_ringtone_items_add(void *data, int value) { - ugData *ugd = (ugData *)data; - ug_mf_retvm_if(ugd == NULL, NULL, "ugd is NULL"); - - Evas_Object *nocontent = mf_ug_genlist_create_default_layout(ugd->ug_MainWindow.ug_pMainLayout, UG_GRP_NO_CONTENT); - elm_object_signal_emit(nocontent, "show,no,memcard", "elm"); - elm_object_part_text_set(nocontent, "message", MF_UG_LABEL_NO_MEM_CARD); - - ugd->ug_Status.ug_bNoContentFlag = true; - return nocontent; + UG_TRACE_BEGIN; + ugData *ugd = (ugData *)data; + ug_mf_retvm_if(ugd == NULL, -1, "ugd is NULL"); + int groupValue = value; + + if (ugd->ug_UiGadget.ug_iSoundMode != mf_ug_sound_mode_none) { + Eina_List *ringtone_list = NULL; + if (ugd->ug_UiGadget.ug_iSoundMode == mf_ug_sound_mode_ringtone) { + mf_ug_db_handle_get_ringtone_files(&ringtone_list); + } else if (ugd->ug_UiGadget.ug_iSoundMode == mf_ug_sound_mode_alert) { + mf_ug_db_handle_get_alert_files(&ringtone_list); + } + + Eina_List *l = NULL; + char *filename = NULL; + EINA_LIST_FOREACH(ringtone_list, l, filename) { + if (filename) { + mf_ug_genlist_item_append(ugd->ug_MainWindow.ug_pNaviGenlist, filename, ugd, groupValue, &ugd->ug_Status.ug_1text2icon4_itc); + groupValue++; + } + + } + } + return groupValue; } - -Evas_Object *mf_ug_genlist_create_no_content(void *data) +void mf_ug_genlist_first_item_append(void *data, char *fullpath) { - ugData *ugd = (ugData *)data; - ug_mf_retvm_if(ugd == NULL, NULL, "ugd is NULL"); - Evas_Object *nocontent = NULL; - - nocontent = elm_layout_add(ugd->ug_MainWindow.ug_pMainLayout); - elm_layout_theme_set(nocontent, "layout", "nocontents", "text"); - elm_object_part_text_set(nocontent, "elm.text", MF_UG_LABEL_NO_FILES); - - ugd->ug_Status.ug_bNoContentFlag = true; + UG_TRACE_BEGIN; + ugData *ugd = (ugData *)data; + ug_mf_retm_if(ugd == NULL, "ugd is NULL"); + ug_mf_retm_if(fullpath == NULL, "fullpath is NULL"); + Evas_Object *genlist = ugd->ug_MainWindow.ug_pNaviGenlist; + int value = mf_ug_radio_max_get(); + Elm_Object_Item *it = NULL; + + it = mf_ug_genlist_item_prepend(genlist, fullpath, ugd, value+1, &ugd->ug_Status.ug_1text2icon4_itc); + mf_ug_radio_max_set(value+1); + + elm_genlist_item_bring_in(it, ELM_GENLIST_ITEM_SCROLLTO_TOP); + UG_TRACE_END; +} - return nocontent; +void mf_ug_genlist_first_item_insert(void *data, char *fullpath, Elm_Object_Item *insert_afer) +{ + UG_TRACE_BEGIN; + ugData *ugd = (ugData *)data; + ug_mf_retm_if(ugd == NULL, "ugd is NULL"); + ug_mf_retm_if(fullpath == NULL, "fullpath is NULL"); + Evas_Object *genlist = ugd->ug_MainWindow.ug_pNaviGenlist; + int value = mf_ug_radio_max_get(); + Elm_Object_Item *it = NULL; + + it = mf_ug_genlist_item_insert(genlist, fullpath, ugd, value+1, &ugd->ug_Status.ug_1text2icon4_itc, insert_afer); + mf_ug_radio_max_set(value+1); + + elm_genlist_item_bring_in(it, ELM_GENLIST_ITEM_SCROLLTO_TOP); + UG_TRACE_END; +} +/*To fix P131209-06058 wangyan*/ +void mf_ug_genlist_item_bringin_top(void *data, const char *music_path) +{ + UG_TRACE_BEGIN; + ugData *ugd = (ugData *)data; + ug_mf_retm_if(ugd == NULL, "ugd is NULL"); + ug_mf_retm_if(music_path == NULL, "music_path is NULL"); + Elm_Object_Item *it = NULL; + ugListItemData *itemData = NULL; + it = elm_genlist_first_item_get(ugd->ug_MainWindow.ug_pNaviGenlist); + while (it) { + itemData = elm_object_item_data_get(it); + if (itemData->ug_pItemName == NULL || itemData->ug_pItemName->str == NULL) { + continue; + } + if (g_strcmp0(music_path, itemData->ug_pItemName->str) == 0) { + itemData->ug_bChecked = true; + ugd->ug_Status.ug_iRadioOn = itemData->ug_iGroupValue; + elm_radio_value_set(ugd->ug_MainWindow.ug_pRadioGroup, itemData->ug_iGroupValue); + ug_debug("music file [%s] is brought to top", music_path); + elm_genlist_item_bring_in(it, ELM_GENLIST_ITEM_SCROLLTO_TOP); + break; + } + it = elm_genlist_item_next_get(it); + } + UG_TRACE_END; } + Evas_Object *mf_ug_genlist_create_content_list_view(void *data) { - UG_TRACE_BEGIN; - ugData *ugd = (ugData *)data; - ug_mf_retvm_if(ugd == NULL, NULL, "ugd is NULL"); - ugNaviBar *pNaviInUse = mf_ug_navi_bar_get_in_use_navi(ugd); - ug_mf_retvm_if(pNaviInUse == NULL, NULL, "pNaviInUse is NULL"); - - Evas_Object *genlist; - int error_code = 0; - Eina_List *dir_list = NULL; - Eina_List *file_list = NULL; - Elm_Object_Item *it = NULL; - int groupValue = 1; - int count = 0; - - ugListItemData *ug_ItemData; - - ugd->ug_Status.ug_iRadioOn = 0; - ugd->ug_Status.ug_bNoContentFlag = false; - - - GString *fullpath = g_string_new(ugd->ug_Status.ug_pPath->str); - - - - error_code = mf_ug_fm_svc_wapper_get_file_list_by_filter(ugd, fullpath, &dir_list, &file_list); - if (error_code == 0) { - - if (ugd->ug_UiGadget.ug_pDirList) { - mf_ug_util_free_eina_list_data(&ugd->ug_UiGadget.ug_pDirList, NODE_TYPE_PNODE); - ugd->ug_UiGadget.ug_pDirList = NULL; - } - if (ugd->ug_UiGadget.ug_pFilterList) { - mf_ug_util_free_eina_list_data(&ugd->ug_UiGadget.ug_pFilterList, NODE_TYPE_PNODE); - ugd->ug_UiGadget.ug_pFilterList = NULL; - } - - ugd->ug_UiGadget.ug_pFilterList = file_list; - ugd->ug_UiGadget.ug_pDirList = dir_list; - mf_ug_util_sort_the_file_list(ugd); - - } - - - /* list option set */ - unsigned int dir_list_len = eina_list_count(dir_list); - unsigned int filter_file_list_len = eina_list_count(ugd->ug_UiGadget.ug_pFilterList); - ug_debug("error_code is [%d]dir_list_len is [%d]file_list_len is [%d]\n", error_code, dir_list_len, filter_file_list_len); - - - if ((dir_list_len == 0 && filter_file_list_len == 0)) { - ug_debug("=========================================== create the no content view"); - mf_ug_util_add_dir_watch(fullpath->str, ugd); - g_string_free(fullpath, true); - fullpath = NULL; - return mf_ug_genlist_create_no_content(ugd); - } - - genlist = __mf_ug_genlist_create_gl(ugd); - - ugd->ug_MainWindow.ug_pNaviGenlist = genlist; - ugFsNodeInfo *pNode = NULL; - Eina_List *l = NULL; - - EINA_LIST_FOREACH(ugd->ug_UiGadget.ug_pDirList, l, pNode) { - count++; - - - if (ugd->ug_UiGadget.ug_iSelectMode == MULTI_FILE_MODE || - ugd->ug_UiGadget.ug_iSelectMode == SINGLE_FILE_MODE || - ugd->ug_UiGadget.ug_iSelectMode == IMPORT_PATH_SELECT_MODE || - ugd->ug_UiGadget.ug_iSelectMode == IMPORT_MODE || - ugd->ug_UiGadget.ug_iSelectMode == EXPORT_MODE || - ugd->ug_UiGadget.ug_iSelectMode == SAVE_MODE || - ugd->ug_UiGadget.ug_iSelectMode == IMPORT_SINGLE) { - - mf_ug_genlist_item_append(genlist, pNode, ugd, 0, &ugd->ug_Status.ug_normalitc); - } else { - mf_ug_genlist_item_append(genlist, pNode, ugd, groupValue, &ugd->ug_Status.ug_itc); - groupValue++; - } - } - - EINA_LIST_FOREACH(ugd->ug_UiGadget.ug_pFilterList, l, pNode) { - count++; - if (ugd->ug_UiGadget.ug_iSelectMode == SINGLE_ALL_MODE || ugd->ug_UiGadget.ug_iSelectMode == SINGLE_FILE_MODE) { - mf_ug_genlist_item_append(genlist, pNode, ugd, groupValue, &ugd->ug_Status.ug_itc); - groupValue++; - } else if (ugd->ug_UiGadget.ug_iSelectMode == EXPORT_MODE || ugd->ug_UiGadget.ug_iSelectMode == SAVE_MODE) { - mf_ug_genlist_item_append(genlist, pNode, ugd, 0, &ugd->ug_Status.ug_normalitc); - } else { - mf_ug_genlist_item_append(genlist, pNode, ugd, 0, &ugd->ug_Status.ug_itc); - } - } - - if (fullpath != NULL) { - if ( !mf_ug_fm_svc_wapper_is_root_path(ugd->ug_Status.ug_pPath) ) { - mf_ug_util_add_dir_watch(fullpath->str, ugd); - } - g_string_free(fullpath, TRUE); - } - UG_TRACE_END; - return genlist; + UG_TRACE_BEGIN; + ugData *ugd = (ugData *)data; + ug_mf_retvm_if(ugd == NULL, NULL, "ugd is NULL"); + + Evas_Object *genlist; + int error_code = 0; + Eina_List *dir_list = NULL; + Eina_List *file_list = NULL; + int groupValue = 1; + int count = 0; + unsigned int dir_list_len = 0; + unsigned int filter_file_list_len = 0; + ugd->ug_Status.ug_iRadioOn = 0; + ugd->ug_Status.ug_bNoContentFlag = false; + + GString *fullpath = g_string_new(ugd->ug_Status.ug_pPath->str); + + if (ugd->ug_Status.ug_iViewType == mf_ug_view_root && ugd->ug_Status.ug_iMore != UG_MORE_SEARCH) { + mf_ug_util_generate_root_view_file_list(&dir_list, ugd->ug_Status.ug_iMmcFlag); + ugd->ug_UiGadget.ug_pDirList = dir_list; + ugd->ug_UiGadget.ug_pFilterList = NULL; + mf_ug_util_sort_the_file_list(ugd); + dir_list_len = eina_list_count(dir_list); + + } else { + error_code = mf_ug_fm_svc_wapper_get_file_list_by_filter(ugd, fullpath, &dir_list, &file_list); + if (error_code == 0) { + + if (ugd->ug_UiGadget.ug_pDirList) { + mf_ug_util_free_eina_list_data(&ugd->ug_UiGadget.ug_pDirList, NODE_TYPE_PNODE); + ugd->ug_UiGadget.ug_pDirList = NULL; + } + if (ugd->ug_UiGadget.ug_pFilterList) { + mf_ug_util_free_eina_list_data(&ugd->ug_UiGadget.ug_pFilterList, NODE_TYPE_PNODE); + ugd->ug_UiGadget.ug_pFilterList = NULL; + } + + ugd->ug_UiGadget.ug_pFilterList = file_list; + ugd->ug_UiGadget.ug_pDirList = dir_list; + mf_ug_util_sort_the_file_list(ugd); + dir_list_len = eina_list_count(dir_list); + filter_file_list_len = eina_list_count(ugd->ug_UiGadget.ug_pFilterList); + } + + } + + /* list option set */ + ug_debug("error_code is [%d]dir_list_len is [%d]file_list_len is [%d]\n", error_code, dir_list_len, filter_file_list_len); + + + if ((dir_list_len == 0 && filter_file_list_len == 0)) { + Evas_Object *nocontent = mf_ug_widget_nocontent_create(ugd->ug_MainWindow.ug_pMainLayout, MF_UG_LABEL_NO_RESULT, UG_ICON_MULTI_NO_CONTENTS); + ugd->ug_Status.ug_bNoContentFlag = true; + mf_ug_util_add_dir_watch(fullpath->str, ugd); + g_string_free(fullpath, true); + fullpath = NULL; + return nocontent; + } + + genlist = __mf_ug_genlist_create_gl(ugd); + elm_genlist_block_count_set(genlist, MF_UG_GENLIST_REALIZE_ITEM_COUNT); + + ugd->ug_MainWindow.ug_pNaviGenlist = genlist; + ugFsNodeInfo *pNode = NULL; + char *real_name = NULL; + Eina_List *l = NULL; + + EINA_LIST_FOREACH(ugd->ug_UiGadget.ug_pDirList, l, pNode) { + if (pNode) { + if (pNode->path && pNode->name) { + real_name = g_strconcat(pNode->path, "/", pNode->name, NULL); + } + } else { + continue; + } + count++; + + + if (ugd->ug_UiGadget.ug_iSelectMode == MULTI_FILE_MODE || + ugd->ug_UiGadget.ug_iSelectMode == SINGLE_FILE_MODE || + ugd->ug_UiGadget.ug_iSelectMode == IMPORT_PATH_SELECT_MODE || + ugd->ug_UiGadget.ug_iSelectMode == IMPORT_MODE || + ugd->ug_UiGadget.ug_iSelectMode == EXPORT_MODE || + ugd->ug_UiGadget.ug_iSelectMode == SAVE_MODE || + ugd->ug_UiGadget.ug_iSelectMode == IMPORT_SINGLE || + ugd->ug_UiGadget.ug_iSelectMode == DOCUMENT_SHARE) { + mf_ug_genlist_item_append(genlist, real_name, ugd, 0, &ugd->ug_Status.ug_1text1icon_itc); + } else { + mf_ug_genlist_item_append(genlist, real_name, ugd, groupValue, &ugd->ug_Status.ug_1text3icon_itc); + groupValue++; + } + UG_SAFE_FREE_CHAR(real_name); + } + + if (ugd->ug_Status.ug_iViewType == mf_ug_view_root && ugd->ug_Status.ug_iMore != UG_MORE_SEARCH) { + mf_ug_genlist_shortcuts_append(ugd, genlist, &ugd->ug_Status.ug_1text1icon_itc); + } + + EINA_LIST_FOREACH(ugd->ug_UiGadget.ug_pFilterList, l, pNode) { + if (pNode) { + if (pNode->path && pNode->name) { + real_name = g_strconcat(pNode->path, "/", pNode->name, NULL); + } + } else { + continue; + } + count++; + if (ugd->ug_UiGadget.ug_iSelectMode == SINGLE_ALL_MODE || ugd->ug_UiGadget.ug_iSelectMode == SINGLE_FILE_MODE) { + mf_ug_genlist_item_append(genlist, real_name, ugd, groupValue, &ugd->ug_Status.ug_1text3icon_itc); + groupValue++; + } else if (ugd->ug_UiGadget.ug_iSelectMode == EXPORT_MODE || ugd->ug_UiGadget.ug_iSelectMode == SAVE_MODE) { + mf_ug_genlist_item_append(genlist, real_name, ugd, 0, &ugd->ug_Status.ug_1text1icon_itc); + } else { + mf_ug_genlist_item_append(genlist, real_name, ugd, 0, &ugd->ug_Status.ug_1text3icon_itc); + } + UG_SAFE_FREE_CHAR(real_name); + } + + if (fullpath != NULL) { + if (ugd->ug_Status.ug_iViewType != mf_ug_view_root) { + mf_ug_util_add_dir_watch(fullpath->str, ugd); + } + g_string_free(fullpath, TRUE); + } + mf_ug_radio_max_set(groupValue); + UG_TRACE_END; + return genlist; } static char *__get_title_gl_text(void *data, Evas_Object *obj, const char *part) { - if (data) - return g_strdup((char *)data); - else - return NULL; + if (data) + return g_strdup((char *)data); + else + return NULL; } static void __del_title_gl(void *data, Evas_Object * obj) { - UG_SAFE_FREE_CHAR(data); + UG_SAFE_FREE_CHAR(data); } Evas_Object *mf_ug_genlist_create_path_info(Evas_Object *parent, Elm_Genlist_Item_Class *itc, char *info) { - ug_mf_retvm_if(parent == NULL, NULL, "parent is NULL"); + ug_mf_retvm_if(parent == NULL, NULL, "parent is NULL"); - Evas_Object *genlist = NULL; - Elm_Object_Item *git=NULL; + Evas_Object *genlist = NULL; + Elm_Object_Item *git = NULL; - genlist = elm_genlist_add(parent); - elm_genlist_homogeneous_set(genlist, EINA_TRUE); + genlist = elm_genlist_add(parent); + elm_genlist_mode_set(genlist, ELM_LIST_COMPRESS); + elm_genlist_homogeneous_set(genlist, EINA_TRUE); - itc->item_style = "grouptitle"; - itc->func.text_get = __get_title_gl_text; - itc->func.del = __del_title_gl; + itc->item_style = "groupindex"; + itc->func.text_get = __get_title_gl_text; + itc->func.del = __del_title_gl; - git = elm_genlist_item_append(genlist, itc, info, NULL, ELM_GENLIST_ITEM_NONE, NULL, NULL); - elm_genlist_item_select_mode_set(git, ELM_OBJECT_SELECT_MODE_DISPLAY_ONLY); + git = elm_genlist_item_append(genlist, itc, info, NULL, ELM_GENLIST_ITEM_NONE, NULL, NULL); + elm_genlist_item_select_mode_set(git, ELM_OBJECT_SELECT_MODE_DISPLAY_ONLY); - return genlist; + return genlist; } -void mf_ug_genlist_item_remove(Evas_Object *parent, const char *path) +void mf_ug_genlist_item_remove(Evas_Object *parent, int storage) { - ug_debug("path is [%s]", path); - ug_mf_retm_if(parent == NULL, "parent is NULL"); - ug_mf_retm_if(path == NULL, "path is NULL"); - - ugListItemData *itemData = NULL; - Elm_Object_Item *it = NULL; - - it = elm_genlist_first_item_get(parent); - while (it) { - itemData = elm_object_item_data_get(it); - if (itemData->ug_pItemName == NULL || itemData->ug_pItemName->str == NULL) { - continue; - } - ug_debug("itemData->m_ItemName->str is [%s]", itemData->ug_pItemName->str); - if (g_strcmp0(path, itemData->ug_pItemName->str) == 0) { - elm_object_item_del(it); - break; - } - - it = elm_genlist_item_next_get(it); - } - + ug_mf_retm_if(parent == NULL, "parent is NULL"); + + ugListItemData *itemData = NULL; + Elm_Object_Item *it = NULL; + + it = elm_genlist_first_item_get(parent); + while (it) { + itemData = elm_object_item_data_get(it); + ug_debug("itemData->m_ItemName->str is [%s]", itemData->ug_pItemName->str); + if (storage == itemData->storage_type) { + Elm_Object_Item *temp_item = it; + it = elm_genlist_item_next_get(it); + elm_object_item_del(temp_item); + continue; + } + + it = elm_genlist_item_next_get(it); + } } + +Elm_Object_Item *mf_ug_genlist_first_item_get(Evas_Object *genlist) +{ + int x = 300; + int y = 220; + int posret = 0; + Elm_Object_Item *it = NULL; + it = elm_genlist_at_xy_item_get(genlist, x, y, &posret); + return it; +} diff --git a/src/widget/mf-ug-navi-bar.c b/src/widget/mf-ug-navi-bar.c index d50e530..de3ebd6 100644 --- a/src/widget/mf-ug-navi-bar.c +++ b/src/widget/mf-ug-navi-bar.c @@ -1,18 +1,21 @@ /* - * 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. - */ +* Copyright (c) 2000-2015 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. +* +*/ + +#include <efl_extension.h> #include "mf-ug-winset.h" #include "mf-ug-cb.h" @@ -20,10 +23,17 @@ #include "mf-ug-util.h" #include "mf-ug-fs-util.h" #include "mf-ug-resource.h" +#include "mf-ug-widget.h" +#include "mf-ug-music.h" +#include "mf-ug-view.h" +#include "mf-ug-db-handle.h" +#include "mf-ug-file-util.h" +#define PROGRESSBAR_W 100 +#define PROGRESSBAR_H 72 /****************************** -** Prototype : __mf_ug_navi_bar_create_group_radio_box +** Prototype : mf_ug_navi_bar_create_group_radio_box ** Description : Samsung ** Input : void *data ** Output : None @@ -37,32 +47,32 @@ ** Modification : Created function ** ******************************/ -static void __mf_ug_navi_bar_create_group_radio_box(void *data) +void mf_ug_navi_bar_create_group_radio_box(void *data) { - UG_TRACE_BEGIN; - ugData *ugd = (ugData *)data; - ug_mf_retm_if(ugd == NULL, "ugd is NULL"); + UG_TRACE_BEGIN; + ugData *ugd = (ugData *)data; + ug_mf_retm_if(ugd == NULL, "ugd is NULL"); - Evas_Object *group_radio = NULL; + Evas_Object *group_radio = NULL; - if (ugd->ug_MainWindow.ug_pRadioGroup != NULL) { - evas_object_del(ugd->ug_MainWindow.ug_pRadioGroup); - ugd->ug_MainWindow.ug_pRadioGroup = NULL; - } + if (ugd->ug_MainWindow.ug_pRadioGroup != NULL) { + evas_object_del(ugd->ug_MainWindow.ug_pRadioGroup); + ugd->ug_MainWindow.ug_pRadioGroup = NULL; + } - group_radio = elm_radio_add(ugd->ug_MainWindow.ug_pMainLayout); - ug_mf_retm_if(group_radio == NULL, "ugd is NULL"); + group_radio = elm_radio_add(ugd->ug_MainWindow.ug_pMainLayout); + ug_mf_retm_if(group_radio == NULL, "ugd is NULL"); - elm_radio_value_set(group_radio, 0); - evas_object_hide(group_radio); - /*/Internal/invisible Radio Objects used to group the radio buttons in the list. */ - ugd->ug_MainWindow.ug_pRadioGroup = group_radio; - UG_TRACE_END; + elm_radio_value_set(group_radio, 0); + evas_object_hide(group_radio); + /*/Internal/invisible Radio Objects used to group the radio buttons in the list. */ + ugd->ug_MainWindow.ug_pRadioGroup = group_radio; + UG_TRACE_END; } /****************************** -** Prototype : __mf_ug_navi_bar_push_content +** Prototype : mf_ug_navi_bar_push_content ** Description : Samsung ** Input : ugData *data ** Evas_Object *NaviContent @@ -77,102 +87,56 @@ static void __mf_ug_navi_bar_create_group_radio_box(void *data) ** Modification : Created function ** ******************************/ -static void __mf_ug_navi_bar_push_content(void *data, Evas_Object *NaviContent) +void mf_ug_navi_bar_push_content(void *data, Evas_Object *NaviContent) { - UG_TRACE_BEGIN; - ug_mf_retm_if(data == NULL, "pNavi_s is NULL"); - ugData *ugd = (ugData *)data; - ugNaviBar *pNavi_s = mf_ug_navi_bar_get_in_use_navi(ugd); - - Evas_Object *NaviBar = ugd->ug_MainWindow.ug_pNaviBar; - char *title = NULL; - - ugd->ug_MainWindow.ug_pPreNaviItem = ugd->ug_MainWindow.ug_pNaviItem; - - if (pNavi_s) { - if(!g_strcmp0(pNavi_s->ug_pNaviTitle, "Ringtones")) { - if (pNavi_s->ug_pNaviTitle) { - g_free(pNavi_s->ug_pNaviTitle); - pNavi_s->ug_pNaviTitle = NULL; - } - pNavi_s->ug_pNaviTitle = g_strdup(MF_UG_LABEL_RINGTONES); - } else if(!g_strcmp0(pNavi_s->ug_pNaviTitle, "Alarms")) { - if (pNavi_s->ug_pNaviTitle) { - g_free(pNavi_s->ug_pNaviTitle); - pNavi_s->ug_pNaviTitle = NULL; - } - pNavi_s->ug_pNaviTitle = g_strdup(MF_UG_LABEL_ALARM); - } else if (!g_strcmp0(pNavi_s->ug_pNaviTitle, "Alerts")) { - } - title = pNavi_s->ug_pNaviTitle; - } - ug_debug("title=%s", title); - - ugd->ug_MainWindow.ug_pNaviItem = elm_naviframe_item_push(NaviBar, title, NULL, NULL, NaviContent, NULL); - - UG_TRACE_END; -} - + UG_TRACE_BEGIN; + ug_mf_retm_if(data == NULL, "pNavi_s is NULL"); + ugData *ugd = (ugData *)data; -static Eina_Bool __mf_widget_notify_popup_timer_cb(void *data) -{ - ugData *ugd = (ugData *)data; - ug_mf_retvm_if(ugd == NULL, EINA_FALSE, "ugd is null"); + Evas_Object *NaviBar = ugd->ug_MainWindow.ug_pNaviBar; + ug_error("NaviBar is [%p]", NaviBar); + ugd->ug_MainWindow.ug_pPreNaviItem = ugd->ug_MainWindow.ug_pNaviItem; - elm_object_part_content_unset(ugd->ug_MainWindow.ug_pNaviLayout, - "sel_contents"); - UG_SAFE_FREE_OBJ(ugd->ug_MainWindow.ug_pSelectInfoLayout); - ugd->ug_Status.pPopupTimer = NULL; - return false; + if (ugd->ug_MainWindow.ug_pPreNaviItem) { + ugd->ug_MainWindow.ug_pNaviItem = elm_naviframe_item_insert_after(NaviBar, ugd->ug_MainWindow.ug_pPreNaviItem, NULL, NULL, NULL, NaviContent, NULL); + } else { + ugd->ug_MainWindow.ug_pNaviItem = elm_naviframe_item_push(NaviBar, "", NULL, NULL, NaviContent, NULL); + } + UG_TRACE_END; } -Evas_Object *mf_ug_navibar_create_notify_popup(void *data, - Evas_Object *parent, - char *label, - bool time_out, - void func(void *data, Evas_Object *obj, void *event_info)) -{ - UG_TRACE_BEGIN; - ug_mf_retvm_if(data == NULL, NULL, "data is NULL"); - ug_mf_retvm_if(parent == NULL, NULL, "parent is NULL"); - ug_mf_retvm_if(label == NULL, NULL, "label is NULL"); - ugData *ugd = (ugData *)data; - - - Evas_Object *countlabel = NULL; - if (ugd->ug_MainWindow.ug_pSelectInfoLayout && ugd->ug_Status.pPopupTimer) { - elm_object_part_text_set(ugd->ug_MainWindow.ug_pSelectInfoLayout, "elm.text", label); - countlabel = ugd->ug_MainWindow.ug_pSelectInfoLayout; - } else { - elm_object_part_content_unset(ugd->ug_MainWindow.ug_pNaviLayout, - "sel_contents"); - UG_SAFE_FREE_OBJ(ugd->ug_MainWindow.ug_pSelectInfoLayout); - countlabel = elm_layout_add(parent); - evas_object_size_hint_weight_set(countlabel, - EVAS_HINT_EXPAND, - EVAS_HINT_EXPAND); - evas_object_size_hint_align_set(countlabel, - EVAS_HINT_FILL, - EVAS_HINT_FILL); - elm_layout_theme_set(countlabel, "standard", "selectioninfo", "center_text"); - elm_object_part_text_set(countlabel, "elm.text", label); - elm_object_part_content_set(parent, - "sel_contents", - countlabel); - elm_object_signal_emit(countlabel, "show,selection,info", "elm"); - } - - UG_SAFE_DEL_ECORE_TIMER(ugd->ug_Status.pPopupTimer); - if (time_out) { - ugd->ug_Status.pPopupTimer = ecore_timer_add(3, __mf_widget_notify_popup_timer_cb, ugd); - } - - evas_object_show(countlabel); - UG_TRACE_END; - return countlabel; - +/****************************** +** Prototype : mf_ug_navi_bar_set_ctrl_item_disable +** Description : Samsung +** Input : void *data +** Output : None +** Return Value : +** Calls : +** Called By : +** +** History : +** 1.Date : 2010/12/10 +** Author : Samsung +** Modification : Created function +** +******************************/ +void mf_ug_navi_bar_set_ctrl_item_disable(void *data) +{ + UG_TRACE_BEGIN; + ugData *ugd = (ugData *)data; + ug_mf_retm_if(ugd == NULL, "ugd is NULL"); + bool disable = false; + + if (ugd->ug_Status.ug_bNoContentFlag == true) { + mf_ug_navi_bar_button_set_disable(ugd, true); + } else { + disable = mf_ug_util_is_genlist_selected(ugd); + mf_ug_navi_bar_button_set_disable(ugd, !disable); + } + + UG_TRACE_END; } /****************************** @@ -192,21 +156,22 @@ Evas_Object *mf_ug_navibar_create_notify_popup(void *data, ******************************/ Evas_Object *mf_ug_navi_bar_create_navi_bar(Evas_Object *parent) { - UG_TRACE_BEGIN; - Evas_Object *navi_bar = NULL; - ug_mf_retvm_if(parent == NULL, NULL, "parent is NULL"); + UG_TRACE_BEGIN; + Evas_Object *navi_bar = NULL; + ug_mf_retvm_if(parent == NULL, NULL, "parent is NULL"); - navi_bar = elm_naviframe_add(parent); - ug_mf_retvm_if(navi_bar == NULL, NULL, "Failed elm_navigationbar_add"); - elm_naviframe_prev_btn_auto_pushed_set(navi_bar, EINA_FALSE); + navi_bar = elm_naviframe_add(parent); + ug_mf_retvm_if(navi_bar == NULL, NULL, "Failed elm_navigationbar_add"); + elm_naviframe_prev_btn_auto_pushed_set(navi_bar, EINA_FALSE); - evas_object_show(navi_bar); + evas_object_show(navi_bar); + eext_object_event_callback_add(navi_bar, EEXT_CALLBACK_BACK, eext_naviframe_back_cb, NULL); + eext_object_event_callback_add(navi_bar, EEXT_CALLBACK_MORE, eext_naviframe_more_cb, NULL); - UG_TRACE_END; - return navi_bar; + UG_TRACE_END; + return navi_bar; } - /****************************** ** Prototype : mf_ug_navi_bar_set_new_content ** Description : Samsung @@ -225,49 +190,49 @@ Evas_Object *mf_ug_navi_bar_create_navi_bar(Evas_Object *parent) ******************************/ void mf_ug_navi_bar_set_new_content(Evas_Object *pLayout, Evas_Object *NaviContent) { - UG_TRACE_BEGIN; - Evas_Object *unUsed = elm_object_part_content_unset(pLayout, "part1"); - evas_object_del(unUsed); - elm_object_part_content_set(pLayout, "part1", NaviContent); - UG_TRACE_END; + UG_TRACE_BEGIN; + Evas_Object *unUsed = elm_object_part_content_unset(pLayout, "part1"); + evas_object_del(unUsed); + elm_object_part_content_set(pLayout, "part1", NaviContent); + UG_TRACE_END; } Evas_Object *mf_ug_navi_bar_create_box(Evas_Object * parent) { - UG_TRACE_BEGIN; - ug_mf_retvm_if(parent == NULL, NULL, "parent is NULL"); - - Evas_Object *box = NULL; - box = elm_box_add(parent); - ug_mf_retvm_if(box == NULL, NULL, "box is NULL"); - elm_object_focus_set(box, EINA_FALSE); - evas_object_size_hint_weight_set(box, EVAS_HINT_EXPAND, EVAS_HINT_FILL); - evas_object_size_hint_align_set(box, EVAS_HINT_FILL, EVAS_HINT_FILL); - elm_box_clear(box); - evas_object_show(box); - UG_TRACE_END; - return box; + UG_TRACE_BEGIN; + ug_mf_retvm_if(parent == NULL, NULL, "parent is NULL"); + + Evas_Object *box = NULL; + box = elm_box_add(parent); + ug_mf_retvm_if(box == NULL, NULL, "box is NULL"); + elm_object_focus_set(box, EINA_FALSE); + evas_object_size_hint_weight_set(box, EVAS_HINT_EXPAND, EVAS_HINT_FILL); + evas_object_size_hint_align_set(box, EVAS_HINT_FILL, EVAS_HINT_FILL); + elm_box_clear(box); + evas_object_show(box); + UG_TRACE_END; + return box; } Evas_Object *mf_ug_navi_bar_create_layout(Evas_Object *parent, const char *edj, const char *grp_name) { - UG_TRACE_BEGIN; - ug_mf_retvm_if(parent == NULL, NULL, "parent is NULL"); - ug_mf_retvm_if(edj == NULL, NULL, "edj is NULL"); - ug_mf_retvm_if(grp_name == NULL, NULL, "grp_name is NULL"); - - Evas_Object *layout = NULL; - - layout = elm_layout_add(parent); - ug_mf_retvm_if(layout == NULL, NULL, "layout is NULL"); - elm_object_focus_set(layout, EINA_FALSE); - elm_layout_file_set(layout, edj, grp_name); - evas_object_size_hint_weight_set(layout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - evas_object_size_hint_align_set(layout, EVAS_HINT_FILL, EVAS_HINT_FILL); - evas_object_show(layout); - UG_TRACE_END; - return layout; + UG_TRACE_BEGIN; + ug_mf_retvm_if(parent == NULL, NULL, "parent is NULL"); + ug_mf_retvm_if(edj == NULL, NULL, "edj is NULL"); + ug_mf_retvm_if(grp_name == NULL, NULL, "grp_name is NULL"); + + Evas_Object *layout = NULL; + + layout = elm_layout_add(parent); + ug_mf_retvm_if(layout == NULL, NULL, "layout is NULL"); + elm_object_focus_set(layout, EINA_FALSE); + elm_layout_file_set(layout, edj, grp_name); + evas_object_size_hint_weight_set(layout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); + evas_object_size_hint_align_set(layout, EVAS_HINT_FILL, EVAS_HINT_FILL); + evas_object_show(layout); + UG_TRACE_END; + return layout; } @@ -286,671 +251,624 @@ Evas_Object *mf_ug_navi_bar_create_layout(Evas_Object *parent, const char *edj, ** Modification : Created function ** ******************************/ -Evas_Object *__mf_ug_navi_bar_pathinfo_create(Evas_Object *parent, const char *content) +static void __mf_ug_search_select_all_check_changed_cb(void *data, Evas_Object * obj, void *event_info) { - UG_TRACE_BEGIN; - ug_mf_retvm_if(parent == NULL, NULL, "parent is NULL"); - ug_mf_retvm_if(content == NULL, NULL, "content is NULL"); - - Evas_Object *layout = NULL; - - layout = elm_layout_add(parent); - elm_object_focus_set(layout, EINA_FALSE); - elm_layout_file_set(layout, UG_EDJ_NAVIGATIONBAR, UG_GRP_PATH_INFO); - evas_object_size_hint_weight_set(layout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - evas_object_size_hint_align_set(layout, EVAS_HINT_FILL, EVAS_HINT_FILL); - - elm_object_part_text_set(layout, "info", content); - evas_object_show(layout); - UG_TRACE_END; - return layout; + UG_TRACE_BEGIN; + ugData *ugd = (ugData *)data; + ug_mf_retm_if(ugd == NULL, "ugd is NULL"); + Evas_Object *genlist = ugd->ug_MainWindow.ug_pNaviGenlist; + if (ugd->ug_Status.ug_bSelectAllChecked) { + ugd->ug_Status.ug_iCheckedCount = ugd->ug_Status.ug_iTotalCount; + } else { + ugd->ug_Status.ug_iCheckedCount = 0; + } + + ugListItemData *it_data; + Elm_Object_Item *it; + int count = 0; + + it = elm_genlist_first_item_get(genlist); + while (it) { + it_data = elm_object_item_data_get(it); + if (it_data) { + it_data->ug_bChecked = ugd->ug_Status.ug_bSelectAllChecked; + count++; + } + it = elm_genlist_item_next_get(it); + } + elm_genlist_realized_items_update(genlist); + + if (count > 0 && ugd->ug_Status.ug_bSelectAllChecked) { + char *label = NULL; + /*1 TODO: need to update for multi-language */ + + label = g_strdup_printf(mf_ug_widget_get_text(MF_UG_LABEL_SELECTED), count); + + elm_object_item_part_text_set(ugd->ug_MainWindow.ug_pNaviItem, "elm.text.title", label); + UG_SAFE_FREE_CHAR(label); + + } else { + if (mf_ug_util_is_import_mode(ugd->ug_UiGadget.ug_iSelectMode)) { + mf_ug_widget_object_item_text_set(ugd->ug_MainWindow.ug_pNaviItem, MF_UG_LABEL_IMPORT_CHAP, "elm.text.title"); + } else if (ugd->ug_UiGadget.ug_iSelectMode == DOCUMENT_SHARE || ugd->ug_UiGadget.ug_iSelectMode == SSM_DOCUMENT_SHARE) { + mf_ug_widget_object_item_text_set(ugd->ug_MainWindow.ug_pNaviItem, MF_UG_LABEL_DOCUMENTS, "elm.text.title"); + } else { + char *label = NULL; + label = g_strdup(mf_ug_widget_get_text(MF_UG_LABEL_SELECT_ITEMS)); + ug_error("label = %s", label); + elm_object_item_part_text_set(ugd->ug_MainWindow.ug_pNaviItem, "elm.text.title", label); + UG_SAFE_FREE_CHAR(label); + } + } + mf_ug_navi_bar_set_ctrl_item_disable(ugd); + + UG_TRACE_END; } - -void mf_ug_navi_bar_title_set(void *data) +void mf_ug_select_all_layout_mouse_down_cb(void *data, Evas_Object *obj, void *event_info) { - UG_TRACE_BEGIN; - ugData *ugd = (ugData *)data; - ug_mf_retm_if(ugd == NULL, "ugd is NULL"); - if (ugd->ug_UiGadget.ug_iSelectMode == IMPORT_MODE - || ugd->ug_UiGadget.ug_iSelectMode == IMPORT_PATH_SELECT_MODE - || ugd->ug_UiGadget.ug_iSelectMode == IMPORT_SINGLE) { - elm_object_part_text_set(ugd->ug_MainWindow.ug_pNaviBar, "elm.text.title", MF_UG_LABEL_IMPORT); - } else if (!(ugd->ug_Status.ug_bSettingEntry == true && ugd->ug_Status.ug_bInSettingView == true)) { - Evas_Object *home_btn = elm_button_add(ugd->ug_MainWindow.ug_pNaviBar); - elm_object_style_set(home_btn, "naviframe/title_icon"); - Evas_Object *home_ic = elm_image_add(ugd->ug_MainWindow.ug_pNaviBar); - elm_image_file_set(home_ic, UG_TITLE_ICON_HOME, NULL); - elm_image_resizable_set(home_ic, EINA_TRUE, EINA_TRUE); - elm_object_content_set(home_btn, home_ic); - evas_object_smart_callback_add(home_btn, "clicked", mf_ug_cb_home_button_cb, ugd); - evas_object_smart_callback_add(home_btn, "pressed", mf_ug_cb_home_button_pressed_cb, home_ic); - evas_object_smart_callback_add(home_btn, "unpressed", mf_ug_cb_home_button_unpressed_cb, home_ic); - evas_object_show(home_btn); - elm_object_item_part_content_set(ugd->ug_MainWindow.ug_pNaviItem, TITLE_LEFT_BTN, home_btn); - - Evas_Object *up_btn = elm_button_add(ugd->ug_MainWindow.ug_pNaviBar); - elm_object_style_set(up_btn, "naviframe/title_icon"); - Evas_Object *up_ic = elm_image_add(ugd->ug_MainWindow.ug_pNaviBar); - elm_image_file_set(up_ic, UG_TITLE_ICON_UPPER, NULL); - elm_image_resizable_set(up_ic, EINA_TRUE, EINA_TRUE); - elm_object_content_set(up_btn, up_ic); - evas_object_smart_callback_add(up_btn, "clicked", mf_ug_cb_upper_click_cb, ugd); - evas_object_smart_callback_add(up_btn, "pressed", mf_ug_cb_upper_button_pressed_cb, up_ic); - evas_object_smart_callback_add(up_btn, "unpressed", mf_ug_cb_upper_button_unpressed_cb, up_ic); - evas_object_show(up_btn); - - elm_object_item_part_content_set(ugd->ug_MainWindow.ug_pNaviItem, TITLE_RIGHT_BTN, up_btn); - } - elm_naviframe_item_title_visible_set(ugd->ug_MainWindow.ug_pNaviItem, EINA_TRUE); + UG_TRACE_BEGIN; + ugData *ugd = (ugData *)data; + ug_mf_retm_if(ugd == NULL, "ugd is NULL"); + + ugd->ug_Status.ug_bSelectAllChecked = !ugd->ug_Status.ug_bSelectAllChecked; + __mf_ug_search_select_all_check_changed_cb(ugd, NULL, NULL); + UG_TRACE_END; } -Eina_Bool mf_ug_navi_search_idler_cb(void *data) +Evas_Object *__mf_ug_navibar_btn_create(Evas_Object *parent, const char *text) { - UG_TRACE_BEGIN; - ug_mf_retvm_if(data == NULL, ECORE_CALLBACK_CANCEL, "data is NULL"); - ugData *ugd = (ugData *)data; - - mf_ug_search_view_enter_search_routine(ugd, NULL, NULL); - ugd->ug_Status.search_idler = NULL; - - return ECORE_CALLBACK_CANCEL; + Evas_Object *btn = elm_button_add(parent); + if (!btn) return NULL; + elm_object_style_set(btn, "naviframe/title_text"); + mf_ug_widget_object_text_set(btn, text, NULL); + return btn; } -Evas_Object *__mf_ug_navi_bar_backbutton_create(Evas_Object *parent) +int mf_ug_navibar_get_ringtone_count(int mode) { - UG_TRACE_BEGIN; - ug_mf_retvm_if(parent == NULL, NULL, "parent is NULL"); - - Evas_Object *btn = NULL; - btn = elm_button_add(parent); - elm_object_style_set(btn, "naviframe/end_btn/default"); - evas_object_show(btn); - return btn; + int count = 0; + if (mode == mf_ug_sound_mode_ringtone) { + count = mf_ug_db_handle_ringtone_get_count(); + } else if (mode == mf_ug_sound_mode_alert) { + count = mf_ug_db_handle_alert_get_count(); + } + return count; } - -void mf_ug_navi_add_back_button(void *data) +bool mf_ug_navibar_ringtone_in_db(int mode, const char *path) { - UG_TRACE_BEGIN; - ug_mf_retm_if(data == NULL, "data is NULL"); - ugData *ugd = (ugData *)data; - - Evas_Object *pBackButton = NULL; - - pBackButton = __mf_ug_navi_bar_backbutton_create(ugd->ug_MainWindow.ug_pNaviBar); - if (pBackButton) { - elm_object_item_part_content_set(ugd->ug_MainWindow.ug_pNaviItem, "prev_btn", pBackButton); - evas_object_smart_callback_add(pBackButton, "clicked", mf_ug_cb_back_button_cb, ugd); - } + if (mode == mf_ug_sound_mode_ringtone) { + return mf_ug_db_handle_find_ringtone(path); + } else if (mode == mf_ug_sound_mode_alert) { + return mf_ug_db_handle_find_alert(path); + } + return false; } -void mf_ug_callback_tab_click(void *data) +void mf_ug_navi_bar_title_set(void *data) { - int mmc_card = 0; - int error_code = 0; - ugData *ugd = (ugData *)data; - ug_mf_retvm_if(ugd == NULL, NULL, "ugd is NULL"); - Evas_Object *newContent = NULL; - newContent = mf_ug_genlist_create_content_list_view(ugd); - Elm_Object_Item * selected_item = elm_toolbar_selected_item_get(ugd->ug_MainWindow.ug_pTabBar); - char *name = elm_object_item_text_get(selected_item); - - if(!strcmp(name, MF_UG_LABEL_MMC)) - { - error_code = mf_ug_util_get_mmc_state(&mmc_card); - if (error_code == 0 && mmc_card == 0) - { - newContent = mf_ug_genlist_no_mem_card(ugd); - } - } - - Evas_Object *playout = ugd->ug_MainWindow.ug_pNaviLayout; - ug_mf_retm_if(playout == NULL, "get conformant failed"); - Evas_Object *unUsed = elm_object_part_content_unset(playout, "part1"); - evas_object_del(unUsed); - - elm_object_part_content_set(playout, "part1", newContent); + UG_TRACE_BEGIN; + ugData *ugd = (ugData *)data; + ug_mf_retm_if(ugd == NULL, "ugd is NULL"); + ug_error("ugd->ug_Status.ug_iViewType = %d", ugd->ug_Status.ug_iViewType); + if (mf_ug_util_is_import_mode(ugd->ug_UiGadget.ug_iSelectMode)) { + mf_ug_widget_object_item_text_set(ugd->ug_MainWindow.ug_pNaviItem, MF_UG_LABEL_IMPORT_CHAP, "elm.text.title"); + } else if (ugd->ug_UiGadget.ug_iSelectMode == DOCUMENT_SHARE || ugd->ug_UiGadget.ug_iSelectMode == SSM_DOCUMENT_SHARE) { + mf_ug_widget_object_item_text_set(ugd->ug_MainWindow.ug_pNaviItem, MF_UG_LABEL_DOCUMENTS, "elm.text.title"); + } else if (ugd->ug_Status.ug_iViewType == mf_ug_view_ringtone_del) { + ug_error("~~~~~~~~~~~~~~~~~~~~~~~~~"); + Evas_Object *pSelectAllLayout = NULL; + ugd->ug_Status.ug_bSelectAllChecked = false; + ugd->ug_Status.ug_iTotalCount = elm_genlist_items_count(ugd->ug_MainWindow.ug_pNaviGenlist); + ugd->ug_Status.ug_iCheckedCount = 0; + + pSelectAllLayout = mf_widget_create_select_all_layout(ugd->ug_MainWindow.ug_pNaviBox); + ug_mf_retm_if(pSelectAllLayout == NULL, "pSelectAllLayout is NULL"); + ugd->ug_MainWindow.ug_pSelectAllLayout = pSelectAllLayout; + evas_object_smart_callback_add(pSelectAllLayout, "clicked", mf_ug_select_all_layout_mouse_down_cb, ugd); + + evas_object_show(pSelectAllLayout); + elm_object_item_part_content_set(ugd->ug_MainWindow.ug_pNaviItem, TITLE_RIGHT_BTN, pSelectAllLayout); + mf_ug_widget_object_item_text_set(ugd->ug_MainWindow.ug_pNaviItem, MF_UG_LABEL_SELECT_ITEMS, "elm.text.title"); + if (ugd->ug_Status.ug_iTotalCount == 0/* || ugd->ug_Status.ug_bDisableSelectAll == EINA_TRUE*/) { + elm_object_disabled_set(pSelectAllLayout, EINA_TRUE); + } + } else if (ugd->ug_Status.ug_iViewType != mf_ug_view_root && ugd->ug_UiGadget.ug_iSoundMode == mf_ug_sound_mode_none) { +#if 0/*Don't support home button at Kiran*/ + Evas_Object *home_ic = elm_image_add(ugd->ug_MainWindow.ug_pNaviBar); + elm_image_file_set(home_ic, UG_EDJ_IMAGE, UG_TITLE_ICON_HOME); + elm_image_resizable_set(home_ic, EINA_TRUE, EINA_TRUE); + + Evas_Object *home_btn = mf_ug_widget_create_button(ugd->ug_MainWindow.ug_pNaviBar, + "naviframe/title_icon", + NULL, + home_ic, + mf_ug_cb_home_button_cb, + ugd, + EINA_FALSE); + evas_object_smart_callback_add(home_btn, "pressed", mf_ug_cb_home_button_pressed_cb, home_ic); + evas_object_smart_callback_add(home_btn, "unpressed", mf_ug_cb_home_button_unpressed_cb, home_ic); + /*elm_object_item_part_content_set(ugd->ug_MainWindow.ug_pNaviItem, TITLE_LEFT_BTN, home_btn);*/ + elm_object_item_part_content_set(ugd->ug_MainWindow.ug_pNaviItem, TITLE_LEFT_BTN, home_btn); + + +#if 0 + Evas_Object *up_ic = elm_image_add(ugd->ug_MainWindow.ug_pNaviBar); + elm_image_file_set(up_ic, UG_EDJ_IMAGE, UG_TITLE_ICON_UPPER); + elm_image_resizable_set(up_ic, EINA_TRUE, EINA_TRUE); + + Evas_Object *up_btn = mf_ug_widget_create_button(ugd->ug_MainWindow.ug_pNaviBar, + "naviframe/title_icon", + NULL, + up_ic, + mf_ug_cb_upper_click_cb, + ugd, + EINA_FALSE); + + evas_object_smart_callback_add(up_btn, "pressed", mf_ug_cb_upper_button_pressed_cb, up_ic); + evas_object_smart_callback_add(up_btn, "unpressed", mf_ug_cb_upper_button_unpressed_cb, up_ic); + elm_object_item_part_content_set(ugd->ug_MainWindow.ug_pNaviItem, TITLE_RIGHT_BTN, up_btn); +#endif +#endif/*Don't support home button at Kiran*/ + mf_ug_widget_object_item_text_set(ugd->ug_MainWindow.ug_pNaviItem, ugd->ug_MainWindow.ug_pNaviTitle, "elm.text.title"); + } else if (ugd->ug_UiGadget.ug_iSoundMode != mf_ug_sound_mode_none) { + if (ugd->ug_UiGadget.ug_iSoundMode == mf_ug_sound_mode_ringtone) { + Evas_Object *add_ic = elm_image_add(ugd->ug_MainWindow.ug_pNaviBar); + elm_image_file_set(add_ic, UG_EDJ_IMAGE, UG_ICON_ADD); + elm_image_resizable_set(add_ic, EINA_TRUE, EINA_TRUE); + + Evas_Object *add_btn = mf_ug_widget_create_button(ugd->ug_MainWindow.ug_pNaviBar, + "naviframe/title_icon", + NULL, + add_ic, + mf_ug_music_launch_cb, + ugd, + EINA_FALSE); + /*elm_object_item_part_content_set(ugd->ug_MainWindow.ug_pNaviItem, TITLE_LEFT_BTN, home_btn);*/ + elm_object_item_part_content_set(ugd->ug_MainWindow.ug_pNaviItem, TITLE_LEFT_BTN, add_btn); + + Evas_Object *del_ic = elm_image_add(ugd->ug_MainWindow.ug_pNaviBar); + elm_image_file_set(del_ic, UG_EDJ_IMAGE, UG_ICON_DELETE); + elm_image_resizable_set(del_ic, EINA_TRUE, EINA_TRUE); + + Evas_Object *del_btn = mf_ug_widget_create_button(ugd->ug_MainWindow.ug_pNaviBar, + "naviframe/title_icon", + NULL, + del_ic, + mf_ug_ringtone_del_cb, + ugd, + EINA_FALSE); + elm_object_item_part_content_set(ugd->ug_MainWindow.ug_pNaviItem, TITLE_RIGHT_BTN, del_btn); + /*P131205-01044 by wangyan Dec 13,if 0, or only setted ringtone in db , do not add it in delete genlist to avoid to be deleted,*/ + int count = mf_ug_navibar_get_ringtone_count(ugd->ug_UiGadget.ug_iSoundMode); + if (count == 0) { + elm_object_disabled_set(del_btn, EINA_TRUE); + } else if (count == 1 && mf_ug_navibar_ringtone_in_db(ugd->ug_UiGadget.ug_iSoundMode, ugd->ug_Status.mark_mode)) { + elm_object_disabled_set(del_btn, EINA_TRUE); + } + /*end*/ + + } + if (ugd->ug_UiGadget.title) { + elm_object_item_domain_translatable_part_text_set(ugd->ug_MainWindow.ug_pNaviItem, "elm.text.title", ugd->ug_UiGadget.domain, ugd->ug_UiGadget.title); + } else if (ugd->ug_MainWindow.ug_pNaviTitle) { + mf_ug_widget_object_item_text_set(ugd->ug_MainWindow.ug_pNaviItem, ugd->ug_MainWindow.ug_pNaviTitle, "elm.text.title"); + } + } else if (ugd->ug_Status.ug_iViewType == mf_ug_view_root) { + mf_ug_widget_object_item_text_set(ugd->ug_MainWindow.ug_pNaviItem, MF_UG_LABEL_MYFILES, "elm.text.title"); + } + /*elm_naviframe_item_title_visible_set(ugd->ug_MainWindow.ug_pNaviItem, EINA_TRUE);*/ } -void mf_ug_tab_bar_generate(void *data) +Eina_Bool mf_ug_navi_search_idler_cb(void *data) { - ug_mf_retm_if(data == NULL, "data is NULL"); - ugData *ugd = (ugData *)data; + UG_TRACE_BEGIN; + ug_mf_retvm_if(data == NULL, ECORE_CALLBACK_CANCEL, "data is NULL"); + ugData *ugd = (ugData *)data; - Elm_Object_Item *item_1 = NULL; - Elm_Object_Item *item_2 = NULL; - Evas_Object *parent = ugd->ug_MainWindow.ug_pNaviBar; + mf_ug_search_view_enter_search_routine(ugd, NULL, NULL); + ugd->ug_Status.search_idler = NULL; - Evas_Object *layout = mf_ug_navi_bar_create_layout(parent, UG_EDJ_NAVIGATIONBAR, UG_GRP_CTRL_BAR); - Evas_Object * tab_bar = elm_toolbar_add(layout); - ugd->ug_MainWindow.ug_pTabBar = tab_bar; - elm_object_focus_set(tab_bar, EINA_FALSE); - elm_toolbar_shrink_mode_set(tab_bar, ELM_TOOLBAR_SHRINK_EXPAND); - elm_object_style_set(tab_bar, "tabbar"); - elm_toolbar_transverse_expanded_set(tab_bar, EINA_TRUE); - elm_toolbar_select_mode_set(tab_bar, ELM_OBJECT_SELECT_MODE_ALWAYS); + return ECORE_CALLBACK_CANCEL; +} - evas_object_size_hint_weight_set(tab_bar, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - evas_object_size_hint_align_set(tab_bar, EVAS_HINT_FILL, EVAS_HINT_FILL); +Evas_Object *__mf_ug_navi_bar_backbutton_create(Evas_Object *parent) +{ + UG_TRACE_BEGIN; + ug_mf_retvm_if(parent == NULL, NULL, "parent is NULL"); + Evas_Object *btn = NULL; + btn = elm_button_add(parent); + elm_object_style_set(btn, "naviframe/end_btn/default"); - elm_object_part_content_set(layout, "content", tab_bar); - elm_object_part_content_set(ugd->ug_MainWindow.ug_pNaviLayout, "title", layout); - item_1 = elm_toolbar_item_append(tab_bar, UG_ICON_PHONE, MF_UG_LABEL_PHONE, mf_ug_callback_tab_click, ugd); - item_2 = elm_toolbar_item_append(tab_bar, UG_ICON_MEMORY, MF_UG_LABEL_MMC, mf_ug_callback_tab_click, ugd); - elm_object_signal_emit(ugd->ug_MainWindow.ug_pNaviLayout, "show,title,button", "elm"); + elm_access_info_set(btn, ELM_ACCESS_INFO, mf_ug_widget_get_text(MF_UG_LABEL_BACK)); + evas_object_show(btn); + return btn; } -void mf_ug_navi_bar_set_ctrl_button(void *data) +void mf_ug_navi_add_back_button(void *data) { - UG_TRACE_BEGIN; - ug_mf_retm_if(data == NULL, "data is NULL"); - ugData *ugd = (ugData *)data; - Elm_Object_Item *navi_it = ugd->ug_MainWindow.ug_pNaviItem;//ap->mf_MainWindow.pNaviItem; - Evas_Object *pNavi = ugd->ug_MainWindow.ug_pNaviBar; - Elm_Object_Item *item_1 = NULL; - Elm_Object_Item *item_2 = NULL; - - - Evas_Object *layout = mf_ug_navi_bar_create_layout(pNavi, UG_EDJ_NAVIGATIONBAR, UG_GRP_CTRL_BAR); - Evas_Object * tab_bar = elm_toolbar_add(layout); - elm_object_focus_set(tab_bar, EINA_FALSE); - elm_toolbar_shrink_mode_set(tab_bar, ELM_TOOLBAR_SHRINK_EXPAND); - elm_object_style_set(tab_bar, "transparent"); - elm_toolbar_transverse_expanded_set(tab_bar, EINA_TRUE); - elm_toolbar_select_mode_set(tab_bar, ELM_OBJECT_SELECT_MODE_DEFAULT); - - evas_object_size_hint_weight_set(tab_bar, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - evas_object_size_hint_align_set(tab_bar, EVAS_HINT_FILL, EVAS_HINT_FILL); - - - elm_object_part_content_set(layout, "content", tab_bar); - - if (ugd->ug_UiGadget.ug_iSelectMode == IMPORT_MODE - || ugd->ug_UiGadget.ug_iSelectMode == IMPORT_PATH_SELECT_MODE - || ugd->ug_UiGadget.ug_iSelectMode == IMPORT_SINGLE) { - item_1 = elm_toolbar_item_append(tab_bar, NULL, MF_UG_LABEL_IMPORT, mf_ug_cb_add_button_cb, ugd); - evas_object_show(tab_bar); - - } else if (ugd->ug_UiGadget.ug_iSelectMode == EXPORT_MODE) { - item_1 = elm_toolbar_item_append(tab_bar, NULL, MF_UG_LABEL_EXPORT, mf_ug_cb_add_button_cb, ugd); - item_2 = elm_toolbar_item_append(tab_bar, NULL, MF_UG_LABEL_CREATE, mf_ug_cb_more_cb, ugd); - } else if (ugd->ug_UiGadget.ug_iSelectMode == SAVE_MODE) { - item_1 = elm_toolbar_item_append(tab_bar, NULL, MF_UG_LABEL_SAVE_HERE, mf_ug_cb_add_button_cb, ugd); - item_2 = elm_toolbar_item_append(tab_bar, NULL, MF_UG_LABEL_CREATE, mf_ug_cb_more_cb, ugd); - } else if (ugd->ug_UiGadget.ug_iSelectMode == SINGLE_ALL_MODE || ugd->ug_UiGadget.ug_iSelectMode == SINGLE_FILE_MODE) { - item_1 = elm_toolbar_item_append(tab_bar, NULL, MF_UG_LABEL_DONE, mf_ug_cb_add_button_cb, ugd); - } - else if (!(ugd->ug_UiGadget.ug_iSelectMode == SINGLE_ALL_MODE || ugd->ug_UiGadget.ug_iSelectMode == SINGLE_FILE_MODE)) { - item_1 = elm_toolbar_item_append(tab_bar, NULL, MF_UG_LABEL_ATTACH, mf_ug_cb_add_button_cb, ugd); - } - if (item_1 || item_2) - { - elm_object_signal_emit(ugd->ug_MainWindow.ug_pNaviLayout, "show,toolbar,button", "elm"); - } - elm_object_part_content_set(ugd->ug_MainWindow.ug_pNaviLayout, "toolbar_button", layout); - mf_ug_navi_add_back_button(ugd); - + UG_TRACE_BEGIN; + ug_mf_retm_if(data == NULL, "data is NULL"); + ugData *ugd = (ugData *)data; + +// Evas_Object *pBackButton = NULL; +// +// pBackButton = __mf_ug_navi_bar_backbutton_create(ugd->ug_MainWindow.ug_pNaviBar); +// if (pBackButton) { +// elm_object_item_part_content_set(ugd->ug_MainWindow.ug_pNaviItem, "prev_btn", pBackButton); +// elm_naviframe_item_pop_cb_set(ugd->ug_MainWindow.ug_pNaviItem, mf_ug_cb_back_button_cb, ugd); +// } + elm_naviframe_item_pop_cb_set(ugd->ug_MainWindow.ug_pNaviItem, mf_ug_cb_back_button_cb, ugd); } +Evas_Object *mf_naviframe_left_cancel_button_create(Evas_Object *pParent, Elm_Object_Item *pNaviItem, + Evas_Smart_Cb pFunc, void *pUserData) +{ + Evas_Object *btn = elm_button_add(pParent); + elm_object_style_set(btn, "naviframe/title_left"); + mf_ug_widget_object_item_translate_set(btn, MF_UG_LABEL_CANCEL_CAP); + evas_object_smart_callback_add(btn, "clicked", pFunc, pUserData); + elm_object_item_part_content_set(pNaviItem, "title_left_btn", btn); + evas_object_show(btn); -void mf_ug_navi_bar_create_default_view(void *data) -{ - UG_TRACE_BEGIN; - ugData *ugd = (ugData *)data; - ug_mf_retm_if(ugd == NULL, "ugd is NULL"); - - GString *title = NULL; - Evas_Object *pNaviLayout = NULL; - Evas_Object *newContent = NULL; - Evas_Object *box = NULL; - Evas_Object *top_layout = NULL; - Evas_Object *upper_genlist = NULL; - ugNaviBar *pNavi_s = mf_ug_navi_bar_get_in_use_navi(ugd); - ug_mf_retm_if(pNavi_s == NULL, "get navigation bar in use failed"); - - - /*if the muisc is playing, destory the play */ - if (0 != ugd->ug_ListPlay.ug_Player) { - mf_ug_list_play_destory_playing_file(ugd); - UG_SAFE_FREE_CHAR(ugd->ug_ListPlay.ug_pPlayFilePath); - } - - box = mf_ug_navi_bar_create_box(ugd->ug_MainWindow.ug_pNaviBar); - pNaviLayout = mf_ug_navi_bar_create_layout(box, UG_EDJ_NAVIGATIONBAR, UG_GRP_NAVI_VIEW); - ugd->ug_MainWindow.ug_pNaviLayout = pNaviLayout; - elm_object_signal_emit(ugd->ug_MainWindow.ug_pNaviLayout, "hide,toolbar,button", "elm"); - - - if (ugd->ug_UiGadget.ug_iSelectMode == IMPORT_MODE - || ugd->ug_UiGadget.ug_iSelectMode == IMPORT_PATH_SELECT_MODE - || ugd->ug_UiGadget.ug_iSelectMode == IMPORT_SINGLE) { - newContent = __mf_ug_genlist_create_gl(ugd); - ugd->ug_MainWindow.ug_pNaviGenlist = newContent; - - } else { - if (ugd->ug_Status.ug_bSettingEntry == true && ugd->ug_Status.ug_bInSettingView == true) { - top_layout = mf_ug_navi_bar_create_box(box); - evas_object_size_hint_min_set(top_layout, MF_UG_UPPER_WIDTH, MF_UG_UPPER_HEIGHT); - upper_genlist = mf_navi_bar_upper_create(top_layout); - elm_object_scroll_freeze_push(upper_genlist); - elm_genlist_scroller_policy_set(upper_genlist, ELM_SCROLLER_POLICY_OFF, ELM_SCROLLER_POLICY_OFF); - mf_ug_genlist_goto_myfile_style_set(ugd); - mf_ug_genlist_goto_myfile_item_append(upper_genlist, ugd); - ugd->ug_Status.ug_bUpperFlag = true; - elm_box_pack_end(top_layout, upper_genlist); - } - if (top_layout) { - elm_box_pack_start(box, top_layout); - } else { - ugd->ug_Status.ug_bUpperFlag = true; - } - /*set content */ - if (ugd->ug_UiGadget.ug_iSelectMode == SINGLE_ALL_MODE || ugd->ug_UiGadget.ug_iSelectMode == SINGLE_FILE_MODE) { - __mf_ug_navi_bar_create_group_radio_box(ugd); - } - newContent = mf_ug_genlist_create_content_list_view(ugd); - ugd->ug_MainWindow.ug_pNaviGenlist = newContent; - /*set title segment or title */ - if (mf_ug_fm_svc_wapper_is_root_path(ugd->ug_Status.ug_pPath)) { - title = g_string_new(MF_UG_LABEL_MYFILES); - } else { - title = mf_ug_fm_svc_wapper_get_file_name(ugd->ug_Status.ug_pPath); - } - - if (title != NULL) { - pNavi_s->ug_pNaviTitle = g_strdup(title->str); - g_string_free(title, TRUE); - title = NULL; - } - } - - /*navigation view integration */ - evas_object_show(newContent); - elm_object_part_content_set(pNaviLayout, "part1", newContent); - - elm_box_pack_end(box, pNaviLayout); - ugd->ug_MainWindow.ug_pNaviBox = box; - __mf_ug_navi_bar_push_content(ugd, box); - - /*add control bar for navigation bar */ - elm_naviframe_item_title_visible_set(ugd->ug_MainWindow.ug_pNaviItem, EINA_FALSE); - if(mf_ug_fm_svc_wapper_is_root_path(ugd->ug_Status.ug_pPath)) - { - mf_ug_tab_bar_generate(ugd); - } - else - { - elm_object_signal_emit(ugd->ug_MainWindow.ug_pNaviLayout, "hide,title,button", "elm"); - mf_ug_navi_bar_set_ctrl_button(ugd); - mf_ug_navi_bar_title_set(ugd); - } - - mf_ug_navi_bar_remove_previous_contents(ugd); - - if (ugd->ug_UiGadget.ug_iSelectMode == IMPORT_MODE - || ugd->ug_UiGadget.ug_iSelectMode == IMPORT_PATH_SELECT_MODE - || ugd->ug_UiGadget.ug_iSelectMode == IMPORT_SINGLE) { - ug_ecore_idler_del(ugd->ug_Status.search_idler); - ugd->ug_Status.search_idler = ecore_idler_add(mf_ug_navi_search_idler_cb, ugd); - } - UG_SAFE_DEL_ECORE_TIMER(ugd->ug_Status.play_timer); - UG_TRACE_END; + return btn; } -void mf_ug_navi_bar_create_new_folder_view(void *data) +Evas_Object *mf_naviframe_right_save_button_create(Evas_Object *pParent, Elm_Object_Item *pNaviItem, + Evas_Smart_Cb pFunc, void *pUserData) { + Evas_Object *btn = elm_button_add(pParent); + elm_object_style_set(btn, "naviframe/title_right"); + mf_ug_widget_object_item_translate_set(btn, MF_UG_LABEL_DONE_CAP); + evas_object_smart_callback_add(btn, "clicked", pFunc, pUserData); + elm_object_item_part_content_set(pNaviItem, "title_right_btn", btn); - UG_TRACE_BEGIN; - ugData *ugd = (ugData *)data; - ug_mf_retm_if(ugd == NULL, "ugd is NULL"); - - Evas_Object *newContent = NULL; - - Evas_Object *pNaviBar = NULL; - GString *title = NULL; - - ugNaviBar *pNavi_s = mf_ug_navi_bar_get_in_use_navi(ugd); - ug_mf_retm_if(pNavi_s == NULL, "pNavi_s is NULL"); - - pNaviBar = ugd->ug_MainWindow.ug_pNaviBar; - - /*set content*/ - newContent = mf_ug_genlist_create_list_new_folder_style(ugd); - /*set title segment or title*/ - title = g_string_new(MF_UG_LABEL_CREATE); - - if (title != NULL) { - pNavi_s->ug_pNaviTitle = g_strdup(title->str); - g_string_free(title, TRUE); - title = NULL; - } - /*navigation view integration*/ - __mf_ug_navi_bar_push_content(ugd, newContent); - - Evas_Object *l_bt = NULL; - Evas_Object *r_bt = NULL; - - l_bt = elm_button_add(pNaviBar); - elm_object_focus_set(l_bt, EINA_FALSE); - elm_object_style_set(l_bt, "naviframe/title/default"); - elm_object_text_set(l_bt, MF_UG_LABEL_SAVE); - evas_object_smart_callback_add(l_bt, "clicked", mf_ug_cb_save_cb, ugd); - evas_object_show(l_bt); - elm_object_item_part_content_set(ugd->ug_MainWindow.ug_pNaviItem, "title_toolbar_button1", l_bt); - - r_bt = elm_button_add(pNaviBar); - elm_object_focus_set(r_bt, EINA_FALSE); - elm_object_style_set(r_bt, "naviframe/end_btn/default"); - evas_object_smart_callback_add(r_bt, "clicked", mf_ug_cb_cancel_new_folder_cb, ugd); - evas_object_show(r_bt); - elm_object_item_part_content_set(ugd->ug_MainWindow.ug_pNaviItem, "title_prev_btn", r_bt); - elm_object_item_signal_emit(ugd->ug_MainWindow.ug_pNaviItem, "elm,state,sip,shown", ""); - - elm_object_focus_set(ugd->ug_MainWindow.ug_pEntry, EINA_TRUE); - UG_SAFE_DEL_ECORE_TIMER(ugd->ug_Status.play_timer); -} + evas_object_show(btn); -/****************************** -** Prototype : mf_ug_navi_bar_get_in_use_navi -** Description : Samsung -** Input : void* data -** Output : None -** Return Value : -** Calls : -** Called By : -** -** History : -** 1.Date : 2010/12/10 -** Author : Samsung -** Modification : Created function -** -******************************/ -ugNaviBar *mf_ug_navi_bar_get_in_use_navi(void *data) -{ - UG_TRACE_BEGIN; - ugData *ugd = (ugData *)data; - ug_mf_retvm_if(ugd == NULL, NULL, "ugd is NULL"); - - Eina_List *pNaviList = ugd->ug_MainWindow.ug_pNaviBarList; - ug_mf_retvm_if(pNaviList == NULL, NULL, "pNavi_sList is NULL"); - - ugNaviBar *ret = NULL; - Eina_List *l = NULL; - void *item; - - EINA_LIST_FOREACH(pNaviList, l, item) { - ret = (ugNaviBar *)item; - if (ret->ug_bNaviFlagInUse == TRUE) { - break; - } else { - ret = NULL; - } - } - UG_TRACE_END; - return ret; + return btn; } - -/****************************** -** Prototype : mf_ug_navi_bar_reset_navi_object -** Description : Samsung -** Input : ugNaviBar *pNavi_s -** Output : None -** Return Value : -** Calls : -** Called By : -** -** History : -** 1.Date : 2010/12/10 -** Author : Samsung -** Modification : Created function -** -******************************/ -void mf_ug_navi_bar_reset_navi_object(ugNaviBar *pNavi_s) +void mf_ug_navi_bar_set_ctrl_button(void *data) { - UG_TRACE_BEGIN; - ug_mf_retm_if(pNavi_s == NULL, "pNavi_s is NULL"); - - pNavi_s->ug_pNaviTitle = NULL; - if (pNavi_s->ug_pCurrentPath != NULL) { - free(pNavi_s->ug_pCurrentPath); - pNavi_s->ug_pCurrentPath = NULL; - } - if (pNavi_s->ug_pNaviLabel != NULL) - free(pNavi_s->ug_pNaviLabel); - pNavi_s->ug_pNaviLabel = NULL; - UG_TRACE_END; + UG_TRACE_BEGIN; + ug_mf_retm_if(data == NULL, "data is NULL"); + ugData *ugd = (ugData *)data; + Elm_Object_Item *navi_it = ugd->ug_MainWindow.ug_pNaviItem;/*ap->mf_MainWindow.pNaviItem;*/ + Evas_Object *pNavi = ugd->ug_MainWindow.ug_pNaviBar; + /*Evas_Object *ctrlbar = NULL;*/ + if (mf_ug_util_is_import_mode(ugd->ug_UiGadget.ug_iSelectMode)) { + /*ctrlbar = mf_ug_widget_toolbar_create(pNavi); + mf_ug_widget_item_tabbar_item_append(ctrlbar, NULL, MF_UG_LABEL_DONE, mf_ug_cb_add_button_cb, ugd);*/ + mf_naviframe_left_cancel_button_create(pNavi, navi_it, mf_ug_cb_cancel_button_cb, ugd); + mf_naviframe_right_save_button_create(pNavi, navi_it, mf_ug_cb_add_button_cb, ugd); + } else if (ugd->ug_Status.ug_iViewType == mf_ug_view_ringtone_del) { + /*ctrlbar = mf_ug_widget_toolbar_create(pNavi); + mf_ug_widget_item_tabbar_item_append(ctrlbar, NULL, MF_UG_LABEL_CANCEL, mf_ug_cb_cancel_button_cb, ugd); + mf_ug_widget_item_tabbar_item_append(ctrlbar, NULL, MF_UG_LABEL_DELETE, mf_ug_cb_delete_button_popup_create, ugd);*/ + mf_naviframe_left_cancel_button_create(pNavi, navi_it, mf_ug_cb_cancel_button_cb, ugd); + mf_naviframe_right_save_button_create(pNavi, navi_it, mf_ug_cb_delete_button_popup_create, ugd); + } else if (ugd->ug_Status.ug_iViewType != mf_ug_view_root) { + if (ugd->ug_UiGadget.ug_iSelectMode == EXPORT_MODE) { + /*ctrlbar = mf_ug_widget_toolbar_create(pNavi); + Evas_Object *more_bt = mf_ug_widget_create_button(pNavi, NAVI_BUTTON_EDIT, NULL, NULL, mf_ug_cb_more_cb, ugd, EINA_FALSE); + mf_ug_widget_item_tabbar_item_append(ctrlbar, NULL, MF_UG_LABEL_CANCEL, mf_ug_cb_cancel_button_cb, ugd); + mf_ug_widget_item_tabbar_item_append(ctrlbar, NULL, MF_UG_LABEL_EXPORT, mf_ug_cb_add_button_cb, ugd); + if (more_bt) { + elm_object_item_part_content_set(navi_it, NAVI_MORE_BUTTON_PART, more_bt); + }*/ + mf_naviframe_left_cancel_button_create(pNavi, navi_it, mf_ug_cb_cancel_button_cb, ugd); + mf_naviframe_right_save_button_create(pNavi, navi_it, mf_ug_cb_add_button_cb, ugd); + } else if (ugd->ug_UiGadget.ug_iSelectMode == SAVE_MODE) { + /*ctrlbar = mf_ug_widget_toolbar_create(pNavi); + Evas_Object *more_bt = mf_ug_widget_create_button(pNavi, NAVI_BUTTON_EDIT, NULL, NULL, mf_ug_cb_more_cb, ugd, EINA_FALSE); + mf_ug_widget_item_tabbar_item_append(ctrlbar, NULL, MF_UG_LABEL_CANCEL, mf_ug_cb_cancel_button_cb, ugd); + mf_ug_widget_item_tabbar_item_append(ctrlbar, NULL, MF_UG_LABEL_SAVE_HERE, mf_ug_cb_add_button_cb, ugd); + if (more_bt) { + elm_object_item_part_content_set(navi_it, NAVI_MORE_BUTTON_PART, more_bt); + }*/ + mf_naviframe_left_cancel_button_create(pNavi, navi_it, mf_ug_cb_cancel_button_cb, ugd); + mf_naviframe_right_save_button_create(pNavi, navi_it, mf_ug_cb_add_button_cb, ugd); + } else if (ugd->ug_UiGadget.ug_iSelectMode == SINGLE_ALL_MODE || ugd->ug_UiGadget.ug_iSelectMode == SINGLE_FILE_MODE) { + /*ctrlbar = mf_ug_widget_toolbar_create(pNavi); + + mf_ug_widget_item_tabbar_item_append(ctrlbar, NULL, MF_UG_LABEL_CANCEL, mf_ug_cb_cancel_button_cb, ugd); + mf_ug_widget_item_tabbar_item_append(ctrlbar, NULL, MF_UG_LABEL_SET, mf_ug_cb_add_button_cb, ugd);*/ + mf_naviframe_left_cancel_button_create(pNavi, navi_it, mf_ug_cb_cancel_button_cb, ugd); + mf_naviframe_right_save_button_create(pNavi, navi_it, mf_ug_cb_add_button_cb, ugd); + } else if (!(ugd->ug_UiGadget.ug_iSelectMode == SINGLE_ALL_MODE || ugd->ug_UiGadget.ug_iSelectMode == SINGLE_FILE_MODE)) { + /*ctrlbar = mf_ug_widget_toolbar_create(pNavi); + mf_ug_widget_item_tabbar_item_append(ctrlbar, NULL, MF_UG_LABEL_CANCEL, mf_ug_cb_cancel_button_cb, ugd); + mf_ug_widget_item_tabbar_item_append(ctrlbar, NULL, MF_UG_LABEL_DONE, mf_ug_cb_add_button_cb, ugd);*/ + mf_naviframe_left_cancel_button_create(pNavi, navi_it, mf_ug_cb_cancel_button_cb, ugd); + mf_naviframe_right_save_button_create(pNavi, navi_it, mf_ug_cb_add_button_cb, ugd); + } + } + if (ugd->ug_UiGadget.ug_iSelectMode == SSM_DOCUMENT_SHARE) { + /*ctrlbar = mf_ug_widget_toolbar_create(pNavi); + mf_ug_widget_item_tabbar_item_append(ctrlbar, NULL, MF_UG_LABEL_DONE, mf_ug_cb_add_button_cb, ugd);*/ + mf_naviframe_left_cancel_button_create(pNavi, navi_it, mf_ug_cb_cancel_button_cb, ugd); + mf_naviframe_right_save_button_create(pNavi, navi_it, mf_ug_cb_add_button_cb, ugd); + } + /*if (ctrlbar) { + ugd->ug_MainWindow.ug_pNaviCtrlBar = ctrlbar; + elm_object_item_part_content_set(navi_it, "toolbar", ctrlbar); + }*/ + mf_ug_navi_add_back_button(ugd); } -/****************************** -** Prototype : mf_ug_navi_bar_get_navi_struct_by_label -** Description : Samsung -** Input : void* data -** const char* pNaviLabel -** Output : None -** Return Value : -** Calls : -** Called By : -** -** History : -** 1.Date : 2010/12/10 -** Author : Samsung -** Modification : Created function -** -******************************/ -ugNaviBar *mf_ug_navi_bar_get_navi_struct_by_label(void *data, const char *pNaviLabel) +static void _index_clicked(void *data, Evas_Object *obj, const char *em, const char *src) { - UG_TRACE_BEGIN; - ugData *ugd = (ugData *)data; - ug_mf_retvm_if(ugd == NULL, NULL, "ugd is NULL"); - ug_mf_retvm_if(pNaviLabel == NULL, NULL, "pNaviLabel is NULL"); - - Eina_List *l = NULL; - void *item = NULL; - - ugNaviBar *ret = NULL; - EINA_LIST_FOREACH(ugd->ug_MainWindow.ug_pNaviBarList, l, item) { - if (g_strcmp0(((ugNaviBar *)item)->ug_pNaviLabel, pNaviLabel) == 0) { - ret = (ugNaviBar *)item; - break; - } - } - UG_TRACE_END; - return ret; + if (!obj) + return; + elm_object_signal_emit(obj, "elm,state,slide,start", ""); } - -/****************************** -** Prototype : mf_ug_navi_bar_remove_navi_list_item_by_label -** Description : Samsung -** Input : void *data -** const char* pNaviLabel -** Output : None -** Return Value : -** Calls : -** Called By : -** -** History : -** 1.Date : 2010/12/10 -** Author : Samsung -** Modification : Created function -** -******************************/ -void mf_ug_navi_bar_remove_navi_list_item_by_label(void *data, const char *pNaviLabel) +Evas_Object *mf_genlist_create_path_info(Evas_Object *parent, const char *info, Evas_Object **pathinfo) { - UG_TRACE_BEGIN; - ugData *ugd = (ugData *)data; - ug_mf_retm_if(ugd == NULL, "ugd is NULL"); - ug_mf_retm_if(pNaviLabel == NULL, "pNaviLabel is NULL"); - - bool bInUseFlag = FALSE; - - ugNaviBar *pNavi_s = mf_ug_navi_bar_get_navi_struct_by_label(ugd, pNaviLabel); - - if (pNavi_s == NULL) { - return; - } - Eina_List *plistNaviMMC = eina_list_data_find_list(ugd->ug_MainWindow.ug_pNaviBarList, pNavi_s); - ugd->ug_MainWindow.ug_pNaviBarList = eina_list_remove_list(ugd->ug_MainWindow.ug_pNaviBarList, plistNaviMMC); - - if (pNavi_s->ug_bNaviFlagInUse == TRUE) { - bInUseFlag = TRUE; - } - - mf_ug_navi_bar_reset_navi_object(pNavi_s); - - if (bInUseFlag == TRUE) { - pNavi_s = (ugNaviBar *)eina_list_nth(ugd->ug_MainWindow.ug_pNaviBarList, 0); - pNavi_s->ug_bNaviFlagInUse = TRUE; - } - UG_TRACE_END; + UG_TRACE_BEGIN + + Evas_Object *bx = elm_box_add(parent); + Evas_Object *ly = elm_layout_add(parent); + elm_layout_theme_set(ly, "genlist/item", "groupindex", "default"); + evas_object_size_hint_weight_set(ly, EVAS_HINT_EXPAND, 0); + evas_object_size_hint_align_set(ly, -1, -1); + mf_ug_widget_object_text_set(ly, info, "elm.text"); + elm_layout_signal_callback_add(ly, "mouse,clicked,1", "*", _index_clicked, NULL); + evas_object_show(ly); + elm_box_pack_end(bx, ly); + if (pathinfo) { + *pathinfo = ly; + } + return bx; } - -/****************************** -** Prototype : mf_ug_navi_bar_refresh_navibar_recovered_view -** Description : Samsung -** Input : void *data -** ugNaviBar* pNaviStruct -** Output : None -** Return Value : -** Calls : -** Called By : -** -** History : -** 1.Date : 2010/12/10 -** Author : Samsung -** Modification : Created function -** -******************************/ -void mf_ug_navi_bar_refresh_navibar_recovered_view(void *data, ugNaviBar *pNaviStruct) +void mf_ug_navi_bar_set_path_state(Evas_Object *layout, Eina_Bool flag) { - UG_TRACE_BEGIN; - ugData *ugd = (ugData *)data; - ug_mf_retm_if(ugd == NULL, "ugd is NULL"); - ug_mf_retm_if(pNaviStruct == NULL, "pNaviStruct is NULL"); - - if (ugd->ug_Status.ug_pPath != NULL) { - g_string_free(ugd->ug_Status.ug_pPath, TRUE); - ugd->ug_Status.ug_pPath = NULL; - } - ugd->ug_Status.ug_pPath = g_string_new(pNaviStruct->ug_pCurrentPath); - mf_ug_navi_bar_create_default_view(ugd); - - UG_TRACE_END; + if (!flag) { + ug_error(); + elm_object_signal_emit(layout, "elm.pathinfo.hide", "elm"); + } else { + ug_error(); + elm_object_signal_emit(layout, "elm.pathinfo.show", "elm"); + } } -void mf_ug_navi_bar_transition_finished_cb(void *data, Evas_Object *obj, void *event_info) +static Eina_Bool __selected_item_show(void *data) { - UG_TRACE_BEGIN; - ug_mf_retm_if(data == NULL, "data is NULL"); - ug_mf_retm_if(obj == NULL, "obj is NULL"); - ugData *ugd = (ugData *)data; - Elm_Object_Item *it = ugd->ug_MainWindow.ug_pPreNaviItem; - UG_SAFE_DEL_NAVI_ITEM(it); - ugd->ug_MainWindow.ug_pPreNaviItem = NULL; - mf_ug_navi_bar_set_blocking(data, false); - evas_object_smart_callback_del(obj, "transition,finished", mf_ug_navi_bar_transition_finished_cb); - UG_TRACE_END; + ugData *ugd = (ugData *)data; + + Elm_Object_Item *defaultitem = NULL; + + if (!ugd->ug_Status.ug_bNoContentFlag && (ugd->ug_Status.ug_iRadioOn > 1)) { + defaultitem = elm_genlist_nth_item_get(ugd->ug_MainWindow.ug_pNaviGenlist, ugd->ug_Status.ug_iRadioOn-1); + if (NULL != defaultitem) { + ug_error("ugd->ug_Status.ug_iRadioOn = %d", ugd->ug_Status.ug_iRadioOn); + elm_genlist_item_show(defaultitem, ELM_GENLIST_ITEM_SCROLLTO_TOP); + } + } + + ugd->show = NULL; + return ECORE_CALLBACK_CANCEL; } -void mf_ug_navi_bar_remove_previous_contents(void *data) +void mf_ug_navi_bar_create_default_view(void *data) { - UG_TRACE_BEGIN; - - ug_mf_retm_if(data == NULL, "data is NULL"); - ugData *ugd = (ugData *)data; - Evas_Object *pNaviBar = NULL; - if (ugd->ug_MainWindow.ug_pNaviBar) { - pNaviBar = ugd->ug_MainWindow.ug_pNaviBar; - mf_ug_navi_bar_set_blocking(data, true); - evas_object_smart_callback_add(pNaviBar, "transition,finished", mf_ug_navi_bar_transition_finished_cb, ugd); - } - UG_TRACE_END; + UG_TRACE_BEGIN; + ugData *ugd = (ugData *)data; + ug_mf_retm_if(ugd == NULL, "ugd is NULL"); + + Evas_Object *pNaviLayout = NULL; + Evas_Object *newContent = NULL; + Evas_Object *box = NULL; + + /*if the muisc is playing, destory the play */ + if (0 != ugd->ug_ListPlay.ug_Player) { + mf_ug_list_play_destory_playing_file(ugd); + ugd->ug_ListPlay.play_data = NULL; + UG_SAFE_FREE_CHAR(ugd->ug_ListPlay.ug_pPlayFilePath); + } + ugd->ug_Status.ug_iCheckedCount = 0; + box = mf_ug_navi_bar_create_box(ugd->ug_MainWindow.ug_pNaviBar); + pNaviLayout = mf_ug_navi_bar_create_layout(box, UG_EDJ_NAVIGATIONBAR, UG_GRP_NAVI_VIEW); + ugd->ug_MainWindow.ug_pNaviLayout = pNaviLayout; + + + ug_error("ugd->ug_UiGadget.ug_iSelectMode = %d", ugd->ug_UiGadget.ug_iSelectMode); + if (ugd->ug_UiGadget.ug_iSelectMode == IMPORT_MODE + || ugd->ug_UiGadget.ug_iSelectMode == IMPORT_PATH_SELECT_MODE + || ugd->ug_UiGadget.ug_iSelectMode == IMPORT_SINGLE + || ugd->ug_UiGadget.ug_iSelectMode == DOCUMENT_SHARE + || ugd->ug_UiGadget.ug_iSelectMode == SSM_DOCUMENT_SHARE) { + if (ugd->ug_UiGadget.ug_iSelectMode == IMPORT_SINGLE) { + mf_ug_navi_bar_create_group_radio_box(ugd); + } + mf_ug_navi_bar_set_path_state(pNaviLayout, EINA_FALSE); + newContent = __mf_ug_genlist_create_gl(ugd); + ugd->ug_MainWindow.ug_pNaviGenlist = newContent; + } else { + if (ugd->ug_UiGadget.ug_iSoundMode != mf_ug_sound_mode_none) { + mf_ug_navi_bar_set_path_state(pNaviLayout, EINA_FALSE); + } else if (ugd->ug_Status.ug_iViewType != mf_ug_view_root) { + Evas_Object *pathinfo_layout = NULL; + char *info = NULL; + pathinfo_layout = mf_ug_tabbar_create_path_tab(pNaviLayout, ugd->ug_Status.ug_pPath->str);/*mf_genlist_create_path_info(top_layout,info,&ugd->ug_MainWindow.pPathinfo);*/ + elm_object_part_content_set(pNaviLayout, "pathinfo", pathinfo_layout); + UG_SAFE_FREE_CHAR(info); + } else { + mf_ug_navi_bar_set_path_state(pNaviLayout, EINA_FALSE); + } + + /*set content */ + if (ugd->ug_UiGadget.ug_iSelectMode == SINGLE_ALL_MODE + || ugd->ug_UiGadget.ug_iSelectMode == SINGLE_FILE_MODE) { + mf_ug_navi_bar_create_group_radio_box(ugd); + } + + newContent = mf_ug_genlist_create_content_list_view(ugd); + if (ugd->ug_UiGadget.ug_iSelectMode == SINGLE_FILE_MODE) { + if (!ugd->show) { + ugd->show = ecore_idler_add(__selected_item_show, ugd); + } + } + ugd->ug_MainWindow.ug_pNaviGenlist = newContent; + UG_SAFE_FREE_CHAR(ugd->ug_MainWindow.ug_pNaviTitle); + /*set title segment or title */ + if (ugd->ug_UiGadget.title) { + ugd->ug_MainWindow.ug_pNaviTitle = g_strdup(ugd->ug_UiGadget.title); + } else { + if (mf_ug_fm_svc_wapper_is_root_path(ugd->ug_Status.ug_pPath->str) || ugd->ug_Status.ug_iViewType == mf_ug_view_root) { + ugd->ug_MainWindow.ug_pNaviTitle = g_strdup(MF_UG_LABEL_MYFILES); + } else { + ugd->ug_MainWindow.ug_pNaviTitle = g_strdup(mf_file_get(ugd->ug_Status.ug_pPath->str)); + } + + } + } + + /*navigation view integration */ + evas_object_show(newContent); + elm_box_pack_end(box, newContent); + ugd->ug_MainWindow.ug_pNaviBox = box; + elm_object_part_content_set(pNaviLayout, "part1", box); + + if (ugd->ug_UiGadget.ug_iSelectMode == SINGLE_ALL_MODE || + ugd->ug_UiGadget.ug_iSelectMode == SINGLE_FILE_MODE) { + mf_ug_navi_bar_push_content(ugd, pNaviLayout); + } else { + if (eina_list_count(ugd->ug_UiGadget.ug_pFilterList) != 0) { + if (ugd->ug_MainWindow.ug_pNaviBox) { + Evas_Object *pSelectAllLayout = NULL; + Evas_Object *pSelectAllCheckBox = NULL; + mf_ug_object_create_select_all_layout(ugd->ug_MainWindow.ug_pNaviBar, mf_ug_select_all_cb, (Evas_Object_Event_Cb)mf_ug_item_sel_all_press_cb , ugd, &pSelectAllCheckBox, &pSelectAllLayout); + ugd->ug_MainWindow.ug_pSelectAllCheckBox = pSelectAllCheckBox; + if (pSelectAllLayout && pSelectAllCheckBox) { + elm_box_pack_start(ugd->ug_MainWindow.ug_pNaviBox, pSelectAllLayout); + } + } + } + mf_ug_navi_bar_push_content(ugd, pNaviLayout); + } + /*add control bar for navigation bar */ + /*mf_ug_ctrl_bar_set(ugd, pNavi_s);*/ + mf_ug_navi_bar_set_ctrl_button(ugd); + + mf_ug_navi_bar_title_set(ugd); + mf_ug_navi_bar_remove_previous_contents(ugd); + + if (ugd->ug_UiGadget.ug_iSelectMode == IMPORT_MODE + || ugd->ug_UiGadget.ug_iSelectMode == IMPORT_PATH_SELECT_MODE + || ugd->ug_UiGadget.ug_iSelectMode == IMPORT_SINGLE + || ugd->ug_UiGadget.ug_iSelectMode == DOCUMENT_SHARE + || ugd->ug_UiGadget.ug_iSelectMode == SSM_DOCUMENT_SHARE) { + ug_ecore_idler_del(ugd->ug_Status.search_idler); + ugd->ug_Status.search_idler = ecore_idler_add(mf_ug_navi_search_idler_cb, ugd); + } + UG_SAFE_DEL_ECORE_TIMER(ugd->ug_Status.play_timer); + UG_TRACE_END; } -void mf_ug_navi_bar_del_item_directly(void *data) +void mf_ug_navi_bar_create_delete_view(void *data) { - UG_TRACE_BEGIN; - ug_mf_retm_if(data == NULL, "data is NULL"); - ugData *ugd = (ugData *)data; - - if (ugd->ug_Status.ug_b_NaviPushFlag) { - ugNaviBar *pNavi_s_previous = NULL; - pNavi_s_previous = mf_ug_navi_bar_get_in_use_navi(ugd) ; - if(pNavi_s_previous && ugd->ug_MainWindow.ug_pPreNaviItem) - { - UG_SAFE_DEL_NAVI_ITEM(ugd->ug_MainWindow.ug_pPreNaviItem); - mf_ug_navi_bar_set_blocking(ugd, false); - evas_object_smart_callback_del(ugd->ug_MainWindow.ug_pNaviBar, "transition,finished", mf_ug_navi_bar_transition_finished_cb); - } - } - UG_TRACE_END; + UG_TRACE_BEGIN; + ugData *ugd = (ugData *)data; + ug_mf_retm_if(ugd == NULL, "ugd is NULL"); + + Evas_Object *pNaviLayout = NULL; + Evas_Object *newContent = NULL; + Evas_Object *box = NULL; + + /*if the muisc is playing, destory the play */ + if (0 != ugd->ug_ListPlay.ug_Player) { + mf_ug_list_play_destory_playing_file(ugd); + ugd->ug_ListPlay.play_data = NULL; + UG_SAFE_FREE_CHAR(ugd->ug_ListPlay.ug_pPlayFilePath); + } + + box = mf_ug_navi_bar_create_box(ugd->ug_MainWindow.ug_pNaviBar); + pNaviLayout = mf_ug_navi_bar_create_layout(box, UG_EDJ_NAVIGATIONBAR, UG_GRP_NAVI_VIEW); + ugd->ug_MainWindow.ug_pNaviLayout = pNaviLayout; + + ug_error("ugd->ug_UiGadget.ug_iSelectMode = %d", ugd->ug_UiGadget.ug_iSelectMode); + mf_ug_navi_bar_set_path_state(pNaviLayout, EINA_FALSE); + newContent = mf_ug_genlist_delete_style_create(ugd); + ugd->ug_MainWindow.ug_pNaviGenlist = newContent; + if (ugd->ug_UiGadget.ug_iSoundMode != mf_ug_sound_mode_none) { + /*P131205-01044 by wangyan*/ + mf_ug_genlist_ringtone_delete_items_add(ugd, 0); + } + + /*navigation view integration */ + evas_object_show(newContent); + elm_object_part_content_set(pNaviLayout, "part1", newContent); + elm_box_pack_end(box, pNaviLayout); + ugd->ug_MainWindow.ug_pNaviBox = box; + mf_ug_navi_bar_push_content(ugd, box); + + mf_ug_navi_bar_set_ctrl_button(ugd); + + mf_ug_navi_bar_title_set(ugd); + mf_ug_navi_bar_set_ctrl_item_disable(ugd); + mf_ug_navi_bar_remove_previous_contents(ugd); + UG_SAFE_DEL_ECORE_TIMER(ugd->ug_Status.play_timer); + UG_TRACE_END; } -void mf_ug_navi_bar_set_blocking(void *data, bool bblock_during_transition) +void mf_ug_navi_bar_remove_previous_contents(void *data) { - ug_mf_retm_if(data == NULL, "data is NULL"); - ugData *ugd = (ugData *)data; + UG_TRACE_BEGIN; - ugd->ug_Status.ug_bCancelDisableFlag = bblock_during_transition; - ugd->ug_Status.ug_b_NaviPushFlag = bblock_during_transition; - return; + ug_mf_retm_if(data == NULL, "data is NULL"); + ugData *ugd = (ugData *)data; + UG_SAFE_DEL_NAVI_ITEM(&ugd->ug_MainWindow.ug_pPreNaviItem); + UG_TRACE_END; } -ugNaviBar *ug_mf_navi_bar_get_navi_from_navilist(Eina_List *navilist, const char *label) -{ - - UG_TRACE_BEGIN; - ug_mf_retvm_if(navilist == NULL, NULL, "navilist is NULL"); - ug_mf_retvm_if(label == NULL, NULL, "label is NULL"); - - void *data = NULL; - ugNaviBar *pNavi = NULL; - Eina_List *l = NULL; - EINA_LIST_FOREACH(navilist, l, data) { - if (data) { - pNavi = (ugNaviBar *)data; - if (pNavi && pNavi->ug_pNaviLabel && g_strcmp0(label, pNavi->ug_pNaviLabel) == 0) - return pNavi; - else - continue; - } - } - return NULL; -} void mf_ug_navi_bar_button_set_disable(void *data, bool disable) { - UG_TRACE_BEGIN; - ugData *ugd = (ugData *)data; - ug_mf_retm_if(ugd == NULL, "ugd is NULL"); - - Evas_Object *btn = NULL; - Elm_Object_Item *navi_it = ugd->ug_MainWindow.ug_pNaviItem; - - ugNaviBar *pNavi_s = mf_ug_navi_bar_get_in_use_navi(ugd); - ug_mf_retm_if(pNavi_s == NULL, "get navigation bar in use failed"); - - const char *disable_labe = NULL; - if (ugd->ug_UiGadget.ug_iSelectMode == IMPORT_MODE - || ugd->ug_UiGadget.ug_iSelectMode == IMPORT_PATH_SELECT_MODE - || ugd->ug_UiGadget.ug_iSelectMode == IMPORT_SINGLE) { - disable_labe = MF_UG_LABEL_IMPORT; - } else if (ugd->ug_UiGadget.ug_iSelectMode == SINGLE_ALL_MODE || ugd->ug_UiGadget.ug_iSelectMode == SINGLE_FILE_MODE) { - disable_labe = MF_UG_LABEL_SET; - } - else { - disable_labe = MF_UG_LABEL_ATTACH; - } - btn = elm_object_item_part_content_get(navi_it, NAVI_BOTTOM_BUTTON_1_PART); - const char *button_label = elm_object_text_get(btn); - if (g_strcmp0(button_label, disable_labe) == 0) - elm_object_disabled_set(btn, disable); + UG_TRACE_BEGIN; + ugData *ugd = (ugData *)data; + ug_mf_retm_if(ugd == NULL, "ugd is NULL"); + + Elm_Object_Item *navi_it = ugd->ug_MainWindow.ug_pNaviItem; +#if 0 + Evas_Object *ctrlbar = elm_object_item_part_content_get(navi_it, "toolbar"); + Elm_Object_Item *item = NULL; + const char *button_label = NULL; + item = elm_toolbar_first_item_get(ctrlbar); + + while (item) { + button_label = elm_object_item_part_text_get(item, "elm.text"); + + if (ugd->ug_Status.ug_iViewType == mf_ug_view_ringtone_del) { + if (g_strcmp0(button_label, mf_ug_widget_get_text(MF_UG_LABEL_DELETE)) == 0 + || g_strcmp0(button_label, MF_UG_LABEL_DELETE) == 0) + elm_object_item_disabled_set(item, disable); + } else if (mf_ug_util_is_import_mode(ugd->ug_UiGadget.ug_iSelectMode)) { + if (g_strcmp0(button_label, mf_ug_widget_get_text(MF_UG_LABEL_DONE)) == 0 + || g_strcmp0(button_label, MF_UG_LABEL_DONE) == 0) + elm_object_item_disabled_set(item, disable); + } else if (ugd->ug_UiGadget.ug_iSelectMode == SINGLE_ALL_MODE || ugd->ug_UiGadget.ug_iSelectMode == SINGLE_FILE_MODE) { + if (g_strcmp0(button_label, mf_ug_widget_get_text(MF_UG_LABEL_SET)) == 0 + || g_strcmp0(button_label, MF_UG_LABEL_SET) == 0) + elm_object_item_disabled_set(item, disable); + } else { + if (g_strcmp0(button_label, mf_ug_widget_get_text(MF_UG_LABEL_DONE)) == 0 + || g_strcmp0(button_label, MF_UG_LABEL_DONE) == 0) + elm_object_item_disabled_set(item, disable); + } + button_label = NULL; + item = elm_toolbar_item_next_get(item); + + } +#endif + Evas_Object *btn = elm_object_item_part_content_get(navi_it, "title_right_btn"); + if (btn) { + elm_object_disabled_set(btn, disable); + } } - diff --git a/src/widget/mf-ug-popup.c b/src/widget/mf-ug-popup.c index d789a51..348d52a 100644 --- a/src/widget/mf-ug-popup.c +++ b/src/widget/mf-ug-popup.c @@ -1,137 +1,103 @@ /* - * 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. - */ +* Copyright (c) 2000-2015 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. +* +*/ #include <notification.h> +#include <efl_extension.h> #include "mf-ug-util.h" #include "mf-ug-winset.h" +#include "mf-ug-widget.h" #include "mf-ug-fs-util.h" #include "mf-ug-cb.h" +#include "mf-ug-fm-svc-wrapper.h" #include "mf-ug-resource.h" +#include "mf-ug-music.h" +#include "mf-ug-db-handle.h" +#define MF_UG_POPUP_BTN_STYLE "popup_button/default" #define MF_UG_POPUP_STYLE_MIN_MENUSTYLE "min_menustyle" #define MF_UG_POPUP_MENUSTYLE_WIDTH (614*elm_config_scale_get()) #define MF_UG_POPUP_MENUSTYLE_HEIGHT(x) ((113*x-1)*elm_config_scale_get()) #define MF_UG_POPUP_MENUSTYLE_HEIGHT_MAX (408*elm_config_scale_get()) -Elm_Genlist_Item_Class ug_listby_itc; -#define MF_UG_ITEM_COUNT 4 +#define MF_UG_ITEM_COUNT 4 -typedef struct { - int index; - ugData* ugd; -} ugListByData_s; +#define MF_CTXPOPUP_OBJ_DATA_KEY "mf_ctxpopup_data_key" +#define MF_CTXPOPUP_OBJ_MORE_BTN_KEY "mf_ctxpopup_more_btn_key" +#define MF_CTXPOPUP_OBJ_ROTATE_KEY "mf_ctxpopup_rotate_key" +#define MF_CTXPOPUP_STYLE_MORE "more/default" -static int __mf_ug_popup_get_list_by_selected_item(void *data) +static Eina_Bool present_flag = EINA_FALSE; + +static Evas_Object *global_progress = NULL; + +void mf_ug_progress_set(Evas_Object *progress) { - ug_mf_retvm_if(data == NULL, 0, "data is NULL"); - ugData *ugd = (ugData *)data; - - int iSortTypeValue = ugd->ug_Status.ug_iSortType; - - int ret = -1; - switch (iSortTypeValue) { - case MF_UG_SORT_BY_DATE_O2R: - case MF_UG_SORT_BY_DATE_R2O: - ret = 1; - break; - case MF_UG_SORT_BY_TYPE_A2Z: - case MF_UG_SORT_BY_TYPE_Z2A: - ret = 3; - break; - case MF_UG_SORT_BY_NAME_A2Z: - case MF_UG_SORT_BY_NAME_Z2A: - ret = 0; - break; - case MF_UG_SORT_BY_SIZE_S2L: - case MF_UG_SORT_BY_SIZE_L2S: - ret = 2; - break; - default: - ret = 0; - break; - } - return ret; + global_progress = progress; } +Evas_Object *mf_ug_progress_get() +{ + return global_progress; +} -static char *__mf_ug_popup_get_genlist_label(void *data, Evas_Object * obj, const char *part) +void mf_ug_popup_present_flag_set(Eina_Bool flag) { - ugListByData_s *params = (ugListByData_s *) data; - assert(params); - ugData *ugd = params->ugd; - assert(ugd); - assert(part); - - char *ret = NULL; - if (!strcmp(part, "elm.text")) { - switch (params->index) { - case 0: /**< Sort by file name ascending */ - ret = g_strdup(MF_UG_LABEL_NAME); - break; - case 1: /**< Sort by file size ascending */ - ret = g_strdup(MF_UG_LABEL_DATE); - break; - case 2: /**< Sort by file date ascending */ - ret = g_strdup(MF_UG_LABEL_SIZE); - break; - case 3: /**< Sort by file type ascending */ - ret = g_strdup(MF_UG_LABEL_TYPE); - break; - default: - break; - } - return ret; - } - return NULL; + present_flag = flag; + } -static Evas_Object* __mf_ug_popup_get_genlist_icon(void *data, Evas_Object * obj, const char *part) +Eina_Bool mf_ug_popup_present_flag_get() { - ugListByData_s *params = (ugListByData_s *) data; - assert(params); - ugData *ugd = params->ugd; - assert(ugd); - assert(part); - - if (!strcmp(part, "elm.icon")) { - Evas_Object *radio = NULL; - radio = elm_radio_add(obj); - elm_object_focus_set(radio, EINA_FALSE); - elm_radio_state_value_set(radio, params->index); - elm_radio_group_add(radio, ugd->ug_Status.ug_pRadioGroup); - elm_radio_value_set(radio, ugd->ug_Status.ug_iRadioValue); - evas_object_show(radio); - return radio; - } - return NULL; + return present_flag; } -static void __mf_ug_popup_genlist_select(void *data, Evas_Object * obj, void *event_info) +void mf_ug_popup_present_del(const char *fullpath, const char *present_path) { - assert(data); - assert(event_info); - ugListByData_s *params = NULL; - Elm_Object_Item *item = (Elm_Object_Item *) event_info; - if (item != NULL) { - params = (ugListByData_s *) elm_object_item_data_get(item); - if (params != NULL && params->ugd != NULL) { - params->ugd->ug_Status.ug_iSelectedSortType = params->index; - elm_radio_value_set(params->ugd->ug_Status.ug_pRadioGroup, params->index); - } - } + ug_mf_retm_if(fullpath == NULL, "fullpath is NULL"); + ug_mf_retm_if(present_path == NULL, "present_path is NULL"); + + if (g_strcmp0(fullpath, present_path) == 0) { + mf_ug_popup_present_flag_set(EINA_TRUE); + } +} +static void __mf_popup_new_folder_del_cb(void *data, Evas *e, Evas_Object *obj, void *event_info) +{ + ugData *ugd = (ugData *)data; + ug_mf_retm_if(ugd == NULL, "ugd is NULL"); + UG_SAFE_FREE_OBJ(ugd->ug_MainWindow.ug_pNewFolderPopup); + ugd->ug_Status.ug_iMore = UG_MORE_DEFAULT; + +} +static void __mf_popup_search_del_cb(void *data, Evas *e, Evas_Object *obj, void *event_info) +{ + ugData *ugd = (ugData *)data; + ug_mf_retm_if(ugd == NULL, "ugd is NULL"); + + ugd->ug_MainWindow.ug_pSearchPopup = NULL; + ugd->ug_MainWindow.ug_pSearchLabel = NULL; + +} +static void __mf_popup_normal_del_cb(void *data, Evas *e, Evas_Object *obj, void *event_info) +{ + ugData *ugd = (ugData *)data; + ug_mf_retm_if(ugd == NULL, "ugd is NULL"); + + ugd->ug_MainWindow.ug_pNormalPopup = NULL; + } /****************************** @@ -157,443 +123,609 @@ static void __mf_ug_popup_genlist_select(void *data, Evas_Object * obj, void *ev ** Modification : Created function ** ******************************/ -static Evas_Object *__ug_mf_popup_button_create(Evas_Object *parent, const char *label) +Evas_Object *mf_ug_popup_create_search(void *data, Evas_Smart_Cb back_func, void *back_param) { - Evas_Object *btn = NULL; - btn = elm_button_add(parent); - if (label) { - elm_object_text_set(btn, label); - } - return btn; - + UG_TRACE_BEGIN; + ugData *ugd = (ugData *)data; + ug_mf_retvm_if(ugd == NULL, NULL, "ugd is NULL"); + /*To fix P131203-07786 by wangyan[S Note]"Processing..." information is not centered on displayed popup.*/ + Evas_Object *popup; + Evas_Object *progressbar; + Evas_Object *layout; + + popup = elm_popup_add(ugd->ug_MainWindow.ug_pMainLayout); + layout = elm_layout_add(popup); + elm_layout_file_set(layout, UG_EDJ_NAVIGATIONBAR, "popup_processingview_1button"); + evas_object_size_hint_weight_set(layout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); + + /*get the processing object + label = elm_layout_add(layout); + elm_object_part_content_set(layout, "elm.swallow.text", label); + ugd->ug_MainWindow.ug_pSearchLabel = label;*/ + + mf_ug_widget_object_text_set(popup, MF_UG_LABEL_SEARCH, "title,text"); + mf_ug_widget_object_text_set(layout, MF_UG_LABEL_PROCESSING, "elm.text"); + + progressbar = elm_progressbar_add(popup); + elm_progressbar_pulse(progressbar, EINA_TRUE); + elm_object_style_set(progressbar, "process_large"); + elm_progressbar_horizontal_set(progressbar, EINA_TRUE); + evas_object_size_hint_align_set(progressbar, EVAS_HINT_FILL, EVAS_HINT_FILL); + evas_object_size_hint_weight_set(progressbar, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); + evas_object_show(progressbar); + elm_object_part_content_set(layout, "elm.swallow.content", progressbar); + + elm_object_content_set(popup, layout); + if (back_func) { + Evas_Object *btn1 = mf_ug_widget_create_button(popup, + "popup_button/default", + MF_UG_LABEL_CANCEL, + NULL, + back_func, + back_param, + EINA_FALSE); + elm_object_part_content_set(popup, "button1", btn1); + eext_object_event_callback_add(popup, EEXT_CALLBACK_BACK, back_func, back_param); + } else { + eext_object_event_callback_add(popup, EEXT_CALLBACK_BACK, eext_popup_back_cb, data); + } + evas_object_event_callback_add(popup, EVAS_CALLBACK_DEL, __mf_popup_search_del_cb, ugd); + evas_object_show(popup); + return popup; } -static Evas_Object *__mf_ug_popup_box_set(Evas_Object *parent, Evas_Object *content, int item_cnt) +void mf_ug_popup_del_by_timeout(void *data, Evas_Object *obj, void *event_info) { - ug_mf_retvm_if(parent == NULL, NULL, "parent is NULL"); - ug_mf_retvm_if(content == NULL, NULL, "content is NULL"); - ug_mf_retvm_if(item_cnt < 0, NULL, "content is NULL"); - - Evas_Object *box = elm_box_add(parent); - if (item_cnt > MF_UG_ITEM_COUNT) { - evas_object_size_hint_min_set(box, MF_UG_POPUP_MENUSTYLE_WIDTH, - MF_UG_POPUP_MENUSTYLE_HEIGHT(item_cnt)); - } else { - evas_object_size_hint_min_set(box, MF_UG_POPUP_MENUSTYLE_WIDTH, - MF_UG_POPUP_MENUSTYLE_HEIGHT(item_cnt)); - } - - evas_object_show(content); - elm_box_pack_end(box, content); - return box; + UG_TRACE_BEGIN; + ugData *ugd = (ugData *)data; + ug_mf_retm_if(ugd == NULL, "ugd is NULL"); + if (ugd->ug_MainWindow.ug_pNormalPopup) {/*Add the protection*/ + evas_object_del(ugd->ug_MainWindow.ug_pNormalPopup); + ugd->ug_MainWindow.ug_pNormalPopup = NULL; + } + if (ugd->ug_MainWindow.ug_pWindow) { + elm_object_focus_set(ugd->ug_MainWindow.ug_pWindow, EINA_TRUE); + } + UG_TRACE_END; + } -Evas_Object *mf_ug_popup_create_search(void *data, Evas_Smart_Cb func, void *param) +Evas_Object *mf_ug_popup_create(void *data, mf_ug_popup_mode popupMode, char *title, const char *context, const char *first_btn_text, const char *second_btn_text, + const char *third_btn_text, Evas_Smart_Cb func, void *param) { - UG_TRACE_BEGIN; - ugData *ugd = (ugData *)data; - ug_mf_retvm_if(ugd == NULL, NULL, "ugd is NULL"); - Evas_Object *popup = NULL; - Evas_Object *btn1 = NULL; - Evas_Object *box = NULL; - Evas_Object *content = NULL; - Evas_Object *label = NULL; - - popup = elm_popup_add(ugd->ug_MainWindow.ug_pMainLayout); - elm_object_style_set(popup,"min_menustyle"); - evas_object_size_hint_weight_set(popup, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - ugd->ug_MainWindow.ug_pNormalPopup = popup; - - - - btn1 = elm_button_add(popup); - elm_object_text_set(btn1, MF_UG_LABEL_CANCEL); - elm_object_part_content_set(popup, "button1", btn1); - evas_object_smart_callback_add(btn1, "clicked", func, param); - - box = elm_box_add(popup); - evas_object_size_hint_weight_set(box, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - - content = elm_layout_add(popup); - elm_layout_file_set(content, UG_EDJ_NAVIGATIONBAR, UG_GRP_SEARCH_PATH); - - evas_object_size_hint_weight_set(content, EVAS_HINT_EXPAND, - EVAS_HINT_EXPAND); - evas_object_size_hint_align_set(content, EVAS_HINT_FILL, EVAS_HINT_FILL); - - label = elm_label_add(content); - ugd->ug_MainWindow.ug_pSearchLabel = label; - elm_object_style_set(label, "popup/default"); - elm_label_wrap_width_set(label, 720); - elm_label_ellipsis_set(label, EINA_TRUE); - evas_object_size_hint_weight_set(label, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - evas_object_size_hint_align_set(label, EVAS_HINT_FILL, EVAS_HINT_FILL); - elm_object_text_set(label, "Test"); - - - elm_object_part_content_set(content, "path", label); - evas_object_show(label); - elm_box_pack_end(box, content); - - evas_object_size_hint_min_set(box, 720, 300); - evas_object_size_hint_max_set(box, 720, 300); - - evas_object_show(btn1); - evas_object_show(content); - evas_object_show(box); + Evas_Object *popup; + ugData *ugd = (ugData *)data; + ug_mf_retvm_if(ugd == NULL, NULL, "ugd is NULL"); + + Evas_Object *btn1 = NULL; + Evas_Object *btn2 = NULL; + popup = elm_popup_add(ugd->ug_MainWindow.ug_pMainLayout); + + ugd->ug_MainWindow.ug_pNormalPopup = popup; + evas_object_size_hint_weight_set(popup, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); + + if (title) { + mf_ug_widget_object_text_set(popup, title, "title,text"); + } + if (context && popupMode != UG_POPMODE_PROGRESSBAR) { + mf_ug_widget_object_text_set(popup, context, NULL); + } + switch (popupMode) { + case UG_POPMODE_TEXT: + case UG_POPMODE_TITLE_TEXT: + elm_popup_timeout_set(popup, 3); + if (func) { + evas_object_smart_callback_add(popup, "timeout", (Evas_Smart_Cb) func, param); + } else { + evas_object_smart_callback_add(popup, "timeout", (Evas_Smart_Cb) mf_ug_popup_del_by_timeout, ugd); + } + break; + case UG_POPMODE_TEXT_TWO_BTN: + case UG_POPMODE_TITLE_TEXT_TWO_BTN: + + btn1 = mf_ug_widget_create_button(popup, + MF_UG_POPUP_BTN_STYLE, + first_btn_text, + NULL, + func, + param, + EINA_FALSE); + btn2 = mf_ug_widget_create_button(popup, + MF_UG_POPUP_BTN_STYLE, + second_btn_text, + NULL, + func, + param, + EINA_FALSE); + elm_object_part_content_set(popup, "button1", btn1); + elm_object_part_content_set(popup, "button2", btn2); + break; + case UG_POPMODE_TEXT_BTN: + case UG_POPMODE_TITLE_TEXT_BTN: + btn1 = mf_ug_widget_create_button(popup, + MF_UG_POPUP_BTN_STYLE, + MF_UG_LABEL_OK, + NULL, + func, + param, + EINA_TRUE); + elm_object_part_content_set(popup, "button1", btn1); + break; + case UG_POPMODE_SEARCH: + btn1 = mf_ug_widget_create_button(popup, + MF_UG_POPUP_BTN_STYLE, + MF_UG_LABEL_CANCEL, + NULL, + func, + param, + EINA_TRUE); + elm_object_part_content_set(popup, "button1", btn1); + break; + default: + evas_object_del(popup); + return NULL; + } + evas_object_event_callback_add(popup, EVAS_CALLBACK_DEL, __mf_popup_normal_del_cb, ugd); + eext_object_event_callback_add(popup, EEXT_CALLBACK_BACK, eext_popup_back_cb, data); + evas_object_show(popup); + return popup; +} - elm_object_content_set(popup, box); +void mf_ug_popup_indicator_popup(char *text) +{ + ug_mf_retm_if(text == NULL, "text is NULL"); + int ret = notification_status_message_post(text); + ug_debug("status_message_post()... [0x%x]!", ret); + if (ret != 0) { + ug_debug("status_message_post()... [0x%x]!", ret); + } + return ; +} - evas_object_show(popup); - return popup; +static void _move_more_ctxpopup(void *data, Evas_Object *win, Evas_Object *ctxpopup) +{ + ug_mf_retm_if(data == NULL, "data is NULL"); + Evas_Coord w, h; + int pos = -1; + elm_win_screen_size_get(win, NULL, NULL, &w, &h); + pos = elm_win_rotation_get(win); + switch (pos) { + case 0: + case 180: + evas_object_move(ctxpopup, 0, h); + break; + case 90: + evas_object_move(ctxpopup, 0, w); + break; + case 270: + evas_object_move(ctxpopup, h, w); + break; + } } -Evas_Object *mf_ug_popup_create(void *data, mf_ug_popup_mode popupMode, char *title, const char *context, const char *first_btn_text, const char *second_btn_text, - const char *third_btn_text, Evas_Smart_Cb func, void *param) +static void __mf_ctxpopup_hide_cb(void *data, Evas_Object *obj, void *ei) { - Evas_Object *popup; - ugData *ugd = (ugData *)data; - ug_mf_retvm_if(ugd == NULL, NULL, "ugd is NULL"); - - Evas_Object *genlist; - Evas_Object *radio_group = NULL; - Evas_Object *box = NULL; - Evas_Object *btn1 = NULL; - Evas_Object *btn2 = NULL; - int index = 0; - int listby_selected= 0; - - popup = elm_popup_add(ugd->ug_MainWindow.ug_pMainLayout); - ugd->ug_MainWindow.ug_pNormalPopup = popup; - evas_object_size_hint_weight_set(popup, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - if (title) { - elm_object_part_text_set(popup, "title,text", title); - } - if (context && popupMode != UG_POPMODE_PROGRESSBAR) { - elm_object_text_set(popup, context); - } - switch (popupMode) { - case UG_POPMODE_TEXT: - case UG_POPMODE_TITLE_TEXT: - elm_popup_timeout_set(popup, 3); - if (func) { - evas_object_smart_callback_add(popup, "timeout", (Evas_Smart_Cb) func, param); - } - break; - case UG_POPMODE_TEXT_TWO_BTN: - case UG_POPMODE_TITLE_TEXT_TWO_BTN: - btn1 = __ug_mf_popup_button_create(popup, first_btn_text); - btn2 = __ug_mf_popup_button_create(popup, second_btn_text); - - evas_object_smart_callback_add(btn1, "clicked", func, param); - evas_object_smart_callback_add(btn2, "clicked", func, param); - elm_object_part_content_set(popup, "button1", btn1); - elm_object_part_content_set(popup, "button2", btn2); - break; - case UG_POPMODE_TEXT_BTN: - case UG_POPMODE_TITLE_TEXT_BTN: - btn1 = __ug_mf_popup_button_create(popup, MF_UG_LABEL_OK); - evas_object_smart_callback_add(btn1, "clicked", func, param); - elm_object_part_content_set(popup, "button1", btn1); - break; - case UG_POPMODE_SEARCH: - btn1 = __ug_mf_popup_button_create(popup, MF_UG_LABEL_CANCEL); - evas_object_smart_callback_add(btn1, "clicked", func, param); - elm_object_part_content_set(popup, "button1", btn1); - break; - case UG_POPMODE_LIST_BY: - elm_object_style_set(popup, MF_UG_POPUP_STYLE_MIN_MENUSTYLE); - - btn1 = __ug_mf_popup_button_create(popup, MF_UG_LABEL_ASCENDING); - evas_object_smart_callback_add(btn1, "clicked", func, param); - elm_object_part_content_set(popup, "button1", btn1); - - btn2 = __ug_mf_popup_button_create(popup, MF_UG_LABEL_DESCENDING); - evas_object_smart_callback_add(btn2, "clicked", func, param); - elm_object_part_content_set(popup, "button2", btn2); - - if (ugd->ug_Status.ug_pRadioGroup) { - evas_object_del(ugd->ug_Status.ug_pRadioGroup); - ugd->ug_Status.ug_pRadioGroup = NULL; - } - - radio_group = elm_radio_add(ugd->ug_MainWindow.ug_pWindow); - elm_object_focus_set(radio_group, EINA_FALSE); - elm_radio_value_set(radio_group, 0); - evas_object_hide(radio_group); - ugd->ug_Status.ug_pRadioGroup = radio_group; - - listby_selected = __mf_ug_popup_get_list_by_selected_item(ugd); - ugd->ug_Status.ug_iRadioValue = listby_selected; - - ug_listby_itc.item_style = "1text.1icon.2"; - ug_listby_itc.func.text_get = __mf_ug_popup_get_genlist_label; - ug_listby_itc.func.content_get = __mf_ug_popup_get_genlist_icon; - ug_listby_itc.func.state_get = NULL; - ug_listby_itc.func.del = NULL; - genlist = elm_genlist_add(popup); - elm_object_focus_set(genlist, EINA_FALSE); - 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); - for (index = 0; index < MF_UG_ITEM_COUNT; index++) { - ugListByData_s *item_data = malloc(sizeof(ugListByData_s)); - if (item_data == NULL) - continue; - - item_data->index = index; - item_data->ugd = ugd; - elm_genlist_item_append(genlist, &ug_listby_itc, (void *)item_data, NULL, - ELM_GENLIST_ITEM_NONE, __mf_ug_popup_genlist_select, popup); - } - - box = __mf_ug_popup_box_set(popup, genlist, MF_UG_ITEM_COUNT); - elm_object_content_set(popup, box); - evas_object_smart_callback_add(popup, "response", func, param); - - break; - default: - evas_object_del(popup); - return NULL; - } - evas_object_show(popup); - return popup; + UG_TRACE_BEGIN; + ug_mf_retm_if(!data, "data is NULL"); + ug_mf_retm_if(!obj, "obj is NULL"); + ugData *ugd = (ugData *)data; + + bool ct_rotate = (bool)evas_object_data_get(obj, + MF_CTXPOPUP_OBJ_ROTATE_KEY); + + if (!ct_rotate) { + ug_debug("ctxpopup is dismissed"); + evas_object_del(obj); + ugd->ug_MainWindow.ug_pContextPopup = NULL; + } else { + ug_debug("ctxpopup is not dismissed"); + /* when "dismissed" cb is called next time, + * ctxpopup should be dismissed if device is not rotated. */ + evas_object_data_set(obj, MF_CTXPOPUP_OBJ_ROTATE_KEY, + (void *)false); + /* If ctxpopup is not dismissed, then it must be shown again. + * Otherwise "dismissed" cb will be called one more time. */ + if (ugd->ug_MainWindow.ug_pContextPopup) { + _move_more_ctxpopup(ugd, ugd->ug_MainWindow.ug_pWindow, ugd->ug_MainWindow.ug_pContextPopup); + evas_object_show(ugd->ug_MainWindow.ug_pContextPopup); + } + } } -void mf_ug_popup_indicator_popup(const char *text) +static void __mf_ctxpopup_parent_resize_cb(void *data, Evas *e, + Evas_Object *obj, void *ei) { - ug_mf_retm_if(text == NULL, "text is NULL"); - int ret = notification_status_message_post(text); - ug_debug("status_message_post()... [0x%x]!", ret); - if (ret != 0) { - ug_debug("status_message_post()... [0x%x]!", ret); - } - return ; + UG_TRACE_BEGIN; + ug_mf_retm_if(!data, "data is NULL"); + evas_object_data_set((Evas_Object *)data, MF_CTXPOPUP_OBJ_ROTATE_KEY, + (void *)true); } +/* +static void __mf_ctxpopup_items_update_cb(void *data, Evas_Object *obj, void *ei) +{ + UG_TRACE_BEGIN; + ug_mf_retm_if(!data, "data is NULL"); + int (*update_cb)(void *data, Evas_Object *parent); + update_cb = evas_object_data_get((Evas_Object *)data, + "mf_ctxpopup_update_items_cb"); + mf_sdbg("callback: %p", update_cb); + if (update_cb) + update_cb(ei, (Evas_Object *)data); +} +*/ -static void _move_ctxpopup(void *data, Evas_Object *parent, Evas_Object *ctxpopup ) +static void __mf_ctxpopup_rotate_cb(void *data, Evas_Object *obj, void *ei) { - elm_ctxpopup_direction_priority_set(ctxpopup, ELM_CTXPOPUP_DIRECTION_UP, - ELM_CTXPOPUP_DIRECTION_LEFT, - ELM_CTXPOPUP_DIRECTION_RIGHT, - ELM_CTXPOPUP_DIRECTION_DOWN); - - if (parent) { - int x = 0; - int y = 0; - int w = 0; - int h = 0; - - evas_object_geometry_get(parent, &x, &y, &w, &h); - evas_object_move(ctxpopup, x+w/2, - y + h/2); - } + UG_TRACE_BEGIN; + ug_mf_retm_if(!data, "data is NULL"); + ugData *ugd = (ugData *)data; + + /*Evas_Object *more_btn = NULL; + more_btn = (Evas_Object *)evas_object_data_get(ugd->ug_MainWindow.ug_pContextPopup, + MF_CTXPOPUP_OBJ_MORE_BTN_KEY); + ug_mf_retm_if(!more_btn, "more_btn is NULL");*/ + if (ugd->ug_MainWindow.ug_pContextPopup) { + _move_more_ctxpopup(ugd, ugd->ug_MainWindow.ug_pWindow, ugd->ug_MainWindow.ug_pContextPopup); + evas_object_show(ugd->ug_MainWindow.ug_pContextPopup); + } + /*__mf_ctxpopup_show(data, more_btn, ugd->ug_MainWindow.ug_pContextPopup);*/ } -static void _ctxpopup_hide_cb(void *data, Evas_Object *obj, void *event_info) + +static void __mf_ctxpopup_del_cb(void *data, Evas *e, Evas_Object *obj, void *ei) { - UG_TRACE_BEGIN; - ug_mf_retm_if(obj == NULL, "obj is NULL"); - evas_object_del(obj); - obj = NULL; - UG_TRACE_END; + UG_TRACE_BEGIN; + ug_mf_retm_if(!data, "data is NULL"); + ug_mf_retm_if(!obj, "obj is NULL"); + Evas_Object *ctxpopup = obj; + ugData *ugd = (ugData *)data; + ug_mf_retm_if(!ugd->ug_MainWindow.ug_pWindow, "ugd->ug_MainWindow.ug_pWindow is NULL"); + + evas_object_data_del(ctxpopup, MF_CTXPOPUP_OBJ_MORE_BTN_KEY); + evas_object_data_del(ctxpopup, MF_CTXPOPUP_OBJ_ROTATE_KEY); + evas_object_smart_callback_del(ctxpopup, "dismissed", + __mf_ctxpopup_hide_cb); + evas_object_event_callback_del(ctxpopup, EVAS_CALLBACK_DEL, + __mf_ctxpopup_del_cb); + evas_object_event_callback_del(ugd->ug_MainWindow.ug_pWindow, + EVAS_CALLBACK_RESIZE, + __mf_ctxpopup_parent_resize_cb); + /*evas_object_smart_callback_del(ugd->maininfo.naviframe, + "ctxpopup,items,update", + __mf_ctxpopup_items_update_cb);*/ + evas_object_smart_callback_del(elm_object_top_widget_get(ctxpopup), + "rotation,changed", + __mf_ctxpopup_rotate_cb); + + ug_debug("done"); } +static int __mf_ctxpopup_add_callbacks(void *data, Evas_Object *ctxpopup) +{ + ug_mf_retvm_if(!data, -1, "data is NULL"); + ug_mf_retvm_if(!ctxpopup, -1, "ctxpopup is NULL"); + ugData *ugd = (ugData *)data; + ug_mf_retvm_if(!ugd->ug_MainWindow.ug_pWindow, -1, "ugd->ug_MainWindow.ug_pWindow is NULL"); + + /*evas_object_event_callback_del(ugd->ug_MainWindow.ug_pWindow, EVAS_CALLBACK_RESIZE, mf_ug_resize_more_ctxpopup_cb); + evas_object_event_callback_add(ugd->ug_MainWindow.ug_pWindow, EVAS_CALLBACK_RESIZE, (Evas_Object_Event_Cb)mf_ug_resize_more_ctxpopup_cb, ugd);*/ + + evas_object_smart_callback_add(ctxpopup, "dismissed", + __mf_ctxpopup_hide_cb, data); + evas_object_event_callback_add(ctxpopup, EVAS_CALLBACK_DEL, + __mf_ctxpopup_del_cb, data); + evas_object_event_callback_add(ugd->ug_MainWindow.ug_pWindow, + EVAS_CALLBACK_RESIZE, + __mf_ctxpopup_parent_resize_cb, + ctxpopup); + /*evas_object_smart_callback_add(ugd->ug_MainWindow.ug_pWindow, + "ctxpopup,items,update", + __mf_ctxpopup_items_update_cb, ctxpopup);*/ + evas_object_smart_callback_add(elm_object_top_widget_get(ctxpopup), + "rotation,changed", + __mf_ctxpopup_rotate_cb, data); + eext_object_event_callback_add(ctxpopup, EEXT_CALLBACK_BACK, eext_ctxpopup_back_cb, NULL); + eext_object_event_callback_add(ctxpopup, EEXT_CALLBACK_MORE, eext_ctxpopup_back_cb, NULL); + ug_debug("done"); + return 0; +} void mf_ug_context_popup_create_more(void *data, Evas_Object *parent) { - UG_TRACE_BEGIN; - ug_mf_retm_if(data == NULL, "data is NULL"); - ugData *ugd = (ugData *)data; - - UG_SAFE_FREE_OBJ(ugd->ug_MainWindow.ug_pContextPopup); - - Evas_Object *ctxpopup = elm_ctxpopup_add(ugd->ug_MainWindow.ug_pNaviBar); - ugd->ug_MainWindow.ug_pContextPopup = ctxpopup; - Elm_Object_Item *it = NULL; - - if (ugd->ug_UiGadget.ug_iSelectMode == EXPORT_MODE || ugd->ug_UiGadget.ug_iSelectMode == SAVE_MODE) { - /*Search*/ - it = elm_ctxpopup_item_append(ctxpopup, MF_UG_LABEL_CREATE, NULL, mf_ug_cb_create_new_folder, ugd); - } - _move_ctxpopup(ugd, parent, ctxpopup); - evas_object_show(ctxpopup); - - if(ctxpopup) - { - evas_object_smart_callback_add(ctxpopup,"dismissed", _ctxpopup_hide_cb, ugd); - } - UG_TRACE_END; + UG_TRACE_BEGIN; + ug_mf_retm_if(data == NULL, "data is NULL"); + ugData *ugd = (ugData *)data; + Evas_Object *image = NULL; + + UG_SAFE_FREE_OBJ(ugd->ug_MainWindow.ug_pContextPopup); + + Evas_Object *ctxpopup = elm_ctxpopup_add(ugd->ug_MainWindow.ug_pWindow); + elm_object_style_set(ctxpopup, "more/default"); + + elm_ctxpopup_direction_priority_set(ctxpopup, ELM_CTXPOPUP_DIRECTION_UP, + ELM_CTXPOPUP_DIRECTION_UNKNOWN, + ELM_CTXPOPUP_DIRECTION_UNKNOWN, + ELM_CTXPOPUP_DIRECTION_UNKNOWN); + UG_TRACE_END; + ugd->ug_MainWindow.ug_pContextPopup = ctxpopup; + Elm_Object_Item *it = NULL; + if (ugd->ug_UiGadget.ug_iSelectMode == EXPORT_MODE || ugd->ug_UiGadget.ug_iSelectMode == SAVE_MODE) { + /*Search*/ + image = elm_image_add(ctxpopup); + elm_image_file_set(image, UG_EDJ_IMAGE, UG_ICON_CREATE_FOLDER); + + it = elm_ctxpopup_item_append(ctxpopup, MF_UG_LABEL_CREATE, image, mf_ug_cb_create_new_folder, ugd); + mf_ug_widget_object_item_translate_set(it, MF_UG_LABEL_CREATE); + } else if (ugd->ug_UiGadget.ug_iSelectMode == SINGLE_FILE_MODE) { + image = elm_image_add(ctxpopup); + elm_image_file_set(image, UG_EDJ_IMAGE, UG_ICON_ADD); + it = elm_ctxpopup_item_append(ctxpopup, MF_UG_LABEL_ADD, image, mf_ug_music_launch_cb, ugd); + mf_ug_widget_object_item_translate_set(it, MF_UG_LABEL_ADD); + + image = elm_image_add(ctxpopup); + elm_image_file_set(image, UG_EDJ_IMAGE, UG_ICON_DELETE); + it = elm_ctxpopup_item_append(ctxpopup, MF_UG_LABEL_DELETE, image, mf_ug_ringtone_del_cb, ugd); + mf_ug_widget_object_item_translate_set(it, MF_UG_LABEL_DELETE); + + Evas_Object *content = ugd->ug_MainWindow.ug_pNaviGenlist; + Elm_Object_Item *gli = elm_genlist_first_item_get(content); + Elm_Object_Item *nli = NULL; + ugListItemData *selected_data = NULL; + + while (gli) { + ugListItemData *params = (ugListItemData *)elm_object_item_data_get(gli); + ug_mf_retm_if(params == NULL, "params is NULL"); + if (params->ug_pRadioBox) { + if (elm_radio_value_get(ugd->ug_MainWindow.ug_pRadioGroup) == params->ug_iGroupValue) { + selected_data = params; + break; + } + } + nli = elm_genlist_item_next_get(gli); + gli = nli; + } + + if (selected_data) { + char *select_item = selected_data->ug_pItemName->str; + if (ugd->ug_UiGadget.ug_iSoundMode == mf_ug_sound_mode_ringtone) { + if (mf_ug_db_handle_ringtone_in_db(select_item)) { + elm_object_item_disabled_set(it, EINA_FALSE); + } else { + elm_object_item_disabled_set(it, EINA_TRUE); + } + } else if (ugd->ug_UiGadget.ug_iSoundMode == mf_ug_sound_mode_alert) { + if (mf_ug_db_handle_alert_in_db(select_item)) { + elm_object_item_disabled_set(it, EINA_FALSE); + } else { + elm_object_item_disabled_set(it, EINA_TRUE); + } + } + } else { + elm_object_item_disabled_set(it, EINA_TRUE); + } + } + _move_more_ctxpopup(ugd, ugd->ug_MainWindow.ug_pWindow, ctxpopup); + evas_object_show(ctxpopup); + + if (ctxpopup) { + /*evas_object_smart_callback_add(ctxpopup,"dismissed", _ctxpopup_hide_cb, ugd);*/ + __mf_ctxpopup_add_callbacks(ugd, ctxpopup); + } + UG_TRACE_END; } static Evas_Object *__mf_ug_popup_entry_create(Evas_Object *parent) { - Evas_Object *en = NULL; + Evas_Object *en = NULL; - en = elm_entry_add(parent); - elm_entry_scrollable_set(en, EINA_TRUE); - elm_entry_select_all(en); - elm_scroller_policy_set(en, ELM_SCROLLER_POLICY_OFF, - ELM_SCROLLER_POLICY_AUTO); + en = elm_entry_add(parent);/*Using the style to instead of the entry, it will include the other style.*/ + elm_entry_scrollable_set(en, EINA_TRUE); + elm_entry_select_all(en); + elm_scroller_policy_set(en, ELM_SCROLLER_POLICY_OFF, + ELM_SCROLLER_POLICY_AUTO); - Ecore_IMF_Context *imf_context = elm_entry_imf_context_get(en); + elm_entry_single_line_set(en, EINA_TRUE); + evas_object_size_hint_weight_set(en, EVAS_HINT_EXPAND, + EVAS_HINT_EXPAND); + evas_object_size_hint_align_set(en, EVAS_HINT_FILL, EVAS_HINT_FILL); + evas_object_show(en); - elm_entry_single_line_set(en, EINA_TRUE); - evas_object_size_hint_weight_set(en, EVAS_HINT_EXPAND, - EVAS_HINT_EXPAND); - evas_object_size_hint_align_set(en, EVAS_HINT_FILL, EVAS_HINT_FILL); - evas_object_show(en); - - return en; + return en; } static char *__new_folder_text_get(void *data) { - UG_TRACE_BEGIN; - ugData *ugd = (ugData *)data; - ug_mf_retvm_if(ugd == NULL, NULL, "ugd is NULL"); - - int error_code = 0; - char *fileName = NULL; - char *fullpath = (char *)malloc(sizeof(char) * MYFILE_FILE_PATH_LEN_MAX); - if (fullpath == NULL) { - return NULL; - } - GString *dest_fullpath = NULL; - - memset(fullpath, 0, MYFILE_FILE_PATH_LEN_MAX); - fileName = elm_entry_markup_to_utf8(MF_UG_LABEL_FOLDER); - snprintf(fullpath, (MYFILE_FILE_PATH_LEN_MAX), "%s/%s", (char *)ugd->ug_Status.ug_pPath->str, fileName); - - dest_fullpath = g_string_new(fullpath); - - - if (mf_ug_fm_svc_wrapper_detect_duplication(dest_fullpath)) { - ug_debug("dectetion result is TRUE\ndest_fullpath is %s\n", dest_fullpath->str); - error_code = mf_ug_fm_svc_wrapper_file_auto_rename(ugd, dest_fullpath, FILE_NAME_WITH_BRACKETS, &dest_fullpath); - ug_debug("rename result is %s\n", dest_fullpath->str); - memset(fullpath, 0, strlen(fullpath)); - int len = strlen(ugd->ug_Status.ug_pPath->str) + 1; - strncpy(fullpath, dest_fullpath->str + len, MYFILE_FILE_PATH_LEN_MAX); - /*memset(fileName,0,strlen(fileName));*/ - - UG_SAFE_FREE_CHAR(fileName); - fileName = elm_entry_markup_to_utf8(fullpath); - } - - /*elm_entry_entry_set(entry, ecore_file_file_get(params->m_ItemName->str));*/ - - - UG_SAFE_FREE_CHAR(fullpath); - UG_SAFE_FREE_GSTRING(dest_fullpath); - return fileName; + UG_TRACE_BEGIN; + ugData *ugd = (ugData *)data; + ug_mf_retvm_if(ugd == NULL, NULL, "ugd is NULL"); + + char *fileName = NULL; + char *fullpath = (char *)malloc(sizeof(char)*MYFILE_FILE_PATH_LEN_MAX); + if (fullpath == NULL) { + return NULL; + } + GString *dest_fullpath = NULL; + + memset(fullpath, 0, MYFILE_FILE_PATH_LEN_MAX); + fileName = elm_entry_markup_to_utf8(mf_ug_widget_get_text(MF_UG_LABEL_FOLDER)); + snprintf(fullpath, (MYFILE_FILE_PATH_LEN_MAX), "%s/%s", (char *)ugd->ug_Status.ug_pPath->str, fileName); + + dest_fullpath = g_string_new(fullpath); + + + if (mf_ug_fm_svc_wrapper_detect_duplication(dest_fullpath)) { + mf_ug_fm_svc_wrapper_file_auto_rename(ugd, dest_fullpath, FILE_NAME_WITH_BRACKETS, &dest_fullpath); + memset(fullpath, 0, strlen(fullpath)); + int len = strlen(ugd->ug_Status.ug_pPath->str) + 1; + strncpy(fullpath, dest_fullpath->str + len, MYFILE_FILE_PATH_LEN_MAX); + /*memset(fileName,0,strlen(fileName));*/ + + UG_SAFE_FREE_CHAR(fileName); + fileName = elm_entry_markup_to_utf8(fullpath); + } + /*elm_entry_entry_set(entry, ecore_file_file_get(params->m_ItemName->str));*/ + UG_SAFE_FREE_CHAR(fullpath); + UG_SAFE_FREE_GSTRING(dest_fullpath); + return fileName; } + static void __mf_ug_popup_show_vk_cb(void *data, Evas_Object *obj, void *event_info) { - UG_TRACE_BEGIN; - ug_mf_retm_if(data == NULL, "data is NULL"); - ugData *ugd = (ugData *)data; - - Evas_Object *pEntry = NULL; + UG_TRACE_BEGIN; + ug_mf_retm_if(data == NULL, "data is NULL"); + ugData *ugd = (ugData *)data; - evas_object_del(ugd->ug_MainWindow.ug_pNormalPopup); + if (ugd->ug_MainWindow.ug_pNormalPopup) { /*add protection*/ + evas_object_del(ugd->ug_MainWindow.ug_pNormalPopup); + ugd->ug_MainWindow.ug_pNormalPopup = NULL; + } - ugd->ug_MainWindow.ug_pNormalPopup = NULL; - - pEntry = ugd->ug_MainWindow.ug_pEntry; - elm_entry_cursor_end_set(ugd->ug_MainWindow.ug_pEntry); - - elm_object_focus_set(ugd->ug_MainWindow.ug_pEntry, EINA_TRUE); - - UG_TRACE_END; + if (ugd->ug_MainWindow.ug_pEntry) { /*add protection*/ + elm_entry_cursor_end_set(ugd->ug_MainWindow.ug_pEntry); + elm_object_focus_set(ugd->ug_MainWindow.ug_pEntry, EINA_TRUE); + } + UG_TRACE_END; } - static void __mf_ug_popup_create_folder_imf_changed_cb(void *data, Evas_Object *obj, void *event_info) { - UG_TRACE_BEGIN; - ug_mf_retm_if(data == NULL, "data is NULL"); - ugData *ugd = (ugData *)data; - - const char *entry_data = NULL; - char *name = NULL; - char new_str[MYFILE_FILE_NAME_LEN_MAX] = { '\0', }; - - entry_data = elm_entry_entry_get(ugd->ug_MainWindow.ug_pEntry); - ug_mf_retm_if(entry_data == NULL, "entry_data is null"); - name = elm_entry_markup_to_utf8(entry_data); - ug_mf_retm_if(name == NULL, "name is null"); - - ug_error("name is [%s]", name); - if (mf_ug_file_attr_is_valid_name(name) != MYFILE_ERR_NONE) { - strncpy(new_str, name, MYFILE_FILE_NAME_LEN_MAX - 1); - if (strlen(name) > 0) - new_str[strlen(name) - 1] = '\0'; - elm_entry_entry_set(ugd->ug_MainWindow.ug_pEntry, new_str); - elm_entry_cursor_end_set(ugd->ug_MainWindow.ug_pEntry); - elm_object_focus_set(ugd->ug_MainWindow.ug_pEntry, EINA_FALSE); - - UG_SAFE_FREE_OBJ(ugd->ug_MainWindow.ug_pNormalPopup); - ugd->ug_MainWindow.ug_pNormalPopup = mf_ug_popup_create(ugd, UG_POPMODE_TEXT, NULL, MF_UG_LABEL_ILLEGAL_CHAR, NULL, NULL, - NULL, __mf_ug_popup_show_vk_cb, ugd); - } - UG_SAFE_FREE_CHAR(name); - UG_TRACE_END; + UG_TRACE_BEGIN; + ug_mf_retm_if(data == NULL, "data is NULL"); + ugData *ugd = (ugData *)data; + + const char *entry_data = NULL; + char *name = NULL; + char new_str[MYFILE_FILE_NAME_LEN_MAX] = { '\0', }; + + entry_data = elm_entry_entry_get(ugd->ug_MainWindow.ug_pEntry); + ug_mf_retm_if(entry_data == NULL, "entry_data is null"); + name = elm_entry_markup_to_utf8(entry_data); + ug_mf_retm_if(name == NULL, "name is null"); + + SECURE_DEBUG("name is [%s]", name); + if (mf_ug_file_attr_is_valid_name(name) != MYFILE_ERR_NONE) { + strncpy(new_str, name, MYFILE_FILE_NAME_LEN_MAX - 1); + if (strlen(name) > 0) + new_str[strlen(name) - 1] = '\0'; + elm_entry_entry_set(ugd->ug_MainWindow.ug_pEntry, new_str); + elm_entry_cursor_end_set(ugd->ug_MainWindow.ug_pEntry); + elm_object_focus_set(ugd->ug_MainWindow.ug_pEntry, EINA_FALSE); + + UG_SAFE_FREE_OBJ(ugd->ug_MainWindow.ug_pNormalPopup); + ugd->ug_MainWindow.ug_pNormalPopup = mf_ug_popup_create(ugd, UG_POPMODE_TEXT, NULL, + MF_UG_LABEL_ILLEGAL_CHAR, NULL, NULL, + NULL, __mf_ug_popup_show_vk_cb, ugd); + } + + UG_SAFE_FREE_CHAR(name); + UG_TRACE_END; } Evas_Object *mf_ug_popup_create_new_folder_popup(void *data, char *context) { + UG_TRACE_BEGIN; + ug_mf_retvm_if(data == NULL, NULL, "data is NULL"); + ugData *ugd = (ugData *)data; + + Evas_Object *popup; + Evas_Object *layout; + char *text = NULL; + static Elm_Entry_Filter_Limit_Size limit_filter_data; + + popup = elm_popup_add(ugd->ug_MainWindow.ug_pMainLayout); + + elm_object_focus_set(popup, EINA_FALSE); + + layout = elm_layout_add(popup); + elm_object_focus_set(layout, EINA_FALSE); + elm_layout_file_set(layout, UG_EDJ_NAVIGATIONBAR, "popup_new_folder"); + evas_object_size_hint_weight_set(layout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); + + Evas_Object *en = NULL; + en = __mf_ug_popup_entry_create(layout); + + text = __new_folder_text_get(ugd); + limit_filter_data.max_char_count = MYFILE_FILE_NAME_LEN_MAX; + elm_entry_entry_set(en, text); + elm_entry_cursor_end_set(en); + UG_SAFE_FREE_CHAR(text); + + elm_entry_markup_filter_append(en, elm_entry_filter_limit_size, + &limit_filter_data); + elm_object_part_content_set(layout, "elm.swallow.content", en); + mf_ug_widget_object_text_set(popup, context, "title,text"); + + evas_object_smart_callback_add(en, "maxlength,reached", mf_ug_cb_reach_max_len_cb, ugd); + evas_object_smart_callback_add(en, "changed", __mf_ug_popup_create_folder_imf_changed_cb, ugd); + evas_object_smart_callback_add(en, "activated", mf_ug_cb_save_cb, ugd); + elm_entry_input_panel_return_key_type_set(en, ELM_INPUT_PANEL_RETURN_KEY_TYPE_DONE); + ugd->ug_MainWindow.ug_pEntry = en; + + elm_object_content_set(popup, layout); + + Evas_Object *btn1 = NULL; + Evas_Object *btn2 = NULL; + + btn1 = mf_ug_widget_create_button(popup, + MF_UG_POPUP_BTN_STYLE, + MF_UG_LABEL_CANCEL, + NULL, + mf_ug_cb_cancel_new_folder_cb, + ugd, + EINA_FALSE); + btn2 = mf_ug_widget_create_button(popup, + MF_UG_POPUP_BTN_STYLE, + MF_UG_LABEL_OK, + NULL, + mf_ug_cb_save_cb, + ugd, + EINA_FALSE); + + elm_object_part_content_set(popup, "button1", btn1); + elm_object_part_content_set(popup, "button2", btn2); + + evas_object_event_callback_add(popup, EVAS_CALLBACK_DEL, __mf_popup_new_folder_del_cb, ugd); + eext_object_event_callback_add(popup, EEXT_CALLBACK_BACK, eext_popup_back_cb, data); + + evas_object_show(popup); + + return popup; +} - UG_TRACE_BEGIN; - ug_mf_retvm_if(data == NULL, NULL, "data is NULL"); - ugData *ugd = (ugData *)data; - - Evas_Object *popup; - Evas_Object *layout; - char *text = NULL; - static Elm_Entry_Filter_Limit_Size limit_filter_data; - - popup = elm_popup_add(ugd->ug_MainWindow.ug_pMainLayout); - elm_object_focus_set(popup, EINA_FALSE); - - layout = elm_layout_add(popup); - elm_object_focus_set(layout, EINA_FALSE); - elm_layout_file_set(layout, UG_EDJ_NAVIGATIONBAR, UG_GRP_POPUP); - evas_object_size_hint_weight_set(layout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - - Evas_Object *en = NULL; - en = __mf_ug_popup_entry_create(layout); - - text = __new_folder_text_get(ugd); - limit_filter_data.max_char_count = MYFILE_FILE_NAME_LEN_MAX; - elm_entry_entry_set(en, text); - elm_entry_cursor_end_set(en); - UG_SAFE_FREE_CHAR(text); - - elm_entry_markup_filter_append(en, elm_entry_filter_limit_size, - &limit_filter_data); - elm_object_part_content_set(layout, "elm.swallow.content", en); +Evas_Object *mf_popup_center_processing(Evas_Object *parent, + const char *context, + Evas_Smart_Cb func, + void *param) +{ + Evas_Object *popup; + Evas_Object *progressbar; + Evas_Object *layout; + popup = elm_popup_add(parent); - edje_object_part_text_set(elm_layout_edje_get(layout), "title.text", context); - evas_object_smart_callback_add(en, "maxlength,reached", mf_ug_cb_reach_max_len_cb, ugd); - evas_object_smart_callback_add(en, "changed", __mf_ug_popup_create_folder_imf_changed_cb, ugd); - ugd->ug_MainWindow.ug_pEntry = en; + layout = elm_layout_add(popup); + elm_layout_file_set(layout, UG_EDJ_NAVIGATIONBAR, "popup_progress_text"); + evas_object_size_hint_weight_set(layout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - elm_object_content_set(popup, layout); + progressbar = elm_progressbar_add(popup); + elm_progressbar_pulse(progressbar, EINA_TRUE); + elm_object_style_set(progressbar, "list_process"); + elm_progressbar_horizontal_set(progressbar, EINA_TRUE); + evas_object_size_hint_align_set(progressbar, EVAS_HINT_FILL, EVAS_HINT_FILL); + evas_object_size_hint_weight_set(progressbar, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); + evas_object_show(progressbar); + mf_ug_progress_set(progressbar); + mf_ug_widget_object_text_set(layout, context, "elm.title"); - Evas_Object *btn1 = __ug_mf_popup_button_create(popup, MF_UG_LABEL_OK); - elm_object_style_set(btn1, "popup_button/default"); - Evas_Object *btn2 = __ug_mf_popup_button_create(popup, MF_UG_LABEL_CANCEL); - elm_object_style_set(btn2, "popup_button/default"); + elm_object_part_content_set(layout, "elm.swallow.content", progressbar); + /*elm_object_part_content_set(layout, "elm.swallow.text", label);*/ - evas_object_smart_callback_add(btn1, "clicked", mf_ug_cb_save_cb, ugd); - evas_object_smart_callback_add(btn2, "clicked", mf_ug_cb_cancel_new_folder_cb, ugd); - elm_object_part_content_set(popup, "button1", btn1); - elm_object_part_content_set(popup, "button2", btn2); + elm_object_content_set(popup, layout); + evas_object_show(popup); - evas_object_show(popup); - return popup; + eext_object_event_callback_add(popup, EEXT_CALLBACK_BACK, func, param); + return popup; } diff --git a/src/widget/mf-ug-ringtone-view.c b/src/widget/mf-ug-ringtone-view.c new file mode 100644 index 0000000..f43ef1a --- /dev/null +++ b/src/widget/mf-ug-ringtone-view.c @@ -0,0 +1,251 @@ +/* +* Copyright (c) 2000-2015 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. +* +*/ + + + +#include "mf-ug-main.h" +#include "mf-ug-widget.h" +#include "mf-ug-winset.h" +#include "mf-ug-resource.h" +#include "mf-ug-dlog.h" +#include "mf-ug-util.h" +#include "mf-ug-ringtone-view.h" +#include "mf-ug-fm-svc-wrapper.h" +#include "mf-ug-db-handle.h" +#include "mf-ug-list-play.h" +#include "mf-ug-file-util.h" + +static Ecore_Idler *ug_ringtone_idler = NULL; +extern bool g_ug_bDefaultItem; + +Evas_Object *mf_ug_ringtone_list_create(void *data) +{ + UG_TRACE_BEGIN; + ugData *ugd = (ugData *)data; + ug_mf_retvm_if(ugd == NULL, NULL, "ugd is NULL"); + Evas_Object *genlist = NULL; + Eina_List *file_list = NULL; + Eina_List *dir_list = NULL; + int groupValue = 1; + g_ug_bDefaultItem = false; + + genlist = __mf_ug_genlist_create_gl(ugd); + ug_error("=========================================== block count set"); + elm_genlist_block_count_set(genlist, 3); + + mf_ug_fm_svc_wapper_get_file_list_by_filter(ugd, ugd->ug_Status.ug_pPath, &dir_list, &file_list); + ugd->ug_UiGadget.ug_pFilterList = file_list; + mf_ug_util_sort_the_file_list(ugd); + + ugd->ug_MainWindow.ug_pNaviGenlist = genlist; + ugFsNodeInfo *pNode = NULL; + char *real_name = NULL; + Eina_List *l = NULL; + + if (ugd->ug_UiGadget.default_ringtone) { + mf_ug_genlist_default_ringtone_item_append(genlist, ugd, groupValue, &ugd->ug_Status.ug_1text2icon4_itc); + groupValue++; + } + + if (ugd->ug_UiGadget.silent) { + mf_ug_genlist_silent_item_append(genlist, ugd, groupValue, &ugd->ug_Status.ug_1text2icon4_itc); + groupValue++; + } + + groupValue = mf_ug_genlist_ringtone_items_add(ugd, groupValue); + + + bool exist_flag = true; + /*To fix P131210-01329 wangyan, check whether the passed file exists*/ + if (ugd->ug_Status.mark_mode && mf_file_exists(ugd->ug_Status.mark_mode)) { + if (g_strcmp0(ugd->ug_Status.mark_mode, DEFAULT_RINGTONE_MARK) && g_strcmp0(ugd->ug_Status.mark_mode, SILENT)) { + + if (ugd->ug_UiGadget.ug_iSoundMode == mf_ug_sound_mode_ringtone) { + exist_flag = mf_ug_db_handle_find_ringtone(ugd->ug_Status.mark_mode); + } else if (ugd->ug_UiGadget.ug_iSoundMode == mf_ug_sound_mode_alert) { + exist_flag = mf_ug_db_handle_find_alert(ugd->ug_Status.mark_mode); + } + if (!exist_flag) { + if (mf_ug_util_find_item_from_pnode_list(ugd->ug_UiGadget.ug_pFilterList, ugd->ug_Status.mark_mode) != false) { + exist_flag = true; + } else { + exist_flag = false; + } + } + + if (!exist_flag) { + mf_ug_genlist_item_append(genlist, ugd->ug_Status.mark_mode, ugd, groupValue, &ugd->ug_Status.ug_1text2icon4_itc); + groupValue++; + /*To fix P131128-01215 by wangyan,phone>menu>call settings>Ringtone and keypad tones>Ringtones + >menu>delete setpath-> (not set but)back-> go to ringtone again ->delete menu is gray. + the ringtone or alert is not in db ,add it */ + int location = mf_ug_fm_svc_wapper_get_location(ugd->ug_Status.mark_mode); + if (ugd->ug_UiGadget.ug_iSoundMode == mf_ug_sound_mode_ringtone) { + mf_ug_db_handle_add_ringtone(ugd->ug_Status.mark_mode, NULL, location); + } else if (ugd->ug_UiGadget.ug_iSoundMode == mf_ug_sound_mode_alert) { + mf_ug_db_handle_add_alert(ugd->ug_Status.mark_mode, NULL, location); + } + } + } + } + g_ug_bDefaultItem = true; + EINA_LIST_FOREACH(ugd->ug_UiGadget.ug_pFilterList, l, pNode) { + if (pNode) { + if (pNode->path && pNode->name) { + real_name = g_strconcat(pNode->path, "/", pNode->name, NULL); + } + } else { + continue; + } + mf_ug_genlist_item_append(genlist, real_name, ugd, groupValue, &ugd->ug_Status.ug_1text2icon4_itc); + groupValue++; + + UG_SAFE_FREE_CHAR(real_name); + } + g_ug_bDefaultItem = false; + return genlist; +} + + +static Eina_Bool __selected_item_show(void *data) +{ + ugData *ugd = (ugData *)data; + + Elm_Object_Item *defaultitem = NULL; + + if (!ugd->ug_Status.ug_bNoContentFlag && (ugd->ug_Status.ug_iRadioOn > 1)) { + defaultitem = elm_genlist_nth_item_get(ugd->ug_MainWindow.ug_pNaviGenlist, ugd->ug_Status.ug_iRadioOn-1); + if (NULL != defaultitem) { + ug_error("ugd->ug_Status.ug_iRadioOn = %d", ugd->ug_Status.ug_iRadioOn); + elm_genlist_item_show(defaultitem, ELM_GENLIST_ITEM_SCROLLTO_TOP); + } + } + /*if (mf_ug_main_is_help_mode()) { + ug_error("=============== create help==================="); + mf_ug_genlist_show_help_on_item(ugd); + }*/ + + ugd->show = NULL; + return ECORE_CALLBACK_CANCEL; +} + +Eina_Bool mf_ug_ringtone_view_idler(void *data) +{ + UG_TRACE_BEGIN; + ugData *ugd = (ugData *)data; + + Evas_Object *newContent = NULL; + + newContent = mf_ug_ringtone_list_create(ugd); + if (!ugd->show) { + ugd->show = ecore_idler_add(__selected_item_show, ugd); + } + ugd->ug_MainWindow.ug_pNaviGenlist = newContent; + UG_SAFE_FREE_CHAR(ugd->ug_MainWindow.ug_pNaviTitle); + /*set title segment or title */ + + /*navigation view integration */ + evas_object_show(newContent); + elm_object_part_content_set(ugd->ug_MainWindow.ug_pNaviLayout, "part1", newContent); + ug_ringtone_idler = NULL; + /*mf_ug_navi_bar_set_ctrl_item_disable(ugd);*/ + mf_ug_main_update_ctrl_in_idle(ugd); + return ECORE_CALLBACK_CANCEL; + +} +void mf_ug_create_rintone_view(void *data) +{ + UG_TRACE_BEGIN; + ugData *ugd = (ugData *)data; + ug_mf_retm_if(ugd == NULL, "ugd is NULL"); + + Evas_Object *pNaviLayout = NULL; + /*Evas_Object *newContent = NULL; + Evas_Object *top_layout = NULL;*/ + + pNaviLayout = mf_ug_navi_bar_create_layout(ugd->ug_MainWindow.ug_pNaviBar, UG_EDJ_NAVIGATIONBAR, UG_GRP_NAVI_VIEW); + ugd->ug_MainWindow.ug_pNaviLayout = pNaviLayout; + mf_ug_navi_bar_set_path_state(pNaviLayout, EINA_FALSE); + /*set content */ + mf_ug_navi_bar_create_group_radio_box(ugd); + + if (ugd->ug_UiGadget.title) { + ugd->ug_MainWindow.ug_pNaviTitle = g_strdup(ugd->ug_UiGadget.title); + } + mf_ug_navi_bar_push_content(ugd, pNaviLayout); + + mf_ug_navi_bar_set_ctrl_button(ugd); + + mf_ug_navi_bar_title_set(ugd); + mf_ug_navi_bar_remove_previous_contents(ugd); + /*ug_ecore_idler_del(ug_ringtone_idler); + ug_ringtone_idler = ecore_idler_add(mf_ug_ringtone_view_idler, ugd);*/ + mf_ug_ringtone_view_idler(ugd); +} + +bool mf_ug_ringtone_is_default(int mode, const char *path) +{ + bool default_flag = false; + if (mode == mf_ug_sound_mode_ringtone) { + ug_error(); + default_flag = mf_ug_db_handle_find_ringtone(path); + } else if (mode == mf_ug_sound_mode_alert) { + ug_error(); + default_flag = mf_ug_db_handle_find_alert(path); + } + ug_error("default_flag is [%d]", default_flag); + return !default_flag; +} + +void mf_ug_ringtone_list_resume(void *data) +{ + UG_TRACE_BEGIN; + ugData *ugd = (ugData *)data; + ug_mf_retm_if(ugd == NULL, "ugd is NULL"); + + ug_error(); + Evas_Object *genlist = ugd->ug_MainWindow.ug_pNaviGenlist; + Elm_Object_Item *it; + it = elm_genlist_first_item_get(genlist); + + int index = elm_radio_value_get(ugd->ug_MainWindow.ug_pRadioGroup); + int delete_index = -1; + while (it) { + ugListItemData *ug_ItemData = elm_object_item_data_get(it); + if (ug_ItemData && ug_ItemData->ug_pItemName && ug_ItemData->ug_pItemName->str) { + if (mf_ug_is_default_ringtone(ugd, ug_ItemData->ug_pItemName->str)) { + it = elm_genlist_item_next_get(it); + continue; + } + if (!mf_file_exists(ug_ItemData->ug_pItemName->str)) { + ug_error(); + delete_index = ug_ItemData->ug_iGroupValue; + Elm_Object_Item *temp = it; + it = elm_genlist_item_next_get(it); + elm_object_item_del(temp); + if (delete_index == index) { + ugd->ug_Status.ug_iRadioOn = 0; + elm_radio_value_set(ugd->ug_MainWindow.ug_pRadioGroup, 0); + /*delete_index = -1;*/ + mf_ug_navi_bar_button_set_disable(ugd, true); + } + continue; + } + } + it = elm_genlist_item_next_get(it); + } +} diff --git a/src/widget/mf-ug-search-view.c b/src/widget/mf-ug-search-view.c index 2ff7215..8770058 100644 --- a/src/widget/mf-ug-search-view.c +++ b/src/widget/mf-ug-search-view.c @@ -1,18 +1,22 @@ /* - * 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. - */ +* Copyright (c) 2000-2015 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. +* +*/ + + + #include <Eina.h> #include <Ecore_X.h> @@ -22,434 +26,503 @@ #include "mf-ug-winset.h" #include "mf-ug-fs-util.h" #include "mf-ug-resource.h" +#include "mf-ug-fm-svc-wrapper.h" #include "mf-ug-cb.h" +#include "mf-ug-widget.h" +#include <time.h> + #define MF_SEARCH_OPTION_DEF (MF_SEARCH_OPT_EXT) -#define MF_SEARCH_ROOT_NUM 2 +#define MF_SEARCH_ROOT_NUM 3 #define MF_SEARCH_TIMER_INTERVAL 0.5 extern int flagSearchMsg; extern pthread_mutex_t gLockSearchMsg; extern pthread_cond_t gCondSearchMsg; +time_t searchtime_begin = 0; +time_t searchtime_end = 0; + typedef struct { - char *size; - char *create_date; + char *size; + char *create_date; } mf_search_detail_infor_s; -static void __mf_ug_search_select_all_check_changed_cb(void *data, Evas_Object * obj, void *event_info); - -Evas_Object *mf_ug_search_view_create_no_content(Evas_Object *parent) -{ - Evas_Object *nocontent = elm_layout_add(parent); - elm_layout_theme_set(nocontent, "layout", "nocontents", "text"); - elm_object_focus_set(nocontent, EINA_FALSE); - elm_object_part_text_set(nocontent, "elm.text", MF_UG_LABEL_NO_RESULT); - return nocontent; -} void mf_ug_search_view_item_append(void *data, void *user_data) { - UG_TRACE_BEGIN; - ugData *ugd = (ugData *)user_data; - ug_mf_retm_if(ugd == NULL, "ugd is NULL"); + UG_TRACE_BEGIN; + ugData *ugd = (ugData *)user_data; + ug_mf_retm_if(ugd == NULL, "ugd is NULL"); + + char *item_name = (char *)data; + ug_mf_retm_if(item_name == NULL, "input item_name error"); + + ugListItemData *m_TempItem = NULL; + GString *search_path = g_string_new(item_name); + + + g_string_free(search_path, TRUE); + search_path = NULL; + + m_TempItem = (ugListItemData *) malloc(sizeof(ugListItemData)); + + if (m_TempItem == NULL) { + return; + } + memset(m_TempItem, 0, sizeof(ugListItemData)); + + m_TempItem->ug_pItemName = g_string_new(item_name); + m_TempItem->ug_iGroupValue = 0; + m_TempItem->ug_pRadioBox = NULL; + m_TempItem->ug_bChecked = FALSE; + m_TempItem->ug_pCheckBox = NULL; + m_TempItem->ug_pThumbPath = NULL; + m_TempItem->ug_bRealThumbFlag = FALSE; + m_TempItem->ug_pData = ugd; + m_TempItem->ug_pItem = NULL; + m_TempItem->storage_type = mf_ug_fm_svc_wapper_get_location(item_name); + + /*delete timer if exists*/ + + Elm_Object_Item *it = NULL; + + if (ugd->ug_UiGadget.ug_iSelectMode == DOCUMENT_SHARE) { + it = elm_genlist_item_append(ugd->ug_MainWindow.ug_pNaviGenlist, &ugd->ug_Status.ug_1text1icon_itc, m_TempItem, NULL, ELM_GENLIST_ITEM_NONE, NULL, ugd); + } else if (ugd->ug_UiGadget.ug_iSelectMode == IMPORT_SINGLE || ugd->ug_UiGadget.ug_iSelectMode == IMPORT_MODE || ugd->ug_UiGadget.ug_iSelectMode == EXPORT_MODE) { + if (ugd->ug_UiGadget.ug_iSelectMode == IMPORT_SINGLE) { + static int GroupValue = 1; + m_TempItem->ug_iGroupValue = GroupValue; + GroupValue++; + } + it = elm_genlist_item_append(ugd->ug_MainWindow.ug_pNaviGenlist, &ugd->ug_Status.ug_1text2icon_itc, m_TempItem, NULL, ELM_GENLIST_ITEM_NONE, NULL, ugd); + } else if (ugd->ug_UiGadget.ug_iSelectMode == SSM_DOCUMENT_SHARE) { + it = elm_genlist_item_append(ugd->ug_MainWindow.ug_pNaviGenlist, &ugd->ug_Status.ug_1text2icon_itc, m_TempItem, NULL, ELM_GENLIST_ITEM_NONE, NULL, ugd); + } else { + it = elm_genlist_item_append(ugd->ug_MainWindow.ug_pNaviGenlist, &ugd->ug_Status.ug_1text3icon_itc, m_TempItem, NULL, ELM_GENLIST_ITEM_NONE, NULL, ugd); + } + m_TempItem->ug_pItem = it; + UG_TRACE_END; - ugNaviBar *pNavi_s = mf_ug_navi_bar_get_in_use_navi(ugd); - ug_mf_retm_if(pNavi_s == NULL, "get navi failed"); - - char *item_name = (char *)data; - ug_mf_retm_if(item_name == NULL, "input item_name error"); - - ugListItemData *m_TempItem = NULL; - GString *search_path = g_string_new(item_name); - - - g_string_free(search_path, TRUE); - search_path = NULL; +} - m_TempItem = (ugListItemData *) malloc(sizeof(ugListItemData)); - if (m_TempItem == NULL) { - return; - } - memset(m_TempItem, 0, sizeof(ugListItemData)); +Evas_Object *mf_widget_create_select_all_layout(Evas_Object *parent) +{ + UG_TRACE_BEGIN - m_TempItem->ug_pItemName = g_string_new(item_name); - m_TempItem->ug_iGroupValue = 0; - m_TempItem->ug_pRadioBox = NULL; - m_TempItem->ug_bChecked = FALSE; - m_TempItem->ug_pCheckBox = NULL; - m_TempItem->ug_pThumbPath = NULL; - m_TempItem->ug_bRealThumbFlag = FALSE; - m_TempItem->ug_pData = ugd; - m_TempItem->ug_pItem = NULL; + ug_mf_retvm_if(parent == NULL, NULL, "parent is NULL"); - /*delete timer if exists*/ + Evas_Object *select_all_ic = elm_image_add(parent); + elm_image_file_set(select_all_ic, UG_EDJ_IMAGE, UG_TITLE_ICON_SELECT_ALL); + elm_image_resizable_set(select_all_ic, EINA_TRUE, EINA_TRUE); + evas_object_show(select_all_ic); -#ifdef UG_THUMB_REAL_TIME_UPDATE - if (ugd->ug_Status.ug_pThumbUpdateTimer != NULL) { - ecore_timer_del(ugd->ug_Status.ug_pThumbUpdateTimer); - ugd->ug_Status.ug_pThumbUpdateTimer = NULL; - } -#endif - Elm_Object_Item *it = NULL; + Evas_Object *btn; - it = elm_genlist_item_append(ugd->ug_MainWindow.ug_pNaviGenlist, &ugd->ug_Status.ug_itc, m_TempItem, NULL, ELM_GENLIST_ITEM_NONE, NULL, ugd); - m_TempItem->ug_pItem = it; - UG_TRACE_END; + btn = elm_button_add(parent); -} + elm_object_style_set(btn, "naviframe/title_icon"); -Evas_Object *mf_ug_search_create_select_all_layout(Evas_Object *parent) -{ + if (select_all_ic) + elm_object_content_set(btn, select_all_ic); - ug_mf_retvm_if(parent == NULL, NULL, "parent is NULL"); - - Evas_Object *pSelectedAllLayout = NULL; - pSelectedAllLayout = elm_layout_add(parent); - elm_object_focus_set(pSelectedAllLayout, EINA_FALSE); - elm_layout_theme_set(pSelectedAllLayout, "genlist", "item", "select_all/default"); - evas_object_size_hint_weight_set(pSelectedAllLayout, EVAS_HINT_EXPAND, EVAS_HINT_FILL); - evas_object_size_hint_align_set(pSelectedAllLayout, EVAS_HINT_FILL, EVAS_HINT_FILL); - elm_object_part_text_set(pSelectedAllLayout, "elm.text", MF_UG_LABEL_SELECT_ALL); - evas_object_show(pSelectedAllLayout); - return pSelectedAllLayout; -} + evas_object_propagate_events_set(btn, EINA_FALSE); -Evas_Object *mf_ug_search_create_check_box(Evas_Object *parent) -{ - ug_mf_retvm_if(parent == NULL, NULL, "parent is NULL"); - - Evas_Object *checkbox = NULL; - checkbox = elm_check_add(parent); - elm_object_focus_set(checkbox, EINA_FALSE); - evas_object_propagate_events_set(checkbox, EINA_FALSE); - evas_object_show(checkbox); - return checkbox; -} + evas_object_show(btn); -void __mf_ug_search_select_all_layout_mouse_down_cb(void *data, Evas * evas, Evas_Object * obj, void *event_info) -{ - UG_TRACE_BEGIN; - ugData *ugd = (ugData *)data; - ug_mf_retm_if(ugd == NULL, "ugd is NULL"); + UG_TRACE_END - ugd->ug_Status.ug_bSelectAllChecked = !ugd->ug_Status.ug_bSelectAllChecked; - elm_check_state_pointer_set(ugd->ug_MainWindow.ug_pSelectAllCheckBox, &ugd->ug_Status.ug_bSelectAllChecked); + return btn; - __mf_ug_search_select_all_check_changed_cb(ugd, NULL, NULL); - UG_TRACE_END; } -static void __mf_ug_search_select_all_check_changed_cb(void *data, Evas_Object * obj, void *event_info) +static void __mf_ug_search_list_item_append(void *data, void *user_data) { - UG_TRACE_BEGIN; - ugData *ugd = (ugData *)data; - ug_mf_retm_if(ugd == NULL, "ugd is NULL"); - Evas_Object *genlist = ugd->ug_MainWindow.ug_pNaviGenlist; - ug_debug("ugd->ug_Status.ug_iTotalCount is [%d]", ugd->ug_Status.ug_iTotalCount); - if (ugd->ug_Status.ug_bSelectAllChecked) { - ug_debug(); - ugd->ug_Status.ug_iCheckedCount = ugd->ug_Status.ug_iTotalCount; - } else { - ug_debug(); - ugd->ug_Status.ug_iCheckedCount = 0; - } - - ugListItemData *it_data; - Elm_Object_Item *it; - int count = 0; - - it = elm_genlist_first_item_get(genlist); - while (it) { - ug_debug(); - it_data = elm_object_item_data_get(it); - if (it_data) { - ug_debug(); - it_data->ug_bChecked = ugd->ug_Status.ug_bSelectAllChecked; - count++; - } - it = elm_genlist_item_next_get(it); - } - elm_genlist_realized_items_update(genlist); - - if (count > 0 && ugd->ug_Status.ug_bSelectAllChecked) { - Evas_Object *notify_popup = NULL; - char lable_file[UG_LABEL_STRING_LENGTH] = { '\0', }; - char *label = NULL; - /*1 TODO: need to update for multi-language */ - - snprintf(lable_file, sizeof(lable_file), "%d", count); - label = g_strconcat(MF_UG_LABEL_SELECTED, "(", lable_file, ")", NULL); - notify_popup = mf_ug_navibar_create_notify_popup(ugd, ugd->ug_MainWindow.ug_pNaviLayout, label, false, NULL); - ugd->ug_MainWindow.ug_pSelectInfoLayout = notify_popup; - UG_SAFE_FREE_CHAR(label); - - } else { - UG_SAFE_FREE_OBJ(ugd->ug_MainWindow.ug_pSelectInfoLayout); - } - mf_ug_ctrl_bar_set_item_disable(ugd); - - UG_TRACE_END; + Eina_List **list = (Eina_List **)user_data; + if (data) { + *list = eina_list_append(*list, g_strdup((char *)data)); + } } - - static void __mf_ug_search_view_result_cb(mf_search_result_t *result, void *user_data) { - ug_mf_retm_if(result == NULL, "result is NULL"); - - ugData *ugd = (ugData *)user_data; - ug_mf_retm_if(ugd == NULL, "ugd is NULL"); - - ugNaviBar *pNavi_s = mf_ug_navi_bar_get_in_use_navi(ugd); - ug_mf_retm_if(pNavi_s == NULL, "get navi failed"); - - Evas_Object *playout = ugd->ug_MainWindow.ug_pNaviLayout; - ug_mf_retm_if(playout == NULL, "get conformant failed"); - Evas_Object *newContent = NULL; - Evas_Object *unUsed = elm_object_part_content_unset(playout, "part1"); - if (unUsed) { - evas_object_del(unUsed); - unUsed = NULL; - } - - if (g_list_length(result->dir_list) + g_list_length(result->file_list) == 0) { - ug_ecore_idler_del(ugd->ug_Status.popup_create_idler); - newContent = mf_ug_search_view_create_no_content(playout); - elm_object_part_content_set(playout, "part1", newContent); - mf_ug_navi_bar_button_set_disable(ugd, true); - } else { - - - - //newContent = mf_ug_genlist_create_content_list_view(ugd); - newContent = __mf_ug_genlist_create_gl(ugd); - ugd->ug_MainWindow.ug_pNaviGenlist = newContent; - - elm_object_part_content_set(playout, "part1", newContent); - - if (result->file_list != NULL) { - Evas_Object *pSelectAllLayout = NULL; - Evas_Object *pSelectAllCheckBox = NULL; - ugd->ug_Status.ug_bSelectAllChecked = false; - ugd->ug_Status.ug_iTotalCount = g_list_length(result->file_list); - ugd->ug_Status.ug_iCheckedCount = 0; - - pSelectAllLayout = mf_ug_search_create_select_all_layout(ugd->ug_MainWindow.ug_pNaviBox); - ug_mf_retm_if(pSelectAllLayout == NULL, "pSelectAllLayout is NULL"); - ugd->ug_MainWindow.ug_pSelectAllLayout = pSelectAllLayout; - evas_object_event_callback_add(pSelectAllLayout, EVAS_CALLBACK_MOUSE_DOWN, __mf_ug_search_select_all_layout_mouse_down_cb, ugd); - pSelectAllCheckBox = mf_ug_search_create_check_box(pSelectAllLayout); - ugd->ug_MainWindow.ug_pSelectAllCheckBox = pSelectAllCheckBox; - elm_check_state_pointer_set(pSelectAllCheckBox, &ugd->ug_Status.ug_bSelectAllChecked); - evas_object_smart_callback_add(pSelectAllCheckBox, "changed", __mf_ug_search_select_all_check_changed_cb, ugd); - - elm_object_part_content_set(pSelectAllLayout, "elm.icon", pSelectAllCheckBox); - elm_box_pack_start(ugd->ug_MainWindow.ug_pNaviBox, pSelectAllLayout); - } - if (result->dir_list != NULL) { - g_list_foreach(result->dir_list, mf_ug_search_view_item_append, ugd); - } - if (result->file_list != NULL) { - g_list_foreach(result->file_list, mf_ug_search_view_item_append, ugd); - } - } + UG_TRACE_BEGIN; + ug_mf_retm_if(result == NULL, "result is NULL"); + + ugData *ugd = (ugData *)user_data; + ug_mf_retm_if(ugd == NULL, "ugd is NULL"); + + Evas_Object *playout = ugd->ug_MainWindow.ug_pNaviLayout; + ug_mf_retm_if(playout == NULL, "get conformant failed"); + Evas_Object *newContent = NULL; + Evas_Object *unUsed = elm_object_part_content_unset(playout, "part1"); + if (unUsed) { + evas_object_del(unUsed); + unUsed = NULL; + } + ugd->ug_UiGadget.ug_pSearchFileList = NULL; + int total_count = g_list_length(result->dir_list) + g_list_length(result->file_list); + if (total_count == 0) { + ug_ecore_idler_del(ugd->ug_Status.popup_create_idler); + newContent = mf_ug_widget_nocontent_create(playout, MF_UG_LABEL_NO_RESULT, UG_ICON_MULTI_NO_CONTENTS); + elm_object_part_content_set(playout, "part1", newContent); + mf_ug_navi_bar_button_set_disable(ugd, true); + } else { + + + + /*newContent = mf_ug_genlist_create_content_list_view(ugd);*/ + newContent = __mf_ug_genlist_create_gl(ugd); + ugd->ug_MainWindow.ug_pNaviGenlist = newContent; + + elm_object_part_content_set(playout, "part1", newContent); + if (ugd->ug_UiGadget.ug_iSelectMode == DOCUMENT_SHARE || ugd->ug_UiGadget.ug_iSelectMode == IMPORT_SINGLE) { + } else { + if (result->file_list != NULL) { + /*Evas_Object *pSelectAllLayout = NULL; + Evas_Object *pSelectAllCheckBox = NULL;*/ + ugd->ug_Status.ug_bSelectAllChecked = false; + ugd->ug_Status.ug_iTotalCount = g_list_length(result->file_list); + ugd->ug_Status.ug_iCheckedCount = 0; + if (!ugd->ug_UiGadget.ug_MaxSetFlag || ugd->ug_Status.ug_iTotalCount <= ugd->ug_UiGadget.ug_iMaxLength) { + /*pSelectAllLayout = mf_widget_create_select_all_layout(ugd->ug_MainWindow.ug_pNaviBox); + ug_mf_retm_if(pSelectAllLayout == NULL, "pSelectAllLayout is NULL"); + ugd->ug_MainWindow.ug_pSelectAllLayout = pSelectAllLayout; + evas_object_smart_callback_add(pSelectAllLayout, "clicked", mf_ug_select_all_layout_mouse_down_cb, ugd); + ugd->ug_MainWindow.ug_pSelectAllCheckBox = pSelectAllCheckBox; + + evas_object_show(pSelectAllLayout); + elm_object_item_part_content_set(ugd->ug_MainWindow.ug_pNaviItem, TITLE_RIGHT_BTN, pSelectAllLayout);*//*don't need the select all button.*/ + } + + } + } + if (result->dir_list != NULL) { + g_list_foreach(result->dir_list, mf_ug_search_view_item_append, ugd); + } + if (result->file_list != NULL) { + g_list_foreach(result->file_list, __mf_ug_search_list_item_append, &ugd->ug_UiGadget.ug_pSearchFileList); + g_list_foreach(result->file_list, mf_ug_search_view_item_append, ugd); + } + } + UG_TRACE_END; } static Eina_Bool __mf_ug_search_view_stop(void *data) { - UG_TRACE_BEGIN; - ugData *ugd = (ugData *)data; - ug_mf_retvm_if(ugd == NULL, ECORE_CALLBACK_CANCEL, "ugd is NULL"); + UG_TRACE_BEGIN; + ugData *ugd = (ugData *)data; + ug_mf_retvm_if(ugd == NULL, ECORE_CALLBACK_CANCEL, "ugd is NULL"); + ugd->ug_MainWindow.ug_pSearchLabel = NULL; + __mf_ug_search_view_result_cb(((ms_handle_t *) ugd->ug_Status.search_handler)->result, ugd); - UG_SAFE_FREE_OBJ(ugd->ug_MainWindow.ug_pSearchPopup); + if (ugd->ug_Status.search_handler > 0) { + mf_ug_search_stop(ugd->ug_Status.search_handler); + } - if (ugd->ug_UiGadget.ug_pSyncPipe != NULL) { - ecore_pipe_del(ugd->ug_UiGadget.ug_pSyncPipe); - ugd->ug_UiGadget.ug_pSyncPipe = NULL; - } - __mf_ug_search_view_result_cb(((ms_handle_t *) ugd->ug_Status.search_handler)->result, ugd); - if (ugd->ug_Status.search_handler > 0) { - mf_ug_search_stop(ugd->ug_Status.search_handler); - } + if (ugd->ug_Status.search_handler > 0) { + mf_ug_search_finalize(&ugd->ug_Status.search_handler); + } + if (ugd->ug_UiGadget.ug_pSyncPipe != NULL) { + ecore_pipe_del(ugd->ug_UiGadget.ug_pSyncPipe); + ugd->ug_UiGadget.ug_pSyncPipe = NULL; + } - if (ugd->ug_Status.search_handler > 0) { - mf_ug_search_finalize(&ugd->ug_Status.search_handler); - } + ugd->ug_Status.flagSearchStart = EINA_FALSE; + + UG_SAFE_FREE_OBJ(ugd->ug_MainWindow.ug_pSearchPopup); - UG_TRACE_END; - return ECORE_CALLBACK_CANCEL; -} -static void __mf_ug_search_view_stop_cb(void *data, Evas_Object * obj, void *event_info) { + UG_TRACE_END; + return ECORE_CALLBACK_CANCEL; +} - UG_TRACE_BEGIN; - ugData *ugd = (ugData *)data; - ug_mf_retm_if(ugd == NULL, "ugd is NULL"); +static void __mf_ug_search_view_stop_cb(void *data, Evas_Object *obj, void *event_info) +{ - __mf_ug_search_view_stop(ugd); + UG_TRACE_BEGIN; + ugData *ugd = (ugData *)data; + ug_mf_retm_if(ugd == NULL, "ugd is NULL"); + /*P131202-00454 by wangyan [Fatal error] It pop up force close when tap searching popup cancel.*/ + UG_SAFE_DEL_ECORE_TIMER(ugd->ug_Status.pSearchTimer); + __mf_ug_search_view_stop(ugd); - UG_TRACE_END; + UG_TRACE_END; } static int __mf_ug_search_view_idle_search_msg_cope_finished(void *data) { - UG_TRACE_BEGIN; - ugData *ugd = (ugData *)data; - if (ugd == NULL || ugd->ug_Status.msg_finish_idler == NULL) { - return ECORE_CALLBACK_CANCEL; - } - pthread_mutex_lock(&gLockSearchMsg); - if (flagSearchMsg == 0) { - flagSearchMsg = 1; - pthread_cond_signal(&gCondSearchMsg); - } - pthread_mutex_unlock(&gLockSearchMsg); - ugd->ug_Status.msg_finish_idler = NULL; - - return ECORE_CALLBACK_CANCEL; + UG_TRACE_BEGIN; + ugData *ugd = (ugData *)data; + if (ugd == NULL || ugd->ug_Status.msg_finish_idler == NULL) { + return ECORE_CALLBACK_CANCEL; + } + pthread_mutex_lock(&gLockSearchMsg); + if (flagSearchMsg == 0) { + flagSearchMsg = 1; + pthread_cond_signal(&gCondSearchMsg); + } + pthread_mutex_unlock(&gLockSearchMsg); + ugd->ug_Status.msg_finish_idler = NULL; + + return ECORE_CALLBACK_CANCEL; +} +static int __mf_ug_search_result_show(mf_search_result_t *result) +{ + UG_TRACE_BEGIN; + ugData *ugd = mf_ug_ugdata(); + if (ugd == NULL) { + ug_debug("input ugd is NULL"); + return ECORE_CALLBACK_CANCEL; + } + + ug_debug("get ugd is [%p]", ugd); + UG_SAFE_FREE_OBJ(ugd->ug_MainWindow.ug_pSearchPopup); + ugd->ug_MainWindow.ug_pSearchLabel = NULL; + __mf_ug_search_view_result_cb((mf_search_result_t *) result, (void *)ugd); + + UG_TRACE_END; + return ECORE_CALLBACK_CANCEL; } - static void __mf_ug_search_view_pipe_cb(void *data, void *buffer, unsigned int nbyte) { - UG_TRACE_BEGIN; - ugData *ugd = (ugData *)data; - if (ugd == NULL) { - ug_debug("input ugd is NULL"); - return; - } - - mf_search_pipe_msg *pSearchMsg = (mf_search_pipe_msg *) buffer; - if (pSearchMsg == NULL) { - ug_debug("received message is NULL"); - goto MF_CONTINURE_SEARCH; - } - - if (pSearchMsg->mf_sp_msg_type == MF_SEARCH_PIPE_MSG_RESULT_REPORT) { - ug_debug("result get"); - } else if (pSearchMsg->mf_sp_msg_type == MF_SEARCH_PIPE_MSG_ROOT_CHANGE) { - ug_debug("root change "); - - char *new_desc = mf_ug_fm_svc_wrapper_translate_path(pSearchMsg->current_path); - //elm_object_text_set(ugd->ug_MainWindow.ug_pSearchPopup, new_desc); - elm_object_text_set(ugd->ug_MainWindow.ug_pSearchLabel, new_desc); - //elm_object_part_text_set(ugd->ug_MainWindow.ug_pSearchLabel, "path", new_desc); - if (pSearchMsg->current_path) { - free(pSearchMsg->current_path); - pSearchMsg->current_path = NULL; - } - if (new_desc != NULL) { - free(new_desc); - new_desc = NULL; - } - } else if (pSearchMsg->mf_sp_msg_type == MF_SEARCH_PIPE_MSG_FINISHED) { - - ug_ecore_idler_del(ugd->ug_Status.popup_del_idler); - UG_SAFE_FREE_OBJ(ugd->ug_MainWindow.ug_pSearchPopup); - //ugd->ug_Status.popup_del_idler = ecore_idler_add(mf_ug_cb_popup_del_idler_cb, ugd); - __mf_ug_search_view_result_cb((mf_search_result_t *) pSearchMsg->report_result, data); - } + UG_TRACE_BEGIN; + ugData *ugd = (ugData *)data; + if (ugd == NULL) { + ug_debug("input ugd is NULL"); + return; + } + + mf_search_pipe_msg *pSearchMsg = (mf_search_pipe_msg *) buffer; + if (pSearchMsg == NULL) { + ug_debug("received message is NULL"); + goto MF_CONTINURE_SEARCH; + } + + if (pSearchMsg->mf_sp_msg_type == MF_SEARCH_PIPE_MSG_RESULT_REPORT) { + ug_debug("result get"); + } else if (pSearchMsg->mf_sp_msg_type == MF_SEARCH_PIPE_MSG_ROOT_CHANGE) { + ug_debug("root change "); + + /*char *new_desc = mf_ug_fm_svc_wrapper_translate_path(pSearchMsg->current_path);*/ + if (ugd->ug_MainWindow.ug_pSearchLabel) { + /*elm_object_text_set(ugd->ug_MainWindow.ug_pSearchLabel, new_desc);*/ + } + if (pSearchMsg->current_path) { + free(pSearchMsg->current_path); + pSearchMsg->current_path = NULL; + } + /*if (new_desc != NULL) { + free(new_desc); + new_desc = NULL; + }*/ + } else if (pSearchMsg->mf_sp_msg_type == MF_SEARCH_PIPE_MSG_FINISHED) { + ugd->ug_Status.flagSearchStart = EINA_FALSE; + /*fix P131122-06150 by wangyan,[Contacts] Import from Device - Processing glimpse. + To keep the processing popup showing not less then 2 seconds*/ + time(&searchtime_end); + int delay = (int)(searchtime_end - searchtime_begin); + ug_error("searchtime_end is [%d], searchtime_begin is [%d], delay is [%d]", searchtime_end, searchtime_begin, delay); + delay = (delay >= 2) ? 0 : (2-delay); + ug_error("delay is [%d]", delay); + + UG_SAFE_DEL_ECORE_TIMER(ugd->ug_Status.pSearchTimer); + ugd->ug_Status.pSearchTimer = ecore_timer_add(delay, (Ecore_Task_Cb)__mf_ug_search_result_show, (mf_search_result_t *) pSearchMsg->report_result); + } MF_CONTINURE_SEARCH: - ug_ecore_idler_del(ugd->ug_Status.msg_finish_idler); - ugd->ug_Status.msg_finish_idler = ecore_idler_add((Ecore_Task_Cb)__mf_ug_search_view_idle_search_msg_cope_finished, ugd); - //__mf_ug_search_view_idle_search_msg_cope_finished(NULL); - UG_TRACE_END; + ug_ecore_idler_del(ugd->ug_Status.msg_finish_idler); + ugd->ug_Status.msg_finish_idler = ecore_idler_add((Ecore_Task_Cb)__mf_ug_search_view_idle_search_msg_cope_finished, ugd); + /*__mf_ug_search_view_idle_search_msg_cope_finished(NULL);*/ + UG_TRACE_END; +} + +int mf_ug_search_item_type_get(char *path) +{ + char *ext = NULL; + mf_ug_file_attr_get_file_ext(path, &ext); + if (ext) { + if (strcasecmp("DOCM", ext) == 0 + || strcasecmp("XLT", ext) == 0 + || strcasecmp("XLSM", ext) == 0) { + UG_SAFE_FREE_CHAR(ext); + return MF_SEARCH_CATEGORY_NONE; + } + UG_SAFE_FREE_CHAR(ext); + } + int type = mf_ug_file_attr_get_file_type_by_mime(path); + if (type == UG_FILE_TYPE_GUL) { + mf_ug_fs_file_type file_type = UG_FILE_TYPE_NONE; + mf_ug_file_attr_get_file_category(path, &file_type); + if (file_type == UG_FILE_TYPE_TXT) { + type = UG_FILE_TYPE_TXT; + } + } + int category = MF_SEARCH_CATEGORY_NONE; + switch (type) { + case UG_FILE_TYPE_IMAGE: + category = MF_SEARCH_CATEGORY_IMAGE; + break; + case UG_FILE_TYPE_VIDEO: + case UG_FILE_TYPE_MP4_VIDEO: + category = MF_SEARCH_CATEGORY_VIDEO; + break; + case UG_FILE_TYPE_SOUND: + case UG_FILE_TYPE_MUSIC: + case UG_FILE_TYPE_MP4_AUDIO: + category = MF_SEARCH_CATEGORY_SOUND; + break; + case UG_FILE_TYPE_DOC: + case UG_FILE_TYPE_PDF: + case UG_FILE_TYPE_PPT: + case UG_FILE_TYPE_EXCEL: + case UG_FILE_TYPE_TXT: + category = MF_SEARCH_CATEGORY_DOCUMENT; + break; + case UG_FILE_TYPE_DIR: + category = MF_SEARCH_CATEGORY_NONE; + break; + default: + category = MF_SEARCH_CATEGORY_OTHERS; + break; + } + return category; } static void __mf_ug_search_view_idle_search_start(void *data) { - UG_TRACE_BEGIN; - ugData *ugd = (ugData *)data; - ug_mf_retm_if(ugd == NULL, "ugd is NULL"); - - ugNaviBar *pNavi_s = mf_ug_navi_bar_get_in_use_navi(ugd); - ug_mf_retm_if(pNavi_s == NULL, "pNavi_s is NULL"); - char *text = NULL; - - if (ugd->ug_UiGadget.ug_pExtension) - text = g_strdup(ugd->ug_UiGadget.ug_pExtension); - - int root_num = 0; - const char *SearchRoot[MF_SEARCH_ROOT_NUM] = {0}; - ug_debug("text is [%s] path is [%s]", text, ugd->ug_Status.ug_pPath->str); - if (ugd->ug_UiGadget.ug_iSelectMode == IMPORT_MODE || ugd->ug_UiGadget.ug_iSelectMode == IMPORT_SINGLE) { - root_num = 2; - SearchRoot[0] = PHONE_FOLDER; - - SearchRoot[1] = MEMORY_FOLDER; - } else { - root_num = 1; - SearchRoot[0] = ugd->ug_Status.ug_pPath->str; - - } - //const char *SearchRoot[MF_SEARCH_ROOT_NUM] = { ugd->ug_Status.ug_pPath->str}; - //ug_debug("search path is [%s]", ugd->ug_Status.ug_pPath->str); - /*Start Search routine*/ - if (!mf_ug_search_start(ugd->ug_Status.search_handler, SearchRoot, root_num, \ - ((text) ? text : NULL), MF_SEARCH_OPTION_DEF, (void *)ugd)) { - ug_debug("start success"); - /*generate the popup used to show search path - **it's sure that new_desc is not NULL even if original path is NULL*/ - //ugd->ug_MainWindow.ug_pSearchPopup = mf_ug_popup_create(ugd, UG_POPMODE_SEARCH, NULL, MF_UG_LABEL_SEARCH, NULL, NULL, NULL, __mf_ug_search_view_stop_cb, ugd); - ugd->ug_MainWindow.ug_pSearchPopup = mf_ug_popup_create_search(ugd, __mf_ug_search_view_stop_cb, ugd); - } else { - ug_debug("start failed"); - } - ug_debug(); - - - if (text != NULL) { - free(text); - text = NULL; - } + UG_TRACE_BEGIN; + ugData *ugd = (ugData *)data; + ug_mf_retm_if(ugd == NULL, "ugd is NULL"); + + char *text = NULL; + if (ugd->ug_Status.flagSearchStart == EINA_TRUE) { + return; + } else { + ugd->ug_Status.flagSearchStart = EINA_TRUE; + time(&searchtime_begin); + } + + if (ugd->ug_UiGadget.ug_pExtension) + text = g_strdup(ugd->ug_UiGadget.ug_pExtension); + + int root_num = 0; + const char *SearchRoot[MF_SEARCH_ROOT_NUM] = {0}; + ug_debug("ugd->ug_UiGadget.ug_iSelectMode is [%d]text is [%s] path is [%s]", ugd->ug_UiGadget.ug_iSelectMode, text, ugd->ug_Status.ug_pPath->str); + if (ugd->ug_UiGadget.ug_iSelectMode == IMPORT_SINGLE) { + if (g_strcmp0(ugd->ug_Status.ug_pPath->str, PHONE_FOLDER) == 0) { + ug_error("*********************"); + SearchRoot[root_num] = PHONE_FOLDER; + root_num++; + } else if (g_strcmp0(ugd->ug_Status.ug_pPath->str, MEMORY_FOLDER) == 0) { + ug_error("*********************"); + SearchRoot[root_num] = MEMORY_FOLDER; + root_num++; + } else { + ug_error("*********************"); + SearchRoot[root_num] = PHONE_FOLDER; + root_num++; + + SearchRoot[root_num] = MEMORY_FOLDER; + root_num++; + } + } else if (ugd->ug_UiGadget.ug_iSelectMode == IMPORT_MODE + || ugd->ug_UiGadget.ug_iSelectMode == DOCUMENT_SHARE + || ugd->ug_UiGadget.ug_iSelectMode == SSM_DOCUMENT_SHARE) { + SearchRoot[root_num] = PHONE_FOLDER; + root_num++; + + SearchRoot[root_num] = MEMORY_FOLDER; + root_num++; + } else { + root_num = 1; + SearchRoot[0] = ugd->ug_Status.ug_pPath->str; + + } + /*const char *SearchRoot[MF_SEARCH_ROOT_NUM] = { ugd->ug_Status.ug_pPath->str}; + ug_debug("search path is [%s]", ugd->ug_Status.ug_pPath->str);*/ + /*Start Search routine*/ + if (ugd->ug_UiGadget.ug_iSelectMode == DOCUMENT_SHARE || ugd->ug_UiGadget.ug_iSelectMode == SSM_DOCUMENT_SHARE) { + if (text) { + if (!mf_ug_search_start(ugd->ug_Status.search_handler, SearchRoot, root_num, \ + /*((text) ? text : NULL), MF_SEARCH_OPT_FILE, (void *)ugd, mf_ug_search_item_type_get, MF_SEARCH_CATEGORY_DOCUMENT)) {*/ + text, MF_SEARCH_OPT_MULTI_EXT, (void *)ugd, (mf_search_filter_cb)NULL, 0)) { + ugd->ug_MainWindow.ug_pSearchPopup = mf_ug_popup_create_search(ugd, __mf_ug_search_view_stop_cb, ugd); + ug_debug("start success"); + } else { + ugd->ug_Status.flagSearchStart = EINA_FALSE; + ug_debug("start failed"); + } + } else { + if (!mf_ug_search_start(ugd->ug_Status.search_handler, SearchRoot, root_num, \ + text, MF_SEARCH_OPT_FILE, (void *)ugd, (mf_search_filter_cb)mf_ug_search_item_type_get, MF_SEARCH_CATEGORY_DOCUMENT)) { + ugd->ug_MainWindow.ug_pSearchPopup = mf_ug_popup_create_search(ugd, __mf_ug_search_view_stop_cb, ugd); + ug_debug("start success"); + } else { + ugd->ug_Status.flagSearchStart = EINA_FALSE; + ug_debug("start failed"); + } + } + + } else { + if (!mf_ug_search_start(ugd->ug_Status.search_handler, SearchRoot, root_num, \ + ((text) ? text : NULL), MF_SEARCH_OPTION_DEF, (void *)ugd, (mf_search_filter_cb)NULL, 0)) { + ug_debug("start success"); + /*generate the popup used to show search path + **it's sure that new_desc is not NULL even if original path is NULL*/ + ugd->ug_MainWindow.ug_pSearchPopup = mf_ug_popup_create_search(ugd, __mf_ug_search_view_stop_cb, ugd); + } else { + ugd->ug_Status.flagSearchStart = EINA_FALSE; + ug_debug("start failed"); + } + + } + + if (text != NULL) { + free(text); + text = NULL; + } } void mf_ug_search_view_enter_search_routine(void *data, Evas_Object * obj, void *event_info) { - UG_TRACE_BEGIN; - ugData *ugd = (ugData *)data; - ug_mf_retm_if(ugd == NULL, "ugd is NULL"); - -#ifdef UG_THUMB_REAL_TIME_UPDATE - if (ugd->ug_Status.ug_pThumbUpdateTimer != NULL) { - ecore_timer_del(ugd->ug_Status.ug_pThumbUpdateTimer); - ugd->ug_Status.ug_pThumbUpdateTimer = NULL; - } -#endif - //ugd->ug_Status.ug_iMore = UG_MORE_SEARCH; - - if (ugd->ug_Status.search_handler > 0) - mf_ug_search_finalize(&ugd->ug_Status.search_handler); - - int ret = mf_ug_search_init(&ugd->ug_Status.search_handler); - ug_mf_retm_if(ret < 0, "Fail to mf_ug_search_init()"); - - if (ugd->ug_UiGadget.ug_pSyncPipe != NULL) { - ecore_pipe_del(ugd->ug_UiGadget.ug_pSyncPipe); - ugd->ug_UiGadget.ug_pSyncPipe = NULL; - } - ugd->ug_UiGadget.ug_pSyncPipe = ecore_pipe_add(__mf_ug_search_view_pipe_cb, ugd); - - if (ugd->ug_UiGadget.ug_pSyncPipe == NULL) { - ug_debug("add pipe failed"); - } - /*this is to init global variable to ensure the first message can be transmitted correctly*/ - /*flagSearchMsg is to indicate the condition wait to sync data of threads*/ - pthread_mutex_lock(&gLockSearchMsg); - flagSearchMsg = 1; - pthread_mutex_unlock(&gLockSearchMsg); - - /*delete guide text label in the box*/ - /*evas_object_del(elm_object_content_unset(pNavi_s->pNaviConform));*/ - __mf_ug_search_view_idle_search_start(ugd); - - UG_TRACE_END; + UG_TRACE_BEGIN; + ugData *ugd = (ugData *)data; + ug_mf_retm_if(ugd == NULL, "ugd is NULL"); + + /*ugd->ug_Status.ug_iMore = UG_MORE_SEARCH;*/ + + if (ugd->ug_Status.search_handler > 0) + mf_ug_search_finalize(&ugd->ug_Status.search_handler); + + int ret = mf_ug_search_init(&ugd->ug_Status.search_handler); + ug_mf_retm_if(ret < 0, "Fail to mf_ug_search_init()"); + + if (ugd->ug_UiGadget.ug_pSyncPipe != NULL) { + ecore_pipe_del(ugd->ug_UiGadget.ug_pSyncPipe); + ugd->ug_UiGadget.ug_pSyncPipe = NULL; + } + ugd->ug_UiGadget.ug_pSyncPipe = ecore_pipe_add(__mf_ug_search_view_pipe_cb, ugd); + + if (ugd->ug_UiGadget.ug_pSyncPipe == NULL) { + ug_debug("add pipe failed"); + } + /*this is to init global variable to ensure the first message can be transmitted correctly*/ + /*flagSearchMsg is to indicate the condition wait to sync data of threads*/ + pthread_mutex_lock(&gLockSearchMsg); + flagSearchMsg = 1; + pthread_mutex_unlock(&gLockSearchMsg); + + /*delete guide text label in the box*/ + /*evas_object_del(elm_object_content_unset(pNavi_s->pNaviConform));*/ + __mf_ug_search_view_idle_search_start(ugd); + + UG_TRACE_END; } diff --git a/src/widget/mf-ug-tab-bar.c b/src/widget/mf-ug-tab-bar.c deleted file mode 100644 index 6aa4751..0000000 --- a/src/widget/mf-ug-tab-bar.c +++ /dev/null @@ -1,266 +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 "mf-ug-winset.h" -#include "mf-ug-util.h" -#include "mf-ug-fs-util.h" -#include "mf-ug-fm-svc-wrapper.h" -#include "mf-ug-cb.h" -#include "mf-ug-resource.h" - -/****************************** -** Prototype : mf_ug_tab_bar_create -** Description : Samsung -** Input : Evas_Object *parent -** Output : None -** Return Value : -** Calls : -** Called By : -** -** History : -** 1.Date : 2010/12/10 -** Author : Samsung -** Modification : Created function -** -******************************/ -Evas_Object *mf_ug_tab_bar_create(Evas_Object *parent) -{ - UG_TRACE_BEGIN; - ug_mf_retv_if(parent == NULL, NULL); - Evas_Object *toolbar = elm_toolbar_add(parent); - elm_toolbar_shrink_mode_set(toolbar, ELM_TOOLBAR_SHRINK_EXPAND); - elm_object_style_set(toolbar, "tabbar/item_horizontal"); - elm_toolbar_select_mode_set(toolbar, ELM_OBJECT_SELECT_MODE_ALWAYS); - elm_toolbar_homogeneous_set(toolbar, EINA_FALSE); - elm_toolbar_transverse_expanded_set(toolbar, EINA_TRUE); - - UG_TRACE_BEGIN; - return toolbar; -} - - -/****************************** -** Prototype : mf_ug_tab_bar_append_item -** Description : Samsung -** Input : Evas_Object *pTabBar -** char *pTabIconPath -** char *pTabBarLabel -** Evas_Object *pTabView -** Output : None -** Return Value : -** Calls : -** Called By : -** -** History : -** 1.Date : 2010/12/10 -** Author : Samsung -** Modification : Created function -** -******************************/ -Elm_Object_Item *mf_ug_tab_bar_append_item(Evas_Object *pTabBar, char *pTabIconPath, char *pTabBarLabel, void *user_data) -{ - UG_TRACE_BEGIN; - ug_mf_retv_if(pTabBar == NULL, NULL); - - Elm_Object_Item *pItem = NULL; - pItem = elm_toolbar_item_append(pTabBar, pTabIconPath, pTabBarLabel, mf_ug_cb_tab_bar_cb, user_data); - UG_TRACE_END; - return pItem; -} - - -/****************************** -** Prototype : mf_ug_tab_bar_set_item_view -** Description : Samsung -** Input : Elm_Object_Item *it -** Evas_Object * view -** Output : None -** Return Value : -** Calls : -** Called By : -** -** History : -** 1.Date : 2010/12/10 -** Author : Samsung -** Modification : Created function -** -******************************/ -void mf_ug_tab_bar_set_item_view(Evas_Object *tab_layout, Evas_Object *view) -{ - UG_TRACE_BEGIN; - ug_mf_retm_if(tab_layout == NULL, "tab_layout is NULL"); - ug_mf_retm_if(view == NULL, "view is NULL"); - Evas_Object *layout = tab_layout; - Evas_Object *unset = elm_object_part_content_get(layout, "elm.swallow.content"); - if (unset) { - elm_object_part_content_unset(layout, "elm.swallow.content"); - evas_object_hide(unset); - } - - elm_object_part_content_set(layout, "elm.swallow.content", view); - UG_TRACE_END; -} - - -/****************************** -** Prototype : mf_ug_tab_bar_remove_item_by_label -** Description : Samsung -** Input : Evas_Object *pTabBar -** char *pTabLabel -** Output : None -** Return Value : -** Calls : -** Called By : -** -** History : -** 1.Date : 2010/12/10 -** Author : Samsung -** Modification : Created function -** -******************************/ -void mf_ug_tab_bar_remove_item_by_label(Evas_Object *pTabBar, char *pTabLabel) -{ - UG_TRACE_BEGIN; - Elm_Object_Item *pItem = NULL; - pItem = elm_toolbar_first_item_get(pTabBar); - - while(pItem) { - if (g_strcmp0(pTabLabel, elm_object_item_text_get(pItem)) == 0) { - elm_object_item_del(pItem); - return; - } - pItem = elm_toolbar_item_next_get(pItem); - } - UG_TRACE_END; -} - -/****************************** -** Prototype : mf_ug_tab_bar_remove_all_items -** Description : Samsung -** Input : Evas_Object *pTabBar -** Output : None -** Return Value : -** Calls : -** Called By : -** -** History : -** 1.Date : 2010/12/10 -** Author : Samsung -** Modification : Created function -** -******************************/ -void mf_ug_tab_bar_remove_all_items(Evas_Object *pTabBar) -{ - - UG_TRACE_BEGIN; - Elm_Object_Item *it = NULL; - Elm_Object_Item *pNext = NULL; - - it = elm_toolbar_first_item_get(pTabBar); - while(it) { - pNext = elm_toolbar_item_next_get(it); - elm_object_item_del(it); - it = pNext; - } - UG_TRACE_END; -} - - -/****************************** -** Prototype : mf_ug_tab_bar_set_selected_item -** Description : Samsung -** Input : Elm_Object_Item* pItem -** Output : None -** Return Value : -** Calls : -** Called By : -** -** History : -** 1.Date : 2010/12/10 -** Author : Samsung -** Modification : Created function -** -******************************/ -void mf_ug_tab_bar_set_selected_item(Elm_Object_Item *pItem) -{ - UG_TRACE_BEGIN; - elm_toolbar_item_selected_set(pItem, EINA_TRUE); - UG_TRACE_END; -} - - -/****************************** -** Prototype : mf_ug_tab_bar_set_item_disable -** Description : Samsung -** Input : Evas_Object *pTabBar -** Eina_Bool disable -** Output : None -** Return Value : -** Calls : -** Called By : -** -** History : -** 1.Date : 2010/12/10 -** Author : Samsung -** Modification : Created function -** -******************************/ -void mf_ug_tab_bar_set_item_disable(Evas_Object *pTabBar, Eina_Bool disable) -{ - Elm_Object_Item *pCurrentItem = NULL; - - if (pTabBar != NULL) { - - pCurrentItem = elm_toolbar_first_item_get(pTabBar); - while(pCurrentItem) { - elm_object_item_disabled_set(pCurrentItem, disable); - pCurrentItem = elm_toolbar_item_next_get(pCurrentItem); - } - } -} - -int mf_ug_tab_bar_items_count_get(Evas_Object *pTabBar) -{ - ug_mf_retvm_if(pTabBar == NULL, 0, "pTabBar is NULL"); - - Elm_Object_Item *pCurrentItem = NULL; - int count = 0; - - pCurrentItem = elm_toolbar_first_item_get(pTabBar); - while(pCurrentItem) { - count++; - pCurrentItem = elm_toolbar_item_next_get(pCurrentItem); - } - - return count; -} - -Elm_Object_Item *mf_ug_tab_bar_get_item_by_label(Evas_Object *pTabBar, char *pTabLabel) -{ - ug_mf_retvm_if(pTabBar == NULL, NULL, "pTabBar is NULL"); - ug_mf_retvm_if(pTabLabel == NULL, NULL, "pTabLabel is NULL"); - Elm_Object_Item *pItem = NULL; - - pItem = elm_toolbar_first_item_get(pTabBar); - while(pItem) { - if (g_strcmp0(pTabLabel, elm_object_item_text_get(pItem)) == 0) { - return pItem; - } - pItem = elm_toolbar_item_next_get(pItem); - } - return NULL; -} - diff --git a/src/widget/mf-ug-widget.c b/src/widget/mf-ug-widget.c new file mode 100644 index 0000000..5fd7364 --- /dev/null +++ b/src/widget/mf-ug-widget.c @@ -0,0 +1,319 @@ +/* +* Copyright (c) 2000-2015 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. +* +*/ + +#include <Elementary.h> +#include "mf-ug-dlog.h" +#include "mf-ug-conf.h" +#include "mf-ug-main.h" +#include "mf-ug-fs-util.h" +#include "mf-ug-util.h" +#include "mf-ug-resource.h" +#include "mf-ug-fm-svc-wrapper.h" +#include "mf-ug-winset.h" +#include "mf-ug-file-util.h" + +char *mf_ug_widget_get_text(const char *ID) +{ + ug_mf_retvm_if(ID == NULL, NULL, "ID is NULL"); + + char *str; + + if (strstr(ID, "IDS_COM")) { + str = dgettext("sys_string", ID); + } else { + str = dgettext(UGPACKAGE, ID); + } + + /** Fix P140626-02426 + * if got text from sys failed, try to + * get it from UGPACKAGE. + */ + if (strncmp(ID, str, strlen(ID)) == 0) + str = dgettext(UGPACKAGE, ID); + else + goto END; + + /** Fix P140710-04855 + * if got text from package failed, try to + * get it from myfile. + */ + if (strncmp(ID, str, strlen(ID)) == 0) + str = dgettext("myfile", ID); + else + goto END; + + /** at worst case, try gettext() */ + if (strncmp(ID, str, strlen(ID)) == 0) + str = gettext(ID); +END: + return str; +} + +void mf_ug_widget_object_text_set(Evas_Object *obj, const char *ID, const char* part) +{ + ug_mf_retm_if(ID == NULL, "ID is NULL"); + ug_mf_retm_if(obj == NULL, "obj is NULL"); + + const char *domain; + + if (strstr(ID, "IDS_COM")) + domain = PKGNAME_SYSTEM; + else + domain = UGPACKAGE;/*PKGNAME_MYFILE;*/ + + elm_object_domain_translatable_part_text_set(obj, part, domain, ID); +} + + +void mf_ug_widget_object_item_text_set(Elm_Object_Item *item, const char *ID, const char* part) +{ + ug_mf_retm_if(ID == NULL, "ID is NULL"); + ug_mf_retm_if(item == NULL, "item is NULL"); + const char *domain; + + if (strstr(ID, "IDS_COM")) + domain = PKGNAME_SYSTEM; + else + domain = UGPACKAGE;/*PKGNAME_MYFILE;*/ + elm_object_item_domain_translatable_part_text_set(item, part, domain, ID); +} + +void mf_ug_widget_object_item_translate_set(Elm_Object_Item *item, const char *ID) +{ + ug_mf_retm_if(ID == NULL, "ID is NULL"); + ug_mf_retm_if(item == NULL, "item is NULL"); + const char *domain; + + if (strstr(ID, "IDS_COM")) + domain = PKGNAME_SYSTEM; + else + domain = UGPACKAGE; + + SECURE_DEBUG(">>>>>>>>>>>>>>> ID is [%s] domain is [%s]", ID, domain); + //elm_object_item_domain_text_translatable_set(item, domain, EINA_TRUE); + elm_object_domain_translatable_text_set(item, domain, ID); +} + +Evas_Object *mf_ug_widget_create_progressbar(Evas_Object *parent, char *style) +{ + UG_TRACE_BEGIN; + if (!parent) + return NULL; + + Evas_Object *progressbar = elm_progressbar_add(parent); + if (style) { + elm_object_style_set(progressbar, style); + } + evas_object_size_hint_align_set(progressbar, EVAS_HINT_FILL, 0.5); + evas_object_size_hint_weight_set(progressbar, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); + evas_object_show(progressbar); + elm_progressbar_pulse(progressbar, EINA_TRUE); + evas_object_show(progressbar); + return progressbar; +} + +Evas_Object *mf_ug_widget_create_button(Evas_Object *parent, const char *style, + const char *caption, Evas_Object *icon, + void (*func) (void *, Evas_Object *, void *), + void *data, + Eina_Bool flag_propagate) +{ + UG_TRACE_BEGIN; + if (!parent) + return NULL; + + Evas_Object *btn; + + btn = elm_button_add(parent); + + if (style) { + elm_object_style_set(btn, style); + } + if (caption) { + mf_ug_widget_object_text_set(btn, caption, NULL); + elm_access_info_set(btn, ELM_ACCESS_INFO, mf_ug_widget_get_text(caption)); + } + + if (icon) + elm_object_content_set(btn, icon); + + evas_object_propagate_events_set(btn, flag_propagate); + + evas_object_smart_callback_add(btn, "clicked", func, (void *)data); + evas_object_show(btn); + UG_TRACE_END; + + return btn; +} + +Evas_Object *mf_ug_widget_toolbar_create(Evas_Object *parent) +{ + Evas_Object *toolbar = NULL; + toolbar = elm_toolbar_add(parent); + elm_object_style_set(toolbar, "default"); + elm_toolbar_shrink_mode_set(toolbar, ELM_TOOLBAR_SHRINK_EXPAND); + elm_toolbar_transverse_expanded_set(toolbar, EINA_TRUE); + elm_toolbar_select_mode_set(toolbar, ELM_OBJECT_SELECT_MODE_NONE); + return toolbar; +} + +Elm_Object_Item *mf_ug_widget_item_tabbar_item_append(Evas_Object *obj, + const char *icon, + const char *label, + Evas_Smart_Cb func, + const void *data) +{ + Elm_Object_Item *item = elm_toolbar_item_append(obj, icon, label, func, data); + + mf_ug_widget_object_item_translate_set(item, label); + return item; +} + +Evas_Object *mf_ug_widget_nocontent_create(Evas_Object *parent, const char *text, const char *icon_path) +{ + Evas_Object *nocontent = elm_layout_add(parent); + elm_layout_theme_set(nocontent, "layout", "nocontents", "text"); + elm_object_focus_set(nocontent, EINA_FALSE); + + Evas_Object *icon = elm_image_add(nocontent); + elm_image_file_set(icon, UG_EDJ_IMAGE, icon_path); + elm_object_part_content_set(nocontent, "nocontents.image", icon); + mf_ug_widget_object_text_set(nocontent, text, "elm.text"); + return nocontent; +} + +Evas_Object *mf_ug_tabbar_path_widget_create(Evas_Object *parent) +{ + Evas_Object *obj; + obj = elm_toolbar_add(parent); + elm_toolbar_homogeneous_set(obj, EINA_FALSE); + elm_toolbar_align_set(obj, 0.0); + if (obj == NULL) + return NULL; + elm_object_style_set(obj, "navigationbar"); + elm_toolbar_shrink_mode_set(obj, ELM_TOOLBAR_SHRINK_SCROLL); + elm_toolbar_transverse_expanded_set(obj, EINA_TRUE); + elm_toolbar_select_mode_set(obj, ELM_OBJECT_SELECT_MODE_NONE); + + return obj; +} + +Elm_Object_Item *mf_ug_tabbar_item_append(Evas_Object *obj, + const char *icon, + const char *label, + Evas_Smart_Cb func, + const void *data) +{ + Elm_Object_Item *item = elm_toolbar_item_append(obj, icon, label, func, data); + + mf_ug_widget_object_item_translate_set(item, label); + return item; +} + +void mf_ug_tabbar_path_item_cb(void *data, Evas_Object * obj, void *event_info) +{ + ugData *ugd = mf_ug_ugdata(); + char *fullpath = (char *)data; + ug_error("~~~~~~~~~~~~~~~~~~ fullpath is [%s], current path is [%s]", fullpath, ugd->ug_Status.ug_pPath->str); + if (fullpath == NULL || !mf_file_exists(fullpath)) { + UG_SAFE_FREE_GSTRING(ugd->ug_Status.ug_pPath); + ugd->ug_Status.ug_pPath = g_string_new(PHONE_FOLDER); + ugd->ug_Status.ug_iViewType = mf_ug_view_root; + mf_ug_navi_bar_create_default_view(ugd); + } else { + if (g_strcmp0(ugd->ug_Status.ug_pPath->str, fullpath) == 0) { + ug_error("The same folder selected"); + return; + } else { + UG_SAFE_FREE_GSTRING(ugd->ug_Status.ug_pPath); + ugd->ug_Status.ug_pPath = g_string_new(fullpath); + mf_ug_navi_bar_create_default_view(ugd); + } + } +} + +Evas_Object *mf_ug_tabbar_create_path_tab(Evas_Object *parent, char *info) +{ + ug_error(); + UG_TRACE_BEGIN; + ug_mf_retvm_if(parent == NULL, NULL, "parent is NULL"); + Evas_Object *tab = NULL; + int location = mf_ug_fm_svc_wapper_get_location(info); + ug_error(); + Eina_List *path_list = (Eina_List *)mf_ug_fm_svc_wrapper_level_path_get(info); + ug_error(); + if (path_list) { + ug_error(); + tab = mf_ug_tabbar_path_widget_create(parent); + ug_error(); + Eina_List *l = NULL; + char *path = NULL; + const char *label = NULL; + int count = 1; + EINA_LIST_FOREACH(path_list, l, path) { + if (path) { + ug_error("path is [%s]", path); + if (count == 1) { + switch (location) { + case MF_UG_PHONE: + label = MF_UG_LABEL_PHONE; + break; + case MF_UG_MMC: + label = MF_UG_LABEL_MMC; + break; + default: + return NULL; + } + mf_ug_tabbar_item_append(tab, NULL, mf_ug_widget_get_text(label), mf_ug_tabbar_path_item_cb, g_strdup(path)); + count++; + } else { + label = mf_file_get(path); + mf_ug_tabbar_item_append(tab, NULL, mf_ug_widget_get_text(label), mf_ug_tabbar_path_item_cb, g_strdup(path)); + count++; + } + } + } + ug_error(); + Elm_Object_Item *last_item = elm_toolbar_last_item_get(tab); + elm_object_item_disabled_set(last_item, EINA_TRUE); + elm_toolbar_item_show(last_item, ELM_TOOLBAR_ITEM_SCROLLTO_LAST); + ug_error(); + } + ug_error(); + mf_ug_util_free_eina_list_data(&path_list, NODE_TYPE_CHAR); + ug_error(); + return tab; +} + + +void mf_ug_object_create_select_all_layout(Evas_Object *pParent, Evas_Smart_Cb pChangeFunc, + Evas_Object_Event_Cb pMouseDownFunc, void *pUserData, Evas_Object **pCheckBox, Evas_Object **pSelectLayout) +{ + Evas_Object *pSelectAllLayout = elm_layout_add(pParent); + elm_layout_file_set(pSelectAllLayout, UG_EDJ_NAVIGATIONBAR, "select.all.layout"); + evas_object_size_hint_weight_set(pSelectAllLayout, EVAS_HINT_EXPAND, EVAS_HINT_FILL); + evas_object_size_hint_align_set(pSelectAllLayout, EVAS_HINT_FILL, EVAS_HINT_FILL); + evas_object_event_callback_add(pSelectAllLayout, EVAS_CALLBACK_MOUSE_DOWN, pMouseDownFunc, pUserData); + *pSelectLayout = pSelectAllLayout; + elm_object_part_text_set(pSelectAllLayout, "elm.text", mf_ug_widget_get_text(MF_UG_LABEL_SELECT_ALL)); + Evas_Object *pSelectAllCheckbox = elm_check_add(pSelectAllLayout); + evas_object_smart_callback_add(pSelectAllCheckbox, "changed", pChangeFunc, pUserData); + evas_object_propagate_events_set(pSelectAllCheckbox, EINA_FALSE); + elm_object_part_content_set(pSelectAllLayout, "elm.icon", pSelectAllCheckbox); + evas_object_show(pSelectAllLayout); + *pCheckBox = pSelectAllCheckbox; +} diff --git a/tests/ugmyfiletestapp/CMakeLists.txt b/tests/ugmyfiletestapp/CMakeLists.txt index 200d102..0adf2c3 100644 --- a/tests/ugmyfiletestapp/CMakeLists.txt +++ b/tests/ugmyfiletestapp/CMakeLists.txt @@ -32,7 +32,6 @@ pkg_check_modules(pkgs REQUIRED capi-appfw-application capi-content-media-content elementary -vconf glib-2.0 gthread-2.0 drm-client @@ -47,7 +46,6 @@ ecore ecore-file ecore-input capi-system-power -utilX ) # org.tizen.live-myfile # debian diff --git a/tests/ugmyfiletestapp/edj/layoutedj.edc b/tests/ugmyfiletestapp/edj/layoutedj.edc index 4705c2b..4e4ceda 100644 --- a/tests/ugmyfiletestapp/edj/layoutedj.edc +++ b/tests/ugmyfiletestapp/edj/layoutedj.edc @@ -1,3 +1,20 @@ +/* +* Copyright (c) 2000-2015 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 { @@ -63,4 +80,4 @@ collections } } -}
\ No newline at end of file +} diff --git a/tests/ugmyfiletestapp/include/dbg.h b/tests/ugmyfiletestapp/include/dbg.h index e9aa55f..87c0e86 100644 --- a/tests/ugmyfiletestapp/include/dbg.h +++ b/tests/ugmyfiletestapp/include/dbg.h @@ -1,18 +1,19 @@ /* - * Copyright (c) 2013 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. - */ +* Copyright (c) 2000-2015 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. +* +*/ #ifndef __DBG_H__ diff --git a/tests/ugmyfiletestapp/include/main.h b/tests/ugmyfiletestapp/include/main.h index 83debcf..9ba32b6 100644 --- a/tests/ugmyfiletestapp/include/main.h +++ b/tests/ugmyfiletestapp/include/main.h @@ -1,3 +1,19 @@ +/* +* Copyright (c) 2000-2015 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. +* +*/ #ifndef _MAIN_H_ #define _MAIN_H_ diff --git a/tests/ugmyfiletestapp/packaging/org.tizen.ugmyfiletestapp.spec b/tests/ugmyfiletestapp/packaging/org.tizen.ugmyfiletestapp.spec index d1fb093..880b802 100644 --- a/tests/ugmyfiletestapp/packaging/org.tizen.ugmyfiletestapp.spec +++ b/tests/ugmyfiletestapp/packaging/org.tizen.ugmyfiletestapp.spec @@ -1,9 +1,9 @@ Name: org.tizen.ugmyfiletestapp Version: 0.0.1 Release: 1 -License: To be filled +License: Apache-2.0 Summary: Hello EFL Application -Group: Application +Group: Applications Source0: %{name}-%{version}.tar.gz BuildRequires: cmake @@ -11,7 +11,6 @@ BuildRequires: pkgconfig(capi-appfw-application) BuildRequires: pkgconfig(elementary) BuildRequires: gettext-devel BuildRequires: pkgconfig(capi-content-media-content) -BuildRequires: pkgconfig(vconf) BuildRequires: pkgconfig(glib-2.0) BuildRequires: pkgconfig(gthread-2.0) BuildRequires: pkgconfig(ui-gadget-1) @@ -24,7 +23,6 @@ BuildRequires: pkgconfig(ecore) BuildRequires: pkgconfig(ecore-file) BuildRequires: pkgconfig(ecore-input) BuildRequires: pkgconfig(capi-system-power) -BuildRequires: pkgconfig(utilX) %description Platform Project diff --git a/tests/ugmyfiletestapp/src/main.c b/tests/ugmyfiletestapp/src/main.c index 7067b02..2b6d9bb 100644 --- a/tests/ugmyfiletestapp/src/main.c +++ b/tests/ugmyfiletestapp/src/main.c @@ -1,24 +1,24 @@ /* - * Copyright (c) 2013 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. - */ +* Copyright (c) 2000-2015 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. +* +*/ #include <app.h> #include <Elementary.h> #include <assert.h> #include <ui-gadget.h> -#include <utilX.h> #ifdef UNIT_TESTS #include "run-tests.h" @@ -39,30 +39,29 @@ struct _appdata { static void ug_layout_callback(ui_gadget_h ug, enum ug_mode mode, void *priv) { - printf("%s\n",__FUNCTION__); + printf("%s\n", __FUNCTION__); struct _appdata *ad = priv; Evas_Object *base = (Evas_Object *)ug_get_layout(ug); Evas_Object *win = ug_get_window(); if (!base) { - printf("!base -> Call ug_destroy\n"); - ug_destroy(ug); - return; + printf("!base -> Call ug_destroy\n"); + ug_destroy(ug); + return; } - switch (mode) - { + switch (mode) { case UG_MODE_FULLVIEW: - evas_object_size_hint_weight_set(base, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - elm_win_resize_object_add(win, base); + evas_object_size_hint_weight_set(base, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); + elm_win_resize_object_add(win, base); evas_object_show(base); break; case UG_MODE_FRAMEVIEW: - evas_object_size_hint_weight_set(base, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - elm_object_part_content_set(ad->layout, "custom", base); + evas_object_size_hint_weight_set(base, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); + elm_object_part_content_set(ad->layout, "custom", base); break; default: - break; + break; } } @@ -87,9 +86,8 @@ static void on_click(void *data, Evas_Object *obj, void *event_info) service_h service; int ret = service_create(&service); - if(ret != SERVICE_ERROR_NONE) - { - printf("service create failed\n"); + if (ret != SERVICE_ERROR_NONE) { + printf("service create failed\n"); } service_add_extra_data(service, "path", "/"); @@ -109,14 +107,14 @@ static Evas_Object *_add_win(const char *name) win = elm_win_util_standard_add(name, "ugmyfiletestapp"); if (!win) - return NULL; + return NULL; evas_object_show(win); return win; } -static void _add_button(const char* name, Evas_Object* box, struct _appdata *ad) +static void _add_button(const char *name, Evas_Object *box, struct _appdata *ad) { Evas_Object *btn; btn = elm_button_add(box); @@ -129,54 +127,43 @@ static void _add_button(const char* name, Evas_Object* box, struct _appdata *ad) } -static Eina_Bool callback_hw_key_down( void *data, int type __attribute__((unused)), void *event ) +static Eina_Bool callback_hw_key_down(void *data, int type __attribute__((unused)), void *event) { assert(data != NULL); assert(event != NULL); - if(data == NULL) - { - return ECORE_CALLBACK_DONE; + if (data == NULL) { + return ECORE_CALLBACK_DONE; } - if(event == NULL) - { - return ECORE_CALLBACK_DONE; + if (event == NULL) { + return ECORE_CALLBACK_DONE; } struct _appdata *ad = data; Ecore_Event_Key *key_event = event; - if (strcmp(key_event->keyname, KEY_BACK) == 0) - { - if (ad->ug) - { - return ECORE_CALLBACK_PASS_ON; - } - else - { - elm_exit(); + if (strcmp(key_event->keyname, "XF86Back") == 0) { + if (ad->ug) { + return ECORE_CALLBACK_PASS_ON; + } else { + elm_exit(); } } - else if (strcmp(key_event->keyname, KEY_MENU) == 0) - { - return ECORE_CALLBACK_DONE; - } return ECORE_CALLBACK_DONE; } - static bool _create(void *user_data) { char *btn_name[] = { "MULTI_ALL", - "SINGLE_ALL", - "MULTI_FILE", - "SINGLE_FILE", - "IMPORT", - "EXPORT", - "SHORTCUT", - "SAVE" - }; + "SINGLE_ALL", + "MULTI_FILE", + "SINGLE_FILE", + "IMPORT", + "EXPORT", + "SHORTCUT", + "SAVE" + }; struct _appdata *ad; Evas_Object *win; @@ -185,13 +172,13 @@ static bool _create(void *user_data) Evas_Object *layout; if (!user_data) - return false; + return false; ad = user_data; win = _add_win(ad->name); if (!win) - return false; + return false; layout = elm_layout_add(win); evas_object_size_hint_weight_set(layout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); elm_win_resize_object_add(win, layout); @@ -199,16 +186,15 @@ static bool _create(void *user_data) evas_object_show(layout); const char *title = elm_layout_data_get(layout, "title"); - if (title) - { - elm_win_title_set(win, title); - elm_object_part_text_set(layout, "title", title); + if (title) { + elm_win_title_set(win, title); + elm_object_part_text_set(layout, "title", title); } bx = elm_box_add(win); evas_object_size_hint_weight_set(bx, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); evas_object_size_hint_align_set(bx, EVAS_HINT_FILL, EVAS_HINT_FILL); - //elm_win_resize_object_add(win, bx); + /*elm_win_resize_object_add(win, bx);*/ elm_box_horizontal_set(bx, EINA_FALSE); elm_object_part_content_set(layout, "custom", bx); evas_object_show(bx); @@ -218,15 +204,14 @@ static bool _create(void *user_data) int i = 0; int len = sizeof(btn_name)/sizeof(btn_name[0]); - for ( ;i < len; ++i) - { - /* code */ - _add_button(btn_name[i], bx, ad); + for ( ; i < len; ++i) { + /* code */ + _add_button(btn_name[i], bx, ad); } elm_object_part_content_set(layout, "custom", bx); - ad->key_event_handler = ecore_event_handler_add( ECORE_EVENT_KEY_DOWN, callback_hw_key_down, ad ); + ad->key_event_handler = ecore_event_handler_add(ECORE_EVENT_KEY_DOWN, callback_hw_key_down, ad); UG_INIT_EFL(win, UG_OPT_INDICATOR_ENABLE); ad->win = win; @@ -239,22 +224,21 @@ static void _terminate(void *user_data) struct _appdata *ad; if (!user_data) - return; + return; ad = user_data; if (ad->win) - evas_object_del(ad->win); - if (ad->key_event_handler) - { - ecore_event_handler_del(ad->key_event_handler); + evas_object_del(ad->win); + if (ad->key_event_handler) { + ecore_event_handler_del(ad->key_event_handler); } } static void _pause(void *user_data) { - if (!user_data) - return; + if (!user_data) + return; } static void _resume(void *user_data) @@ -274,7 +258,7 @@ static void _low_battery(void *user_data) } static void _dev_orientation_changed(app_device_orientation_e orientation, - void *user_data) + void *user_data) { } @@ -290,30 +274,28 @@ void _init_and_run(int argc, char **argv) { struct _appdata ad; app_event_callback_s cbs = { - .create = _create, - .terminate = _terminate, - .pause = _pause, - .resume = _resume, - .service = _service, - .low_memory = _low_memory, - .low_battery = _low_battery, - .device_orientation = _dev_orientation_changed, - .language_changed = _lang_changed, - .region_format_changed = _region_fmt_changed, + .create = _create, + .terminate = _terminate, + .pause = _pause, + .resume = _resume, + .service = _service, + .low_memory = _low_memory, + .low_battery = _low_battery, + .device_orientation = _dev_orientation_changed, + .language_changed = _lang_changed, + .region_format_changed = _region_fmt_changed, }; memset(&ad, 0x00, sizeof(ad)); - ad.name= "testug"; + ad.name = "testug"; app_efl_main(&argc, &argv, &cbs, &ad); - } int main(int argc, char **argv) { - #ifdef UNIT_TESTS - return run_tests( argc, argv ); + return run_tests(argc, argv); #endif /* UNIT_TESTS */ _init_and_run(argc, argv); diff --git a/ug-myfile-button.edc b/ug-myfile-button.edc new file mode 100644 index 0000000..c410d2e --- /dev/null +++ b/ug-myfile-button.edc @@ -0,0 +1,288 @@ +/* +* Copyright (c) 2000-2015 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. +* +*/ + + + + +#define BUTTON_CIRCLE_STYLE_BG_MIN_MAX_INC 72 72 +#define BUTTON_CIRCLE_STYLE_IMAGE_MIN_MAX_INC 45 45 +#define BUTTON_CIRCLE_STYLE_CONTENT_MIN_MAX_INC 45 45 +#define BUTTON_CIRCLE_STYLE_LEFT_PADDING_MIN_MAX_INC 13 13 +#define BUTTON_CIRCLE_STYLE_RIGHT_PADDING_MIN_MAX_INC 14 14 +#define BUTTON_CIRCLE_NORMAL_MIN_WIDTH_INC 72 +#define BUTTON_CIRCLE_NORMAL_MIN_HEIGHT_INC 72 + +group { name: "elm/button/base/myfile_play"; + data { + item: "focus_highlight" "on"; + } + images { + image: 00_circle_button_focus.png COMP; + image: 00_circle_button_bg.png COMP; + } + script { + public mouse_down = 0; + public multi_down = 0; + } + parts { + part { name: "button_image"; + type: RECT; + scale: 1; + description { state: "default" 0.0; + min: BUTTON_CIRCLE_STYLE_BG_MIN_MAX_INC; + max: BUTTON_CIRCLE_STYLE_BG_MIN_MAX_INC; + fixed: 1 1; + color: 0 0 0 0; + } + } + part { name: "button_bg"; + scale: 1; + description { state: "default" 0.0; + min: BUTTON_CIRCLE_STYLE_BG_MIN_MAX_INC; + max: BUTTON_CIRCLE_STYLE_BG_MIN_MAX_INC; + image.normal: "00_circle_button_bg.png"; + rel1.to: "button_image"; + rel2.to: "button_image"; + visible: 1 ; + color_class: "W011"; + } + description { state: "pressed" 0.0; + inherit: "default" 0.0; + visible: 1 ; + color_class: "B042"; + } + } + part { name: "left_top_padding"; + scale: 1; + type: SPACER; + description { state: "default" 0.0; + min: BUTTON_CIRCLE_STYLE_LEFT_PADDING_MIN_MAX_INC; + max: BUTTON_CIRCLE_STYLE_LEFT_PADDING_MIN_MAX_INC; + fixed: 1 1; + align: 0.0 0.0; + rel1.to: "button_image"; + rel2.to: "button_image"; + } + } + part { name: "right_bottom_padding"; + scale: 1; + type: SPACER; + description { state: "default" 0.0; + min: BUTTON_CIRCLE_STYLE_RIGHT_PADDING_MIN_MAX_INC; + max: BUTTON_CIRCLE_STYLE_RIGHT_PADDING_MIN_MAX_INC; + fixed: 1 1; + align: 1.0 1.0; + rel1 { + relative: 1.0 1.0; + to: "button_image"; + } + rel2.to: "button_image"; + } + } + part { name: "elm.swallow.content"; + type: SWALLOW; + scale: 1; + clip_to: "icon_clipper"; + description { state: "default" 0.0; + min: BUTTON_CIRCLE_STYLE_CONTENT_MIN_MAX_INC; + max: BUTTON_CIRCLE_STYLE_CONTENT_MIN_MAX_INC; + fixed: 1 1; + rel1 { + relative: 1.0 1.0; + to: "left_top_padding"; + } + rel2 { + relative: 0.0 0.0; + to: "right_bottom_padding"; + } + } + } + part { name: "icon_clipper"; + type: RECT; + scale: 1; + description { state: "default" 0.0; + // color_class: "F032L1"; + } + description { state: "pressed" 0.0; + color_class: "F032L1P"; + } + description { state: "disabled" 0.0; + color_class: "F032L1D"; + } + } + part { name: "focus_image"; + scale: 1; + mouse_events: 0; + repeat_events: 1; + description { state: "default" 0.0; + min: BUTTON_CIRCLE_STYLE_BG_MIN_MAX_INC; + max: BUTTON_CIRCLE_STYLE_BG_MIN_MAX_INC; + visible: 0; + rel1.to : "button_image"; + rel2.to : "button_image"; + image { + normal: "00_circle_button_focus.png"; + } + } + description { state: "focused" 0.0; + inherit: "default" 0.0; + visible: 1; + color_class: "W161"; + } + } + part { name: "over1"; + type: RECT; + ignore_flags: ON_HOLD; + description { state: "default" 0.0; + color: 0 0 0 0; + } + } + part { name: "over2"; + type: RECT; + repeat_events: 1; + description { state: "default" 0.0; + color: 0 0 0 0; + } + } + part { name: "disabler"; + type: RECT; + description { state: "default" 0.0; + color: 0 0 0 0; + visible: 0; + } + description { state: "disabled" 0.0; + inherit: "default" 0.0; + visible: 1; + } + } + } + programs { + program { name: "button_press"; + signal: "mouse,down,1*"; + source: "over1"; + script { + if ((get_int(multi_down) == 0) && (get_int(mouse_down) == 0)) + { + set_int(mouse_down, 1); + run_program(PROGRAM:"button_press2"); + } + } + } + program { name: "button_press2"; + action: SIGNAL_EMIT "elm,action,press" ""; + after: "button_press_anim"; + } + program { name: "button_press_anim"; + action: STATE_SET "pressed" 0.0; + target: "button_bg"; + target: "icon_clipper"; + } + program { name: "key_press"; + signal: "elm,action,pressed"; + source: "elm"; + action: STATE_SET "pressed" 0.0; + target: "button_bg"; + target: "icon_clipper"; + } + program { name: "key_unpress"; + signal: "elm,action,unpressed"; + source: "elm"; + action: STATE_SET "default" 0.0; + target: "button_bg"; + target: "icon_clipper"; + } + program { name: "button_click"; + signal: "mouse,clicked,1"; + source: "over1"; + script { + if (get_int(multi_down) == 0) { + run_program(PROGRAM:"play_sound"); + run_program(PROGRAM:"button_click2"); + } + } + } + program { name: "play_sound"; + action: RUN_PLUGIN "touch_sound"; + } + program { name: "button_click2"; + action: SIGNAL_EMIT "elm,action,click" ""; + } + program { name: "button_unpress"; + signal: "mouse,up,1*"; + source: "over2"; + script { + if (get_int(mouse_down) == 1) + { + set_int(mouse_down, 0); + run_program(PROGRAM:"button_unpress2"); + run_program(PROGRAM:"button_unpress_anim"); + } + } + } + program { name: "button_unpress2"; + action: SIGNAL_EMIT "elm,action,unpress" ""; + } + program { name: "button_unpress_anim"; + action: STATE_SET "default" 0.0; + target: "button_bg"; + target: "icon_clipper"; + } + program { name: "disable"; + signal: "elm,state,disabled"; + source: "elm"; + action: STATE_SET "disabled" 0.0; + target: "disabler"; + target: "icon_clipper"; + } + program { name: "enable"; + signal: "elm,state,enabled"; + source: "elm"; + action: STATE_SET "default" 0.0; + target: "disabler"; + target: "icon_clipper"; + } + program { name: "action_focus"; + signal: "elm,action,focus_highlight,show"; + source: "elm"; + action: STATE_SET "focused" 0.0; + target: "focus_image"; + } + program { name: "action_unfocus"; + signal: "elm,action,focus_highlight,hide"; + source: "elm"; + action: STATE_SET "default" 0.0; + target: "focus_image"; + } + program { + name: "multi_down"; + signal: "elm,action,multi,down"; + source: "elm"; + script { + set_int(multi_down, 1); + } + } + program { + name: "multi_up"; + signal: "elm,action,multi,up"; + source: "elm"; + script { + set_int(multi_down, 0); + } + } + } +} + diff --git a/ug-myfile-efl.manifest b/ug-myfile-efl.manifest index c00c25b..6df3846 100644 --- a/ug-myfile-efl.manifest +++ b/ug-myfile-efl.manifest @@ -1,4 +1,10 @@ <manifest> + <define> + <domain name="ug-myfile-efl" policy="shared"/> + <request> + <smack request="org.tizen.myfile" type="rwx"/> + </request> + </define> <request> <domain name="_" /> </request> diff --git a/ug-myfile-efl.png b/ug-myfile-efl.png Binary files differnew file mode 100644 index 0000000..995f808 --- /dev/null +++ b/ug-myfile-efl.png diff --git a/ug-myfile-efl.xml b/ug-myfile-efl.xml index d2c1eed..9efa604 100644 --- a/ug-myfile-efl.xml +++ b/ug-myfile-efl.xml @@ -1,34 +1,123 @@ <?xml version="1.0" encoding="utf-8"?> -<manifest xmlns="http://tizen.org/ns/packages" package="myfile-efl" version="0.1" install-location="internal-only"> - <label>myfile-efl</label> - <author email="gliang.wang@samsung.com" href="www.samsung.com">Guangliang Wang</author> - <description>My Files Application</description> - <ui-application appid="myfile-efl" exec="/usr/ug/bin/myfile-efl" nodisplay="true" multiple="true" type="capp" taskmanage="false"> - <icon>ug-myfile-efl.png</icon> - <label>My Files Appcontrol</label> - <label xml:lang="en-us">My Files Appcontrol</label> - <label xml:lang="nl-nl">My Files</label> - <label xml:lang="de-de">My Files</label> - <label xml:lang="zh-hk">My Files</label> - <label xml:lang="zh-cn">My Files</label> - <label xml:lang="ru-ru">My Files</label> - <label xml:lang="zh-tw">My Files</label> - <label xml:lang="ja-jp">My Files</label> - <label xml:lang="es-es">My Files</label> - <label xml:lang="el-gr">My Files</label> - <label xml:lang="it-it">My Files</label> - <label xml:lang="tr-tr">My Files</label> - <label xml:lang="pt-pt">My Files</label> - <label xml:lang="fr-fr">My Files</label> - <label xml:lang="ko-kr">My Files</label> - <application-service> - <operation name="http://tizen.org/appcontrol/operation/pick"/> - </application-service> - <application-service> - <operation name="http://tizen.org/appcontrol/operation/pick"/> - <mime name="image/*"/> - <mime name="video/*"/> - </application-service> +<manifest xmlns="http://tizen.org/ns/packages" package="ug-myfile-efl" version="0.0.2" install-location="internal-only"> + <label>My Files Appcontrol</label> + <label xml:lang="hy-am">My Files Appcontrol</label> + <label xml:lang="az-az">My Files Appcontrol</label> + <label xml:lang="eu-es">My Files Appcontrol</label> + <label xml:lang="bg-bg">My Files Appcontrol</label> + <label xml:lang="ca-es">My Files Appcontrol</label> + <label xml:lang="zh-cn">My Files Appcontrol</label> + <label xml:lang="zh-hk">My Files Appcontrol</label> + <label xml:lang="zh-tw">My Files Appcontrol</label> + <label xml:lang="hr-hr">My Files Appcontrol</label> + <label xml:lang="cs-cz">My Files Appcontrol</label> + <label xml:lang="da-dk">My Files Appcontrol</label> + <label xml:lang="nl-nl">My Files Appcontrol</label> + <label xml:lang="en-gb">My Files Appcontrol</label> + <label xml:lang="en-us">My Files Appcontrol</label> + <label xml:lang="et-ee">My Files Appcontrol</label> + <label xml:lang="fi-fi">My Files Appcontrol</label> + <label xml:lang="fr-fr">My Files Appcontrol</label> + <label xml:lang="gl-es">My Files Appcontrol</label> + <label xml:lang="ka-ge">My Files Appcontrol</label> + <label xml:lang="de-de">My Files Appcontrol</label> + <label xml:lang="el-gr">My Files Appcontrol</label> + <label xml:lang="hu-hu">My Files Appcontrol</label> + <label xml:lang="is-is">My Files Appcontrol</label> + <label xml:lang="ga-ie">My Files Appcontrol</label> + <label xml:lang="it-it">My Files Appcontrol</label> + <label xml:lang="ja-jp">My Files Appcontrol</label> + <label xml:lang="kk-kz">My Files Appcontrol</label> + <label xml:lang="ko-kr">My Files Appcontrol</label> + <label xml:lang="lv-lv">My Files Appcontrol</label> + <label xml:lang="lt-lt">My Files Appcontrol</label> + <label xml:lang="mk-mk">My Files Appcontrol</label> + <label xml:lang="nb-no">My Files Appcontrol</label> + <label xml:lang="pl-pl">My Files Appcontrol</label> + <label xml:lang="pt-pt">My Files Appcontrol</label> + <label xml:lang="pt-br">My Files Appcontrol</label> + <label xml:lang="ro-ro">My Files Appcontrol</label> + <label xml:lang="ru-ru">My Files Appcontrol</label> + <label xml:lang="sr-rs">My Files Appcontrol</label> + <label xml:lang="sk-sk">My Files Appcontrol</label> + <label xml:lang="sl-si">My Files Appcontrol</label> + <label xml:lang="es-es">My Files Appcontrol</label> + <label xml:lang="es-us">My Files Appcontrol</label> + <label xml:lang="sv-se">My Files Appcontrol</label> + <label xml:lang="tr-tr">My Files Appcontrol</label> + <label xml:lang="uk-ua">My Files Appcontrol</label> + <label xml:lang="uz-uz">My Files Appcontrol</label> + <label xml:lang="ar-ae">My Files Appcontrol</label> + <label xml:lang="zh-sg">My Files Appcontrol</label> + <label xml:lang="hi-in">My Files Appcontrol</label> + <label xml:lang="en-ph">My Files Appcontrol</label> + <label xml:lang="fr-ca">My Files Appcontrol</label> + <label xml:lang="es-mx">My Files Appcontrol</label> + <author email="gliang.wang@samsung.com" href="www.samsung.com">Guangliang Wang</author> + <description>Myfiles Application</description> + <ui-application appid="ug-myfile-efl" exec="/usr/ug/bin/myfile-efl" ui-gadget="true" nodisplay="true" multiple="true" type="capp" taskmanage="false" process-pool="true" launch_mode="caller"> + <icon>/usr/share/icons/default/small/ug-myfile-efl.png</icon> + <label>My Files</label> + <label xml:lang="hy-am">Իմ Ֆայլերը</label> + <label xml:lang="az-az">Mənim fayllarım</label> + <label xml:lang="eu-es">Nire Fitxategiak</label> + <label xml:lang="bg-bg">Моите файлове</label> + <label xml:lang="ca-es">Els meus fitxers</label> + <label xml:lang="zh-cn">我的文件</label> + <label xml:lang="zh-hk">我的檔案</label> + <label xml:lang="zh-tw">我的檔案</label> + <label xml:lang="hr-hr">Moje datoteke</label> + <label xml:lang="cs-cz">Moje soubory</label> + <label xml:lang="da-dk">Mine filer</label> + <label xml:lang="nl-nl">Mijn bestanden</label> + <label xml:lang="en-gb">My Files</label> + <label xml:lang="en-us">My Files</label> + <label xml:lang="et-ee">Minu Failid</label> + <label xml:lang="fi-fi">Omat tiedostot</label> + <label xml:lang="fr-fr">Mes fichiers</label> + <label xml:lang="gl-es">Os Meus Arquivos</label> + <label xml:lang="ka-ge">ჩემი ფაილები</label> + <label xml:lang="de-de">Eigene Dateien</label> + <label xml:lang="el-gr">Τα Αρχεία Μου</label> + <label xml:lang="hu-hu">Saját fájlok</label> + <label xml:lang="is-is">Skrárnar mínar</label> + <label xml:lang="ga-ie">Mo Chomhaid</label> + <label xml:lang="it-it">Archivio</label> + <label xml:lang="ja-jp">マイファイル</label> + <label xml:lang="kk-kz">Менің файлдарым</label> + <label xml:lang="ko-kr">내 파일</label> + <label xml:lang="lv-lv">Mani faili</label> + <label xml:lang="lt-lt">Mano failai</label> + <label xml:lang="mk-mk">Мои фајлови</label> + <label xml:lang="nb-no">Mine Filer</label> + <label xml:lang="pl-pl">Moje pliki</label> + <label xml:lang="pt-pt">Os Meus Ficheiros</label> + <label xml:lang="pt-br">Meus Arquivos</label> + <label xml:lang="ro-ro">Fişierele mele</label> + <label xml:lang="ru-ru">Мои файлы</label> + <label xml:lang="sr-rs">Moji fajlovi</label> + <label xml:lang="sk-sk">Moje súbory</label> + <label xml:lang="sl-si">Moje datoteke</label> + <label xml:lang="es-es">Mis archivos</label> + <label xml:lang="es-us">Mis Archivos</label> + <label xml:lang="sv-se">Mina filer</label> + <label xml:lang="tr-tr">Dosyalarım</label> + <label xml:lang="uk-ua">Мої файли</label> + <label xml:lang="uz-uz">Mening fayllarim</label> + <label xml:lang="ar-ae">ملفاتي</label> + <label xml:lang="zh-sg">我的文件</label> + <label xml:lang="hi-in">मेरी फाइलें</label> + <label xml:lang="en-ph">My Files</label> + <label xml:lang="fr-ca">Mes fichiers</label> + <label xml:lang="es-mx">Mis Archivos</label> + <application-service> + <operation name="http://tizen.org/appcontrol/operation/pick"/> + </application-service> + <application-service> + <operation name="http://tizen.org/appcontrol/operation/pick"/> + <mime name="image/*"/> + <mime name="video/*"/> + </application-service> - </ui-application> + </ui-application> </manifest> diff --git a/ug-myfile-toolbar.edc b/ug-myfile-toolbar.edc new file mode 100644 index 0000000..1127cdd --- /dev/null +++ b/ug-myfile-toolbar.edc @@ -0,0 +1,840 @@ +/* +* Copyright (c) 2000-2015 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. +* +*/ + + +#define ITEM_STATE_ENABLED 0 +#define ITEM_STATE_DISABLED 1 +#define TOOLBAR_SLIDING_PER_FPS 2 +#define TOOLBAR_SLIDING_FPS 40.0 +#define TOOLBAR_SLIDING_TEXT_GAP 40 +#define TOOLBAR_SLIDING_TEXT_OFFSET 5 +#define TOOLBAR_SLIDING_WAIT_TIME 1.2 +#define TOOLBAR_ITEM_DIVIDER_SIZE 1 48 + +// sliding motion +#define TOOLBAR_SLIDING_NO_EFFECT 0 +#define TOOLBAR_SLIDING_DOING 1 +#define TOOLBAR_SLIDING_END 2 + +#define TABBAR_BOTTOM_LINE_H_INC 1 +#define TABBAR_ITEM_ICON_SIZE_INC 24 24 +#define TABBAR_BADGE_ONE_ITEM_PADDING_SIZE 10 10 +#define TABBAR_BADGE_TWO_ITEMS_PADDING_SIZE 6 10 +#define TABBAR_BADGE_THREE_ITEMS_PADDING_SIZE 4 10 +#define TABBAR_ITEM_DIVIDER_SIZE 1 + +#if 1 +#define TOOLBAR_TEXT_STYLE(_font_size) \ + style { name: "toolbar_text_style_"_font_size; \ + base: "font=Tizen:style=Bold font_size="_font_size" align=center color=#000000 wrap=word ellipsis=1 text_class=ATO005 color_class=T042 linegap=0"; \ + tag: "br" "\n"; \ + tag: "ps" "ps"; \ + tag: "hilight" "+ font_weight=Bold"; \ + tag: "b" "+ font_weight=Bold"; \ + tag: "tab" "\t"; \ + } + +#define TOOLBAR_PRESSED_TEXT_STYLE(_font_size) \ + style { name: "toolbar_pressed_text_style_"_font_size; \ + base: "font=Tizen:style=Bold font_size="_font_size" align=center color=#000000 wrap=word ellipsis=1 text_class=ATO005P color_class=T042P linegap=0"; \ + tag: "br" "\n"; \ + tag: "ps" "ps"; \ + tag: "hilight" "+ font_weight=Bold"; \ + tag: "b" "+ font_weight=Bold"; \ + tag: "tab" "\t"; \ + } + +#define TOOLBAR_DISABLED_TEXT_STYLE(_font_size) \ + style { name: "toolbar_disabled_text_style_"_font_size; \ + base: "font=Tizen:style=Bold font_size="_font_size" align=center color=#000000 wrap=word ellipsis=1 text_class=ATO005D color_class=T042D linegap=0"; \ + tag: "br" "\n"; \ + tag: "ps" "ps"; \ + tag: "hilight" "+ font_weight=Bold"; \ + tag: "b" "+ font_weight=Bold"; \ + tag: "tab" "\t"; \ + } + +#endif + +#define TABBAR_TEXT_STYLE(_font_size) \ + style { name: "tabbar_text_style_"_font_size; \ + base: "font=Tizen:style=regular font_size="_font_size" align=center color=#000000 wrap=word ellipsis=1 text_class=T111 color_class=T111 linegap=0"; \ + tag: "br" "\n"; \ + tag: "ps" "ps"; \ + tag: "hilight" "+ font_weight=Bold"; \ + tag: "b" "+ font_weight=Bold"; \ + tag: "tab" "\t"; \ + } + +#define TABBAR_SELECTED_TEXT_STYLE(_font_size) \ + style { name: "tabbar_selected_text_style_"_font_size; \ + base: "font=Tizen:style=Bold font_size="_font_size" align=center color=#000000 wrap=word ellipsis=1 text_class=T111S color_class=T111S linegap=0"; \ + tag: "br" "\n"; \ + tag: "ps" "ps"; \ + tag: "hilight" "+ font_weight=Bold"; \ + tag: "b" "+ font_weight=Bold"; \ + tag: "tab" "\t"; \ + } + +#define TABBAR_PRESSED_TEXT_STYLE(_font_size) \ + style { name: "tabbar_pressed_text_style_"_font_size; \ + base: "font=Tizen:style=regular font_size="_font_size" align=center color=#000000 wrap=word ellipsis=1 text_class=T111P color_class=T111P linegap=0"; \ + tag: "br" "\n"; \ + tag: "ps" "ps"; \ + tag: "hilight" "+ font_weight=Bold"; \ + tag: "b" "+ font_weight=Bold"; \ + tag: "tab" "\t"; \ + } + +#define TABBAR_DISABLED_TEXT_STYLE(_font_size) \ + style { name: "tabbar_disabled_text_style_"_font_size; \ + base: "font=Tizen:style=regular font_size="_font_size" align=center color=#000000 wrap=word ellipsis=1 text_class=T111D color_class=T111D linegap=0"; \ + tag: "br" "\n"; \ + tag: "ps" "ps"; \ + tag: "hilight" "+ font_weight=Bold"; \ + tag: "b" "+ font_weight=Bold"; \ + tag: "tab" "\t"; \ + } + +#define TABBAR_WITH_TITLE_TEXT_STYLE(_font_size) \ + style { name: "tabbar_with_title_text_style_"_font_size; \ + base: "font=Tizen:style=regular font_size="_font_size" align=center color=#000000 wrap=word ellipsis=1 text_class=T1112 color_class=T1112 linegap=0"; \ + tag: "br" "\n"; \ + tag: "ps" "ps"; \ + tag: "hilight" "+ font_weight=Bold"; \ + tag: "b" "+ font_weight=Bold"; \ + tag: "tab" "\t"; \ + } + +#define TABBAR_WITH_TITLE_SELECTED_TEXT_STYLE(_font_size) \ + style { name: "tabbar_with_title_selected_text_style_"_font_size; \ + base: "font=Tizen:style=Bold font_size="_font_size" align=center color=#000000 wrap=word ellipsis=1 text_class=T1112S color_class=T1112S linegap=0"; \ + tag: "br" "\n"; \ + tag: "ps" "ps"; \ + tag: "hilight" "+ font_weight=Bold"; \ + tag: "b" "+ font_weight=Bold"; \ + tag: "tab" "\t"; \ + } + +#define TABBAR_WITH_TITLE_PRESSED_TEXT_STYLE(_font_size) \ + style { name: "tabbar_with_title_pressed_text_style_"_font_size; \ + base: "font=Tizen:style=regular font_size="_font_size" align=center color=#000000 wrap=word ellipsis=1 text_class=T1112P color_class=T1112P linegap=0"; \ + tag: "br" "\n"; \ + tag: "ps" "ps"; \ + tag: "hilight" "+ font_weight=Bold"; \ + tag: "b" "+ font_weight=Bold"; \ + tag: "tab" "\t"; \ + } + +#define TABBAR_WITH_TITLE_DISABLED_TEXT_STYLE(_font_size) \ + style { name: "tabbar_with_title_disabled_text_style_"_font_size; \ + base: "font=Tizen:style=regular font_size="_font_size" align=center color=#000000 wrap=word ellipsis=1 text_class=T1112D color_class=T1112D linegap=0"; \ + tag: "br" "\n"; \ + tag: "ps" "ps"; \ + tag: "hilight" "+ font_weight=Bold"; \ + tag: "b" "+ font_weight=Bold"; \ + tag: "tab" "\t"; \ + } + +styles{ + TABBAR_TEXT_STYLE(18) + TABBAR_SELECTED_TEXT_STYLE(18) + TABBAR_PRESSED_TEXT_STYLE(18) + TABBAR_DISABLED_TEXT_STYLE(18) + TABBAR_WITH_TITLE_TEXT_STYLE(18) + TABBAR_WITH_TITLE_SELECTED_TEXT_STYLE(18) + TABBAR_WITH_TITLE_PRESSED_TEXT_STYLE(18) + TABBAR_WITH_TITLE_DISABLED_TEXT_STYLE(18) + + TOOLBAR_TEXT_STYLE(20) + TOOLBAR_PRESSED_TEXT_STYLE(20) + TOOLBAR_DISABLED_TEXT_STYLE(20) +} + + +#define TAB_ITEM_HEIGHT 115 +#define TAB_DIVIDER_WIDTH 12 //28 +#define TAB_REIGHT_DIVIDER_WIDTH 10 //26 + +group { name: "elm/toolbar/base/path_info"; + data { + item: "focus_highlight" "on"; + } + parts { + part { name: "base"; + type: RECT; + description { state: "default" 0.0; + min: 0 TAB_ITEM_HEIGHT; + max: -1 TAB_ITEM_HEIGHT; + fixed: 0 1; + color_class: "B012"; + } + } + part { name: "pad"; + type: RECT; + mouse_events: 0; + description { + min: 16 TAB_ITEM_HEIGHT; + max: 16 TAB_ITEM_HEIGHT; + fixed: 1 1; + state: "default" 0.0; + rel1 { + relative: 0.0 0.0; + to: "base"; + } + rel2 { + relative: 0.0 1.0; + to: "base"; + } + color_class: "B012L1"; + align: 0.0 0.0; + } + } + part { name: "clipper"; + type: RECT; + mouse_events: 0; + description { + state: "default" 0.0; + rel1 { + relative: 1.0 0.0; + to_x: "pad"; + to_y: "base"; + } + rel2 { + relative: 1.0 1.0; + to: "base"; + } + } + } + part { name: "elm.swallow.content"; + clip_to: "clipper"; + type: SWALLOW; + description { + state: "default" 0.0; + rel1.to: "clipper"; + rel2.to: "clipper"; + } + } + part { name: "event"; + type: RECT; + mouse_events: 1; + repeat_events: 1; + description { state: "default" 0.0; + color: 0 0 0 0; + } + } + + } +} + +group { name: "elm/toolbar/item/path_info"; + images { + image: "U01_subdepth_tail.png" COMP; + image: "U01_subdepth_folder_arrow.png" COMP; + } + data.item: "transition_animation_on" "0"; + script { + public item_state = ITEM_STATE_ENABLED; + public items_number = 0; + public mouse_down = 0; + public multi_down = 0; + } + parts { + part { name: "bg"; + type: RECT; + scale: 1; + mouse_events: 0; + description { state: "default" 0.0; + min: 0 0; + align: 0.0 0.0; + color_class: "B012L1";//"B0515"; + } + } + part { name: "divider"; + type: RECT; + scale: 1; + description { state: "default" 0.0; + min: TAB_DIVIDER_WIDTH TAB_ITEM_HEIGHT; + max: TAB_DIVIDER_WIDTH TAB_ITEM_HEIGHT; + fixed: 1 1; + color: 0 0 0 0; + rel1 { + relative: 1.0 0.0; + to: "bg"; + } + rel2 { + relative: 1.0 1.0; + to: "bg"; + } + align: 1.0 1.0; + } + description { state: "hidden" 0.0; + inherit: "default" 0.0; + visible: 0; + } + } + part { name: "divider_image"; + type: IMAGE; + scale: 1; + description { state: "default" 0.0; + min: TAB_DIVIDER_WIDTH TAB_ITEM_HEIGHT; + max: TAB_DIVIDER_WIDTH TAB_ITEM_HEIGHT; + fixed: 1 1; + visible: 0; + rel1.to: "divider"; + rel2.to: "divider"; + image.normal: "U01_subdepth_folder_arrow.png"; + color_class: "B012L3";//"B0515"; + + } + description { state: "hidden" 0.0; + inherit: "default" 0.0; + visible: 0; + } + description { state: "show" 0.0; + inherit: "default" 0.0; + visible: 1; + } + } + part { name: "left_pad"; + type: SPACER; + scale: 1; + description { state: "default" 0.0; + min:1 10; + fixed: 1 1; + align: 1.0 1.0; + rel1 { + relative: 0.0 0.0; + to: "bg"; + } + rel1 { + relative: 0.0 1.0; + to: "divider"; + } + } + } + part { name: "elm.text"; + type: TEXTBLOCK; + mouse_events: 0; + scale: 1; + clip_to: "elm.text.clipper"; + description { state: "default" 0.0; + visible: 0; + rel1 { + relative: 1.0 0.0; + to: "left_padding"; + } + rel2 { + relative: 0.0 1.0; + to: "left_pad"; + } + max: 9999 60; + text { + style: "toolbar_text_style_20";/*ATO005*/ + min: 1 1; + max: 0 1; + align: 0.5 0.5; + } + } + description { state: "hidden" 0.0; + visible: 1; + rel1 { + relative: 1.0 0.0; + to: "left_padding"; + } + rel2 { + relative: 0.0 1.0; + to: "right_padding_rect"; + } + max: 9999 48; + text { + style: "toolbar_text_style_20";/*ATO005*/ + //style: "toolbar_disabled_text_style_20"; + min: 1 1; + max: 0 1; + align: 0.5 0.5; + } + } + description { state: "visible" 0.0; + inherit: "default" 0.0; + visible: 1; + } + description { state: "pressed" 0.0; + inherit: visible; + text.style: "toolbar_pressed_text_style_20";/*ATO005P*/ + //text.style: "toolbar_pressed_text_style_20";/*ATO005P*/ + // color: 255 0 0 255;/*test*/ + } + description { state: "disabled" 0.0; + inherit: visible; + text.style: "toolbar_disabled_text_style_20";/*ATO005D*/ + // text.style: "toolbar_disabled_text_style_20";/*ATO005D*/ + // color: 255 255 0 255;/*test*/ + } + description { state: "focused" 0.0; + inherit: visible; + text.style: "toolbar_focused_text_style_20";/*ATO005F*/ + // text.style: "toolbar_focused_text_style_20";/*ATO005F*/ + // color: 255 0 255 255;/*test*/ + } + description { state: "selected" 0.0; + inherit: visible; + text.style: "toolbar_selected_text_style_20";/*ATO005S*/ + // text.style: "toolbar_selected_text_style_20";/*ATO005S*/ + // color: 0 0 255 255;/*test*/ + } + } + part { name: "elm.text.clipper"; + type: RECT; + description { state: "default" 0.0; + color: 255 255 255 255; + } + description { state: "animation" 0.0; + color: 255 255 255 0; + } + description { state: "disabled" 0.0; + color: 255 255 255 255; + } + } + part { name: "left_padding"; + type: RECT; + mouse_events: 0; + scale: 1; + description { + state: "default" 0.0; + visible: 1; + min: 1 TAB_ITEM_HEIGHT; + max: 1 TAB_ITEM_HEIGHT; + fixed: 1 1; + rel1 { + relative: 0.0 0.0; + to: "bg"; + } + rel2 { + relative: 0.0 1.0; + to: "bg"; + } + color: 0 0 0 0; + align: 0.0 0.0; + } + description { state: "hidden" 0.0; + inherit: "default" 0.0; + min: 0 TAB_ITEM_HEIGHT; + max: 0 TAB_ITEM_HEIGHT; + } + } + part { name: "right_padding_rect"; + type: RECT; + mouse_events: 0; + scale: 1; + description { + state: "default" 0.0; + visible: 0; + min: TAB_REIGHT_DIVIDER_WIDTH TAB_ITEM_HEIGHT; + max: TAB_REIGHT_DIVIDER_WIDTH TAB_ITEM_HEIGHT; + fixed: 1 1; + rel1 { + relative: 1.0 0.0; + to: "bg"; + } + rel2 { + relative: 1.0 1.0; + to: "bg"; + } + align: 1.0 1.0; + color_class: "B012"; + } + description { state: "hidden" 0.0; + inherit: "default" 0.0; + visible: 1; + } + } + part { name: "right_padding"; + type: IMAGE; + mouse_events: 0; + scale: 1; + description { + state: "default" 0.0; + visible: 1; + min: TAB_REIGHT_DIVIDER_WIDTH TAB_ITEM_HEIGHT; + max: TAB_REIGHT_DIVIDER_WIDTH TAB_ITEM_HEIGHT; + color_class: "B012L1";//"B0515"; + fixed: 1 1; + rel1.to: "right_padding_rect"; + rel2.to: "right_padding_rect"; + image.normal: "U01_subdepth_tail.png"; + } + description { state: "hidden" 0.0; + inherit: "default" 0.0; + visible: 1; + } + description { state: "visible" 0.0; + inherit: "default" 0.0; + visible: 0; + } + } + part { name: "event"; + type: RECT; + mouse_events: 1; + ignore_flags: ON_HOLD; + description { state: "default" 0.0; + color: 0 0 0 0; + } + } + part { name: "event2"; + type: RECT; + mouse_events: 1; + repeat_events: 1; + description { state: "default" 0.0; + color: 0 0 0 0; + } + } + } + programs { + program { name: "key,pressed"; + signal: "elm,action,pressed"; + source: "elm"; + after: "pressed"; + } + program { name: "pressed"; + signal: "mouse,down,1"; + source: "event"; + script { + new st[31]; + if ((get_int(item_state) != ITEM_STATE_DISABLED) + && get_int(multi_down) == 0 + && get_int(mouse_down) == 0) + { + set_int(mouse_down, 1); + set_state(PART:"bg", "pressed", 0.0); + if (strcmp(st, "visible")) + { + set_state(PART:"elm.text", "pressed", 0.0); + } + } + } + } + program { name: "key,unpressed"; + signal: "elm,action,unpressed"; + source: "elm"; + after: "unpressed"; + } + program { name: "unpressed"; + signal: "mouse,up,1"; + source: "event2"; + script { + new st[31]; + if ((get_int(item_state) != ITEM_STATE_DISABLED) + && get_int(mouse_down) == 1) + { + set_int(mouse_down, 0); + set_state(PART:"bg", "default", 0.0); + if (strcmp(st, "visible")) + { + set_state(PART:"elm.text", "visible", 0.0); + } + } + } + } + program { name: "go"; + signal: "mouse,clicked,1"; + source: "event"; + script { + if (get_int(multi_down) == 0) { + emit("elm,action,click", "elm"); + if (get_int(item_state) != ITEM_STATE_DISABLED) + run_program(PROGRAM:"play_sound"); + } + } + } + program { name: "play_sound"; + action: RUN_PLUGIN "touch_sound"; + } + program { name: "mouse,in"; + signal: "mouse,in"; + source: "event"; + script { + if (get_int(multi_down) == 0) + emit("elm,mouse,in", "elm"); + } + } + program { name: "mouse,out"; + signal: "mouse,out"; + source: "event"; + script { + if ((get_int(multi_down) == 0) && (get_int(mouse_down) == 0)) + emit("elm,mouse,out", "elm"); + } + } + program { name: "disable"; + signal: "elm,state,disabled"; + source: "elm"; + script { + new st[31]; + set_int(item_state, ITEM_STATE_DISABLED); + set_state(PART:"bg", "disabled", 0.0); + if (strcmp(st, "visible")) + set_state(PART:"elm.text", "disabled", 0.0); + else + set_state(PART:"elm.text", "default", 0.0); + set_state(PART:"elm.text.clipper", "disabled", 0.0); + run_program(PROGRAM:"label_set,animation,done"); + } + } + program { name: "multi_down"; + signal: "elm,action,multi,down"; + source: "elm"; + script{ + set_int(multi_down, 1); + } + } + program { name: "multi_up"; + signal: "elm,action,multi,cancel"; + source: "elm"; + script { + set_int(multi_down, 0); + } + } + program { name: "enable"; + signal: "elm,state,enabled"; + source: "elm"; + script { + new st[31]; + set_int(item_state, ITEM_STATE_ENABLED); + set_state(PART:"bg", "default", 0.0); + if (strcmp(st, "visible")) + set_state(PART:"elm.text", "visible", 0.0); + else + set_state(PART:"elm.text", "default", 0.0); + set_state(PART:"elm.text.clipper", "default", 0.0); + run_program(PROGRAM:"label_set,animation,done"); + } + } + program { name: "label_set,animation,forward"; + signal: "elm,state,label_set,forward"; + source: "elm"; + after: "label_set,sync"; + } + program { name: "label_set,animation,backward"; + signal: "elm,state,label_set,backward"; + source: "elm"; + after: "label_set,sync"; + } + program { name: "label_set,sync"; + signal: "elm,state,label_set"; + source: "elm"; + script { + new st[31]; + new Float:vl; + get_state(PART:"elm.text", st, 30, vl); + } + after: "label_set,animation"; + } + program { name: "label_set,animation"; + action: STATE_SET "animation" 0.0; + target: "elm.text.clipper"; + after: "label_set,animation,done"; + } + program { name: "label_set,animation,done"; + action: SIGNAL_EMIT "elm,state,label_set,done" "elm"; + } + program { name: "label,reset"; + signal: "elm,state,label,reset"; + source: "elm"; + script { + if (get_int(item_state) != ITEM_STATE_DISABLED) + set_state(PART:"elm.text.clipper", "default", 0.0); + else + set_state(PART:"elm.text.clipper", "disabled", 0.0); + } + } + program { name: "text_show"; + signal: "elm,state,text,visible"; + source: "elm"; + script { + new st[31]; + if (strcmp(st, "visible")) + { + if (get_int(item_state) != ITEM_STATE_DISABLED) + set_state(PART:"elm.text", "visible", 0.0); + else + set_state(PART:"elm.text", "disabled", 0.0); + } + } + } + program { name: "text_hide"; + signal: "elm,state,text,hidden"; + source: "elm"; + script { + set_state(PART:"elm.text", "default", 0.0); + } + } + program { name: "divider_visible_1"; + signal: "elm,order,first,item"; + source: "elm"; + action: STATE_SET "default" 0.0; + target: "left_padding"; + target: "divider"; + //target: "divider_image"; + target: "right_padding_rect"; + target: "right_padding"; + after:"divider_visible_1_for_arrow"; + after:"divider_visible_1_for_tail"; + } + + program { name: "divider_visible_2"; + signal: "elm,order,default,item"; + source: "elm"; + action: STATE_SET "default" 0.0; + target: "divider"; + //target: "divider_image"; + target: "right_padding_rect"; + target: "right_padding"; + after: "divider_visible_1_for_arrow"; + after:"divider_visible_1_for_tail"; + after: "label_set,animation1"; + } + program {name: "divider_visible_1_for_arrow"; + action: STATE_SET "show" 0.0; + target: "divider_image"; + } + program {name: "divider_visible_1_for_tail"; + action: STATE_SET "visible" 0.0; + target: "right_padding"; + } + program { name: "label_set,animation1"; + action: STATE_SET "hidden" 0.0; + target: "left_padding"; + } + program { name: "divider_hidden"; + signal: "elm,order,last,item"; + source: "elm"; + action: STATE_SET "hidden" 0.0; + //target: "left_padding"; + target: "divider"; + target: "divider_image"; + target: "right_padding_rect"; + target: "right_padding"; + target: "elm.text"; + + } + program { name: "highlight_on"; + signal: "elm,highlight,on"; + source: "elm"; + action: STATE_SET "focused" 0.0; + target: "elm.text"; + } + program { name: "highlight_off"; + signal: "elm,highlight,off"; + source: "elm"; + action: STATE_SET "default" 0.0; + target: "elm.text"; + } + program { name: "go_active"; + signal: "elm,state,selected"; + source: "elm"; + action: STATE_SET "selected" 0.0; + target: "elm.text"; + } + program { name: "go_passive"; + signal: "elm,state,unselected"; + source: "elm"; + action: STATE_SET "default" 0.0; + target: "elm.text"; + } + } +} + +group { name: "elm/toolbar/separator/path_info"; + images { + image: "U01_subdepth_folder_arrow.png" COMP; + } + parts { + part { name: "divider"; + type: RECT; + scale: 1; + description { state: "default" 0.0; + min: 28 46; + max: 28 46; + color_class: "B0515"; + fixed: 1 1; + } + } + part { name: "divider_image"; + type: IMAGE; + scale: 1; + description { state: "default" 0.0; + rel1.to: "divider"; + rel2.to: "divider"; + image.normal: "U01_subdepth_folder_arrow.png"; + } + } + } +} + +group { name: "elm/toolbar/object/path_info"; + parts { + part { name: "elm.swallow.object"; // object group + type: SWALLOW; + description { + state: "default" 0.0; + min: 120 0; + } + } + part { name: "divider"; + type: RECT; + scale: 1; + description { state: "default" 0.0; + min: TOOLBAR_ITEM_DIVIDER_SIZE; + max: TOOLBAR_ITEM_DIVIDER_SIZE; + fixed: 1 1; + color_class: "B0552"; + rel1 { + relative: 1.0 0.5; + } + rel2 { + relative: 1.0 0.5; + } + } + description { state: "hidden" 0.0; + inherit: "default" 0.0; + visible: 0; + } + } + } + programs { + program { name: "divider_visible_1"; + signal: "elm,order,first,item"; + source: "elm"; + action: STATE_SET "default" 0.0; + target: "divider"; + } + program { name: "divider_visible_2"; + signal: "elm,order,default,item"; + source: "elm"; + action: STATE_SET "default" 0.0; + target: "divider"; + } + program { name: "divider_hidden"; + signal: "elm,order,last,item"; + source: "elm"; + action: STATE_SET "hidden" 0.0; + target: "divider"; + } + } +} + diff --git a/ug_edc_image_macro.edc b/ug_edc_image_macro.edc new file mode 100644 index 0000000..be4a9f9 --- /dev/null +++ b/ug_edc_image_macro.edc @@ -0,0 +1,159 @@ +/* +* Copyright (c) 2000-2015 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. +* +*/ + + + + +#define UG_DEFAULT_ICON "myfile_icon_etc.png" + +#define UG_TITLE_ICON_HOME "myfile_controlbar_cion_home.png" +#define UG_TITLE_ICON_HOME_PRESS "myfile_controlbar_cion_home_press.png" +#define UG_TITLE_ICON_UPPER "myfile_controlbar_cion_up_folder.png" +#define UG_TITLE_ICON_UPPER_PRESS "myfile_controlbar_cion_up_folder_press.png" +#define UG_ICON_FOLDER "myfile_icon_folder.png" +#define UG_TITLE_ICON_SELECT_ALL "myfile_icon_select_all.png" +#define UG_TITLE_ICON_SELECT_ALL_PRESS "myfile_icon_select_all_selected.png" + +#define UG_ICON_IMAGE "myfile_icon_images.png" +#define UG_ICON_VIDEO "myfile_icon_video.png" +#define UG_ICON_MUSIC "myfile_icon_music.png" +//#define UG_ICON_SOUND "myfile_icon_music.png" +#define UG_ICON_PDF "myfile_icon_pdf.png" +#define UG_ICON_DOC "myfile_icon_word.png" +#define UG_ICON_PPT "myfile_icon_ppt.png" +#define UG_ICON_EXCEL "myfile_icon_excel.png" +//#define UG_ICON_VOICE "myfile_icon_music.png" +#define UG_ICON_HTML "myfile_icon_html.png" +#define UG_ICON_FLASH "myfile_icon_swf.png" +#define UG_ICON_TXT "myfile_icon_text.png" +#define UG_ICON_VCONTACT "myfile_icon_vcard.png" +#define UG_ICON_VCALENDAR "myfile_icon_vcalender.png" +//#define UG_ICON_VNOTE "myfile_icon_text.png" +#define UG_ICON_RSS "myfile_icon_rss.png" +#define UG_ICON_JAVA "myfile_icon_java.png" +#define UG_ICON_TPK "myfile_icon_tpk.png" +#define UG_ICON_SNB "myfile_icon_etc.png" +#define UG_ICON_HWP "myfile_icon_hwp.png" +#define UG_ICON_GUL "myfile_icon_etc.png" + +#define UG_ICON_MUSIC_PLAY_WHITE "myfile_icon_control_play.png" +#define UG_ICON_MUSIC_PAUSE_WHITE "myfile_icon_control_pause.png" +#define UG_ICON_MUSIC_PLAY_WHITE_PRESS "myfile_icon_control_play_press.png" +#define UG_ICON_MUSIC_PAUSE_WHITE_PRESS "myfile_icon_control_pause_press.png" +#define UG_ICON_ENTRY_FOLDER "myfile_icon_entry_folder.png" +#define UG_ICON_ENTRY_FOLDER_PRESS "myfile_icon_entry_folder_press.png" +#define UG_ICON_VIDEO_PLAY "myfile_icon_video_play.png" + +//#define UG_ICON_ITEM_PHONE "myfile_icon_folder.png" +#define UG_ICON_ITEM_MMC "myfile_icon_folder_sdcard.png" +#define UG_ICON_MMC "myfile_icon_grid_folder_card.png" +#define UG_ICON_ITEM_SHORTCUT "myfile_icon_folder_shortcut.png" +#define UG_ICON_ITEM_ROOT_PHONE "myfile_icon_root_folder_device_memory.png" +#define UG_ICON_ITEM_ROOT_MMC "myfile_icon_root_folder_sdcard.png" + +#define UG_ICON_ADD "myfile_icon_add.png" +#define UG_ICON_DELETE "myfile_icon_delete.png" +#define UG_ICON_CREATE_FOLDER "myfile_icon_create_folder.png" +#define UG_ICON_MULTI_NO_CONTENTS "00_nocontents_multimedia.png" + + +#define RESOURCE_IMAGE( FILE_NAME ) \ + group { \ + name: FILE_NAME; \ + images.image: FILE_NAME COMP; \ + parts { \ + part { name: "image"; \ + description { \ + state: "default" 0.0; \ + image.normal: FILE_NAME; \ + aspect: 1 1; \ + aspect_preference: BOTH; \ + } \ + } \ + } \ + } + +#define RESOURCE_IMAGE_LOSSY( FILE_NAME ) \ + group { \ + name: FILE_NAME; \ + images.image: FILE_NAME LOSSY 85; \ + parts { \ + part { name: "image"; \ + description { \ + state: "default" 0.0; \ + image.normal: FILE_NAME; \ + aspect: 1 1; \ + aspect_preference: BOTH; \ + } \ + } \ + } \ + } + + + +collections { + RESOURCE_IMAGE(UG_DEFAULT_ICON); + RESOURCE_IMAGE(UG_TITLE_ICON_HOME_PRESS); + RESOURCE_IMAGE(UG_TITLE_ICON_HOME); + RESOURCE_IMAGE(UG_TITLE_ICON_UPPER); + RESOURCE_IMAGE(UG_TITLE_ICON_UPPER_PRESS); + RESOURCE_IMAGE(UG_ICON_FOLDER); + RESOURCE_IMAGE(UG_TITLE_ICON_SELECT_ALL); + RESOURCE_IMAGE(UG_TITLE_ICON_SELECT_ALL_PRESS); + + + RESOURCE_IMAGE(UG_ICON_IMAGE); + RESOURCE_IMAGE(UG_ICON_VIDEO); + RESOURCE_IMAGE(UG_ICON_MUSIC); + //RESOURCE_IMAGE(UG_ICON_SOUND); + RESOURCE_IMAGE(UG_ICON_PDF); + + RESOURCE_IMAGE(UG_ICON_DOC); + RESOURCE_IMAGE(UG_ICON_PPT); + RESOURCE_IMAGE(UG_ICON_EXCEL); + //RESOURCE_IMAGE(UG_ICON_VOICE); + RESOURCE_IMAGE(UG_ICON_HTML); + + RESOURCE_IMAGE(UG_ICON_FLASH); + RESOURCE_IMAGE(UG_ICON_TXT); + RESOURCE_IMAGE(UG_ICON_VCONTACT); + RESOURCE_IMAGE(UG_ICON_VCALENDAR); + //RESOURCE_IMAGE(UG_ICON_VNOTE); + + RESOURCE_IMAGE(UG_ICON_RSS); + RESOURCE_IMAGE(UG_ICON_JAVA); + RESOURCE_IMAGE(UG_ICON_MUSIC_PLAY_WHITE); + RESOURCE_IMAGE(UG_ICON_MUSIC_PAUSE_WHITE); + RESOURCE_IMAGE(UG_ICON_MUSIC_PLAY_WHITE_PRESS); + RESOURCE_IMAGE(UG_ICON_MUSIC_PAUSE_WHITE_PRESS); + RESOURCE_IMAGE(UG_ICON_ENTRY_FOLDER); + RESOURCE_IMAGE(UG_ICON_ENTRY_FOLDER_PRESS); + RESOURCE_IMAGE(UG_ICON_VIDEO_PLAY); + //RESOURCE_IMAGE(UG_ICON_ITEM_PHONE); + RESOURCE_IMAGE(UG_ICON_ITEM_MMC); + RESOURCE_IMAGE(UG_ICON_MMC); + + RESOURCE_IMAGE(UG_ICON_HWP); + RESOURCE_IMAGE(UG_ICON_TPK); + RESOURCE_IMAGE(UG_ICON_ITEM_SHORTCUT); + RESOURCE_IMAGE(UG_ICON_ADD); + RESOURCE_IMAGE(UG_ICON_MULTI_NO_CONTENTS); + RESOURCE_IMAGE(UG_ICON_DELETE); + RESOURCE_IMAGE(UG_ICON_CREATE_FOLDER); + RESOURCE_IMAGE(UG_ICON_ITEM_ROOT_PHONE); + RESOURCE_IMAGE(UG_ICON_ITEM_ROOT_MMC); +} diff --git a/ug_genlist.edc b/ug_genlist.edc new file mode 100644 index 0000000..d37444b --- /dev/null +++ b/ug_genlist.edc @@ -0,0 +1,1268 @@ +/* +* Copyright (c) 2000-2015 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. +* +*/ + + + +#define GENLIST_PADDING_SIZE_DEFAULT 16 +#define GENLIST_PADDING_SIZE_LEFT 26 +#define GENLIST_PADDING_SIZE_RIGHT 26 +#define GENLIST_ICON_STAR_SIZE 45 +#define GENLIST_PART_LIST_LINE_HEIGHT 1 +#define GENLIST_TREESIZE_DEFAULT 26 + +#define GENLIST_HEIGHT_2LINE_MAIN 57 +#define GENLIST_HEIGHT_MULTILINE_SUB 38 +#define GENLIST_LIST_SUB_TEXT_SIZE 32 +#define GENLIST_ICON_SMALL_SIZE 45 + +#define GENLIST_PADDING_SIZE_TOP 5 +#define GENLIST_PADDING_SIZE_BOTTOM 5 + +#define GENLIST_PART_MATCH_TAG_COLOR "+ color=#FF5400" + +#define STYLE_TAG \ + tag: "br" "\n";\ + tag: "ps" "ps";\ + tag: "tab" "\t";\ + tag: "b" "+ font_weight=Bold"; + +#define STYLE_TAG_MATCH \ + tag: "match" GENLIST_PART_MATCH_TAG_COLOR; +styles +{ + + style { name: "genlist_style_list_sub_text_default_wrap"; + base: "font=Tizen:style=Bold font_size="GENLIST_LIST_SUB_TEXT_SIZE" color=#ffffff color_class=T024 text_class=T024 wrap=mixed"; + STYLE_TAG + STYLE_TAG_MATCH + } + style { name: "genlist_style_list_sub_text_default_dim_wrap"; + base: "font=Tizen:style=Bold font_size="GENLIST_LIST_SUB_TEXT_SIZE" color=#ffffff color_class=T024D text_class=T024D wrap=mixed"; + STYLE_TAG + STYLE_TAG_MATCH + } + style { name: "genlist_style_list_sub_text_default_press_wrap"; + base: "font=Tizen:style=Bold font_size="GENLIST_LIST_SUB_TEXT_SIZE" color=#ffffff color_class=T024P text_class=T024P wrap=mixed"; + STYLE_TAG + STYLE_TAG_MATCH + } +} + + #define DESC_FROM_L( PARAM ) \ + description { state: "default" 0.0;\ + fixed: 1 0; \ + align: 0.0 0.5; \ + rel2.relative: 0.0 1.0; \ + PARAM\ + } + +// ------------------ +// HERE <-- | +// ------------------ + #define DESC_FROM_R( PARAM ) \ + description { state: "default" 0.0;\ + fixed: 1 0; \ + align: 1.0 0.5; \ + rel1.relative: 1 0; \ + PARAM\ + } + +#define DESC_FROM_B( PARAM ) \ + description { state: "default" 0.0;\ + fixed: 0 1; \ + rel1.relative: 0.0 1.0; \ + align: 0.5 1.0; \ + PARAM\ + } + +#define DESC_FROM_T( PARAM ) \ + description { state: "default" 0.0;\ + fixed: 0 1; \ + align: 0.5 0.0; \ + rel2.relative: 1.0 0.0; \ + PARAM\ + } + + +#define DESC_LRT( LEFT, RIGHT, TOP, PARAM ) \ + description { state: "default" 0.0;\ + align: 0.5 0;\ + rel1 { \ + relative: 1 1; \ + to_x: LEFT; \ + to_y: TOP; \ + }\ + rel2 {\ + relative: 0 1;\ + to_x: RIGHT;\ + to_y: TOP;\ + }\ + PARAM\ + } + + +#define DESC_L( LEFT, PARAM ) \ + description { state: "default" 0.0;\ + align: 0 0.5; \ + fixed: 1 0; \ + rel1 { \ + relative: 1 0; \ + to_x: LEFT; \ + }\ + rel2 { \ + relative: 1 1;\ + to_x: LEFT; \ + }\ + PARAM\ + } + + +#define PART_LIST_BG_NORMAL \ + PART(RECT, "bg_clip", \ + description { state: "default" 0.0; \ + visible: 1; \ + } \ + description { state: "decorate" 0.0; \ + inherit: "default" 0.0; \ + visible: 0; \ + } \ + description { state: "reorder" 0.0; \ + inherit: "default" 0.0; \ + visible: 0; \ + } \ + description { state: "decorate_reorder" 0.0; \ + inherit: "default" 0.0; \ + visible: 0; \ + } \ + ) \ + PART(RECT, "bg", \ + clip_to: "bg_clip"; \ + description { state: "default" 0.0; \ + color_class: "B011"; \ + } \ + description { state: "pressed" 0.0; \ + inherit: "default" 0.0; \ + color_class: "B041P"; \ + } \ + description { state: "disabled" 0.0; \ + inherit: "default" 0.0; \ + } \ + ) \ + PART(RECT, "bg_reorder_clip", \ + description { state: "default" 0.0; \ + visible: 0; \ + } \ + description { state: "decorate" 0.0; \ + inherit: "default" 0.0; \ + visible: 0; \ + } \ + description { state: "reorder" 0.0; \ + inherit: "default" 0.0; \ + visible: 1; \ + } \ + description { state: "decorate_reorder" 0.0; \ + inherit: "default" 0.0; \ + visible: 0; \ + } \ + description { state: "reorder_flip" 0.0; \ + inherit: "default" 0.0; \ + visible: 0; \ + } \ + ) \ + PART(SPACER, "bg_reorder_left", \ + DESC_FROM_L( \ + min: 16 0; \ + max: 16 -1; \ + ) \ + ) \ + PART(SPACER, "bg_reorder_right", \ + DESC_FROM_R( \ + min: 16 0; \ + max: 16 -1; \ + ) \ + ) \ + PART(SPACER, "bg_reorder_top", \ + DESC_FROM_T( \ + min: 0 2; \ + max: -1 2; \ + ) \ + ) \ + PART(SPACER, "bg_reorder_bottom", \ + DESC_FROM_B( \ + min: 0 2; \ + max: -1 2; \ + ) \ + ) \ + PART(IMAGE, "bg_reorder", \ + clip_to: "bg_reorder_clip"; \ + DESC_LRTB("bg_reorder_left", "bg_reorder_right", \ + "bg_reorder_top", "bg_reorder_bottom", \ + image { \ + normal: "00_list_group_bg.#.png"; \ + } \ + color_class: "B0217L1"; \ + ) \ + description { state: "pressed" 0.0; \ + inherit: "default"; \ + color_class: "B041P"; \ + } \ + description { state: "flipped" 0.0; \ + inherit: "default"; \ + visible: 0; \ + } \ + ) \ + PART(IMAGE, "bg_reorder_ef", \ + clip_to: "bg_reorder_clip"; \ + DESC_LRTB("bg_reorder_left", "bg_reorder_right", \ + "bg_reorder_top", "bg_reorder_bottom", \ + image { \ + normal: "00_list_group_bg_ef.#.png"; \ + } \ + color_class: "B0217L2"; \ + ) \ + description { state: "pressed" 0.0; \ + inherit: "default"; \ + } \ + description { state: "flipped" 0.0; \ + inherit: "default"; \ + visible: 0; \ + } \ + ) + +#define PART_LIST_BOTTOMLINE \ + PART(RECT, "bottom_line_clip", \ + description { state: "default" 0.0; \ + } \ + description { state: "decorate" 0.0; \ + inherit: "default" 0.0; \ + visible: 0; \ + } \ + description { state: "reorder" 0.0; \ + inherit: "default" 0.0; \ + visible: 0; \ + } \ + description { state: "decorate_reorder" 0.0; \ + inherit: "default" 0.0; \ + visible: 0; \ + } \ + description { state: "hide" 0.0; \ + inherit: "default" 0.0; \ + visible: 0; \ + } \ + ) \ + PART(RECT, "bottom_line", \ + mouse_events: 0; \ + clip_to: "bottom_line_clip"; \ + description { state: "default" 0.0; \ + min: 0 GENLIST_PART_LIST_LINE_HEIGHT; \ + max: -1 GENLIST_PART_LIST_LINE_HEIGHT; \ + fixed: 0 1; \ + align: 0.5 1; \ + color_class: "B0621L2"; \ + rel1.offset: -1 -1; \ + } \ + description { state: "flipped" 0.0; \ + inherit: "default" 0.0; \ + visible: 0; \ + } \ + description { state: "hidden" 0.0; \ + inherit: "default" 0.0; \ + visible: 0; \ + } \ + ) + +#define DESC_LIST_PADDINGS \ + description { state: "decorate" 0.0; \ + inherit: "default" 0.0; \ + min: 0 0; \ + max: 0 0; \ + } \ + description { state: "decorate_reorder" 0.0; \ + inherit: "default" 0.0; \ + min: 0 0; \ + max: 0 0; \ + } \ + description { state: "reorder" 0.0; \ + inherit: "default" 0.0; \ + min: 32 0; \ + max: 32 -1; \ + } + + +#define PART_LIST_PADDINGS(LEFT_SIZE, RIGHT_SIZE, TOP_SIZE, BOTTOM_SIZE) \ + PART(SWALLOW, "elm.swallow.pad", \ + mouse_events: 0; \ + DESC_FROM_L( ; ) \ + ) \ + PART(SWALLOW, "elm.swallow.colorbar", \ + mouse_events: 0; \ + DESC_L("elm.swallow.pad", ) \ + ) \ + PART(SPACER, "elm.padding.left", \ + DESC_L("elm.swallow.pad", \ + min: LEFT_SIZE 0; \ + max: LEFT_SIZE -1; \ + ) \ + DESC_LIST_PADDINGS \ + ) \ + PART(SPACER, "elm.padding.right", \ + DESC_FROM_R( \ + min: RIGHT_SIZE 0; \ + max: RIGHT_SIZE -1; \ + ) \ + DESC_LIST_PADDINGS \ + ) \ + PART(SPACER, "elm.padding.top", \ + DESC_FROM_T( \ + min: 0 TOP_SIZE; \ + max: -1 TOP_SIZE; \ + ) \ + DESC_LIST_PADDINGS \ + ) \ + PART(SPACER, "elm.padding.bottom", \ + DESC_FROM_B( \ + min: 0 BOTTOM_SIZE; \ + max: -1 BOTTOM_SIZE; \ + ) \ + DESC_LIST_PADDINGS \ + ) + +#define GENLIST_PART_BASE_SIZE(HEIGHT) \ + part { name: "base"; \ + type: RECT; \ + mouse_events: 0; \ + scale: 1; \ + description { state: "default" 0.0; \ + color: 0 0 0 0; \ + min: 0 HEIGHT; \ + } \ + } \ + part { name: "state"; \ + type: RECT; \ + mouse_events: 0; \ + scale: 1; \ + description { state: "default" 0.0; \ + color: 0 0 0 0; \ + } \ + description { state: "decorate" 0.0; \ + inherit: "default"; \ + } \ + description { state: "reorder" 0.0; \ + inherit: "default"; \ + } \ + description { state: "decorate_reorder" 0.0; \ + inherit: "default"; \ + } \ + } + +#define GENLIST_PART_BASE \ + GENLIST_PART_BASE_SIZE(0) + + +#define GENLIST_NAME(NAME) \ + name: "elm/genlist/item/"NAME; + +#define PART(TYPE, NAME, DESCRIPION) \ + part { name: NAME; \ + scale: 1; \ + type: TYPE; \ + DESCRIPION \ + } + +#define DESC_LRTB( LEFT, RIGHT, TOP, BOTTOM, PARAM ) \ + description { state: "default" 0.0;\ + rel1 { \ + relative: 1 1; \ + to_x: LEFT; \ + to_y: TOP; \ + }\ + rel2 {\ + relative: 0 0;\ + to_x: RIGHT;\ + to_y: BOTTOM;\ + }\ + PARAM\ + } + +#define DESC_RTB( RIGHT, TOP, BOTTOM, PARAM ) \ + description { state: "default" 0.0;\ + align: 1 0.5;\ + rel1 { \ + relative: 0 1; \ + to_x: RIGHT; \ + to_y: TOP; \ + }\ + rel2 {\ + relative: 0 0;\ + to_x: RIGHT;\ + to_y: BOTTOM;\ + }\ + PARAM\ + } + +#define GENLIST_PARAM_SUBITEM_DEFAULT_TB_WRAP \ + text { \ + min: 0 1; \ + style: "genlist_style_list_sub_text_default_wrap"; \ + } + +#define GENLIST_DESCRIPTION_SUBITEM_DEFAULT_OTHERS_TB_WRAP \ + description { state: "disabled" 0.0; \ + inherit: "default" 0.0; \ + text.style: "genlist_style_list_sub_text_default_dim_wrap"; \ + } \ + description { state: "pressed" 0.0; \ + inherit: "default" 0.0; \ + text.style: "genlist_style_list_sub_text_default_press_wrap"; \ + } + +#define PROLOG_LIST \ + data.item: "treesize" 0; \ + data.item: "flips" "elm.flip.icon elm.flip.content"; \ + data.item: "focus_highlight" "on"; + +#define PROLOG_LIST_NORMAL \ + PROLOG_LIST \ + data.item: "treesize" GENLIST_TREESIZE_DEFAULT; \ + images { \ + image : "00_list_group_bg.#.png" COMP; \ + image : "00_list_group_bg_ef.#.png" COMP; \ + image : "00_focus_01.#.png" COMP; \ + } + +#define GENLIST_DESCRIPTION_LISTITEM_OTHERS \ + description { state: "disabled" 0.0; \ + inherit: "default" 0.0; \ + color_class: "T023D"; \ + } \ + description { state: "pressed" 0.0; \ + inherit: "default" 0.0; \ + color_class: "T023P"; \ + } + + +#define GENLIST_PART_LISTITEM(NAME, DESCRIPTION) \ + PART(TEXT, NAME, \ + DESCRIPTION \ + GENLIST_DESCRIPTION_LISTITEM_OTHERS \ + ) + +#define GENLIST_PARAM_ICON_STAR \ + min: GENLIST_ICON_STAR_SIZE GENLIST_ICON_STAR_SIZE; \ + max: GENLIST_ICON_STAR_SIZE GENLIST_ICON_STAR_SIZE; \ + +#define GENLIST_PARAM_LISTITEM \ + color_class: "T023"; \ + text { \ + align: 0 0.5; \ + min: 0 1; \ + text_class: "T023"; \ + } + +#define GENLIST_PART_ICON(NAME, DESCRIPION) \ + part { name: NAME; \ + scale: 1; \ + type: SWALLOW; \ + DESCRIPION \ + } + +#define GENLIST_PART_ICON_STAR_RTB(NAME, RIGHT, TOP, BOTTOM) \ + GENLIST_PART_ICON(NAME, \ + DESC_RTB(RIGHT, TOP, BOTTOM, \ + GENLIST_PARAM_ICON_STAR \ + fixed: 1 1; \ + ) \ + ) + +#define GENLIST_PART_PADDING_R( NAME, RIGHT ) \ + PART(SPACER, NAME, \ + description { state: "default" 0.0; \ + fixed: 1 0; \ + min: GENLIST_PADDING_SIZE_DEFAULT 0; \ + max: GENLIST_PADDING_SIZE_DEFAULT -1; \ + align: 1 0.5; \ + rel1 { \ + relative: 0 0; \ + to_x: RIGHT; \ + } \ + rel2 { \ + relative: 0 1; \ + to_x: RIGHT; \ + } \ + } \ + ) + + +#define GENLIST_PART_PADDING_T_SIZE( NAME, TOP, SIZE ) \ + PART(SPACER, NAME, \ + description { state: "default" 0.0; \ + min: 0 SIZE; \ + max: -1 SIZE; \ + fixed: 0 1; \ + align: 0.5 0; \ + rel1 { \ + relative: 0 1; \ + to: TOP; \ + } \ + rel2 { \ + relative: 1 1; \ + to: TOP; \ + } \ + } \ + ) + +#define GENLIST_PART_FLIP \ + PART(RECT, "elm.flip.bg", \ + mouse_events: 0; \ + description { state: "default" 0.0;\ + rel2.offset: 0 -3; \ + color_class: "B011"; \ + visible: 0; \ + } \ + description { state: "flipped" 0.0; \ + inherit: "default" 0.0; \ + visible: 1; \ + }\ + ) \ + PART(SPACER, "elm.flip.padding.right", \ + description { state: "default" 0.0; \ + min: 26 0; \ + max: 26 -1; \ + fixed: 1 0; \ + align: 1 0.5; \ + rel1.relative: 1 0; \ + } \ + ) \ + GENLIST_PART_ICON("elm.flip.content", \ + DESC_LRTB("elm.padding.left", "elm.flip.padding.icon.left", \ + "elm.padding.top", "elm.padding.bottom", \ + visible: 1; /* FIXME: object(entry) should be visible when focused. if not, it will be unfocused immediately */ \ + min: 0 96; \ + ) \ + description { state: "flipped" 0.0; \ + inherit: "default" 0.0; \ + visible: 1; \ + } \ + ) \ + GENLIST_PART_PADDING_R("elm.flip.padding.icon.left", "elm.flip.icon") \ + GENLIST_PART_ICON( "elm.flip.icon", \ + DESC_RTB("elm.flip.padding.right", \ + "elm.padding.top", "elm.padding.bottom", \ + visible: 0; \ + aspect: 1 1; \ + align: 1 0.5; \ + max: 158 74; \ + ) \ + description { state: "flipped" 0.0; \ + inherit: "default" 0.0; \ + visible: 1; \ + } \ + ) + +#define GENLIST_PART_FOCUS \ + PART(IMAGE, "focus_part", \ + mouse_events: 0; \ + description { state: "default" 0.0; \ + visible: 0; \ + image { \ + normal: "00_focus_01.#.png"; \ + } \ + color_class: "W161"; \ + } \ + description { state: "focused" 0.0; \ + inherit: "default" 0.0; \ + visible: 1; \ + } \ + ) \ + +#define GENLIST_PART_FOCUS_REORDER \ + PART(IMAGE, "focus_part_reorder", \ + mouse_events: 0; \ + description { state: "default" 0.0; \ + rel1 { \ + relative: 1 1; \ + to_x: "bg_reorder_left"; \ + to_y: "bg_reorder_top"; \ + } \ + rel2 { \ + relative: 0 0; \ + to_x: "bg_reorder_right"; \ + to_y: "bg_reorder_bottom"; \ + } \ + visible: 0; \ + image { \ + normal: "00_focus_01.#.png"; \ + } \ + color_class: "W161"; \ + } \ + description { state: "focused" 0.0; \ + inherit: "default" 0.0; \ + visible: 1; \ + } \ + ) + +#define GENLIST_PART_FOCUS_NORMAL \ + GENLIST_PART_FOCUS \ + GENLIST_PART_FOCUS_REORDER + +#define GENLIST_PROGRAM_DEFAULT( TARGET ) \ + program { name: "default"; \ + signal: "elm,state,default"; \ + source: "elm"; \ + action: STATE_SET "default" 0.0; \ + TARGET \ + } \ + +#define GENLIST_PROGRAM_DISABLED( TARGET ) \ + program { name: "enabled"; \ + signal: "elm,state,enabled"; \ + source: "elm"; \ + action: STATE_SET "default" 0.0; \ + TARGET \ + } \ + program { name: "disabled"; \ + signal: "elm,state,disabled"; \ + source: "elm"; \ + action: STATE_SET "disabled" 0.0; \ + TARGET \ + } + +#define GENLIST_PROGRAM_BOTTOMLINE \ + program { name : "hide_bottomline"; \ + signal: "elm,state,bottomline,hide"; \ + source: ""; \ + action: STATE_SET "hidden" 0.0; \ + target: "bottom_line"; \ + } \ + program { name : "show_bottomline"; \ + signal: "elm,state,bottomline,show"; \ + source: ""; \ + action: STATE_SET "default" 0.0; \ + target: "bottom_line"; \ + } + +#define GENLIST_PROGRAM_FOCUS \ + program { name: "focused"; \ + signal: "elm,action,focus_highlight,show"; \ + source: "elm"; \ + action: STATE_SET "focused" 0.0; \ + target: "focus_part"; \ + } \ + program { name: "unfocused"; \ + signal: "elm,action,focus_highlight,hide"; \ + source: "elm"; \ + action: STATE_SET "default" 0.0; \ + target: "focus_part"; \ + } + +#define GENLIST_PROGRAM_FOCUS_NORMAL \ + program { name: "focused"; \ + signal: "elm,action,focus_highlight,show"; \ + source: "elm"; \ + script { \ + new st[31]; \ + new Float:vl; \ + get_state(PART:"bg_reorder_clip", st, 30, vl); \ + if (!strcmp(st, "reorder") || !strcmp(st, "decorate_reorder")) \ + set_state(PART:"focus_part_reorder", "focused", 0.0); \ + else \ + set_state(PART:"focus_part", "focused", 0.0); \ + } \ + } \ + program { name: "unfocused"; \ + signal: "elm,action,focus_highlight,hide"; \ + source: "elm"; \ + action: STATE_SET "default" 0.0; \ + target: "focus_part_reorder"; \ + target: "focus_part"; \ + } + +#define PROGRAM_LIST_SOUND \ + program { name: "play_sound"; \ + signal: "elm,state,clicked"; \ + source: "elm"; \ + action: RUN_PLUGIN "touch_sound";\ + } + +#define GENLIST_PROGRAM_SELECT( TARGET ) \ + program { name: "pressed"; \ + signal: "elm,state,selected"; \ + source: "elm"; \ + action: STATE_SET "pressed" 0.0; \ + TARGET \ + } \ + program { name: "unselected"; \ + signal: "elm,state,unselected"; \ + source: "elm"; \ + action: STATE_SET "default" 0.0; \ + TARGET \ + } + +#define GENLIST_PROGRAM_REORDER( TARGET ) \ + program { name: "reorder_enabled"; \ + signal: "elm,state,reorder,mode_set"; \ + source: "elm"; \ + action: STATE_SET "reorder" 0.0; \ + TARGET \ + } \ + program { name: "reorder_disabled"; \ + signal: "elm,state,reorder,mode_unset"; \ + source: "elm"; \ + action: STATE_SET "default" 0.0; \ + TARGET \ + } + +#define GENLIST_PROGRAM_DECORATE_REORDER( NAME, TARGET ) \ + program { name: "reorder_enabled"NAME; \ + signal: "elm,state,reorder,mode_set"; \ + source: "elm"; \ + script { \ + new st[31]; \ + new Float:vl; \ + get_state(PART:"state", st, 30, vl); \ + if (!strcmp(st, "decorate") || !strcmp(st, "decorate_reorder")) { \ + run_program(PROGRAM:"decorate_reorder_set"NAME); \ + } else { \ + run_program(PROGRAM:"reorder_set"NAME); \ + } \ + } \ + } \ + program { name: "reorder_disabled"NAME; \ + signal: "elm,state,reorder,mode_unset"; \ + source: "elm"; \ + script { \ + new st[31]; \ + new Float:vl; \ + get_state(PART:"state", st, 30, vl); \ + if (!strcmp(st, "decorate") || !strcmp(st, "decorate_reorder")) { \ + run_program(PROGRAM:"decorate_set"NAME); \ + } else { \ + run_program(PROGRAM:"default_set"NAME); \ + } \ + } \ + } \ + program { name: "decorate_enabled_effect"NAME; \ + signal: "elm,state,decorate,enabled,effect";\ + source: "elm";\ + script { \ + new st[31]; \ + new Float:vl; \ + get_state(PART:"state", st, 30, vl); \ + if (!strcmp(st, "reorder") || !strcmp(st, "decorate_reorder")) { \ + run_program(PROGRAM:"decorate_reorder_set"NAME); \ + } else { \ + run_program(PROGRAM:"decorate_set"NAME); \ + } \ + } \ + }\ + program { name: "decorate_disabled_effect"NAME;\ + signal: "elm,state,decorate,disabled,effect";\ + source: "elm";\ + script { \ + new st[31]; \ + new Float:vl; \ + get_state(PART:"state", st, 30, vl); \ + if (!strcmp(st, "reorder") || !strcmp(st, "decorate_reorder")) { \ + run_program(PROGRAM:"reorder_set"NAME); \ + } else { \ + run_program(PROGRAM:"default_set"NAME); \ + } \ + } \ + }\ + program { name: "decorate_enabled"NAME;\ + signal: "elm,state,decorate,enabled";\ + source: "elm";\ + script { \ + new st[31]; \ + new Float:vl; \ + get_state(PART:"state", st, 30, vl); \ + if (!strcmp(st, "reorder") || !strcmp(st, "decorate_reorder")) { \ + run_program(PROGRAM:"decorate_reorder_set"NAME); \ + } else { \ + run_program(PROGRAM:"decorate_set"NAME); \ + } \ + } \ + }\ + program { name: "decorate_disabled"NAME;\ + signal: "elm,state,decorate,disabled";\ + source: "elm";\ + script { \ + new st[31]; \ + new Float:vl; \ + get_state(PART:"state", st, 30, vl); \ + if (!strcmp(st, "reorder") || !strcmp(st, "decorate_reorder")) { \ + run_program(PROGRAM:"reorder_set"NAME); \ + } else { \ + run_program(PROGRAM:"default_set"NAME); \ + } \ + } \ + } \ + program { name: "default_set"NAME; \ + action: STATE_SET "default" 0.0;\ + target: "state"; \ + TARGET \ + } \ + program { name: "decorate_set"NAME; \ + action: STATE_SET "decorate" 0.0;\ + target: "state"; \ + TARGET \ + } \ + program { name: "reorder_set"NAME; \ + action: STATE_SET "reorder" 0.0;\ + target: "state"; \ + TARGET \ + } \ + program { name: "decorate_reorder_set"NAME; \ + action: STATE_SET "decorate_reorder" 0.0;\ + target: "state"; \ + TARGET \ + } + +#define GENLIST_PROGRAM_FLIP \ + program { name: "flip_enabled"; \ + signal: "elm,state,flip,enabled"; \ + source: "elm"; \ + transition: DECELERATE 0.5; \ + action: STATE_SET "flipped" 0.0; \ + target: "elm.flip.content"; \ + target: "elm.flip.icon"; \ + } \ + program { name: "flip_disabled"; \ + signal: "elm,state,flip,disabled"; \ + source: "elm"; \ + transition: DECELERATE 0.5; \ + action: STATE_SET "default" 0.0; \ + target: "elm.flip.content"; \ + target: "elm.flip.icon"; \ + } \ + program { name: "flip_enabled_bg"; \ + signal: "elm,state,flip,enabled"; \ + source: "elm"; \ + action: STATE_SET "flipped" 0.0; \ + target: "elm.flip.bg"; \ + } \ + program { name: "flip_disabled_bg"; \ + signal: "elm,state,flip,disabled"; \ + source: "elm"; \ + action: STATE_SET "default" 0.0; \ + target: "elm.flip.bg"; \ + } + +#define GENLIST_PROGRAMS_NORMAL( TARGET ) \ + programs { \ + GENLIST_PROGRAM_DEFAULT( TARGET \ + target: "bg"; \ + target: "bg_clip"; \ + target: "bottom_line"; \ + target: "bottom_line_clip"; \ + target: "bg_reorder"; \ + target: "bg_reorder_ef"; \ + target: "bg_reorder_clip"; \ + target: "elm.padding.left"; \ + target: "elm.padding.right"; \ + target: "elm.padding.top"; \ + target: "elm.padding.bottom"; \ + target: "focus_part"; \ + target: "focus_part_reorder"; \ + ) \ + GENLIST_PROGRAM_DISABLED( TARGET \ + target: "bg"; \ + target: "bg_reorder"; \ + target: "bg_reorder_ef"; \ + ) \ + GENLIST_PROGRAM_BOTTOMLINE \ + GENLIST_PROGRAM_FOCUS_NORMAL \ + GENLIST_PROGRAM_SELECT( TARGET \ + target: "bg"; \ + target: "bg_reorder"; \ + target: "bg_reorder_ef"; \ + ) \ + PROGRAM_LIST_SOUND \ + GENLIST_PROGRAM_DECORATE_REORDER("normal", TARGET \ + target: "bg_clip"; \ + target: "bg_reorder_clip"; \ + target: "bottom_line_clip"; \ + target: "elm.padding.left"; \ + target: "elm.padding.right"; \ + target: "elm.padding.top"; \ + target: "elm.padding.bottom"; \ + ) \ + GENLIST_PROGRAM_FLIP \ + } + +#define GENLIST_PROGRAMS_NORMAL_SILENT( TARGET ) \ + programs { \ + GENLIST_PROGRAM_DEFAULT( TARGET \ + target: "bg"; \ + target: "bg_clip"; \ + target: "bottom_line"; \ + target: "bottom_line_clip"; \ + target: "bg_reorder"; \ + target: "bg_reorder_ef"; \ + target: "bg_reorder_clip"; \ + target: "elm.padding.left"; \ + target: "elm.padding.right"; \ + target: "elm.padding.top"; \ + target: "elm.padding.bottom"; \ + target: "focus_part"; \ + target: "focus_part_reorder"; \ + ) \ + GENLIST_PROGRAM_DISABLED( TARGET \ + target: "bg"; \ + target: "bg_reorder"; \ + target: "bg_reorder_ef"; \ + ) \ + GENLIST_PROGRAM_BOTTOMLINE \ + GENLIST_PROGRAM_FOCUS_NORMAL \ + GENLIST_PROGRAM_SELECT( TARGET \ + target: "bg"; \ + target: "bg_reorder"; \ + target: "bg_reorder_ef"; \ + ) \ + GENLIST_PROGRAM_DECORATE_REORDER("normal", TARGET \ + target: "bg_clip"; \ + target: "bg_reorder_clip"; \ + target: "bottom_line_clip"; \ + target: "elm.padding.left"; \ + target: "elm.padding.right"; \ + target: "elm.padding.top"; \ + target: "elm.padding.bottom"; \ + ) \ + GENLIST_PROGRAM_FLIP \ + } + +#define GENLIST_PART_PADDING_L( NAME, LEFT ) \ + PART(SPACER, NAME, \ + description { state: "default" 0.0; \ + fixed: 1 0; \ + min: GENLIST_PADDING_SIZE_DEFAULT 0; \ + max: GENLIST_PADDING_SIZE_DEFAULT -1; \ + align: 0 0.5; \ + rel1 { \ + relative: 1 0; \ + to_x: LEFT; \ + } \ + rel2 { \ + relative: 1 1; \ + to_x: LEFT; \ + } \ + } \ + ) + +#define DESC_LTB( LEFT, TOP, BOTTOM, PARAM ) \ + description { state: "default" 0.0;\ + align: 0 0.5;\ + rel1 { \ + relative: 1 1; \ + to_x: LEFT; \ + to_y: TOP; \ + }\ + rel2 {\ + relative: 1 0;\ + to_x: LEFT;\ + to_y: BOTTOM;\ + }\ + PARAM\ + } + +#define GENLIST_PARAM_ICON_SMALL \ + min: GENLIST_ICON_SMALL_SIZE GENLIST_ICON_SMALL_SIZE; \ + max: GENLIST_ICON_SMALL_SIZE GENLIST_ICON_SMALL_SIZE; + +#define GENLIST_ICON_MEDIUM_SIZE 81 + +#define GENLIST_PARAM_ICON_MEDIUM \ + min: GENLIST_ICON_MEDIUM_SIZE GENLIST_ICON_MEDIUM_SIZE; \ + max: GENLIST_ICON_MEDIUM_SIZE GENLIST_ICON_MEDIUM_SIZE; + +#define GENLIST_PART_ICON_SMALL_LTB(NAME, LEFT, TOP, BOTTOM) \ + GENLIST_PART_ICON(NAME, \ + DESC_LTB(LEFT, TOP, BOTTOM, \ + GENLIST_PARAM_ICON_MEDIUM \ + fixed: 1 1; \ + ) \ + ) + +#define GENLIST_PART_ICON_MEDIUM_L(NAME, LEFT) \ + GENLIST_PART_ICON(NAME, \ + DESC_LTB(LEFT, "elm.padding.top", "elm.padding.bottom", \ + GENLIST_PARAM_ICON_MEDIUM \ + fixed: 1 1; \ + ) \ + ) + +#define GENLIST_POPUP_PADDING_SIZE_LEFT 47 +#define GENLIST_POPUP_PADDING_SIZE_RIGHT 47 + +#define GENLIST_POPUP_STYLE(NAME) \ + group { GENLIST_NAME(NAME"/popup/default") \ + inherit: "elm/genlist/item/"NAME"/default"; \ + parts { \ + PART(RECT, "bg", \ + description { state: "default" 0.0; \ + color_class: "B061L1"; \ + } \ + description { state: "disabled" 0.0; \ + inherit: "default" 0.0; \ + color_class: "B061L1"; \ + } \ + description { state: "pressed" 0.0; \ + inherit: "default" 0.0; \ + color_class: "B061L41P"; \ + } \ + ) \ + PART(SPACER, "elm.padding.left", \ + DESC_L("elm.swallow.pad", \ + min: GENLIST_POPUP_PADDING_SIZE_LEFT 0; \ + max: GENLIST_POPUP_PADDING_SIZE_LEFT -1; \ + ) \ + DESC_LIST_PADDINGS \ + ) \ + PART(SPACER, "elm.padding.right", \ + DESC_FROM_R( \ + min: GENLIST_POPUP_PADDING_SIZE_RIGHT 0; \ + max: GENLIST_POPUP_PADDING_SIZE_RIGHT -1; \ + ) \ + DESC_LIST_PADDINGS \ + ) \ + PART(RECT, "bottom_line", \ + description { state: "default" 0.0; \ + color_class: "B0621L2"; \ + rel1.to_x: "bg"; \ + rel2.to_x: "bg"; \ + rel1.offset: 1 0; \ + rel2.offset: -2 5; \ + } \ + description { state: "disabled" 0.0; \ + inherit: "default" 0.0; \ + visible: 0; \ + } \ + ) \ + } \ + } + +#define GENLIST_PARAM_PROGRESS_MAIN \ + color_class: "T0212"; \ + text { \ + align: 0 0.5; \ + min: 0 1; \ + text_class: "T0212"; \ + } +#define GENLIST_DESCRIPTION_PROGRESS_MAIN_OTHERS \ + description { state: "disabled" 0.0; \ + inherit: "default" 0.0; \ + color_class: "T028D"; \ + } \ + description { state: "read" 0.0; \ + inherit: "default" 0.0; \ + color_class: "T028R"; \ + } \ + description { state: "read,disabled" 0.0; \ + inherit: "default" 0.0; \ + color_class: "T028RD"; \ + } \ + description { state: "pressed" 0.0; \ + inherit: "default" 0.0; \ + color_class: "T028P"; \ + } + +group { GENLIST_NAME("myfile/recommendation_multiline_no_icon/default") + + PROLOG_LIST_NORMAL + data.item: "texts" "elm.text.1"; + data.item: "contents" "elm.swallow.progress"; + + parts { + GENLIST_PART_BASE + PART_LIST_BG_NORMAL + PART_LIST_BOTTOMLINE + PART_LIST_PADDINGS( + GENLIST_PADDING_SIZE_LEFT, GENLIST_PADDING_SIZE_RIGHT, 16, 16 + ) + + //GENLIST_PART_ICON_MEDIUM_L("elm.icon.1", "elm.padding.left") + //GENLIST_PART_PADDING_L("elm.padding.icon1.right", "elm.icon.1") + GENLIST_PART_LISTITEM("elm.text.1", + DESC_LRT("elm.padding.left", "elm.padding.right", + "elm.padding.top", + min: 0 59; + GENLIST_PARAM_LISTITEM + fixed: 0 1; + ) + GENLIST_DESCRIPTION_LISTITEM_OTHERS + ) + GENLIST_PART_ICON("elm.swallow.progress", + DESC_LRTB("elm.padding.left", "elm.padding.right", "elm.text.1", "elm.padding.bottom", + min: 0 80; + ) + ) + GENLIST_PART_FLIP + GENLIST_PART_FOCUS_NORMAL + } + GENLIST_PROGRAMS_NORMAL( target: "elm.text.1"; target: "elm.swallow.progress";) +} + +group { GENLIST_NAME("myfile/recommendation_multiline/default") + + PROLOG_LIST_NORMAL + data.item: "texts" "elm.text.1"; + data.item: "contents" "elm.icon.1 elm.swallow.progress"; + + parts { + GENLIST_PART_BASE + PART_LIST_BG_NORMAL + PART_LIST_BOTTOMLINE + PART_LIST_PADDINGS( + GENLIST_PADDING_SIZE_LEFT, GENLIST_PADDING_SIZE_RIGHT, 16, 16 + ) + + GENLIST_PART_ICON_MEDIUM_L("elm.icon.1", "elm.padding.left") + GENLIST_PART_PADDING_L("elm.padding.icon1.right", "elm.icon.1") + GENLIST_PART_LISTITEM("elm.text.1", + DESC_LRT("elm.padding.icon1.right", "elm.padding.right", + "elm.padding.top", + min: 0 59; + GENLIST_PARAM_LISTITEM + fixed: 0 1; + ) + GENLIST_DESCRIPTION_LISTITEM_OTHERS + ) + GENLIST_PART_ICON("elm.swallow.progress", + DESC_LRTB("elm.padding.icon1.right", "elm.padding.right", "elm.text.1", "elm.padding.bottom", + min: 0 80; + ) + ) + GENLIST_PART_FLIP + GENLIST_PART_FOCUS_NORMAL + } + GENLIST_PROGRAMS_NORMAL( target: "elm.text.1"; target: "elm.icon.1"; target: "elm.swallow.progress";) +} + +GENLIST_POPUP_STYLE("myfile/recommendation_multiline_no_icon") + +#define GENLIST_PART_TEXT(NAME, DESCRIPION) \ + part { name: NAME; \ + scale: 1; \ + type: TEXT; \ + repeat_events: 1; \ + DESCRIPION \ + } + +#define GENLIST_DESCRIPTION( left, right, top, bottom, param ) \ + description { state: "default" 0.0;\ + rel1 { \ + relative: 1 1; \ + to_x: left; \ + to_y: top; \ + }\ + rel2 {\ + relative: 0 0;\ + to_x: right;\ + to_y: bottom;\ + }\ + param\ + } + +#define GENLIST_PART_LISTITEM_LR(NAME, HEIGHT, LEFT, RIGHT, PARAM) \ + GENLIST_PART_TEXT(NAME, \ + GENLIST_DESCRIPTION(LEFT, RIGHT, "elm.padding.top", "elm.padding.bottom", \ + min: 0 HEIGHT; \ + GENLIST_PARAM_LISTITEM \ + PARAM \ + ) \ + GENLIST_DESCRIPTION_LISTITEM_OTHERS \ + ) + +#define GENLIST_DESCRIPTION_RTB( right, top, bottom, param ) \ + description { state: "default" 0.0;\ + align: 1 0.5;\ + rel1 { \ + relative: 0 1; \ + to_x: right; \ + to_y: top; \ + }\ + rel2 {\ + relative: 0 0;\ + to_x: right;\ + to_y: bottom;\ + }\ + param\ + } + +#define GENLIST_BTN_01_HEIGHT 74 + +#define GENLIST_PARAM_ICON_BTN_01 \ + min: 0 GENLIST_BTN_01_HEIGHT; \ + max: -1 GENLIST_BTN_01_HEIGHT; + +#define GENLIST_PART_ICON_BTN_01_RTB(NAME, RIGHT, TOP, BOTTOM) \ + GENLIST_PART_ICON(NAME, \ + GENLIST_DESCRIPTION_RTB(RIGHT, TOP, BOTTOM,\ + GENLIST_PARAM_ICON_BTN_01 \ + fixed: 1 1; \ + ) \ + ) + +#define GENLIST_HEIGHT_1LINE 104 // (114 - top/bottom padding) +#define GENLIST_BTN_02_SIZE 72 + +#define GENLIST_PARAM_ICON_BTN_02 \ + min: GENLIST_BTN_02_SIZE GENLIST_BTN_02_SIZE; \ + max: GENLIST_BTN_02_SIZE GENLIST_BTN_02_SIZE; + +#define GENLIST_PART_ICON_BTN_02_RTB(NAME, RIGHT, TOP, BOTTOM) \ + GENLIST_PART_ICON(NAME, \ + GENLIST_DESCRIPTION_RTB(RIGHT, TOP, BOTTOM,\ + GENLIST_PARAM_ICON_BTN_02 \ + fixed: 1 1; \ + ) \ + ) + +group { GENLIST_NAME("1text.2icon/default") + PROLOG_LIST_NORMAL + data.item: "texts" "elm.text"; + data.item: "contents" "elm.icon.1 elm.icon.2"; + + parts { + GENLIST_PART_BASE + PART_LIST_BG_NORMAL + PART_LIST_BOTTOMLINE + PART_LIST_PADDINGS( + GENLIST_PADDING_SIZE_LEFT, GENLIST_PADDING_SIZE_RIGHT, + GENLIST_PADDING_SIZE_TOP, GENLIST_PADDING_SIZE_BOTTOM + ) + + GENLIST_PART_ICON_MEDIUM_L( "elm.icon.1", "elm.padding.left") + GENLIST_PART_PADDING_L("elm.padding.icon1.right", "elm.icon.1") + GENLIST_PART_LISTITEM_LR("elm.text", GENLIST_HEIGHT_1LINE, "elm.padding.icon1.right", "elm.padding.icon2.left",) + GENLIST_PART_PADDING_R("elm.padding.icon2.left", "elm.icon.2") + GENLIST_PART_ICON_BTN_01_RTB("elm.icon.2", "elm.padding.right", "elm.padding.top", "elm.padding.bottom") + GENLIST_PART_FLIP + GENLIST_PART_FOCUS_NORMAL + } + GENLIST_PROGRAMS_NORMAL_SILENT( target: "elm.text"; target: "elm.icon.1"; target: "elm.icon.2"; ) +} + +group { GENLIST_NAME("myfile.1text.2icon.6/default") + inherit: "elm/genlist/item/1text.2icon/default"; + + parts { + GENLIST_PART_ICON_BTN_02_RTB("elm.icon.2", "elm.padding.right", "elm.padding.top", "elm.padding.bottom") + + } +} + diff --git a/ug_navibar_layout.edc b/ug_navibar_layout.edc new file mode 100644 index 0000000..d66bc16 --- /dev/null +++ b/ug_navibar_layout.edc @@ -0,0 +1,834 @@ +/* +* Copyright (c) 2000-2015 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. +* +*/ + + + + + + + +#define GROUP_INDEX_H 48 +#define FONT_NANE "Tizen:style=Medium" + + +collections +{ + plugins { + plugin { + name: "touch_sound"; // Name run by RUN_PLUGIN + source: "feedback"; // External edje plugin name + param: "1 0"; + + } + } +#include "ug_genlist.edc" +#include "ug-myfile-button.edc" +#include "ug_radio.edc" +#include "ug-myfile-toolbar.edc" + +#define SELECT_ALL_PART_H 54 +#define SELECT_ALL_PART_PADDING_L 15 +#define SELECT_ALL_PART_PADDING_R 10 +#define SELECT_ALL_TXT_PADDING_R 25 +#define SELECT_ALL_ICON_SIZE 22 +#define SELECT_ALL_PART_PADDING_T 0 +#define SELECT_ALL_PART_PADDING_B 0 +#define SELECT_ALL_PART_INDEX_H 1 + +group { + name: "select.all.layout"; + + parts { + part { + name: "base"; + type: RECT; + scale: 1; + mouse_events: 0; + description { + state: "default" 0.0; + min: 0 SELECT_ALL_PART_H; + max: -1 SELECT_ALL_PART_H; + align: 0.5 0.0; + rel1 { relative: 0.0 0.0; } + rel2 { relative: 1.0 0.0; } + visible: 0; + } + } + part { + name: "text.bg"; + type: RECT; + scale : 1; + description { + state: "default" 0.0; + fixed: 0 1; + min: 0 (SELECT_ALL_PART_H-SELECT_ALL_PART_INDEX_H); + max: -1 (SELECT_ALL_PART_H-SELECT_ALL_PART_INDEX_H); + align: 0.5 0.5; + color: 255 255 255 255; + rel1 { relative: 0.0 0.0; to: "base"; } + rel2 { relative: 1.0 1.0; to: "base"; } + } + } + part { name: "pad.left"; + type: RECT; + scale: 1; + mouse_events: 0; + description { + state: "default" 0.0; + min: SELECT_ALL_PART_PADDING_L 0; + max: SELECT_ALL_PART_PADDING_L -1; + fixed: 1 0; + align: 0.0 0.5; + //rel2.relative: 0.0 1.0; + rel1 { relative: 0.0 0.0; to: "text.bg"; } + rel2 { relative: 0.0 1.0; to: "text.bg"; } + visible: 0; + } + } + part { name: "pad.right"; + type: RECT; + scale: 1; + mouse_events: 0; + description { + state: "default" 0.0; + min: SELECT_ALL_PART_PADDING_R 0; + max: SELECT_ALL_PART_PADDING_R -1; + fixed: 1 0; + align: 1.0 0.5; + //rel1.relative: 1 0; + rel1 { relative: 1.0 0.0; to: "text.bg"; } + rel2 { relative: 1.0 1.0; to: "text.bg"; } + visible: 0; + } + } + part { name: "pad.top"; + type: RECT; + scale: 1; + mouse_events: 0; + description { + state: "default" 0.0; + min: 0 SELECT_ALL_PART_PADDING_T; + max: -1 SELECT_ALL_PART_PADDING_T; + fixed: 0 1; + align: 0.5 0.0; + //rel2.relative: 1.0 0.0; + rel1 { relative: 0.0 0.0; to: "text.bg"; } + rel2 { relative: 1.0 0.0; to: "text.bg"; } + visible: 0; + } + } + part { name: "pad.bottom"; + type: RECT; + scale: 1; + mouse_events: 0; + description { + state: "default" 0.0; + min: 0 SELECT_ALL_PART_PADDING_B; + max: -1 SELECT_ALL_PART_PADDING_B; + fixed: 0 1; + align: 0.5 1.0; + //rel1.relative: 0.0 1.0; + rel1 { relative: 0.0 1.0; to: "text.bg"; } + rel2 { relative: 1.0 1.0; to: "text.bg"; } + visible: 0; + } + } + + part { + name: "elm.swallow.bg"; + type: RECT; + mouse_events: 0; + scale: 1; + description { + state: "default" 0.0; + min: SELECT_ALL_ICON_SIZE SELECT_ALL_ICON_SIZE; + max: SELECT_ALL_ICON_SIZE SELECT_ALL_ICON_SIZE; + fixed: 1 1; + align: 1.0 0.5; + rel1 { relative: 0 1.0; + to_x: "pad.right"; + to_y: "pad.top"; + } + rel2 { relative: 0 0.0; + to_x: "pad.right"; + to_y: "pad.bottom"; + } + visible: 0; + } + } + part { + name: "elm.icon"; + type: SWALLOW; + scale: 1; + description { + state: "default" 0.0; + align: 0.5 0.5; + rel1 { relative: 0.0 0.0; to: "elm.swallow.bg"; } + rel2 { relative: 1.0 1.0; to: "elm.swallow.bg"; } + } + } + + part { + name: "elm.text"; + type: TEXT; + mouse_events: 0; + scale: 1; + description { + state: "default" 0.0; + align: 0.0 0.5; + fixed: 1 0; + rel1 { relative: 1 1; + to_x: "pad.left"; + to_y: "pad.top"; + } + rel2 { relative: 0 0; + to_x: "elm.swallow.bg"; + to_y: "pad.bottom"; + } + + color: 77 77 77 255; + + text { + align: 0.0 0.5; + min: 0 1; + //text_class: "T024"; + size: 18; + } + } + } + + part { + name: "index.bar"; + type: RECT; + scale : 1; + description { + state: "default" 0.0; + min: 0 SELECT_ALL_PART_INDEX_H; + max: -1 SELECT_ALL_PART_INDEX_H; + fixed: 0 1; + align: 0.5 1.0; + color: 217 217 217 255; + rel1 { relative: 0.0 1.0; to: "text.bg";} + rel2 { relative: 1.0 1.0; to: "base";} + visible: 1; + } + } + + } + /*programs { + program { name: "image_clicked"; + source: "elm.icon"; + signal: "mouse,clicked,1"; + action: PLAY_SAMPLE "button-pressed" 1.0; + } + }*/ +} + + group { name: "navigation_view"; + parts { + part { name: "background"; + type: RECT; + mouse_events: 0; + description { + state: "default" 0.0; + rel1 { relative: 0.0 0.0; } + rel2 { relative: 1.0 1.0; } + color:255 255 255 0; + } + } + + part { + name: "pathinfo"; + type: SWALLOW; + scale: 1; + repeat_events: 1; + description { + state: "default" 0.0; + min: 0 GROUP_INDEX_H; + fixed: 0 1; + align: 0.5 0; + rel1 { relative: 0.0 0.0; to:"background";} + rel2 { relative: 1.0 0.0; to:"background";} + } + description { + state: "hide" 0.0; + inherit: "default" 0.0; + visible: 0; + min: 0 0; + rel1 { relative: 0.0 0.0; } + rel2 { relative: 0.0 0.0; } + } + } + + part { + name: "part1"; + type: SWALLOW; + scale: 1; + repeat_events: 1; + description { + state: "default" 0.0; + align: 0.5 0; + fixed: 0 1; + rel1 { relative: 0.0 1.0; to_y: "pathinfo";} + rel2 { relative: 1.0 1.0;} + } + description { + state: "hide" 0.0; + inherit: "default" 0.0; + visible: 0; + min: 0 0; + rel1 { relative: 0.0 0.0; } + rel2 { relative: 0.0 0.0; } + } + description { + state: "only" 0.0; + inherit: "default" 0.0; + visible: 1; + rel1 { relative: 0.0 0.0; } + rel2 { relative: 1.0 1.0; } + } + } + + } + programs { + program { + name:"disable_pathinfo"; + signal: "elm.pathinfo.hide"; + source: "elm"; + action: STATE_SET "hide" 0.0; + target: "pathinfo"; + } + program { + name:"enable_pathinfo"; + signal: "elm.pathinfo.show"; + source: "elm"; + action: STATE_SET "default" 0.0; + target: "pathinfo"; + } + } + } + group + { + name: "noContent"; + parts + { + part + { + name: "myfile.noContent.upper"; + type: SWALLOW; + scale: 1; + description + { + state: "default" 0.0; + rel1 + { + relative: 0.0 0.0; + } + rel2 + { + relative: 1.0 0.0; offset: 0 90; + } + } + } + part + { + name: "myfile.noContent.content"; + type: SWALLOW; + scale: 1; + description + { + state: "default" 0.0; + rel1 + { + relative: 0.0 1.0; + offset: 0 0; + to_y: "myfile.noContent.upper"; + } + rel2 + { + relative: 1.0 1.0; + } + } + } + + } + } + + group + { + name:"thumbnail_only"; + images { + image: "myfile_icon_video_play.png" COMP; + } + parts + { + part + { + name:"base"; + type:RECT; + scale: 1; + description + { + state: "default" 0.0; + rel1 { relative: 0.0 0.0; } + rel2 { relative: 1.0 1.0; } + color: 8 8 8 0; + } + } + part + { + name:"bg"; + type:RECT; + scale: 1; + description + { + state: "default" 0.0; + align: 0.5 0.5; + rel1 { relative: 0.0 0.0; to:"base";} + rel2 { relative: 1.0 1.0; to:"base";} + color: 8 8 8 0; + } + } + part + { + name:"file_icon_clipper"; + type:RECT; + 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:"thumbnail"; + type:SWALLOW; + clip_to: "file_icon_clipper"; + scale: 1; + description + { + state: "default" 0.0; + rel1 { relative: 0.0 0.0; to:"file_icon_clipper";} + rel2 { relative: 1.0 1.0; to:"file_icon_clipper";} + } + } + part + { + name:"default_thumbnail"; + type:SWALLOW; + scale: 1; + description + { + state: "default" 0.0; + align: 0.5 0.5; + rel1 { relative: 0.0 0.0; to:"bg";} + rel2 { relative: 1.0 1.0; to:"bg";} + } + } + + part + { + name:"video_play"; + type:IMAGE; + scale: 1; + description { + state: "default" 0.0; + visible: 0; + min: 0 0; + rel1 { relative: 0.0 0.0; } + rel2 { relative: 0.0 0.0; } + } + description + { + state: "show" 0.0; + inherit: "default" 0.0; + visible: 1; + min: 32 32; + max: 32 32; + align: 0.5 0.5; + rel1 { relative: 0.0 0.0; to:"bg";} + rel2 { relative: 1.0 1.0; to:"bg";} + image.normal: "myfile_icon_video_play.png"; + } + } + + part + { + name: "myfile.memory_icon_multi.sub"; + type: SWALLOW; + scale: 1; + description + { + state: "default" 0.0; + rel1 { relative:0.0 0.0; to:"thumbnail";} + rel2 { relative:1.0 1.0; to:"thumbnail";} + } + } + } + programs { + program { + name:"disable_video_icon"; + signal: "elm.video.hide"; + source: "elm"; + action: STATE_SET "default" 0.0; + target: "video_play"; + } + program { + name:"enable_video_icon"; + signal: "elm.video.show"; + source: "elm"; + action: STATE_SET "show" 0.0; + target: "video_play"; + } + + } + } + +#if 1 + group { name: "popup_processingview_1button"; +#define DEMO_POPUP_PROCESSINGVIEW1BUTTON_CONTENT_MIN 568 132 + styles { + style { name: "popup_processing_text_style"; + base: "font=Tizen:style=Bold font_size=36 align=left color=#FFFFFF color_class=T123 wrap=none ellipsis=1.0 text_class=T123"; + tag: "br" "\n"; + tag: "tab" "\t"; + } + } + parts { + part { name: "base"; + type: SPACER; + scale: 1; + description { state: "default" 0.0; + min: DEMO_POPUP_PROCESSINGVIEW1BUTTON_CONTENT_MIN; + fixed: 1 0; + } + } + part { name: "pad_t"; + type: SPACER; + scale: 1; + description { state: "default" 0.0; + align: 0.5 0.0; + min: 0 32; + fixed: 0 1; + rel1 { + relative: 1.0 0.0;to_x: "pad_l"; + } + rel2 { + relative: 0.0 0.0;to_x: "pad_r"; + } + } + } + part { name: "pad_l"; + type: SPACER; + scale: 1; + description { state: "default" 0.0; + min: 65 0; + max: 65 0; + fixed: 1 0; + rel1 { + relative: 0.0 0.0; + to: "base"; + } + rel2 { + relative: 0.0 1.0; + to: "base"; + } + align: 0.0 0.0; + } + } + part { name: "pad_r"; + type: SPACER; + scale: 1; + description { state: "default" 0.0; + min: 65 0; + max: 65 0; + fixed: 1 0; + rel1 { + relative: 1.0 0.0; + to: "base"; + } + rel2 { + relative: 1.0 1.0; + to: "base"; + } + align: 1.0 0.0; + } + } + part { name: "pad_b"; + type: SPACER; + scale: 1; + description { state: "default" 0.0; + align: 0.0 1.0; + min: 0 32; + fixed: 0 1; + rel1 { + relative: 1.0 1.0; + to_x: "pad_l"; + } + rel2 { + relative: 0.0 1.0; + to_x: "pad_r"; + } + } + } + part { + name: "spacing"; + scale: 1; + type: SPACER; + description { state: "default" 0.0; + align: 0.0 0.5; + min: 79 79; + max: 79 79; + fixed: 1 1; + rel1 { + relative: 0.0 1.0; + to: "pad_t"; + } + rel2 { + relative: 1.0 0.0; + to: "pad_b"; + } + } + } + part { name: "elm.text"; + type: TEXTBLOCK; + scale : 1; + description { state: "default" 0.0; + align: 0.5 0.5; + fixed: 1 1; + text { + style: "popup_processing_text_style"; + min: 0 1; + max: 1 1; + } + rel1 { + relative: 1.0 1.0; + to_x: "spacing"; + to_y: "pad_t"; + } + rel2 { + relative: 0.0 0.0; + to_x: "pad_r"; + to_y: "pad_b"; + } + } + } + part { name:"pad_before_text"; + type: SPACER; + scale: 1; + description { state: "default" 0.0; + min: 16 132; + max: 16 132; + fixed: 1 1; + align: 1.0 0.0; + rel1 { + relative: 0.0 0.0; + to: "elm.text"; + } + rel2 { + relative: 0.0 0.0; + to: "elm.text"; + } + } + } + part { name:"elm.swallow.content"; + type: SWALLOW; + scale: 1; + description { state: "default" 0.0; + min: 63 63; + max: 63 63; + fixed: 1 1; + align: 1.0 0.15; + rel1 { + relative: 0.0 0.0; + to: "pad_before_text"; + } + rel2 { + relative: 0.0 0.0; + to: "pad_before_text"; + } + } + } + } + } + + + group { name: "popup_new_folder"; + parts { + part { name: "base"; + type: SPACER; + scale: 1; + description { state: "default" 0.0; + min: 0 160; + fixed: 1 0; + } + } + part { name: "t_pad"; + type: SPACER; + scale: 1; + description { state: "default" 0.0; + rel1.to: "base"; + rel2.to: "base"; + align: 0.0 0.0; + min: 0 10; + max: 0 10; + fixed: 1 1; + } + } + part { name: "top_content_padding"; + type: SPACER; + scale: 1; + description { state: "default" 0.0; + min: 0 30; + max: 0 40; + rel1 { + to_x: "base"; + to_y: "t_pad"; + relative: 0.0 1.0; + } + rel2 { + to_x: "base"; + to_y: "t_pad"; + relative: 1.0 1.0; + } + align: 0.0 0.0; + fixed: 1 1; + } + } + part { name: "left_swallow_padding"; + type: SPACER; + scale: 1; + description { state: "default" 0.0; + min: 30 40; + max: 30 40; + rel1 { + to_x: "base"; + to_y: "top_content_padding"; + relative: 0.0 1.0; + } + rel2 { + to_x: "base"; + to_y: "top_content_padding"; + relative: 0.0 1.0; + } + align: 0.0 0.0; + fixed: 1 1; + } + } + part { name: "right_swallow_padding"; + type: SPACER; + scale: 1; + description { + min: 30 40; + max: 30 40; + rel1 { + to_x: "base"; + to_y: "top_content_padding"; + relative: 1.0 1.0; + } + rel2 { + to_x: "base"; + to_y: "top_content_padding"; + relative: 1.0 1.0; + } + align: 1.0 0.0; + fixed: 1 1; + } + } + part { + name: "elm.swallow.content"; + type: SWALLOW; + scale: 1; + ignore_flags: ON_HOLD; + description { state: "default" 0.0; + min: 0 80; + fixed: 0 1; + rel1 { + to: "left_swallow_padding"; + relative : 1.0 1.0; + } + rel2 { + to: "right_swallow_padding"; + relative: 0.0 1.0; + } + align: 0.0 0.5; + } + } + } + } + +group { name: "popup_progress_text"; + parts{ + part { name: "base"; + type: RECT; + scale: 1; + description { state: "default" 0.0; + min: 0 150; + fixed: 1 0; + visible: 0; + } + } + part { name: "elm.title"; + type: TEXT; + scale : 1; + description { state: "default" 0.0; + max: 480 50; + fixed: 1 1; + text { + font: "Tizen:style=Medium"; + text_class:"tizen"; + size: 42; + min: 0 0; + align: 0.5 0.5; + } + color: 255 255 255 255; + align: 0.5 1.0; + rel1 { + relative: 0.0 0.0; + to: "base"; + } + rel2 { + relative: 1.0 0.5; + to: "base"; + } + } + } + part { name:"elm.swallow.content"; + type: SWALLOW; + scale : 1; + description { state: "default" 0.0; + align: 0.5 0; + rel1 { + relative: 0.0 0.5; + to: "base"; + } + rel2 { + relative: 1.0 1.0; + to: "base"; + } + } + } + + } +} + + +} + diff --git a/ug_radio.edc b/ug_radio.edc new file mode 100644 index 0000000..d1da3a7 --- /dev/null +++ b/ug_radio.edc @@ -0,0 +1,566 @@ +/* +* Copyright (c) 2000-2015 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. +* +*/ + + + +#define RADIO_HIDE 0 +#define RADIO_SHOW 1 +#define RADIO_STATE_DEFAULT 0 // radio is off +#define RADIO_STATE_VISIBLE 1 // radio is on + +#define RADIO_STYLE_DEFAULT_BG_IMAGE_MIN_WIDTH_INC 63 +#define RADIO_STYLE_DEFAULT_BG_IMAGE_MIN_HEIGHT_INC 63 +#define RADIO_STYLE_DEFAULT_EXTENDED_BG_IMAGE_MIN_WIDTH_INC 76 +#define RADIO_STYLE_DEFAULT_EXTENDED_BG_IMAGE_MIN_WIDTH_INC 76 +#define RADIO_STYLE_DEFAULT_BG_MIN_MAX_INC 63 63 +#define RADIO_STYLE_DEFAULT_FONT_SIZE_INC 36 +#define RADIO_STYLE_DEFAULT_PADDING_BEFORE_TEXT_INC 16 0 +#define RADIO_DISCLIP_NORMAL_COLOR_INC 255 255 255 255 +#define RADIO_DISCLIP_DISABLED_COLOR_INC 255 255 255 128 + +#define RADIO_STYLE_DEFAULT(style_name, min_width, min_height) \ + group { name: "elm/radio/base/"style_name; \ + images { \ + image: "00_button_radio_activate.png" COMP; \ + image: "00_button_radio_activate_ef.png" COMP; \ + image: "00_button_radio_bg.png" COMP; \ + image: "00_button_radio_bg_ef.png" COMP; \ + image: "00_button_radio_bg_line.png" COMP; \ + image: "00_button_radio_focus.png" COMP; \ + } \ + script { \ + public radio_state = RADIO_STATE_DEFAULT; \ + public radio_visible = RADIO_HIDE; \ + } \ + parts { \ + part { name: "back_bg"; \ + type: RECT; \ + scale: 1; \ + description { state: "default" 0.0; \ + rel2.relative: 0.0 1.0; \ + align: 0 0.5; \ + min: min_width min_height; \ + fixed: 1 0; \ + color: 0 0 0 0; \ + } \ + } \ + part { name: "bg"; \ + mouse_events: 0; \ + scale: 1; \ + description { state: "default" 0.0; \ + min: RADIO_STYLE_DEFAULT_BG_MIN_MAX_INC; \ + max: RADIO_STYLE_DEFAULT_BG_MIN_MAX_INC; \ + fixed: 1 1; \ + rel1.to: "back_bg"; \ + rel2.to: "back_bg"; \ + image.normal: "00_button_radio_bg.png"; \ + color_class: "W014L1"; \ + } \ + description { state: "disabled" 0.0; \ + inherit: "default" 0.0; \ + color_class: "W014L1D"; \ + } \ + description { state: "pressed" 0.0; \ + inherit: "default" 0.0; \ + color_class: "W014L1P"; \ + } \ + } \ + part { name: "bg_effect"; \ + mouse_events: 0; \ + scale: 1; \ + description { state: "default" 0.0; \ + min: RADIO_STYLE_DEFAULT_BG_MIN_MAX_INC; \ + max: RADIO_STYLE_DEFAULT_BG_MIN_MAX_INC; \ + fixed: 1 1; \ + rel1.to: "back_bg"; \ + rel2.to: "back_bg"; \ + image.normal: "00_button_radio_bg_ef.png"; \ + } \ + description { state: "disabled" 0.0; \ + inherit: "default" 0.0; \ + visible: 0; \ + } \ + } \ + part { name: "bg_line"; \ + mouse_events: 0; \ + scale: 1; \ + description { state: "default" 0.0; \ + min: RADIO_STYLE_DEFAULT_BG_MIN_MAX_INC; \ + max: RADIO_STYLE_DEFAULT_BG_MIN_MAX_INC; \ + fixed: 1 1; \ + rel1.to: "back_bg"; \ + rel2.to: "back_bg"; \ + image.normal: "00_button_radio_bg_line.png"; \ + color_class: "W014L2"; \ + } \ + description { state: "disabled" 0.0; \ + inherit: "default" 0.0; \ + color_class: "W014L2D"; \ + } \ + description { state: "pressed" 0.0; \ + inherit: "default" 0.0; \ + color_class: "W014L2P"; \ + } \ + } \ + part { name: "radio"; \ + clip_to: "opacity_clip"; \ + mouse_events: 0; \ + scale: 1; \ + description { state: "default" 0.0; \ + rel1.to: "bg"; \ + rel2.to: "bg"; \ + max: 0 0; \ + image.normal: "00_button_radio_activate.png"; \ + visible: 0; \ + } \ + description { state: "visible" 0.0; \ + inherit: "default" 0.0; \ + visible: 1; \ + max: RADIO_STYLE_DEFAULT_BG_MIN_MAX_INC; \ + color_class: "W014L3"; \ + } \ + description { state: "disabled" 0.0; \ + inherit: "default" 0.0; \ + color_class: "W014L3D"; \ + } \ + description { state: "disabled_visible" 0.0; \ + inherit: "visible" 0.0; \ + color_class: "W014L3D"; \ + } \ + description { state: "pressed" 0.0; \ + inherit: "visible" 0.0; \ + color_class: "W014L3P"; \ + } \ + } \ + part { name: "radio_effect"; \ + clip_to: "opacity_clip"; \ + mouse_events: 0; \ + scale: 1; \ + description { state: "default" 0.0; \ + rel1.to: "bg"; \ + rel2.to: "bg"; \ + max: RADIO_STYLE_DEFAULT_BG_MIN_MAX_INC; \ + visible: 0; \ + image.normal: "00_button_radio_activate_ef.png"; \ + } \ + description { state: "visible" 0.0; \ + inherit: "default" 0.0; \ + visible: 1; \ + } \ + } \ + part { name: "opacity_clip"; \ + type: RECT; \ + mouse_events: 0; \ + description { state: "default" 0.0; \ + rel1.to: "bg"; \ + rel2.to: "bg"; \ + color: 255 255 255 0; \ + } \ + description { state: "visible" 0.0; \ + inherit: "default" 0.0; \ + color: 255 255 255 255; \ + } \ + } \ + part { name: "focus_image"; \ + scale: 1; \ + description { state: "default" 0.0; \ + rel1.to: "radio"; \ + rel2.to: "radio"; \ + image.normal: "00_button_radio_focus.png" ;\ + visible: 0; \ + color_class: "W161"; \ + } \ + description { state: "focused_on" 0.0; \ + inherit: "default" 0.0; \ + visible: 1; \ + } \ + } \ + part { name: "elm.swallow.content"; \ + type: SWALLOW; \ + clip_to: "disclip"; \ + description { state: "default" 0.0; \ + fixed: 1 0; \ + visible: 0; \ + align: 0.0 0.5; \ + rel1 { \ + to_x: "bg"; \ + relative: 1.0 0.0; \ + } \ + rel2 { \ + to_x: "bg"; \ + } \ + } \ + description { state: "visible" 0.0; \ + inherit: "default" 0.0; \ + fixed: 1 1; \ + visible: 1; \ + aspect: 1.0 1.0; \ + aspect_preference: VERTICAL; \ + } \ + description { state: "disabled" 0.0; \ + inherit: "default" 0.0; \ + } \ + description { state: "disabled_visible" 0.0; \ + inherit: "default" 0.0; \ + fixed: 1 1; \ + visible: 1; \ + aspect: 1.0 1.0; \ + } \ + } \ + part { name: "padding_before_text"; \ + type: SPACER; \ + scale: 1; \ + description { state: "default" 0.0; \ + align: 0.0 0.5; \ + min: 0 0; \ + fixed: 1 1; \ + rel1 { \ + to_x: "elm.swallow.content"; \ + relative: 1.0 0.0; \ + } \ + rel2 { \ + to_x: "elm.swallow.content"; \ + relative: 1.0 1.0; \ + } \ + } \ + description { state: "visible" 0.0; \ + inherit: "default" 0.0; \ + min: RADIO_STYLE_DEFAULT_PADDING_BEFORE_TEXT_INC; \ + max: RADIO_STYLE_DEFAULT_PADDING_BEFORE_TEXT_INC; \ + fixed: 1 1; \ + } \ + } \ + part { name: "elm.text"; \ + type: TEXTBLOCK; \ + mouse_events: 0; \ + clip_to: "disclip"; \ + scale: 1; \ + description { state: "default" 0.0; \ + visible: 0; \ + fixed: 1 1; \ + rel1 { \ + relative: 1.0 0.0; \ + to_x: "padding_before_text"; \ + } \ + rel2 { \ + relative: 1.0 1.0; \ + offset: 0 0; \ + } \ + text { \ + style: "radio_label_textblock_style"; \ + align: 0.0 0.5; \ + min: 0 0; \ + } \ + } \ + description { state: "visible" 0.0; \ + inherit: "default" 0.0; \ + visible: 1; \ + text.min: 0 0; \ + } \ + description { state: "disabled" 0.0; \ + inherit: "default" 0.0; \ + } \ + description { state: "disabled_visible" 0.0; \ + inherit: "default" 0.0; \ + visible: 1; \ + text { \ + style: "radio_label_textblock_style_disable"; \ + align: 0.0 0.5; \ + min: 0 0; \ + } \ + } \ + } \ + part { name: "over1"; \ + type: RECT; \ + ignore_flags: ON_HOLD; \ + description { state: "default" 0.0; \ + color: 0 0 0 0; \ + } \ + } \ + part { name: "over2"; \ + type: RECT; \ + repeat_events:1; \ + description { state: "default" 0.0; \ + color: 0 0 0 0; \ + } \ + } \ + part { name: "disclip"; \ + type: RECT; \ + mouse_events: 0; \ + description { state: "default" 0.0; \ + color: RADIO_DISCLIP_NORMAL_COLOR_INC; \ + } \ + description { state: "disabled" 0.0; \ + color: RADIO_DISCLIP_DISABLED_COLOR_INC; \ + } \ + } \ + part { name: "disabler"; \ + type: RECT; \ + description { state: "default" 0.0; \ + visible: 0; \ + } \ + description { state: "disabled" 0.0; \ + inherit: "default" 0.0; \ + visible: 1; \ + color: 0 0 0 0; \ + } \ + } \ + } \ + programs { \ + program { name: "show"; \ + signal: "show"; \ + script { \ + set_int(radio_visible, RADIO_SHOW); \ + } \ + } \ + program { name: "hide"; \ + signal: "hide"; \ + script { \ + set_int(radio_visible, RADIO_HIDE); \ + } \ + } \ + program { name: "click"; \ + signal: "mouse,clicked,1"; \ + source: "over1"; \ + action: SIGNAL_EMIT "elm,action,radio,toggle" ""; \ + } \ + program { name: "bg_normal"; \ + signal: "mouse,up,1"; \ + source: "over2"; \ + script { \ + if (get_int(radio_state) == RADIO_STATE_VISIBLE) \ + set_state(PART:"radio", "visible", 0.0); \ + else \ + set_state(PART:"radio", "default", 0.0); \ + set_state(PART:"bg", "default", 0.0); \ + set_state(PART:"bg_line", "default", 0.0); \ + } \ + } \ + program { name: "pressed"; \ + signal: "mouse,down,1"; \ + source: "over2"; \ + script { \ + if (get_int(radio_state) == RADIO_STATE_VISIBLE) \ + set_state(PART:"radio", "pressed", 0.0); \ + else \ + set_state(PART:"radio", "default", 0.0); \ + set_state(PART:"bg", "pressed", 0.0); \ + set_state(PART:"bg_line", "pressed", 0.0); \ + } \ + } \ + program { name: "mouse,out"; \ + signal: "mouse,out"; \ + source: "over2"; \ + script { \ + if (get_int(radio_state) == RADIO_STATE_VISIBLE) { \ + set_state(PART:"radio", "visible", 0.0); \ + set_state(PART:"radio_effect", "visible", 0.0); \ + } \ + else \ + set_state(PART:"radio", "default", 0.0); \ + set_state(PART:"bg", "default", 0.0); \ + set_state(PART:"bg_line", "default", 0.0); \ + } \ + } \ + program { name: "radio_on"; \ + signal: "elm,state,radio,on"; \ + source: "elm"; \ + script { \ + set_int(radio_state, RADIO_STATE_VISIBLE); \ + if (get_int(radio_visible) == RADIO_SHOW) \ + { \ + run_program(PROGRAM:"radio_show_effect"); \ + run_program(PROGRAM:"radio_draw_effect"); \ + } \ + else \ + { \ + set_state(PART:"radio", "visible", 0.0); \ + set_state(PART:"opacity_clip", "visible", 0.0); \ + set_state(PART:"radio_effect", "visible", 0.0); \ + } \ + } \ + } \ + program { name: "radio_off"; \ + signal: "elm,state,radio,off"; \ + source: "elm"; \ + script { \ + if (get_int(radio_state) == RADIO_STATE_VISIBLE) \ + { \ + set_int(radio_state, RADIO_STATE_DEFAULT); \ + set_state(PART:"radio", "default", 0.0); \ + set_state(PART:"radio_effect", "default", 0.0); \ + set_state(PART:"opacity_clip", "default", 0.0); \ + } \ + } \ + } \ + program { name: "radio_show_effect"; \ + action: STATE_SET "visible" 0.0; \ + transition: LINEAR 0.233; \ + target: "opacity_clip"; \ + } \ + program { name: "radio_draw_effect"; \ + action: STATE_SET "visible" 0.0; \ + transition: LINEAR 0.267; \ + target: "radio"; \ + target: "radio_effect"; \ + after: "radio_on_signal"; \ + } \ + program { name: "radio_on_signal"; \ + action: SIGNAL_EMIT "elm,action,show,finished" "elm"; \ + } \ + program { name: "key_press"; \ + signal: "elm,action,pressed"; \ + source: "elm"; \ + script { \ + if (get_int(radio_state) == RADIO_STATE_VISIBLE) \ + set_state(PART:"radio", "pressed", 0.0); \ + else \ + set_state(PART:"radio", "default", 0.0); \ + set_state(PART:"bg", "pressed", 0.0); \ + set_state(PART:"bg_line", "pressed", 0.0); \ + } \ + } \ + program { name: "key_unpress"; \ + signal: "elm,action,unpressed"; \ + source: "elm"; \ + script { \ + if (get_int(radio_state) == RADIO_STATE_VISIBLE) \ + set_state(PART:"radio", "visible", 0.0); \ + else \ + set_state(PART:"radio", "default", 0.0); \ + set_state(PART:"bg", "default", 0.0); \ + set_state(PART:"bg_line", "default", 0.0); \ + } \ + } \ + program { name: "text_show"; \ + signal: "elm,state,text,visible"; \ + source: "elm"; \ + action: STATE_SET "visible" 0.0; \ + target: "padding_before_text"; \ + target: "elm.text"; \ + } \ + program { name: "text_hide"; \ + signal: "elm,state,text,hidden"; \ + source: "elm"; \ + action: STATE_SET "default" 0.0; \ + target: "padding_before_text"; \ + target: "elm.text"; \ + } \ + program { name: "icon_show"; \ + signal: "elm,state,icon,visible"; \ + source: "elm"; \ + action: STATE_SET "visible" 0.0; \ + target: "elm.swallow.content"; \ + } \ + program { name: "icon_hide"; \ + signal: "elm,state,icon,hidden"; \ + source: "elm"; \ + action: STATE_SET "default" 0.0; \ + target: "elm.swallow.content"; \ + } \ + program { name: "action_focus"; \ + signal: "elm,action,focus_highlight,show"; \ + source: "elm"; \ + action: STATE_SET "focused_on" 0.0; \ + target: "focus_image"; \ + } \ + program { name: "action_unfocus"; \ + signal: "elm,action,focus_highlight,hide"; \ + source: "elm"; \ + action: STATE_SET "default" 0.0; \ + target: "focus_image"; \ + } \ + program { name: "disable"; \ + signal: "elm,state,disabled"; \ + source: "elm"; \ + action: STATE_SET "disabled" 0.0; \ + target: "disclip"; \ + target: "bg"; \ + target: "bg_effect"; \ + target: "bg_line"; \ + target: "disabler"; \ + after: "disable_text"; \ + } \ + program { name: "disable_text"; \ + script { \ + new st[31]; \ + new Float:vl; \ + get_state(PART:"elm.text", st, 30, vl); \ + if (!strcmp(st, "visible")) \ + set_state(PART:"elm.text", "disabled_visible", 0.0); \ + else \ + set_state(PART:"elm.text", "disabled", 0.0); \ + get_state(PART:"elm.swallow.content", st, 30, vl); \ + if (!strcmp(st, "visible")) \ + set_state(PART:"elm.swallow.content", "disabled_visible", 0.0); \ + else \ + set_state(PART:"elm.swallow.content", "disabled", 0.0); \ + get_state(PART:"radio", st, 30, vl); \ + if (!strcmp(st, "visible")) { \ + set_state(PART:"radio", "disabled_visible", 0.0); \ + set_state(PART:"radio_effect", "default", 0.0); \ + } \ + else \ + set_state(PART:"radio", "disabled", 0.0); \ + } \ + } \ + program { name: "enable"; \ + signal: "elm,state,enabled"; \ + source: "elm"; \ + action: STATE_SET "default" 0.0; \ + target: "disabler"; \ + target: "disclip"; \ + target: "bg"; \ + target: "bg_effect"; \ + target: "bg_line"; \ + after: "enable_text"; \ + } \ + program { name: "enable_text"; \ + script { \ + new st[31]; \ + new Float:vl; \ + get_state(PART:"elm.text", st, 30, vl); \ + if (!strcmp(st, "disabled_visible")) \ + set_state(PART:"elm.text", "visible", 0.0); \ + else \ + set_state(PART:"elm.text", "default", 0.0); \ + get_state(PART:"elm.swallow.content", st, 30, vl); \ + if (!strcmp(st, "disabled_visible")) \ + set_state(PART:"elm.swallow.content", "visible", 0.0); \ + else \ + set_state(PART:"elm.swallow.content", "default", 0.0); \ + get_state(PART:"radio", st, 30, vl); \ + if (!strcmp(st, "disabled_visible")) \ + { \ + set_state(PART:"opacity_clip", "visible", 0.0); \ + set_state(PART:"radio", "visible", 0.0); \ + set_state(PART:"radio_effect", "visible", 0.0); \ + } \ + else \ + { \ + set_state(PART:"opacity_clip", "default", 0.0); \ + set_state(PART:"radio", "default", 0.0); \ + } \ + } \ + } \ + } \ + } + + +/////////////////////////////////////////////////////////////////////////////////////// +RADIO_STYLE_DEFAULT("silent", RADIO_STYLE_DEFAULT_BG_IMAGE_MIN_WIDTH_INC, RADIO_STYLE_DEFAULT_BG_IMAGE_MIN_HEIGHT_INC) + |