Initialize Tizen 2.3 tizen_2.3 2.3a_release submit/tizen_2.3/20140531.113422
authorSehong Na <sehong.na@samsung.com>
Sat, 31 May 2014 04:02:09 +0000 (13:02 +0900)
committerSehong Na <sehong.na@samsung.com>
Sat, 31 May 2014 04:02:09 +0000 (13:02 +0900)
180 files changed:
CMakeLists.txt [new file with mode: 0644]
LICENSE.Flora [new file with mode: 0644]
NOTICE.Flora [new file with mode: 0644]
build_run.sh [new file with mode: 0755]
data/CMakeLists.txt [new file with mode: 0644]
data/ctrlbar_layout.edc [new file with mode: 0644]
data/effect_model_list.edc [new file with mode: 0644]
data/icons/Controlbar/U01_controlbar_cion_home.png [new file with mode: 0644]
data/icons/Controlbar/U01_controlbar_cion_home_press.png [new file with mode: 0644]
data/icons/Controlbar/U01_controlbar_cion_up_folder.png [new file with mode: 0644]
data/icons/Controlbar/U01_controlbar_cion_up_folder_press.png [new file with mode: 0644]
data/icons/U01_1st_icon_memory_card.png [new file with mode: 0644]
data/icons/U01_1st_icon_memory_card_press.png [new file with mode: 0644]
data/icons/U01_1st_icon_phone.png [new file with mode: 0644]
data/icons/U01_1st_icon_phone_press.png [new file with mode: 0644]
data/icons/myfile_icon_USB.png [new file with mode: 0644]
data/icons/myfile_icon_add.png [new file with mode: 0644]
data/icons/myfile_icon_cancel.png [new file with mode: 0644]
data/icons/myfile_icon_control_pause.png [new file with mode: 0644]
data/icons/myfile_icon_control_pause_press.png [new file with mode: 0644]
data/icons/myfile_icon_control_play.png [new file with mode: 0644]
data/icons/myfile_icon_control_play_press.png [new file with mode: 0644]
data/icons/myfile_icon_copy.png [new file with mode: 0644]
data/icons/myfile_icon_create_folder.png [new file with mode: 0644]
data/icons/myfile_icon_delete.png [new file with mode: 0644]
data/icons/myfile_icon_done.png [new file with mode: 0644]
data/icons/myfile_icon_edit.png [new file with mode: 0644]
data/icons/myfile_icon_etc.png [new file with mode: 0644]
data/icons/myfile_icon_excel.png [new file with mode: 0644]
data/icons/myfile_icon_folder.png [new file with mode: 0644]
data/icons/myfile_icon_folder_open.png [new file with mode: 0644]
data/icons/myfile_icon_html.png [new file with mode: 0644]
data/icons/myfile_icon_images.png [new file with mode: 0644]
data/icons/myfile_icon_java.png [new file with mode: 0644]
data/icons/myfile_icon_list_by.png [new file with mode: 0644]
data/icons/myfile_icon_mmc.png [new file with mode: 0644]
data/icons/myfile_icon_mmc_sub.png [new file with mode: 0644]
data/icons/myfile_icon_move.png [new file with mode: 0644]
data/icons/myfile_icon_move_here.png [new file with mode: 0644]
data/icons/myfile_icon_music.png [new file with mode: 0644]
data/icons/myfile_icon_paste_here.png [new file with mode: 0644]
data/icons/myfile_icon_pdf.png [new file with mode: 0644]
data/icons/myfile_icon_phone.png [new file with mode: 0644]
data/icons/myfile_icon_ppt.png [new file with mode: 0644]
data/icons/myfile_icon_rss.png [new file with mode: 0644]
data/icons/myfile_icon_search.png [new file with mode: 0644]
data/icons/myfile_icon_share.png [new file with mode: 0644]
data/icons/myfile_icon_store_here.png [new file with mode: 0644]
data/icons/myfile_icon_svg.png [new file with mode: 0644]
data/icons/myfile_icon_swf.png [new file with mode: 0644]
data/icons/myfile_icon_text.png [new file with mode: 0644]
data/icons/myfile_icon_upper_folder_black_theme.png [new file with mode: 0644]
data/icons/myfile_icon_upper_folder_focus.png [new file with mode: 0644]
data/icons/myfile_icon_upper_folder_white_theme.png [new file with mode: 0644]
data/icons/myfile_icon_video.png [new file with mode: 0644]
data/icons/myfile_icon_video_play.png [new file with mode: 0644]
data/icons/myfile_icon_word.png [new file with mode: 0644]
data/icons/myfile_thumbnail_icon_excel.png [new file with mode: 0644]
data/icons/myfile_thumbnail_icon_folder.png [new file with mode: 0644]
data/icons/myfile_thumbnail_icon_folder_open.png [new file with mode: 0644]
data/icons/myfile_thumbnail_icon_html.png [new file with mode: 0644]
data/icons/myfile_thumbnail_icon_music.png [new file with mode: 0644]
data/icons/myfile_thumbnail_icon_pdf.png [new file with mode: 0644]
data/icons/myfile_thumbnail_icon_ppt.png [new file with mode: 0644]
data/icons/myfile_thumbnail_icon_rss.png [new file with mode: 0644]
data/icons/myfile_thumbnail_icon_svg.png [new file with mode: 0644]
data/icons/myfile_thumbnail_icon_swf.png [new file with mode: 0644]
data/icons/myfile_thumbnail_icon_text.png [new file with mode: 0644]
data/icons/myfile_thumbnail_icon_unkown.png [new file with mode: 0644]
data/icons/myfile_thumbnail_icon_video.png [new file with mode: 0644]
data/icons/myfile_thumbnail_icon_video_play.png [new file with mode: 0644]
data/icons/myfile_thumbnail_icon_word.png [new file with mode: 0644]
data/image/No_ex_stor.png [new file with mode: 0644]
data/image/mf_new_folder_editfield_bg.png [new file with mode: 0644]
data/image/myfile_nocontent.png [new file with mode: 0644]
data/navigation_view.edc [new file with mode: 0644]
data/no_storage.edc [new file with mode: 0644]
data/pathinfo.edc [new file with mode: 0644]
data/po/CMakeLists.txt [new file with mode: 0644]
data/po/POTFILES.in [new file with mode: 0644]
data/po/ar.po [new file with mode: 0644]
data/po/az.po [new file with mode: 0644]
data/po/bg.po [new file with mode: 0644]
data/po/ca.po [new file with mode: 0644]
data/po/cs.po [new file with mode: 0644]
data/po/da.po [new file with mode: 0644]
data/po/de_DE.po [new file with mode: 0644]
data/po/el_GR.po [new file with mode: 0644]
data/po/en.po [new file with mode: 0644]
data/po/en_PH.po [new file with mode: 0644]
data/po/en_US.po [new file with mode: 0644]
data/po/es_ES.po [new file with mode: 0644]
data/po/es_MX.po [new file with mode: 0644]
data/po/et.po [new file with mode: 0644]
data/po/eu.po [new file with mode: 0644]
data/po/fi.po [new file with mode: 0644]
data/po/fr_CA.po [new file with mode: 0644]
data/po/fr_FR.po [new file with mode: 0644]
data/po/ga.po [new file with mode: 0644]
data/po/gl.po [new file with mode: 0644]
data/po/hi.po [new file with mode: 0644]
data/po/hr.po [new file with mode: 0644]
data/po/hu.po [new file with mode: 0644]
data/po/hy.po [new file with mode: 0644]
data/po/is.po [new file with mode: 0644]
data/po/it_IT.po [new file with mode: 0644]
data/po/ja_JP.po [new file with mode: 0644]
data/po/ka.po [new file with mode: 0644]
data/po/kk.po [new file with mode: 0644]
data/po/ko_KR.po [new file with mode: 0644]
data/po/lt.po [new file with mode: 0644]
data/po/lv.po [new file with mode: 0644]
data/po/mk.po [new file with mode: 0644]
data/po/nb.po [new file with mode: 0644]
data/po/nl_NL.po [new file with mode: 0644]
data/po/pl.po [new file with mode: 0644]
data/po/pt_BR.po [new file with mode: 0644]
data/po/pt_PT.po [new file with mode: 0644]
data/po/ro.po [new file with mode: 0644]
data/po/ru_RU.po [new file with mode: 0644]
data/po/sk.po [new file with mode: 0644]
data/po/sl.po [new file with mode: 0644]
data/po/sr.po [new file with mode: 0644]
data/po/sv.po [new file with mode: 0644]
data/po/tr_TR.po [new file with mode: 0644]
data/po/ug-myfile-efl.pot [new file with mode: 0644]
data/po/uk.po [new file with mode: 0644]
data/po/update-po.sh [new file with mode: 0644]
data/po/uz.po [new file with mode: 0644]
data/po/zh_CN.po [new file with mode: 0644]
data/po/zh_HK.po [new file with mode: 0644]
data/po/zh_SG.po [new file with mode: 0644]
data/po/zh_TW.po [new file with mode: 0644]
data/popup_new_folder.edc [new file with mode: 0644]
data/search_path.edc [new file with mode: 0644]
data/ug_edc_common.h [new file with mode: 0644]
data/ug_navibar_layout.edc [new file with mode: 0644]
gbs/.gbs.conf [new file with mode: 0644]
packaging/ug-myfile-efl.spec [new file with mode: 0644]
src/common/file-system/mf-ug-file-attr.c [new file with mode: 0644]
src/common/file-system/mf-ug-fs-oper.c [new file with mode: 0644]
src/common/mf-ug-cb.c [new file with mode: 0644]
src/common/mf-ug-fm-svc-wapper.c [new file with mode: 0644]
src/common/mf-ug-inotify-handle.c [new file with mode: 0644]
src/common/mf-ug-list-play.c [new file with mode: 0644]
src/common/mf-ug-search-internal.c [new file with mode: 0644]
src/common/mf-ug-search.c [new file with mode: 0644]
src/common/mf-ug-util.c [new file with mode: 0644]
src/include/mf-ug-cb.h [new file with mode: 0644]
src/include/mf-ug-conf.h [new file with mode: 0644]
src/include/mf-ug-dlog.h [new file with mode: 0644]
src/include/mf-ug-fm-svc-wrapper.h [new file with mode: 0644]
src/include/mf-ug-fs-util.h [new file with mode: 0644]
src/include/mf-ug-inotify-handle.h [new file with mode: 0644]
src/include/mf-ug-list-play.h [new file with mode: 0644]
src/include/mf-ug-main.h [new file with mode: 0644]
src/include/mf-ug-resource.h [new file with mode: 0644]
src/include/mf-ug-search-internal.h [new file with mode: 0644]
src/include/mf-ug-search.h [new file with mode: 0644]
src/include/mf-ug-util.h [new file with mode: 0644]
src/include/mf-ug-winset.h [new file with mode: 0644]
src/mf-ug-main.c [new file with mode: 0644]
src/widget/mf-ug-ctrl-bar.c [new file with mode: 0644]
src/widget/mf-ug-genlist.c [new file with mode: 0644]
src/widget/mf-ug-navi-bar.c [new file with mode: 0644]
src/widget/mf-ug-popup.c [new file with mode: 0644]
src/widget/mf-ug-search-view.c [new file with mode: 0644]
src/widget/mf-ug-tab-bar.c [new file with mode: 0644]
tests/ugmyfiletestapp/CMakeLists.txt [new file with mode: 0644]
tests/ugmyfiletestapp/build.sh [new file with mode: 0755]
tests/ugmyfiletestapp/edj/layoutedj.edc [new file with mode: 0644]
tests/ugmyfiletestapp/git.tgz [new file with mode: 0644]
tests/ugmyfiletestapp/include/dbg.h [new file with mode: 0644]
tests/ugmyfiletestapp/include/main.h [new file with mode: 0644]
tests/ugmyfiletestapp/org.tizen.ugmyfiletestapp.png [new file with mode: 0644]
tests/ugmyfiletestapp/org.tizen.ugmyfiletestapp.xml.in [new file with mode: 0644]
tests/ugmyfiletestapp/packaging/org.tizen.ugmyfiletestapp.spec [new file with mode: 0644]
tests/ugmyfiletestapp/src/main.c [new file with mode: 0644]
ug-myfile-efl.manifest [new file with mode: 0644]
ug-myfile-efl.xml [new file with mode: 0644]

diff --git a/CMakeLists.txt b/CMakeLists.txt
new file mode 100644 (file)
index 0000000..a047249
--- /dev/null
@@ -0,0 +1,91 @@
+CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
+PROJECT(ug-myfile-efl C)
+
+
+####################################
+########## SET Directory ###########
+####################################
+SET(MFUGNAME ug-myfile-efl)
+SET(UGINCLUDE ${CMAKE_CURRENT_SOURCE_DIR}/src/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(PREFIX "/usr/ug")
+SET(LIBDIR "${PREFIX}/lib")
+SET(RESDIR "${PREFIX}/res")
+SET(LOCALEDIR "${RESDIR}/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
+################ file system #########
+    ${UG-FS-DIR}/mf-ug-file-attr.c
+    ${UG-FS-DIR}/mf-ug-fs-oper.c
+    )
+
+INCLUDE_DIRECTORIES(${UGINCLUDE})
+
+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-content-media-content
+dlog
+capi-media-sound-manager
+capi-media-player
+capi-system-power
+notification
+utilX
+)
+
+FOREACH(flag ${ug_pkgs_CFLAGS})
+    SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} ${flag}")
+ENDFOREACH(flag)
+
+SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${EXTRA_CFLAGS}")
+
+ADD_DEFINITIONS("-DPREFIX=\"${CMAKE_INSTALL_PREFIX}\"")
+ADD_DEFINITIONS("-DFACTORYFS=\"$ENV{FACTORYFS}\"")
+
+
+ADD_DEFINITIONS("-DLIST_PLAY_SUPPORT")
+ADD_DEFINITIONS("-DUG_THUMB_REAL_TIME_UPDATE")
+ADD_DEFINITIONS("-DMF_UG_FEATURE_NEW_UX")
+ADD_DEFINITIONS("-DUG_OPERATION_SELECT_MODE")
+
+
+ADD_LIBRARY(${MFUGNAME} SHARED ${SRCS})
+TARGET_LINK_LIBRARIES(${MFUGNAME} ${ug_pkgs_LDFLAGS} dl)
+
+INSTALL(TARGETS ${MFUGNAME} LIBRARY DESTINATION ${LIBDIR})
+
+
+INSTALL(FILES ${CMAKE_BINARY_DIR}/${MFUGNAME}.xml DESTINATION /usr/share/packages)
+
+ADD_SUBDIRECTORY(data)
+
diff --git a/LICENSE.Flora b/LICENSE.Flora
new file mode 100644 (file)
index 0000000..ee51c0c
--- /dev/null
@@ -0,0 +1,206 @@
+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
new file mode 100644 (file)
index 0000000..73f7581
--- /dev/null
@@ -0,0 +1,4 @@
+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
new file mode 100755 (executable)
index 0000000..01c5dea
--- /dev/null
@@ -0,0 +1,65 @@
+#!/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
new file mode 100644 (file)
index 0000000..d3224f2
--- /dev/null
@@ -0,0 +1,18 @@
+# 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
new file mode 100644 (file)
index 0000000..8f9d94e
--- /dev/null
@@ -0,0 +1,44 @@
+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
new file mode 100644 (file)
index 0000000..9e30657
--- /dev/null
@@ -0,0 +1,114 @@
+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
new file mode 100644 (file)
index 0000000..f521c9e
Binary files /dev/null and b/data/icons/Controlbar/U01_controlbar_cion_home.png differ
diff --git a/data/icons/Controlbar/U01_controlbar_cion_home_press.png b/data/icons/Controlbar/U01_controlbar_cion_home_press.png
new file mode 100644 (file)
index 0000000..ca24783
Binary files /dev/null and b/data/icons/Controlbar/U01_controlbar_cion_home_press.png differ
diff --git a/data/icons/Controlbar/U01_controlbar_cion_up_folder.png b/data/icons/Controlbar/U01_controlbar_cion_up_folder.png
new file mode 100644 (file)
index 0000000..57f3e58
Binary files /dev/null and b/data/icons/Controlbar/U01_controlbar_cion_up_folder.png differ
diff --git a/data/icons/Controlbar/U01_controlbar_cion_up_folder_press.png b/data/icons/Controlbar/U01_controlbar_cion_up_folder_press.png
new file mode 100644 (file)
index 0000000..b2fdb69
Binary files /dev/null and b/data/icons/Controlbar/U01_controlbar_cion_up_folder_press.png differ
diff --git a/data/icons/U01_1st_icon_memory_card.png b/data/icons/U01_1st_icon_memory_card.png
new file mode 100644 (file)
index 0000000..277e976
Binary files /dev/null and b/data/icons/U01_1st_icon_memory_card.png differ
diff --git a/data/icons/U01_1st_icon_memory_card_press.png b/data/icons/U01_1st_icon_memory_card_press.png
new file mode 100644 (file)
index 0000000..00a0644
Binary files /dev/null and b/data/icons/U01_1st_icon_memory_card_press.png differ
diff --git a/data/icons/U01_1st_icon_phone.png b/data/icons/U01_1st_icon_phone.png
new file mode 100644 (file)
index 0000000..647b42b
Binary files /dev/null and b/data/icons/U01_1st_icon_phone.png differ
diff --git a/data/icons/U01_1st_icon_phone_press.png b/data/icons/U01_1st_icon_phone_press.png
new file mode 100644 (file)
index 0000000..bbe69cb
Binary files /dev/null and b/data/icons/U01_1st_icon_phone_press.png differ
diff --git a/data/icons/myfile_icon_USB.png b/data/icons/myfile_icon_USB.png
new file mode 100644 (file)
index 0000000..bf4dc00
Binary files /dev/null and b/data/icons/myfile_icon_USB.png differ
diff --git a/data/icons/myfile_icon_add.png b/data/icons/myfile_icon_add.png
new file mode 100644 (file)
index 0000000..43c4984
Binary files /dev/null and b/data/icons/myfile_icon_add.png differ
diff --git a/data/icons/myfile_icon_cancel.png b/data/icons/myfile_icon_cancel.png
new file mode 100644 (file)
index 0000000..8d12808
Binary files /dev/null and b/data/icons/myfile_icon_cancel.png differ
diff --git a/data/icons/myfile_icon_control_pause.png b/data/icons/myfile_icon_control_pause.png
new file mode 100644 (file)
index 0000000..5ae19bb
Binary files /dev/null and b/data/icons/myfile_icon_control_pause.png differ
diff --git a/data/icons/myfile_icon_control_pause_press.png b/data/icons/myfile_icon_control_pause_press.png
new file mode 100644 (file)
index 0000000..3151a6a
Binary files /dev/null and b/data/icons/myfile_icon_control_pause_press.png differ
diff --git a/data/icons/myfile_icon_control_play.png b/data/icons/myfile_icon_control_play.png
new file mode 100644 (file)
index 0000000..cca0393
Binary files /dev/null and b/data/icons/myfile_icon_control_play.png differ
diff --git a/data/icons/myfile_icon_control_play_press.png b/data/icons/myfile_icon_control_play_press.png
new file mode 100644 (file)
index 0000000..315cb44
Binary files /dev/null and b/data/icons/myfile_icon_control_play_press.png differ
diff --git a/data/icons/myfile_icon_copy.png b/data/icons/myfile_icon_copy.png
new file mode 100644 (file)
index 0000000..13c40bb
Binary files /dev/null and b/data/icons/myfile_icon_copy.png differ
diff --git a/data/icons/myfile_icon_create_folder.png b/data/icons/myfile_icon_create_folder.png
new file mode 100644 (file)
index 0000000..d74811f
Binary files /dev/null and b/data/icons/myfile_icon_create_folder.png differ
diff --git a/data/icons/myfile_icon_delete.png b/data/icons/myfile_icon_delete.png
new file mode 100644 (file)
index 0000000..faaa0d3
Binary files /dev/null and b/data/icons/myfile_icon_delete.png differ
diff --git a/data/icons/myfile_icon_done.png b/data/icons/myfile_icon_done.png
new file mode 100644 (file)
index 0000000..d771640
Binary files /dev/null and b/data/icons/myfile_icon_done.png differ
diff --git a/data/icons/myfile_icon_edit.png b/data/icons/myfile_icon_edit.png
new file mode 100644 (file)
index 0000000..4ddc598
Binary files /dev/null and b/data/icons/myfile_icon_edit.png differ
diff --git a/data/icons/myfile_icon_etc.png b/data/icons/myfile_icon_etc.png
new file mode 100644 (file)
index 0000000..0cc767d
Binary files /dev/null and b/data/icons/myfile_icon_etc.png differ
diff --git a/data/icons/myfile_icon_excel.png b/data/icons/myfile_icon_excel.png
new file mode 100644 (file)
index 0000000..109b7de
Binary files /dev/null and b/data/icons/myfile_icon_excel.png differ
diff --git a/data/icons/myfile_icon_folder.png b/data/icons/myfile_icon_folder.png
new file mode 100644 (file)
index 0000000..d53be43
Binary files /dev/null and b/data/icons/myfile_icon_folder.png differ
diff --git a/data/icons/myfile_icon_folder_open.png b/data/icons/myfile_icon_folder_open.png
new file mode 100644 (file)
index 0000000..85e0f19
Binary files /dev/null and b/data/icons/myfile_icon_folder_open.png differ
diff --git a/data/icons/myfile_icon_html.png b/data/icons/myfile_icon_html.png
new file mode 100644 (file)
index 0000000..78646b4
Binary files /dev/null and b/data/icons/myfile_icon_html.png differ
diff --git a/data/icons/myfile_icon_images.png b/data/icons/myfile_icon_images.png
new file mode 100644 (file)
index 0000000..4dd3be3
Binary files /dev/null and b/data/icons/myfile_icon_images.png differ
diff --git a/data/icons/myfile_icon_java.png b/data/icons/myfile_icon_java.png
new file mode 100644 (file)
index 0000000..a083ee6
Binary files /dev/null and b/data/icons/myfile_icon_java.png differ
diff --git a/data/icons/myfile_icon_list_by.png b/data/icons/myfile_icon_list_by.png
new file mode 100644 (file)
index 0000000..0c17352
Binary files /dev/null and b/data/icons/myfile_icon_list_by.png differ
diff --git a/data/icons/myfile_icon_mmc.png b/data/icons/myfile_icon_mmc.png
new file mode 100644 (file)
index 0000000..f486674
Binary files /dev/null and b/data/icons/myfile_icon_mmc.png differ
diff --git a/data/icons/myfile_icon_mmc_sub.png b/data/icons/myfile_icon_mmc_sub.png
new file mode 100644 (file)
index 0000000..faced52
Binary files /dev/null and b/data/icons/myfile_icon_mmc_sub.png differ
diff --git a/data/icons/myfile_icon_move.png b/data/icons/myfile_icon_move.png
new file mode 100644 (file)
index 0000000..fdc8c8a
Binary files /dev/null and b/data/icons/myfile_icon_move.png differ
diff --git a/data/icons/myfile_icon_move_here.png b/data/icons/myfile_icon_move_here.png
new file mode 100644 (file)
index 0000000..06e7946
Binary files /dev/null and b/data/icons/myfile_icon_move_here.png differ
diff --git a/data/icons/myfile_icon_music.png b/data/icons/myfile_icon_music.png
new file mode 100644 (file)
index 0000000..9909d9c
Binary files /dev/null and b/data/icons/myfile_icon_music.png differ
diff --git a/data/icons/myfile_icon_paste_here.png b/data/icons/myfile_icon_paste_here.png
new file mode 100644 (file)
index 0000000..13c40bb
Binary files /dev/null and b/data/icons/myfile_icon_paste_here.png differ
diff --git a/data/icons/myfile_icon_pdf.png b/data/icons/myfile_icon_pdf.png
new file mode 100644 (file)
index 0000000..2480d81
Binary files /dev/null and b/data/icons/myfile_icon_pdf.png differ
diff --git a/data/icons/myfile_icon_phone.png b/data/icons/myfile_icon_phone.png
new file mode 100644 (file)
index 0000000..1c92369
Binary files /dev/null and b/data/icons/myfile_icon_phone.png differ
diff --git a/data/icons/myfile_icon_ppt.png b/data/icons/myfile_icon_ppt.png
new file mode 100644 (file)
index 0000000..42c1100
Binary files /dev/null and b/data/icons/myfile_icon_ppt.png differ
diff --git a/data/icons/myfile_icon_rss.png b/data/icons/myfile_icon_rss.png
new file mode 100644 (file)
index 0000000..1b566e2
Binary files /dev/null and b/data/icons/myfile_icon_rss.png differ
diff --git a/data/icons/myfile_icon_search.png b/data/icons/myfile_icon_search.png
new file mode 100644 (file)
index 0000000..ff46fa3
Binary files /dev/null and b/data/icons/myfile_icon_search.png differ
diff --git a/data/icons/myfile_icon_share.png b/data/icons/myfile_icon_share.png
new file mode 100644 (file)
index 0000000..c1a20b5
Binary files /dev/null and b/data/icons/myfile_icon_share.png differ
diff --git a/data/icons/myfile_icon_store_here.png b/data/icons/myfile_icon_store_here.png
new file mode 100644 (file)
index 0000000..65290d8
Binary files /dev/null and b/data/icons/myfile_icon_store_here.png differ
diff --git a/data/icons/myfile_icon_svg.png b/data/icons/myfile_icon_svg.png
new file mode 100644 (file)
index 0000000..64a841c
Binary files /dev/null and b/data/icons/myfile_icon_svg.png differ
diff --git a/data/icons/myfile_icon_swf.png b/data/icons/myfile_icon_swf.png
new file mode 100644 (file)
index 0000000..ee50e85
Binary files /dev/null and b/data/icons/myfile_icon_swf.png differ
diff --git a/data/icons/myfile_icon_text.png b/data/icons/myfile_icon_text.png
new file mode 100644 (file)
index 0000000..c937ef8
Binary files /dev/null and b/data/icons/myfile_icon_text.png differ
diff --git a/data/icons/myfile_icon_upper_folder_black_theme.png b/data/icons/myfile_icon_upper_folder_black_theme.png
new file mode 100644 (file)
index 0000000..050c295
Binary files /dev/null and b/data/icons/myfile_icon_upper_folder_black_theme.png differ
diff --git a/data/icons/myfile_icon_upper_folder_focus.png b/data/icons/myfile_icon_upper_folder_focus.png
new file mode 100644 (file)
index 0000000..d8dd048
Binary files /dev/null and b/data/icons/myfile_icon_upper_folder_focus.png differ
diff --git a/data/icons/myfile_icon_upper_folder_white_theme.png b/data/icons/myfile_icon_upper_folder_white_theme.png
new file mode 100644 (file)
index 0000000..e3853c1
Binary files /dev/null and b/data/icons/myfile_icon_upper_folder_white_theme.png differ
diff --git a/data/icons/myfile_icon_video.png b/data/icons/myfile_icon_video.png
new file mode 100644 (file)
index 0000000..a8e832a
Binary files /dev/null and b/data/icons/myfile_icon_video.png differ
diff --git a/data/icons/myfile_icon_video_play.png b/data/icons/myfile_icon_video_play.png
new file mode 100644 (file)
index 0000000..bbde433
Binary files /dev/null and b/data/icons/myfile_icon_video_play.png differ
diff --git a/data/icons/myfile_icon_word.png b/data/icons/myfile_icon_word.png
new file mode 100644 (file)
index 0000000..b399bad
Binary files /dev/null and b/data/icons/myfile_icon_word.png differ
diff --git a/data/icons/myfile_thumbnail_icon_excel.png b/data/icons/myfile_thumbnail_icon_excel.png
new file mode 100644 (file)
index 0000000..c5ff6e6
Binary files /dev/null and b/data/icons/myfile_thumbnail_icon_excel.png differ
diff --git a/data/icons/myfile_thumbnail_icon_folder.png b/data/icons/myfile_thumbnail_icon_folder.png
new file mode 100644 (file)
index 0000000..c4b91e1
Binary files /dev/null and b/data/icons/myfile_thumbnail_icon_folder.png differ
diff --git a/data/icons/myfile_thumbnail_icon_folder_open.png b/data/icons/myfile_thumbnail_icon_folder_open.png
new file mode 100644 (file)
index 0000000..d928ea2
Binary files /dev/null and b/data/icons/myfile_thumbnail_icon_folder_open.png differ
diff --git a/data/icons/myfile_thumbnail_icon_html.png b/data/icons/myfile_thumbnail_icon_html.png
new file mode 100644 (file)
index 0000000..2e99180
Binary files /dev/null and b/data/icons/myfile_thumbnail_icon_html.png differ
diff --git a/data/icons/myfile_thumbnail_icon_music.png b/data/icons/myfile_thumbnail_icon_music.png
new file mode 100644 (file)
index 0000000..54c18e7
Binary files /dev/null and b/data/icons/myfile_thumbnail_icon_music.png differ
diff --git a/data/icons/myfile_thumbnail_icon_pdf.png b/data/icons/myfile_thumbnail_icon_pdf.png
new file mode 100644 (file)
index 0000000..30ea8e9
Binary files /dev/null and b/data/icons/myfile_thumbnail_icon_pdf.png differ
diff --git a/data/icons/myfile_thumbnail_icon_ppt.png b/data/icons/myfile_thumbnail_icon_ppt.png
new file mode 100644 (file)
index 0000000..bb97df2
Binary files /dev/null and b/data/icons/myfile_thumbnail_icon_ppt.png differ
diff --git a/data/icons/myfile_thumbnail_icon_rss.png b/data/icons/myfile_thumbnail_icon_rss.png
new file mode 100644 (file)
index 0000000..8fc1384
Binary files /dev/null and b/data/icons/myfile_thumbnail_icon_rss.png differ
diff --git a/data/icons/myfile_thumbnail_icon_svg.png b/data/icons/myfile_thumbnail_icon_svg.png
new file mode 100644 (file)
index 0000000..92b89e0
Binary files /dev/null and b/data/icons/myfile_thumbnail_icon_svg.png differ
diff --git a/data/icons/myfile_thumbnail_icon_swf.png b/data/icons/myfile_thumbnail_icon_swf.png
new file mode 100644 (file)
index 0000000..8d1278d
Binary files /dev/null and b/data/icons/myfile_thumbnail_icon_swf.png differ
diff --git a/data/icons/myfile_thumbnail_icon_text.png b/data/icons/myfile_thumbnail_icon_text.png
new file mode 100644 (file)
index 0000000..39cdc23
Binary files /dev/null and b/data/icons/myfile_thumbnail_icon_text.png differ
diff --git a/data/icons/myfile_thumbnail_icon_unkown.png b/data/icons/myfile_thumbnail_icon_unkown.png
new file mode 100644 (file)
index 0000000..37a22ec
Binary files /dev/null and b/data/icons/myfile_thumbnail_icon_unkown.png differ
diff --git a/data/icons/myfile_thumbnail_icon_video.png b/data/icons/myfile_thumbnail_icon_video.png
new file mode 100644 (file)
index 0000000..b4c1c66
Binary files /dev/null and b/data/icons/myfile_thumbnail_icon_video.png differ
diff --git a/data/icons/myfile_thumbnail_icon_video_play.png b/data/icons/myfile_thumbnail_icon_video_play.png
new file mode 100644 (file)
index 0000000..4fe90b2
Binary files /dev/null and b/data/icons/myfile_thumbnail_icon_video_play.png differ
diff --git a/data/icons/myfile_thumbnail_icon_word.png b/data/icons/myfile_thumbnail_icon_word.png
new file mode 100644 (file)
index 0000000..ef5b578
Binary files /dev/null and b/data/icons/myfile_thumbnail_icon_word.png differ
diff --git a/data/image/No_ex_stor.png b/data/image/No_ex_stor.png
new file mode 100644 (file)
index 0000000..248bd36
Binary files /dev/null and b/data/image/No_ex_stor.png differ
diff --git a/data/image/mf_new_folder_editfield_bg.png b/data/image/mf_new_folder_editfield_bg.png
new file mode 100644 (file)
index 0000000..6c671f4
Binary files /dev/null and b/data/image/mf_new_folder_editfield_bg.png differ
diff --git a/data/image/myfile_nocontent.png b/data/image/myfile_nocontent.png
new file mode 100644 (file)
index 0000000..0c4a33b
Binary files /dev/null and b/data/image/myfile_nocontent.png differ
diff --git a/data/navigation_view.edc b/data/navigation_view.edc
new file mode 100644 (file)
index 0000000..38cc952
--- /dev/null
@@ -0,0 +1,194 @@
+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
new file mode 100644 (file)
index 0000000..a9408c4
--- /dev/null
@@ -0,0 +1,178 @@
+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
new file mode 100644 (file)
index 0000000..9a6fc60
--- /dev/null
@@ -0,0 +1,112 @@
+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
new file mode 100644 (file)
index 0000000..828e3a5
--- /dev/null
@@ -0,0 +1,25 @@
+# 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
new file mode 100644 (file)
index 0000000..92bd4d0
--- /dev/null
@@ -0,0 +1,17 @@
+# 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
new file mode 100644 (file)
index 0000000..d74d85b
--- /dev/null
@@ -0,0 +1,317 @@
+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
new file mode 100644 (file)
index 0000000..0a8983c
--- /dev/null
@@ -0,0 +1,318 @@
+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
new file mode 100644 (file)
index 0000000..c642bef
--- /dev/null
@@ -0,0 +1,318 @@
+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
new file mode 100644 (file)
index 0000000..2ca2d04
--- /dev/null
@@ -0,0 +1,318 @@
+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
new file mode 100644 (file)
index 0000000..d6eb8c8
--- /dev/null
@@ -0,0 +1,318 @@
+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
new file mode 100644 (file)
index 0000000..0160efa
--- /dev/null
@@ -0,0 +1,318 @@
+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
new file mode 100644 (file)
index 0000000..348cacf
--- /dev/null
@@ -0,0 +1,318 @@
+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
new file mode 100644 (file)
index 0000000..737c103
--- /dev/null
@@ -0,0 +1,317 @@
+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
new file mode 100644 (file)
index 0000000..46b7e74
--- /dev/null
@@ -0,0 +1,318 @@
+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
new file mode 100644 (file)
index 0000000..db6a617
--- /dev/null
@@ -0,0 +1,318 @@
+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
new file mode 100644 (file)
index 0000000..0b051b7
--- /dev/null
@@ -0,0 +1,318 @@
+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
new file mode 100644 (file)
index 0000000..c8eb517
--- /dev/null
@@ -0,0 +1,317 @@
+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
new file mode 100644 (file)
index 0000000..1a8e7f9
--- /dev/null
@@ -0,0 +1,297 @@
+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
new file mode 100644 (file)
index 0000000..e89ee6e
--- /dev/null
@@ -0,0 +1,318 @@
+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
new file mode 100644 (file)
index 0000000..ce87de9
--- /dev/null
@@ -0,0 +1,318 @@
+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
new file mode 100644 (file)
index 0000000..2dbcc44
--- /dev/null
@@ -0,0 +1,318 @@
+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
new file mode 100644 (file)
index 0000000..0087b5c
--- /dev/null
@@ -0,0 +1,318 @@
+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
new file mode 100644 (file)
index 0000000..fc557f6
--- /dev/null
@@ -0,0 +1,318 @@
+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
new file mode 100644 (file)
index 0000000..18bc3d4
--- /dev/null
@@ -0,0 +1,318 @@
+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
new file mode 100644 (file)
index 0000000..616a071
--- /dev/null
@@ -0,0 +1,318 @@
+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
new file mode 100644 (file)
index 0000000..9b05a72
--- /dev/null
@@ -0,0 +1,318 @@
+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
new file mode 100644 (file)
index 0000000..dd6b4d8
--- /dev/null
@@ -0,0 +1,318 @@
+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
new file mode 100644 (file)
index 0000000..912e6a0
--- /dev/null
@@ -0,0 +1,318 @@
+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
new file mode 100644 (file)
index 0000000..2714cd6
--- /dev/null
@@ -0,0 +1,318 @@
+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
new file mode 100644 (file)
index 0000000..5d46f8f
--- /dev/null
@@ -0,0 +1,318 @@
+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
new file mode 100644 (file)
index 0000000..ddbbb47
--- /dev/null
@@ -0,0 +1,318 @@
+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
new file mode 100644 (file)
index 0000000..43b70c4
--- /dev/null
@@ -0,0 +1,318 @@
+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
new file mode 100644 (file)
index 0000000..8fce845
--- /dev/null
@@ -0,0 +1,318 @@
+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
new file mode 100644 (file)
index 0000000..685c196
--- /dev/null
@@ -0,0 +1,318 @@
+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
new file mode 100644 (file)
index 0000000..a3bd6ca
--- /dev/null
@@ -0,0 +1,318 @@
+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
new file mode 100644 (file)
index 0000000..da5ad4e
--- /dev/null
@@ -0,0 +1,318 @@
+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
new file mode 100644 (file)
index 0000000..0d7e01c
--- /dev/null
@@ -0,0 +1,318 @@
+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
new file mode 100644 (file)
index 0000000..1c2d8d5
--- /dev/null
@@ -0,0 +1,318 @@
+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
new file mode 100644 (file)
index 0000000..931df5f
--- /dev/null
@@ -0,0 +1,318 @@
+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
new file mode 100644 (file)
index 0000000..54afd4b
--- /dev/null
@@ -0,0 +1,314 @@
+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
new file mode 100644 (file)
index 0000000..76c0c79
--- /dev/null
@@ -0,0 +1,318 @@
+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
new file mode 100644 (file)
index 0000000..307739d
--- /dev/null
@@ -0,0 +1,318 @@
+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
new file mode 100644 (file)
index 0000000..6f5dc83
--- /dev/null
@@ -0,0 +1,318 @@
+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
new file mode 100644 (file)
index 0000000..9bbb247
--- /dev/null
@@ -0,0 +1,318 @@
+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
new file mode 100644 (file)
index 0000000..b939937
--- /dev/null
@@ -0,0 +1,318 @@
+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
new file mode 100644 (file)
index 0000000..dad2163
--- /dev/null
@@ -0,0 +1,318 @@
+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
new file mode 100644 (file)
index 0000000..a7acac8
--- /dev/null
@@ -0,0 +1,318 @@
+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
new file mode 100644 (file)
index 0000000..1223920
--- /dev/null
@@ -0,0 +1,318 @@
+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
new file mode 100644 (file)
index 0000000..4dad0e7
--- /dev/null
@@ -0,0 +1,318 @@
+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
new file mode 100644 (file)
index 0000000..bd98a9b
--- /dev/null
@@ -0,0 +1,318 @@
+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
new file mode 100644 (file)
index 0000000..c89d2ef
--- /dev/null
@@ -0,0 +1,94 @@
+# 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
new file mode 100644 (file)
index 0000000..778172e
--- /dev/null
@@ -0,0 +1,318 @@
+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/update-po.sh b/data/po/update-po.sh
new file mode 100644 (file)
index 0000000..ff5bff7
--- /dev/null
@@ -0,0 +1,57 @@
+#!/bin/sh
+
+PACKAGE=ug-myfile-efl
+SRCROOT=../
+POTFILES=POTFILES.in
+
+#ALL_LINGUAS= am az be ca cs da de el en_CA en_GB es et fi fr hr hu it ja ko lv mk ml ms nb ne nl pa pl pt pt_BR ru rw sk sl sr sr@Latn sv ta tr uk vi zh_CN zh_TW
+ALL_LINGUAS="en_US en_GB ja ko zh_CN"
+
+XGETTEXT=/usr/bin/xgettext
+MSGMERGE=/usr/bin/msgmerge
+
+echo -n "Make ${PACKAGE}.pot  "
+if [ ! -e $POTFILES ] ; then
+       echo "$POTFILES not found"
+       exit 1
+fi
+
+$XGETTEXT --default-domain=${PACKAGE} --directory=${SRCROOT} \
+               --add-comments --keyword=_ --keyword=N_ --files-from=$POTFILES \
+&& test ! -f ${PACKAGE}.po \
+       || (rm -f ${PACKAGE}.pot && mv ${PACKAGE}.po ${PACKAGE}.pot)
+
+if [ $? -ne 0 ]; then
+       echo "error"
+       exit 1
+else
+       echo "done"
+fi
+
+for LANG in $ALL_LINGUAS; do 
+       echo "$LANG : "
+
+       if [ ! -e $LANG.po ] ; then
+               sed 's/CHARSET/UTF-8/g' ${PACKAGE}.pot > ${LANG}.po
+               echo "${LANG}.po created"
+       else
+               if $MSGMERGE ${LANG}.po ${PACKAGE}.pot -o ${LANG}.new.po ; then
+                       if cmp ${LANG}.po ${LANG}.new.po > /dev/null 2>&1; then
+                               rm -f ${LANG}.new.po
+                       else
+                               if mv -f ${LANG}.new.po ${LANG}.po; then
+                                       echo "" 
+                               else
+                                       echo "msgmerge for $LANG.po failed: cannot move $LANG.new.po to $LANG.po" 1>&2
+                                       rm -f ${LANG}.new.po
+                                       exit 1
+                               fi
+                       fi
+               else
+                       echo "msgmerge for $LANG failed!"
+                       rm -f ${LANG}.new.po
+               fi
+       fi
+       echo ""
+done
+
diff --git a/data/po/uz.po b/data/po/uz.po
new file mode 100644 (file)
index 0000000..c0e84b3
--- /dev/null
@@ -0,0 +1,318 @@
+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
new file mode 100644 (file)
index 0000000..464e17f
--- /dev/null
@@ -0,0 +1,318 @@
+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
new file mode 100644 (file)
index 0000000..33e8318
--- /dev/null
@@ -0,0 +1,318 @@
+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
new file mode 100644 (file)
index 0000000..99adf4d
--- /dev/null
@@ -0,0 +1,318 @@
+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
new file mode 100644 (file)
index 0000000..b22bd6b
--- /dev/null
@@ -0,0 +1,318 @@
+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
new file mode 100644 (file)
index 0000000..c66b86d
--- /dev/null
@@ -0,0 +1,176 @@
+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
new file mode 100644 (file)
index 0000000..9bdd3ea
--- /dev/null
@@ -0,0 +1,28 @@
+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
new file mode 100644 (file)
index 0000000..ab4aaa0
--- /dev/null
@@ -0,0 +1,38 @@
+/*
+ * 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
new file mode 100644 (file)
index 0000000..ef1ec78
--- /dev/null
@@ -0,0 +1,98 @@
+#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/gbs/.gbs.conf b/gbs/.gbs.conf
new file mode 100644 (file)
index 0000000..8bc3456
--- /dev/null
@@ -0,0 +1,37 @@
+[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/packaging/ug-myfile-efl.spec b/packaging/ug-myfile-efl.spec
new file mode 100644 (file)
index 0000000..2fa7ad6
--- /dev/null
@@ -0,0 +1,57 @@
+#sbs-git:slp/pkgs/u/ug-myfile-efl ug-myfile-efl 0.0.1 1b44640a2e59d1af1ab0792e39a73bf3680b25c9
+Name:       ug-myfile-efl
+Summary:    Myfile UI Gadget (EFL)
+Version:    0.0.48
+Release:    1
+Group:      misc
+License:    Flora
+Source0:    %{name}-%{version}.tar.gz
+
+BuildRequires:  cmake
+BuildRequires:  edje-bin
+BuildRequires:  embryo-bin
+BuildRequires:  gettext
+
+BuildRequires:  pkgconfig(ecore-x)
+BuildRequires:  pkgconfig(ecore-evas)
+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(dlog)
+BuildRequires:  pkgconfig(capi-media-sound-manager)
+BuildRequires:  pkgconfig(capi-media-player)
+BuildRequires:  pkgconfig(capi-content-media-content)
+BuildRequires:  pkgconfig(capi-system-power)
+BuildRequires:  pkgconfig(notification)
+BuildRequires: pkgconfig(utilX)
+
+
+%description
+Myfile UI Gadget (EFL) v1.0.
+
+%prep
+%setup -q -n %{name}-%{version}
+
+%build
+cmake . -DCMAKE_INSTALL_PREFIX="%{PREFIX}"
+make %{?jobs:-j%jobs}
+
+%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
+
+%files
+%manifest ug-myfile-efl.manifest
+%defattr(-,root,root,-)
+/usr/ug/lib/*
+/usr/ug/res/*
+/usr/share/packages/*.xml
+/usr/share/license/%{name}
diff --git a/src/common/file-system/mf-ug-file-attr.c b/src/common/file-system/mf-ug-file-attr.c
new file mode 100644 (file)
index 0000000..4376de2
--- /dev/null
@@ -0,0 +1,1319 @@
+/*
+ * 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 <regex.h>
+#include <sys/types.h>
+#include <media_content.h>
+#include <drm_client.h>
+#include <drm_client_types.h>
+#include "mf-ug-fs-util.h"
+#include "mf-ug-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 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*/
+};
+
+typedef struct __ug_transfer_data_s ug_transfer_data_s;
+
+struct __ug_transfer_data_s {
+    const char *file_path;
+    char *thumbnail_path;
+};
+
+
+struct _ug_ftype_by_mime {
+    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},
+};
+
+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,
+};
+
+/*********************
+**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
+**
+*********************/
+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;
+}
+
+/*********************
+**Function name:    mf_ug_file_attr_is_valid_name
+**Parameter:
+**  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
+**
+**Action:
+**  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(&reg, pattern, cflags);
+
+    if (z != 0) {
+        regerror(z, &reg, ebuf, sizeof(ebuf));
+        fprintf(stderr, "%s: pattern '%s' \n", ebuf, pattern);
+        return MYFILE_ERR_INVALID_FILE_NAME;
+    }
+
+    z = regexec(&reg, filename, nmatch, pm, 0);
+    if (z == REG_NOMATCH) {
+        ret = MYFILE_ERR_NONE;
+    } else {
+        ret = MYFILE_ERR_INVALID_FILE_NAME;
+    }
+    regfree(&reg);
+    return ret;
+}
+
+
+/******************************
+** Prototype    : __mf_ug_file_attr_default_icon_get_by_type
+** Description  : Samsung
+** Input        : mf_ug_fs_file_type ftype
+** Output       : None
+** Return Value :
+** Calls        :
+** Called By    :
+**
+**  History        :
+**  1.Date         : 2010/12/10
+**    Author       : Samsung
+**    Modification : Created function
+**
+******************************/
+static char *__mf_ug_file_attr_default_icon_get_by_type(mf_ug_fs_file_type ftype)
+{
+    char *icon_path = NULL;
+
+    if (icon_array[ftype]) {
+        icon_path = strdup(icon_array[ftype]);
+    } else {
+        icon_path = strdup(UG_DEFAULT_ICON);
+    }
+
+    return icon_path;
+}
+
+
+/******************************
+** Prototype    : mf_ug_file_attr_get_parent_path
+** Description  : Samsung
+** Input        : const char* path
+**                char* parent_path
+** Output       : None
+** Return Value :
+** Calls        :
+** Called By    :
+**
+**  History        :
+**  1.Date         : 2010/12/10
+**    Author       : Samsung
+**    Modification : Created function
+**
+******************************/
+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;
+}
+
+
+/*********************
+**Function name:    mf_get_category
+**Parameter:
+**  const char* filepath:   file fullpath
+**  mf_ug_fs_file_type *category:   output parameter of category
+**Return value:
+**  error code
+**
+**Action:
+**  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 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;
+    }
+}
+
+/*********************
+**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
+**Return value:
+**  error code
+**
+**Action:
+**  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;
+
+    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;
+    }
+
+    (*node)->size = statbuf.st_size;
+    (*node)->date = statbuf.st_mtime;
+
+    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)
+{
+    return ecore_file_is_dir(filepath);
+}
+
+/*********************
+**Function name:    mf_ug_file_attr_get_store_type_by_full
+**Parameter:
+**  const char* filepath:   file full path
+**  mf_ug_storage_type *store_type:     output parameter of storage type
+**Return value:
+**  error code
+**
+**Action:
+**  Get file storage type by file path
+**
+*********************/
+int mf_ug_file_attr_get_store_type_by_full(const char *filepath, mf_ug_storage_type * store_type)
+{
+    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_is_drm_file
+**Parameter:
+**  const char* filepath:   file full path
+**
+**Return value:
+**  true if it is a DRM file
+**  false if it is not a DRM file
+**
+**Action:
+**  check if file is drm file
+**
+*********************/
+int mf_ug_file_attr_is_drm_file(const char *file_fullpath)
+{
+    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;
+}
+
+/*********************
+**Function name:    mf_ug_file_attr_get_file_ext
+**Parameter:
+**  const char* filepath:   file full path
+**  char *file_ext:         output parameter of file extension
+**
+**Return value:
+**  error code
+**
+**Action:
+**  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;
+    }
+}
+
+
+
+/*********************
+**Function name:    mf_ug_file_attr_is_right_dir_path
+**Parameter:
+**  const char *filename:   the file/dir name we need to check
+**
+**Return value:
+**  error code
+**
+**Action:
+**  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;
+
+    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[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);
+
+    if (result != MYFILE_ERR_NONE) {
+        ug_mf_error("Is NOT Valid dir path name");
+    }
+
+    return result;
+}
+
+/*********************
+**Function name:    mf_ug_file_attr_is_right_file_path
+**Parameter:
+**  const char *filename:   the file/dir name we need to check
+**
+**Return value:
+**  error code
+**
+**Action:
+**  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;
+
+    if (strlen(file_path) == 0) {
+        return MYFILE_ERR_INVALID_FILE_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");
+    }
+
+    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;
+ ERROR:
+    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);
+
+    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;
+
+    media_info_get_thumbnail_path(media, &(tmp_data->thumbnail_path));
+
+    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;
+    }
+
+
+    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;
+
+}
+
+int mf_ug_file_attr_get_thumbnail(void *data)
+{
+    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;
+
+    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;
+
+    ret = __mf_ug_local_thumbnail_get(data, &filter);
+    UG_SAFE_FREE_CHAR(condition);
+
+
+    return ret;
+}
+
+int mf_ug_file_attr_get_file_icon(const char *file_path, int *error_code, char **thumbnail)
+{
+    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;
+}
+
+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;
+
+}
+
+
+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;
+}
+
+
+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;
+
+}
+
+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 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;
+    }
+}
+
+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;
+}
+
diff --git a/src/common/file-system/mf-ug-fs-oper.c b/src/common/file-system/mf-ug-fs-oper.c
new file mode 100644 (file)
index 0000000..ad1c556
--- /dev/null
@@ -0,0 +1,1034 @@
+/*
+ * 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 <libgen.h>
+#include <glib.h>
+#include "mf-ug-fs-util.h"
+#include "mf-ug-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);
+static int __mf_ug_fs_oper_sort_by_type_cb_A2Z(const void *d1, const void *d2);
+static int __mf_ug_fs_oper_sort_by_size_cb_S2L(const void *d1, const void *d2);
+static int __mf_ug_fs_oper_sort_by_name_cb_Z2A(const void *d1, const void *d2);
+static int __mf_ug_fs_oper_sort_by_date_cb_R2O(const void *d1, const void *d2);
+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
+**Parameter:
+**  const char* src:    source path
+**  const char* dst:    destination path
+**  int check_option:   check option
+**
+**Return value:
+**  error code
+**
+**Action:
+**  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;
+}
+
+
+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;
+}
+
+/*********************
+**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
+**
+**Return value:
+**  error code
+**
+**Action:
+**  read element under the specified path
+**
+*********************/
+int mf_ug_fs_oper_read_dir(const 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;
+            }
+        }
+#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;
+}
+
+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;
+}
+
+int mf_ug_fs_oper_list_filter(Eina_List *in_list, Eina_List **out_list, int option, int drm_opt)
+{
+    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;
+}
+
+/******************************
+** Prototype    : ug_mf_list_filter_by_extention
+** Description  : filter from list by extension
+** Input        : Eina_List *in_list
+**                Eina_List **out_list
+**                char* ext
+** Output       : None
+** Return Value :
+** Calls        :
+** Called By    :
+**
+**  History        :
+**  1.Date         : 2010/12/10
+**    Author       : Samsung
+**    Modification : Created function
+**
+******************************/
+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;
+}
+
+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;
+}
+/*********************
+**Function name:    __sort_by_name_cb
+**Parameter:
+**  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
+**
+**Action:
+**  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;
+
+}
+
+/*********************
+**Function name:    __sort_by_date_cb
+**Parameter:
+**  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
+**
+**Action:
+**  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;
+}
+
+/*********************
+**Function name:    __sort_by_type_cb
+**Parameter:
+**  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
+**
+**Action:
+**  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;
+}
+
+/*order:    the one with smaller size will be shown earlier*/
+/*********************
+**Function name:    __sort_by_name_cb
+**Parameter:
+**  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
+**
+**Action:
+**  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;
+}
+
+/*********************
+**Function name:    __mf_fs_oper_sort_by_name_cb_Z2A
+**Parameter:
+**  const void *d1: node1 to compare
+**  const void *d2: node2 to compare
+**
+**Return value:
+**  1   if d1 > d2
+**  -1  if d1 <= d2
+**
+**Action:
+**  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);
+    }
+}
+
+/*********************
+**Function name:    __sort_by_date_cb
+**Parameter:
+**  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
+**
+**Action:
+**  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;
+}
+
+/*********************
+**Function name:    __sort_by_type_cb
+**Parameter:
+**  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
+**
+**Action:
+**  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;
+}
+
+/*order:    the one with smaller size will be shown earlier*/
+/*********************
+**Function name:    __sort_by_name_cb
+**Parameter:
+**  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
+**
+**Action:
+**  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;
+}
+
+/*********************
+**Function name:    mf_fs_oper_sort_list
+**Parameter:
+**  Eina_List **list:   the list we need to sort
+**  int sort_opt:       sort option
+**
+**Return value:
+**  void
+**
+**Action:
+**  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);
+}
+
+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;
+    }
+
+    ret = mf_ug_file_attr_is_right_dir_path(dir);
+
+    if (ret != 0) {
+        return ret;
+    }
+
+    mode_t default_mode = S_IRUSR | S_IWUSR | S_IXUSR | S_IRGRP | S_IXGRP | S_IROTH | S_IXOTH;
+
+    if (mkdir(dir, default_mode) < 0) {
+        return MYFILE_ERR_DIR_CREATE_FAIL;
+    }
+    return MYFILE_ERR_NONE;
+}
+
diff --git a/src/common/mf-ug-cb.c b/src/common/mf-ug-cb.c
new file mode 100644 (file)
index 0000000..f7ad1a5
--- /dev/null
@@ -0,0 +1,1701 @@
+/*
+ * Copyright 2012          Samsung Electronics Co., Ltd
+ *
+ * Licensed under the Flora License, Version 1.1 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *  http://floralicense.org/license/
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <stdio.h>
+#include <Elementary.h>
+#include <vconf.h>
+#include <vconf-keys.h>
+#include <pthread.h>
+#include <power.h>
+
+#include "mf-ug-main.h"
+#include "mf-ug-util.h"
+#include "mf-ug-inotify-handle.h"
+#include "mf-ug-winset.h"
+#include "mf-ug-fs-util.h"
+#include "mf-ug-fm-svc-wrapper.h"
+#include "mf-ug-resource.h"
+#include "mf-ug-list-play.h"
+
+#define UG_MAX_LEN_VIB_DURATION         0.5
+#ifdef UG_OPERATION_SELECT_MODE
+#define RESULT_KEY      "http://tizen.org/appcontrol/data/selected"
+#endif
+/******************************
+** Prototype    : mf_ug_cb_back_button_cb
+** 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_back_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) {
+        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;
+
+}
+
+/******************************
+** Prototype    : mf_ug_cb_add_button_cb
+** 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_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");
+
+    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;
+}
+
+void mf_ug_cb_list_by_response_cb(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);
+
+    Evas_Object *unUsed = elm_object_part_content_unset(playout, "part1");
+    evas_object_del(unUsed);
+
+    elm_object_part_content_set(playout, "part1", newContent);
+
+}
+
+
+void mf_ug_cb_list_by_button_callback(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);
+}
+
+
+void mf_ug_cb_popup_deleted_cb(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);
+
+    if (ugd->ug_MainWindow.ug_pNormalPopup != NULL) {
+        evas_object_del(ugd->ug_MainWindow.ug_pNormalPopup);
+    }
+    ugd->ug_MainWindow.ug_pNormalPopup = NULL;
+
+}
+
+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)
+{
+    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);
+}
+
+
+/******************************
+** Prototype    : _ug_popup_exit
+** 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_cb_mass_storage_popup_cb(void *data)
+{
+    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);
+
+    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");
+
+    Evas_Object *upper_ic = (Evas_Object *)data;
+    elm_image_file_set(upper_ic, UG_TITLE_ICON_UPPER_PRESS, NULL);
+}
+
+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");
+
+    Evas_Object *upper_ic = (Evas_Object *)data;
+    elm_image_file_set(upper_ic, UG_TITLE_ICON_UPPER, NULL);
+}
+
+
+/******************************
+** Prototype    : mf_ug_cb_upper_click_cb
+** Description  : Samsung
+** 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_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;
+}
+
+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");
+
+    Evas_Object *home_ic = (Evas_Object *)data;
+    elm_image_file_set(home_ic, UG_TITLE_ICON_HOME_PRESS, NULL);
+}
+
+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");
+
+    Evas_Object *home_ic = (Evas_Object *)data;
+    elm_image_file_set(home_ic, UG_TITLE_ICON_HOME, NULL);
+}
+
+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;
+}
+
+/******************************
+** Prototype    : mf_ug_cb_list_play_cb
+** Description  : Samsung
+** Input        : ugListItemData *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_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;
+
+    if (itemData->ug_pData->ug_Status.ug_b_NaviPushFlag)
+        return;
+
+    mf_ug_list_play_play_music_item(itemData);
+
+    UG_TRACE_END;
+}
+
+/******************************
+** Prototype    : mf_ug_cb_select_info_show_cb
+** Description  : Samsung
+** Input        : void *data
+**                Evas *e
+**                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_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;
+}
+
+/******************************
+** Prototype    : mf_ug_cb_select_info_hide_cb
+** Description  : Samsung
+** Input        : void *data
+**                Evas *e
+**                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_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;
+}
+
+/******************************
+** Prototype    : mf_ug_cb_select_info_timeout_cb
+** Description  : Samsung
+** 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_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;
+}
+
+
+/******************************
+** Prototype    : mf_ug_cb_mmc_changed_cb
+** Description  : Samsung
+** Input        : keynode_t *key
+**                void* data
+** Output       : None
+** Return Value :
+** Calls        :
+** Called By    :
+**
+**  History        :
+**  1.Date         : 2010/12/10
+**    Author       : Samsung
+**    Modification : Created function
+**
+******************************/
+static void __mf_ug_cb_mmc_remove_view_operation(void *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);
+
+}
+
+void mf_ug_cb_mmc_changed_cb(keynode_t *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;
+}
+
+/******************************
+** Prototype    : mf_ug_cb_dir_update_cb
+** Description  : Samsung
+** Input        : mf_ug_inotify_event event
+**                char *name
+**                void *data
+** Output       : None
+** Return Value :
+** Calls        :
+** Called By    :
+**
+**  History        :
+**  1.Date         : 2010/12/10
+**    Author       : Samsung
+**    Modification : Created function
+**
+******************************/
+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_debug("event : %d, name : %s", event, name);
+
+    ug_dir_event_t buffer;
+
+    buffer.event = event;
+    buffer.name = strdup(name);
+
+    ecore_pipe_write(ugd->ug_UiGadget.ug_pInotifyPipe, &buffer, sizeof(buffer));
+    UG_TRACE_END;
+
+    return;
+}
+
+/******************************
+** Prototype    : mf_ug_cb_dir_pipe_cb
+** Description  : Samsung
+** Input        : void *data
+**                void *buffer
+**                unsigned int nbyte
+** Output       : None
+** Return Value :
+** Calls        :
+** Called By    :
+**
+**  History        :
+**  1.Date         : 2010/12/10
+**    Author       : Samsung
+**    Modification : Created function
+**
+******************************/
+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;
+}
+
+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;
+}
+
+
+#ifdef  UG_THUMB_REAL_TIME_UPDATE
+Eina_Bool mf_ug_cb_thumb_timer_cb(void *data)
+{
+    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;
+    }
+}
+#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);
+
+}
+
+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;
+
+    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;
+    }
+}
+
+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_END;
+}
+
+void mf_ug_cb_eraser_clicked_cb(void *data, Evas_Object *obj, const char *emission, const char *source)
+{
+    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_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);
+    }
+
+}
+
+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;
+}
+
+
+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;
+        }
+    }
+}
+
+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;
+}
+
+
+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_SAFE_FREE_OBJ(ugd->ug_MainWindow.ug_pSearchPopup);
+    ugd->ug_Status.popup_del_idler = NULL;
+
+    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");
+
+    Evas_Object *home_button_ic = (Evas_Object *)data;
+    elm_image_file_set(home_button_ic, UG_ICON_ENTRY_FOLDER_PRESS, NULL);
+}
+
+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");
+
+    Evas_Object *home_button_ic = (Evas_Object *)data;
+    elm_image_file_set(home_button_ic, UG_ICON_ENTRY_FOLDER, NULL);
+}
+
+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);
+}
+
+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;
+
+    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, 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;
+
+    mf_ug_context_popup_create_more(ugd, obj);
+}
+
+
diff --git a/src/common/mf-ug-fm-svc-wapper.c b/src/common/mf-ug-fm-svc-wapper.c
new file mode 100644 (file)
index 0000000..4cea7b6
--- /dev/null
@@ -0,0 +1,946 @@
+/*
+ * 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 <sys/statvfs.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("/")
+typedef struct {
+         int len_orig;
+         int len_trans;
+         char *original;
+         char *transfer;
+         bool flag_trans;
+}ug_pNode;
+
+/*********************
+**Function name:    __mf_ug_fm_svc_wapper_COMESFROM
+**Parameter:
+**  GString* fullpath:  fullpath to check the location
+**
+**Return value:
+**  location of the path
+**
+**Action:
+**  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;
+    }
+}
+
+/******************************
+** Prototype    : _ug_mf_get_file_list
+** Description  :
+** Input        : struct ugmyfiledata *data
+**                GString* folder_name
+**                Eina_List** dir_list
+**                Eina_List** file_list
+** Output       : None
+** Return Value :
+** Calls        :
+** Called By    :
+**
+**  History        :
+**  1.Date         : 2010/12/10
+**    Author       : Samsung
+**    Modification : Created function
+**
+******************************/
+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;
+}
+
+
+/******************************
+** Prototype    : mfUgGetFileListWithFormat
+** Description  :
+** Input        : struct ugmyfiledata *data
+**                GString* folder_name
+**                Eina_List** dir_list
+**                Eina_List** file_list
+** Output       : None
+** Return Value :
+** Calls        :
+** Called By    :
+**
+**  History        :
+**  1.Date         : 2010/12/10
+**    Author       : Samsung
+**    Modification : Created function
+**
+******************************/
+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;
+}
+
+int mf_ug_fm_svc_wapper_get_drm_filter(int drm_filter_mode, unsigned long file_filter)
+{
+    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;
+}
+
+int mf_ug_fm_svc_wapper_get_file_list_by_filter(ugData *data, GString *fullpath, Eina_List **dir_list, Eina_List **filter_list)
+{
+    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;
+}
+
+
+
+/******************************
+** Prototype    : mfUgIsRootPath
+** Description  :
+** Input        : None
+** Output       : None
+** Return Value :
+** Calls        :
+** Called By    :
+**
+**  History        :
+**  1.Date         : 2010/12/10
+**    Author       : Samsung
+**    Modification : Created function
+**
+******************************/
+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;
+    }
+}
+
+
+/******************************
+** Prototype    : mfUgGetFileName
+** Description  :
+** Input        : GString* path
+** Output       : None
+** Return Value :
+** Calls        :
+** Called By    :
+**
+**  History        :
+**  1.Date         : 2010/12/10
+**    Author       : Samsung
+**    Modification : Created function
+**
+******************************/
+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;
+}
+
+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;
+}
+
+/******************************
+** Prototype    : mf_ug_fm_svc_wapper_get_location
+** Description  : Samsung
+** Input        : char* fullpath
+** Output       : None
+** Return Value :
+** Calls        :
+** Called By    :
+**
+**  History        :
+**  1.Date         : 2010/12/10
+**    Author       : Samsung
+**    Modification : Created function
+**
+******************************/
+int mf_ug_fm_svc_wapper_get_location(char *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;
+
+}
+
+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;
+}
+
+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;
+    }
+}
+
+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);
+}
+
+
+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;
+}
+
+
+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;
+}
+
+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;
+
+}
+
+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;
+}
+
+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;
+    }
+}
+
+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;
+}
+
+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)
+{
+    //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;
+
+Exception:
+    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;
+}
+
+int mf_ug_fm_svc_wrapper_create_service(void *data, GString *fullpath)
+{
+    int error_code;
+
+    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");
+    }
+
+    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);
+
+    if (ecore_file_exists(parent) == false) {
+        error_code = mf_ug_fm_svc_wrapper_create_p(parent);
+        goto_if(error_code != MYFILE_ERR_NONE, EXIT);
+
+    }
+
+    ug_debug("create [%s]", fullpath);
+    error_code = mf_ug_fs_oper_create_dir(fullpath);
+    goto_if(error_code != MYFILE_ERR_NONE, EXIT);
+
+EXIT:
+    return error_code;
+}
diff --git a/src/common/mf-ug-inotify-handle.c b/src/common/mf-ug-inotify-handle.c
new file mode 100644 (file)
index 0000000..53734db
--- /dev/null
@@ -0,0 +1,349 @@
+/*
+ * Copyright 2012          Samsung Electronics Co., Ltd
+ *
+ * Licensed under the Flora License, Version 1.1 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *  http://floralicense.org/license/
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <stdio.h>
+#include <glib.h>
+#include <sys/inotify.h>
+#include <sys/types.h>
+#include <sys/stat.h>
+#include <unistd.h>
+#include <stdint.h>
+#include <fcntl.h>
+#include <errno.h>
+#include <pthread.h>
+
+#include "mf-ug-dlog.h"
+#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
+
+#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
+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;
+} mf_inotify_t;
+
+static pthread_mutex_t mf_noti_lock;
+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;
+}
+
+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;
+}
+
+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;
+}
+
+
+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;
+}
+
+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;
+}
+
+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;
+}
+
+
+
+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;
+}
+
+void mf_ug_inotify_handle_finalize_inotify(void)
+{
+    mf_inotify_t *handle = NULL;
+    handle = g_handle;
+
+    ug_mf_retm_if(handle == NULL, "handle is NULL");
+
+    if (handle->fd >= 0 && handle->wd >= 0) {
+        mf_ug_inotify_handle_rm_inotify_watch();
+    }
+
+    pthread_cancel(handle->monitor);
+    pthread_join(handle->monitor, NULL);
+
+    __mf_ug_inotify_handle_free_handle();
+
+    return;
+}
diff --git a/src/common/mf-ug-list-play.c b/src/common/mf-ug-list-play.c
new file mode 100644 (file)
index 0000000..74f46c6
--- /dev/null
@@ -0,0 +1,1785 @@
+/*
+ * Copyright 2012          Samsung Electronics Co., Ltd
+ *
+ * Licensed under the Flora License, Version 1.1 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *  http://floralicense.org/license/
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <stdio.h>
+#include <Elementary.h>
+#include <Ecore_X.h>
+#include <vconf.h>
+#include <stdbool.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"
+#include "mf-ug-util.h"
+#include "mf-ug-winset.h"
+#include "mf-ug-dlog.h"
+#include "mf-ug-fs-util.h"
+#include "mf-ug-resource.h"
+#include "mf-ug-list-play.h"
+static mf_player_cbs *g_player_cbs = NULL;
+static Ecore_Pipe *g_player_pipe = NULL;
+
+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)
+{
+    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;
+    }
+}
+
+
+/******************************
+** 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
+** 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 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)
+{
+    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;
+}
+
+/******************************
+** Prototype    : mf_ug_list_play_update_item_icon
+** Description  :
+** Input        : ugListItemData *data
+**                int state
+** Output       : None
+** Return Value :
+** Calls        :
+** Called By    :
+**
+**  History        :
+**  1.Date         : 2010/12/10
+**    Author       : Samsung
+**    Modification : Created function
+**
+******************************/
+static void __mf_ug_list_play_icon_hide(ugListItemData *itemData)
+{
+    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;
+
+}
+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);
+    }
+
+}
+
+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;
+}
+
+
+/******************************
+** Prototype    : __mf_ug_list_play_set_play_start_status
+** Description  :
+** Input        : ugListItemData *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_set_play_start_status(void *data, char *path)
+{
+    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;
+}
+
+/******************************
+** Prototype    : __mf_ug_list_play_set_play_resume_status
+** Description  :
+** Input        : ugListItemData *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_set_play_resume_status(void *data)
+{
+    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;
+}
+
+/******************************
+** Prototype    : __mf_ug_list_play_set_play_pause_status
+** Description  :
+** Input        : ugListItemData *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_set_play_pause_status(ugData *data)
+{
+    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;
+}
+
+/******************************
+** Prototype    : _mp_player_mgr_create
+** Description  :
+** Input        : void *data
+**                const gchar *path
+** Output       : None
+** Return Value :
+** Calls        :
+** Called By    :
+**
+**  History        :
+**  1.Date         : 2010/12/10
+**    Author       : Samsung
+**    Modification : Created function
+**
+******************************/
+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);
+    }
+}
+
+
+static void
+__mf_ug_list_play_mgr_completed_cb(void *userdata)
+{
+    UG_TRACE_BEGIN;
+    MF_CHECK(g_player_pipe);
+
+    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));
+}
+
+static void
+__mf_ug_list_play_mgr_interrupted_cb(player_interrupted_code_e code, void *userdata)
+{
+    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;
+
+    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);
+
+    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));
+}
+
+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;
+    }
+
+}
+
+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;
+    }
+
+}
+
+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;
+    }
+
+}
+
+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;
+
+}
+
+/******************************
+** Prototype    : _mp_player_mgr_set_msg_callback
+** Description  :
+** Input        : MMMessageCallback cb
+**                gpointer user_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_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;
+}
+
+static void __mf_ug_list_play_pauset(void *data)
+{
+    UG_TRACE_BEGIN;
+
+    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;
+}
+
+static void __mf_ug_list_play_complete_cb(void *data)
+{
+    UG_TRACE_BEGIN;
+
+    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;
+}
+
+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;
+
+}
+
+static void
+__mf_list_play_control_prepare_cb(void *userdata)
+{
+    UG_TRACE_BEGIN;
+
+    __mf_ug_list_play_play_current_file(userdata);
+}
+
+
+/******************************
+** Prototype    : _mp_player_mgr_realize
+** Description  :
+** Input        : ugListItemData *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_prepare_cb(void *userdata)
+{
+    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;
+
+    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;
+}
+
+
+/******************************
+** Prototype    : __mf_ug_list_play_ready_new_file_play
+** Description  : Samsung
+** Input        : void *data
+**                bool drm_check_flag
+** Output       : None
+** Return Value :
+** Calls        :
+** Called By    :
+**
+**  History        :
+**  1.Date         : 2010/12/10
+**    Author       : Samsung
+**    Modification : Created function
+**
+******************************/
+/*void mf_player_mgr_set_started_cb(player_started_cb  callback, void *user_data)
+{
+    MF_CHECK(g_player_cbs);
+
+    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);
+
+    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);
+
+    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);
+
+    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);
+
+    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);
+
+    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);
+
+    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;
+}
+
+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);
+    }
+}
+
+
+static bool __mf_ug_list_play_ready_new_file_play(void *data, bool drm_check_flag)
+{
+
+    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;
+    }
+
+}
+
+
+/******************************
+** Prototype    : _mp_player_mgr_play
+** Description  :
+** Input        : ugListItemData *data
+** Output       : None
+** Return Value :
+** Calls        :
+** Called By    :
+**
+**  History        :
+**  1.Date         : 2010/12/10
+**    Author       : Samsung
+**    Modification : Created function
+**
+******************************/
+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;
+    }
+}
+
+/******************************
+** Prototype    : __mf_ug_list_play_stop
+** Description  :
+** Input        : void *data
+** Output       : None
+** Return Value :
+** Calls        :
+** Called By    :
+**
+**  History        :
+**  1.Date         : 2010/12/10
+**    Author       : Samsung
+**    Modification : Created function
+**
+******************************/
+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;
+}
+
+/******************************
+** Prototype    : __mf_ug_list_play_unrealize
+** Description  :
+** Input        : void *data
+** Output       : None
+** Return Value :
+** Calls        :
+** Called By    :
+**
+**  History        :
+**  1.Date         : 2010/12/10
+**    Author       : Samsung
+**    Modification : Created function
+**
+******************************/
+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;
+}
+
+/******************************
+** Prototype    : __mf_ug_list_play_destory
+** Description  :
+** Input        : void *data
+** Output       : None
+** Return Value :
+** Calls        :
+** Called By    :
+**
+**  History        :
+**  1.Date         : 2010/12/10
+**    Author       : Samsung
+**    Modification : Created function
+**
+******************************/
+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;
+}
+
+/******************************
+** Prototype    : __mf_ug_list_play_play_current_file
+** Description  : Samsung
+** Input        : ugData *data
+** Output       : None
+** Return Value :
+** Calls        :
+** Called By    :
+**
+**  History        :
+**  1.Date         : 2010/12/10
+**    Author       : Samsung
+**    Modification : Created function
+**
+******************************/
+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;
+}
+
+
+/******************************
+** Prototype    : __mf_ug_list_play_resume
+** Description  :
+** Input        : ugListItemData *data
+** Output       : None
+** Return Value :
+** Calls        :
+** Called By    :
+**
+**  History        :
+**  1.Date         : 2010/12/10
+**    Author       : Samsung
+**    Modification : Created function
+**
+******************************/
+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;
+
+}
+
+
+/******************************
+** Prototype    : __mf_ug_list_play_pause
+** Description  :
+** Input        : ugListItemData *data
+** Output       : None
+** Return Value :
+** Calls        :
+** Called By    :
+**
+**  History        :
+**  1.Date         : 2010/12/10
+**    Author       : Samsung
+**    Modification : Created function
+**
+******************************/
+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;
+}
+
+
+/******************************
+** Prototype    : mp_play_control_cb
+** Description  :
+** Input        : ugListItemData *data
+**                int  state
+** Output       : None
+** Return Value :
+** Calls        :
+** Called By    :
+**
+**  History        :
+**  1.Date         : 2010/12/10
+**    Author       : Samsung
+**    Modification : Created function
+**
+******************************/
+void 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);
+        }
+    }
+}
+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;
+}
+
+static bool __mf_ug_list_play_play_new_file(ugListItemData *data, bool drm_check_flag)
+{
+    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");
+
+    __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_list_play_play_current_file(itemData)) {
+        UG_TRACE_END;
+        return false;
+    }
+    UG_TRACE_END;
+
+    return true;
+}
+
+
+/******************************
+** Prototype    : _music_item_play
+** Description  :
+** Input        : ugListItemData *param
+** Output       : None
+** Return Value :
+** Calls        :
+** Called By    :
+**
+**  History        :
+**  1.Date         : 2010/12/10
+**    Author       : Samsung
+**    Modification : Created function
+**
+******************************/
+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");
+
+    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;
+
+}
+
+/******************************
+** Prototype    : mf_ug_list_play_destory_playing_file
+** Description  :
+** Input        : ugListItemData *data
+** Output       : None
+** Return Value :
+** Calls        :
+** Called By    :
+**
+**  History        :
+**  1.Date         : 2010/12/10
+**    Author       : Samsung
+**    Modification : Created function
+**
+******************************/
+void mf_ug_list_play_reset_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);
+
+}
+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_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_error("ret is [%d]", ret);
+    UG_TRACE_END;
+    return type;
+}
+
+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_error("ret is [%d]", ret);
+    UG_TRACE_END;
+    return volume;
+
+}
+
+static void mf_ug_player_set_volume(sound_type_e type, int volume)
+{
+    UG_TRACE_BEGIN;
+    int ret = 0;
+    ret = sound_manager_set_volume(type, volume);
+    ug_error("ret is [%d]", ret);
+    UG_TRACE_END;
+}
+
+
+static void mf_ug_player_vol_type_set(mf_player_volume_type type)
+{
+    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;
+}
+
+void mf_ug_player_vol_set(const char *path)
+{
+    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);
+    }
+}
+
diff --git a/src/common/mf-ug-search-internal.c b/src/common/mf-ug-search-internal.c
new file mode 100644 (file)
index 0000000..95e5c12
--- /dev/null
@@ -0,0 +1,882 @@
+/*
+ * 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 <glib.h>
+#include <stdio.h>
+#include <errno.h>
+#include <string.h>
+#include <dirent.h>
+#include <pthread.h>
+#include <Ecore.h>
+
+#include "mf-ug-main.h"
+#include "mf-ug-search.h"
+#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 NORMALIZE_OPTION G_NORMALIZE_NFD
+
+#ifdef CHECK_RESTRICTED_PATH
+/* TODO
+ *  This code should be revised.
+ *  How to get restricted path information?
+ *  I think this module should not depend on other lib(except glib and stdlib).
+*/
+#define ROOT_UMS "/opt/usr/media"
+#define ROOT_MMC "/opt/storage/sdcard"
+#endif /* CHECK_RESTRICTED_PATH */
+
+int flagSearchMsg = 1;
+pthread_mutex_t gLockSearchMsg;
+pthread_cond_t gCondSearchMsg;
+
+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;
+}
+
+inline static void __mf_ug_search_cmd_unlock(ms_handle_t *handle)
+{
+    if (handle && handle->cmd_lock) {
+        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;
+}
+
+inline static void __mf_ug_search_thread_unlock(ms_handle_t *handle)
+{
+    if (handle && handle->thread_mutex) {
+        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;
+}
+
+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;
+}
+
+#ifdef CHECK_RESTRICTED_PATH
+gboolean __mf_ug_search_check_licet_path(const char *path)
+{
+    return (gboolean) (strstr(path, ROOT_UMS) || strstr(path, ROOT_MMC));
+}
+#endif /*CHECK_RESTRICTED_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;
+}
+
+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;
+    }
+
+}
+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;
+next:
+            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)
+{
+    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;
+}
+
+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);
+#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);
+#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);
+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;
+}
+
+int _mf_ug_search_init(ms_handle_t **handle)
+{
+    GMutex *lock = NULL;
+    ms_handle_t *ms_handle = NULL;
+
+    ms_debug("");
+
+    if (!handle) {
+        return MF_SEARCH_ERROR_INVAL_P;
+    }
+
+    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;
+    }
+
+    ms_handle->state = MF_SEARCH_STATE_INIT;
+    ms_handle->is_stop = FALSE;
+
+    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_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)
+{
+    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);
+#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;
+        }
+#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;
+
+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;
+}
+
+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;
+}
+
+void _mf_ug_search_finalize(ms_handle_t **handle)
+{
+    ms_handle_t *ms_handle = *handle;
+
+    ms_debug("");
+
+    if (!ms_handle) {
+        ms_warn("invaild handle");
+        return;
+    }
+
+    if (ms_handle->state == MF_SEARCH_STATE_SEARCH) {
+        mf_ug_search_stop(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;
+
+    return;
+}
+
+/*+++++++++++++++++++++++++ UTIL APIs ++++++++++++++++++++++++++++++ */
+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);
+}
+
+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));
+}
+
+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 *_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;
+}
+
+gboolean _mf_ug_search_result_is_end(mf_search_result_t *result)
+{
+    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;
+}
+
+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;
+}
diff --git a/src/common/mf-ug-search.c b/src/common/mf-ug-search.c
new file mode 100644 (file)
index 0000000..db2ca6e
--- /dev/null
@@ -0,0 +1,125 @@
+/*
+ * Copyright 2012          Samsung Electronics Co., Ltd
+ *
+ * Licensed under the Flora License, Version 1.1 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *  http://floralicense.org/license/
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <stdio.h>
+#include <dirent.h>
+#include <sys/types.h>
+#include <string.h>
+#include <glib.h>
+
+#include "mf-ug-dlog.h"
+#include "mf-ug-search.h"
+#include "mf-ug-search-internal.h"
+
+
+/*+++++++++++++++++++++++ APIs +++++++++++++++++++++++*/
+
+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 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 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 mf_ug_search_stop(mf_search_handle handle)
+{
+    int ret = 0;
+
+    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;
+}
+
+/*+++++++++++++++++++++++ UTIL APIs +++++++++++++++++++++++*/
+
+char *mf_ug_search_result_dir_get(mf_search_result_t *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);
+}
+
+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;
+}
+
+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;
+}
+
+char *mf_ug_search_result_current_dir_get(mf_search_result_t *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
new file mode 100644 (file)
index 0000000..a9ea7b7
--- /dev/null
@@ -0,0 +1,858 @@
+/*
+ * 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 <pthread.h>
+#include <vconf.h>
+
+#include "mf-ug-util.h"
+#include "mf-ug-cb.h"
+#include "mf-ug-winset.h"
+#include "mf-ug-fm-svc-wrapper.h"
+#include "mf-ug-fs-util.h"
+#include "mf-ug-inotify-handle.h"
+#include "mf-ug-resource.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     ";"
+#endif
+#define NORMAL_SEPERATOR        "?"
+
+/******************************
+** Prototype    : ug_genlist_selected_state_get
+** Description  :
+** Input        : void *data
+** Output       : bool
+** Return Value :
+** Calls        :
+** Called By    :
+**
+**  History        :
+**  1.Date         : 2010/12/10
+**    Author       : Samsung
+**    Modification : Created function
+**
+******************************/
+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;
+}
+
+/******************************
+** Prototype    : ug_parase_path_get
+** Description  :
+** Input        : GList *dest_list
+**                char *path_list
+** Output       : None
+** Return Value :
+** Calls        :
+** Called By    :
+**
+**  History        :
+**  1.Date         : 2010/12/10
+**    Author       : Samsung
+**    Modification : Created function
+**
+******************************/
+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");
+
+    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));
+    }
+
+    g_strfreev(result);
+    UG_TRACE_END;
+}
+
+/******************************
+** Prototype    : mf_ug_util_free_eina_list_data
+** Description  : Samsung
+** Input        : Eina_List **list
+**                mf_ug_eina_list_node_type node_type
+** Output       : None
+** Return Value :
+** Calls        :
+** Called By    :
+**
+**  History        :
+**  1.Date         : 2010/12/10
+**    Author       : Samsung
+**    Modification : Created function
+**
+******************************/
+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;
+}
+
+
+/******************************
+** Prototype    : __mf_ug_util_get_marked_selected_items
+** Description  :
+** Input        : GList *list
+** Output       : None
+** Return Value :
+** Calls        :
+** Called By    :
+**
+**  History        :
+**  1.Date         : 2010/12/10
+**    Author       : Samsung
+**    Modification : Created function
+**
+******************************/
+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");
+
+    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;
+
+}
+
+/******************************
+** Prototype    : __mf_ug_util_get_marked_off_selected_items
+** Description  :
+** Input        : void *data
+**                Evas_Object* content
+** Output       : None
+** Return Value :
+** Calls        :
+** Called By    :
+**
+**  History        :
+**  1.Date         : 2010/12/10
+**    Author       : Samsung
+**    Modification : Created function
+**
+******************************/
+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;
+}
+
+/******************************
+** Prototype    : mf_ug_util_get_send_result
+** Description  :
+** Input        : void *data
+** Output       : None
+** Return Value :
+** Calls        :
+** Called By    :
+**
+**  History        :
+**  1.Date         : 2010/12/10
+**    Author       : Samsung
+**    Modification : Created function
+**
+******************************/
+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;
+}
+
+
+/******************************
+** Prototype    : _ug_mf_set_state_as
+** Description  :
+** Input        : struct ugmyfiledata* data
+**                int state
+** Output       : None
+** Return Value :
+** Calls        :
+** Called By    :
+**
+**  History        :
+**  1.Date         : 2010/12/10
+**    Author       : Samsung
+**    Modification : Created function
+**
+******************************/
+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");
+
+    ugd->ug_Status.ug_iState = state;
+    UG_TRACE_END;
+}
+
+
+/******************************
+** Prototype    : mf_ug_util_get_mmc_state
+** Description  :
+** Input        : int* mmc_card
+** Output       : None
+** Return Value :
+** Calls        :
+** Called By    :
+**
+**  History        :
+**  1.Date         : 2010/12/10
+**    Author       : Samsung
+**    Modification : Created function
+**
+******************************/
+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;
+}
+
+/******************************
+** Prototype    : mf_ug_util_create_dir_monitor
+** Description  : Samsung
+** Input        : void *data
+** Output       : None
+** Return Value :
+** Calls        :
+** Called By    :
+**
+**  History        :
+**  1.Date         : 2010/12/10
+**    Author       : Samsung
+**    Modification : Created function
+**
+******************************/
+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();
+}
+
+
+/******************************
+** Prototype    : mf_ug_util_add_dir_watch
+** Description  : Samsung
+** Input        : const char *path
+**                void *data
+** Output       : None
+** Return Value :
+** Calls        :
+** Called By    :
+**
+**  History        :
+**  1.Date         : 2010/12/10
+**    Author       : Samsung
+**    Modification : Created function
+**
+******************************/
+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);
+}
+
+int mf_ug_util_remove_dir_watch(void)
+{
+    return mf_ug_inotify_handle_rm_inotify_watch();
+}
+
+/******************************
+** Prototype    : mf_ug_util_set_mmc_state_cb
+** Description  : Samsung
+** Input        : void *data
+** Output       : None
+** Return Value :
+** Calls        :
+** Called By    :
+**
+**  History        :
+**  1.Date         : 2010/12/10
+**    Author       : Samsung
+**    Modification : Created function
+**
+******************************/
+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");
+
+    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);
+}
+
+/******************************
+** Prototype    : mf_ug_util_destory_mmc_state_cb
+** Description  : Samsung
+** Input        : None
+** Output       : None
+** Return Value :
+** Calls        :
+** Called By    :
+**
+**  History        :
+**  1.Date         : 2010/12/10
+**    Author       : Samsung
+**    Modification : Created function
+**
+******************************/
+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;
+}
+
+/******************************
+** Prototype    : mf_ug_util_destory_dir_monitor
+** 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_util_destory_dir_monitor(void *data)
+{
+    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;
+    }
+
+    mf_ug_inotify_handle_finalize_inotify();
+    UG_TRACE_END;
+
+    return;
+}
+
+
+/******************************
+** Prototype    : mf_ug_util_storage_insert_action
+** Description  : Samsung
+** Input        : void *data
+**                char* pItemLabel
+** Output       : None
+** Return Value :
+** Calls        :
+** Called By    :
+**
+**  History        :
+**  1.Date         : 2010/12/10
+**    Author       : Samsung
+**    Modification : Created function
+**
+******************************/
+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;
+
+    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);
+    }
+
+    UG_TRACE_END;
+}
+
+
+
+/******************************
+** Prototype    : mf_ug_util_get_file_launch_type
+** Description  :
+** Input        : char * path
+** Output       : UG_MYFILE_LAUNCH_TYPE
+** Return Value :
+** Calls        :
+** Called By    :
+**
+**  History        :
+**  1.Date         : 2010/12/10
+**    Author       : Samsung
+**    Modification : Created function
+**
+******************************/
+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;
+}
+
+
+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");
+
+    GString *parent_path = NULL;
+    GString *gName = NULL;
+    char *upper_name = NULL;
+
+    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");
+
+
+    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);
+    }
+
+    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;
+
+}
+
+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;
+
+    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);
+
+}
+
+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;
+}
+
+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;
+
+    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);
+}
+
+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);
+}
+
+void mf_util_remove_item_from_list_by_location(Eina_List **list, int location)
+{
+    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);
+                *list = eina_list_remove_list(*list, l);
+            }
+        }
+    }
+}
+
+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));
+    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);
+
+    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);
+    }
+
+    return 0;
+}
+
+
diff --git a/src/include/mf-ug-cb.h b/src/include/mf-ug-cb.h
new file mode 100644 (file)
index 0000000..4ea12e2
--- /dev/null
@@ -0,0 +1,65 @@
+/*
+ * Copyright 2012          Samsung Electronics Co., Ltd
+ *
+ * Licensed under the Flora License, Version 1.1 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *  http://floralicense.org/license/
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef __DEF_MF_UG_CB_H_
+#define __DEF_MF_UG_CB_H_
+
+#include <Elementary.h>
+#include <vconf.h>
+#include <power.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);
+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_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_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);
+void mf_ug_cb_eraser_clicked_cb(void *data, Evas_Object *obj, const char *emission, const char *source);
+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);
+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);
+
+#endif
diff --git a/src/include/mf-ug-conf.h b/src/include/mf-ug-conf.h
new file mode 100644 (file)
index 0000000..37c7c2d
--- /dev/null
@@ -0,0 +1,80 @@
+/*
+ * Copyright 2012          Samsung Electronics Co., Ltd
+ *
+ * Licensed under the Flora License, Version 1.1 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *  http://floralicense.org/license/
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#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 UG_TIME_FORMAT "02u:%02u:%02u"
+#define UG_TIME_ARGS(t) \
+    (t) / (3600), \
+    ((t) / 60) % 60, \
+    (t) % 60
+
+#define _EDJ(o) elm_layout_edje_get(o)
+
+#define INTERVAL_THUMB_UPDATE   0.5
+
+#endif /* __DEF_MYFILE_CONF_H_ */
diff --git a/src/include/mf-ug-dlog.h b/src/include/mf-ug-dlog.h
new file mode 100644 (file)
index 0000000..50bf513
--- /dev/null
@@ -0,0 +1,86 @@
+/*
+ * Copyright 2012          Samsung Electronics Co., Ltd
+ *
+ * Licensed under the Flora License, Version 1.1 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *  http://floralicense.org/license/
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef __DEF_MF_UG_DLOG_H_
+#define __DEF_MF_UG_DLOG_H_
+
+#include <stdio.h>
+#include <string.h>
+
+#define DLOG_ON 1
+
+#ifdef LOG_TAG
+#undef LOG_TAG
+#endif
+
+#define LOG_TAG         "MYFILE-UG"
+#include <dlog.h>
+
+
+#if DLOG_ON
+#define LOG_COLOR_RED      "\033[31m"
+#define LOG_COLOR_RESET    "\033[0m"
+
+#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);
+
+#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)
+
+
+#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_retvm_if(expr, val, fmt, arg...) do { \
+            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)
+
+
+#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")
+
+#endif
diff --git a/src/include/mf-ug-fm-svc-wrapper.h b/src/include/mf-ug-fm-svc-wrapper.h
new file mode 100644 (file)
index 0000000..75d657b
--- /dev/null
@@ -0,0 +1,45 @@
+/*
+ * Copyright 2012          Samsung Electronics Co., Ltd
+ *
+ * Licensed under the Flora License, Version 1.1 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *  http://floralicense.org/license/
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef __DEF_MF_UG_FM_SVC_WRAPPER_H_
+#define __DEF_MF_UG_FM_SVC_WRAPPER_H_
+
+#include <glib.h>
+#include "mf-ug-main.h"
+
+#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);
+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);
+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);
+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);
+
+#endif
diff --git a/src/include/mf-ug-fs-util.h b/src/include/mf-ug-fs-util.h
new file mode 100644 (file)
index 0000000..0027151
--- /dev/null
@@ -0,0 +1,332 @@
+/*
+ * Copyright 2012          Samsung Electronics Co., Ltd
+ *
+ * Licensed under the Flora License, Version 1.1 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *  http://floralicense.org/license/
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef __DEF_MF_UG_FS_UTIL_H_
+#define __DEF_MF_UG_FS_UTIL_H_
+
+#include <stdio.h>
+#include <stdbool.h>
+#include <string.h>
+#include <stdlib.h>
+#include <dirent.h>
+#include <sys/stat.h>
+#include <unistd.h>
+#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 "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 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 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 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") */
+
+/*  File system define default folder   */
+
+/*  compile option  */
+#define UG_DEBUG_FOLDER_OPTION
+
+#ifndef UG_ICON_PATH
+#define UG_ICON_PATH                        "/usr/ug/res/images/ug-myfile-efl"
+#endif
+
+#ifndef UG_DEFAULT_ICON
+#define UG_DEFAULT_ICON                         UG_ICON_PATH"/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"
+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
+};
+
+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 */
+
+};
+
+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
+};
+
+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
+} ;
+
+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,
+};
+
+/*  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    */
+#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 */
+
+/*/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 */
+
+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;
+};
+
+
+/**********         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_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);
+int mf_ug_file_attr_is_system_dir(char *fullpath, bool * result);
+mf_ug_fs_file_type mf_ug_file_attr_get_file_type_by_mime(const char *file_path);
+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
new file mode 100644 (file)
index 0000000..8c85604
--- /dev/null
@@ -0,0 +1,40 @@
+/*
+ * Copyright 2012          Samsung Electronics Co., Ltd
+ *
+ * Licensed under the Flora License, Version 1.1 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *  http://floralicense.org/license/
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef __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,
+};
+
+typedef void (*mf_ug_inotify_cb) (mf_ug_inotify_event event, char *name, void *data);
+
+int mf_ug_inotify_handle_init_inotify(void);
+int mf_ug_inotify_handle_add_inotify_watch(const char *path, mf_ug_inotify_cb callback, void *user_data);
+int mf_ug_inotify_handle_rm_inotify_watch(void);
+void mf_ug_inotify_handle_finalize_inotify(void);
+
+#endif
diff --git a/src/include/mf-ug-list-play.h b/src/include/mf-ug-list-play.h
new file mode 100644 (file)
index 0000000..493785d
--- /dev/null
@@ -0,0 +1,73 @@
+/*
+ * Copyright 2012          Samsung Electronics Co., Ltd
+ *
+ * Licensed under the Flora License, Version 1.1 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *  http://floralicense.org/license/
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef __MF_UG_LIST_PLAY_H
+#define __MF_UG_LIST_PLAY_H
+
+#include <player.h>
+#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;
+
+typedef enum {
+    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;
+
+    /* callback user data */
+    void *user_data[MF_PLAYER_CB_TYPE_NUM];
+};
+
+
+typedef struct {
+    mf_player_cb_type cb_type;
+
+    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);
+
+#endif
diff --git a/src/include/mf-ug-main.h b/src/include/mf-ug-main.h
new file mode 100644 (file)
index 0000000..4414940
--- /dev/null
@@ -0,0 +1,203 @@
+/*
+ * Copyright 2012          Samsung Electronics Co., Ltd
+ *
+ * Licensed under the Flora License, Version 1.1 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *  http://floralicense.org/license/
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef __DEF_MF_UG_MAIN_H_
+#define __DEF_MF_UG_MAIN_H_
+
+#define __ARM__
+
+#include <Elementary.h>
+#include <Ethumb.h>
+#include <glib.h>
+#include <Ecore.h>
+#include <glib-object.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 <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      ***********/
+#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;
+};
+
+
+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;
+
+};
+
+
+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;
+};
+
+
+typedef struct _ugUiGadget ugUiGadget;
+struct _ugUiGadget {
+    int ug_iFilterMode;
+    int ug_iSelectMode;
+    int ug_iMarkedMode;
+    int ug_iDrmFilterMode;
+    int ug_iImportMode;
+#ifdef UG_OPERATION_SELECT_MODE
+    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;
+};
+
+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;
+};
+
+
+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;
+};
+Evas_Object *mf_ug_main_tab_layout_create(Evas_Object *parent);
+Evas_Object *mf_ug_main_create_bg(Evas_Object *win);
+
+
+#endif /* __DEF_MYFILE_H_ */
diff --git a/src/include/mf-ug-resource.h b/src/include/mf-ug-resource.h
new file mode 100644 (file)
index 0000000..2b39fe9
--- /dev/null
@@ -0,0 +1,84 @@
+/*
+ * Copyright 2012          Samsung Electronics Co., Ltd
+ *
+ * Licensed under the Flora License, Version 1.1 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *  http://floralicense.org/license/
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef __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"
+
+
+#endif
+
diff --git a/src/include/mf-ug-search-internal.h b/src/include/mf-ug-search-internal.h
new file mode 100644 (file)
index 0000000..c3a6aa3
--- /dev/null
@@ -0,0 +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.
+ */
+
+#ifndef _MF_SEARCH_INTERNAL_H_
+#define _MF_SEARCH_INTERNAL_H_
+
+#include "mf-ug-search.h"
+
+#ifdef MS_USE_DEF_LOG
+
+#include "mf-ug-dlog.h"
+
+#define ms_debug(fmt , args...)  ug_debug
+#define ms_info(fmt , args...)  ug_debug
+#define ms_warn(fmt , args...)  ug_debug
+#define ms_error(fmt , args...)  ug_debug
+#define ms_assert(fmt , args...)  ug_debug
+
+#else
+
+
+#ifdef DEBUG_ON
+#define ms_debug(fmt , args...)  do { printf("[%10s:%4d][D] "fmt"\n", __func__, __LINE__, ##args); } while (0)
+#define ms_info(fmt , args...)  do { printf("[%10s:%4d][I] "fmt"\n", __func__, __LINE__, ##args); } while (0)
+#define ms_warn(fmt , args...)  do { printf("[%10s:%4d][W] "fmt"\n", __func__, __LINE__, ##args); } while (0)
+#define ms_error(fmt , args...)  do { printf("[%10s:%4d][E] "fmt"\n", __func__, __LINE__, ##args); } while (0)
+#define ms_assert(fmt , args...)  do { printf("[%10s:%4d][A] "fmt"\n", __func__, __LINE__, ##args); } while (0)
+#else
+#define ms_debug(fmt , args...)  do { (void)0; } while (0)
+#define ms_info(fmt , args...)  do { (void)0; } while (0)
+#define ms_warn(fmt , args...)  do { (void)0; } while (0)
+#define ms_error(fmt , args...)  do { (void)0; } while (0)
+#define ms_assert(fmt , args...)  do { (void)0; } while (0)
+#endif
+#endif
+
+/**
+ * Enumerations of search state
+ **/
+
+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_stop(ms_handle_t *handle);
+void _mf_ug_search_finalize(ms_handle_t **handle);
+
+/*+++++++++++++++++++++++++ UTIL APIs ++++++++++++++++++++++++++++++ */
+
+gchar *_mf_ug_search_result_dir_get(mf_search_result_t *result);
+gchar *_mf_ug_search_result_file_get(mf_search_result_t *result);
+gboolean _mf_ug_search_result_is_end(mf_search_result_t *result);
+gchar *_mf_ug_search_result_current_dir_get(mf_search_result_t *result);
+guint _mf_ug_search_result_total_count_get(mf_search_result_t *result);
+
+#endif
diff --git a/src/include/mf-ug-search.h b/src/include/mf-ug-search.h
new file mode 100644 (file)
index 0000000..037fef9
--- /dev/null
@@ -0,0 +1,211 @@
+/*
+ * Copyright 2012          Samsung Electronics Co., Ltd
+ *
+ * Licensed under the Flora License, Version 1.1 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *  http://floralicense.org/license/
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef _MF_SEARCH_H_
+#define _MF_SEARCH_H_
+
+/*+++++++++++++++++++++++ Definitions and Types +++++++++++++++++++++++*/
+
+/**
+ * Handle type for mf_search
+ **/
+typedef unsigned int mf_search_handle;
+
+/**
+ * Handle type for search result
+ **/
+typedef unsigned int mf_search_result;
+
+/**
+ * Enumerations of search option
+ **/
+
+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),
+};
+
+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,
+};
+
+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,
+};
+
+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;
+};
+
+typedef struct _ms_args_t ms_args_t;
+struct _ms_args_t {
+    GList *root_path;
+    gchar *needle;
+    mf_search_option option;
+    void *user_data;
+} ;
+
+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 */
+};
+
+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_Cb:
+ * @result: the handle of result, use util APIs to get detail result with this handle.
+ * @user_data: user data specified when installing the function, in mf_ug_search_start()
+ **/
+typedef void (*mf_Search_Cb) (mf_search_pipe_msg_type type, mf_search_result result, void *user_data);
+
+/**
+ * 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 */
+
+/*+++++++++++++++++++++++ APIs +++++++++++++++++++++++*/
+
+/**
+ * mf_ug_search_init:
+ * @handle: the handle of mf_search
+ * Creates a new @handle for search. If success,
+ * #mf_search state is changed from MF_SEARCH_STATE_NONE to MF_SEARCH_STATE_INIT
+ * Return value: This function returns zero on success, or negative value.
+ **/
+int mf_ug_search_init(mf_search_handle *handle);
+
+/**
+ * mf_ug_search_start:
+ * @handle: the handle of mf_search
+ * @root_path: array of the root path for search
+ * @path_num: the number of the root path for search
+ * @needle: the key string for search
+ * @option :  bitfield of mf_search_option flags
+ * @user_data: user data
+ * Start searching in given @root_path with @needle,
+ * every each idle time, @callback will be called with #mf_search_result_t and @user_data.
+ * 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);
+/**
+ * mf_ug_search_stop:
+ * @handle: the handle of mf_search
+ * Stops search
+ * If success, #mf_search state is changed from MF_SEARCH_STATE_SEARCH to MF_SEARCH_STATE_INIT
+ * Return value: This function returns zero on success, or negative value.
+ **/
+int mf_ug_search_stop(mf_search_handle handle);
+
+/**
+ * mf_ug_search_stop:
+ * @handle: the handle of mf_search
+ * Finalizes search @handle
+ * #mf_search state is changed from MF_SEARCH_STATE_INIT to MF_SEARCH_STATE_NONE
+ **/
+void mf_ug_search_finalize(mf_search_handle *handle);
+
+
+/*+++++++++++++++++++++++ UTIL APIs +++++++++++++++++++++++*/
+
+/**
+ * mf_ug_search_result_dir_get:
+ * @result: the handle of search result
+ * Gets one of directory name in given search @result
+ * Return value: a directory name which is a newly-allocated string that must be freed after use
+ * or NULL if no more result for directory.
+ **/
+char *mf_ug_search_result_dir_get(mf_search_result_t *result);
+
+/**
+ * mf_ug_search_result_file_get:
+ * @result: the handle of search result
+ * Gets one of file name given search @result
+ * Return value: a file name which is a newly-allocated string that must be freed after use
+ * or NULL if no more result for directory.
+ **/
+char *mf_ug_search_result_file_get(mf_search_result_t *result);
+
+/**
+ * mf_ug_search_result_current_dir_get:
+ * @result: the handle of search result
+ * Gets current searching directory name in given search @result
+ * Return value: current searching directory name which is a newly-allocated string that must be freed after use
+ * or NULL if fail to get current searching directory name.
+ **/
+char *mf_ug_search_result_current_dir_get(mf_search_result_t *result);
+
+/**
+ * mf_ug_search_result_is_end:
+ * @result: the handle of search result
+ * @is_end : If @result is last result handle, set it to a non-zero value, if not set it to zero.
+ * Tests if given search @result is the last one or not
+ * Return value: This function returns zero on success, or negative value.
+ **/
+int mf_ug_search_result_is_end(mf_search_result_t *result, int *is_end);
+
+/**
+ * mf_ug_search_result_total_count_get:
+ * @result: the handle of search result
+ * @count: the items(which is explored directories and files) count.
+ * Gets current explored items(this is not result count)
+ * Return value: This function returns zero on success, or negative value.
+ **/
+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
new file mode 100644 (file)
index 0000000..91d258a
--- /dev/null
@@ -0,0 +1,283 @@
+/*
+ * Copyright 2012          Samsung Electronics Co., Ltd
+ *
+ * Licensed under the Flora License, Version 1.1 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *  http://floralicense.org/license/
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef __DEF_MF_UG_UTIL_H_
+#define __DEF_MF_UG_UTIL_H_
+
+#include <Elementary.h>
+#include <stdbool.h>
+#include <glib.h>
+
+#include "mf-ug-main.h"
+
+#define UG_SAFE_FREE_CHAR(x) do {\
+                    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)
+
+#define UG_CHAR_CHECK_NULL_GOTO(arg, dest) do {\
+                        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)
+
+
+#define UG_SAFE_DEL_NAVI_ITEM(x) do {\
+                    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)
+
+#define UG_SAFE_STRCPY(dest, src) \
+                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)
+
+#define goto_if(x, dest) do { \
+                if (x) {\
+                    goto dest;\
+                }\
+            } while (0)
+
+#define ug_ecore_idler_del(idler) do { \
+                    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
+};
+
+
+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
+};
+
+typedef enum _mf_ug_marked_switch mf_ug_marked_switch;
+enum _mf_ug_marked_switch {
+    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
+};
+
+
+
+typedef enum _mf_ug_state_mode mf_ug_state_mode;
+enum _mf_ug_state_mode {
+    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
+};
+
+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
+};
+
+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
+};
+
+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
+};
+
+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
+};
+
+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;
+};
+
+typedef struct _ug_dir_event_t ug_dir_event_t;
+struct _ug_dir_event_t {
+    int event;
+    char *name;
+};
+
+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
+};
+
+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
+};
+
+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,
+};
+
+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
+};
+
+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);
+int mf_ug_util_get_mmc_state(int *mmc_card);
+char *mf_ug_util_get_send_result(void *data);
+bool mf_ug_util_is_genlist_selected(void *data);
+
+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);
+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);
+void mf_ug_util_set_current_state(void *data, int state);
+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);
+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);
+
+#endif /* __DEF_MYFILE_UTIL_H_ */
diff --git a/src/include/mf-ug-winset.h b/src/include/mf-ug-winset.h
new file mode 100644 (file)
index 0000000..a18e85c
--- /dev/null
@@ -0,0 +1,164 @@
+/*
+ * Copyright 2012          Samsung Electronics Co., Ltd
+ *
+ * Licensed under the Flora License, Version 1.1 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *  http://floralicense.org/license/
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef __DEF_MF_UG_WINSET_H_
+#define __DEF_MF_UG_WINSET_H_
+
+#include <stdio.h>
+#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 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())
+
+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));
+
+/********** 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
+};
+
+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);
+
+
+/***********    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
+};
+
+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
+};
+
+/***********    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);
+void mf_ug_context_popup_create_more(void *data, Evas_Object *parent);
+
+
+/******************* 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);
+void mf_ug_genlist_selected_gl(void *data, Evas_Object *obj, void *event_info);
+
+#endif
diff --git a/src/mf-ug-main.c b/src/mf-ug-main.c
new file mode 100644 (file)
index 0000000..0430646
--- /dev/null
@@ -0,0 +1,1375 @@
+/*
+ * 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 <sys/time.h>
+#include <Elementary.h>
+#include <Ecore_X.h>
+#include <vconf.h>
+#include <media_content.h>
+#include <utilX.h>
+#include <assert.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"
+#include "mf-ug-fm-svc-wrapper.h"
+#include "mf-ug-resource.h"
+#include "mf-ug-cb.h"
+#include "mf-ug-list-play.h"
+
+#ifdef UG_OPERATION_SELECT_MODE
+
+#define MF_BUNDLE_SELECTION_MODE        "http://tizen.org/appcontrol/data/selection_mode"
+#define MF_BUNDLE_SELECTION_MODE_SINGLE "single"
+#define MF_BUNDLE_SELECTION_MODE_MULTI  "multiple"
+#endif
+
+/******************************
+** Prototype    : __mf_ug_main_init_data
+** Description  :
+** 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_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;
+}
+
+/******************************
+** Prototype    : __mf_ug_main_free_data
+** Description  :
+** 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_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;
+
+}
+
+
+/******************************
+** Prototype    : __mf_ug_main_free_evas_object
+** 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_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;
+}
+
+Evas_Object *mf_ug_main_create_bg(Evas_Object *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);
+
+    return bg;
+}
+
+/******************************
+** Prototype    : _ug_mf_create_layout_main
+** Description  :
+** 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_main_create_main_layout(Evas_Object *parent)
+{
+    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");
+
+    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;
+
+    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);
+
+    elm_layout_theme_set(layout, "layout", "tabbar", "default");
+
+    evas_object_size_hint_weight_set(layout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+
+    evas_object_hide(layout);
+    return layout;
+}
+
+/******************************
+** Prototype    : __mf_ug_main_set_path_option
+** 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 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)
+    {
+
+        /**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;
+}
+
+
+/******************************
+** Prototype    : __mf_ug_main_set_select_mode
+** Description  : Samsung
+** Input        : void *data
+**                char *select_mode
+** Output       : None
+** Return Value :
+** Calls        :
+** Called By    :
+**
+**  History        :
+**  1.Date         : 2010/12/10
+**    Author       : Samsung
+**    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;
+
+}
+
+
+
+/******************************
+** Prototype    : __mf_ug_main_set_filter_mode
+** Description  : Samsung
+** Input        : void *data
+**                char *file_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_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;
+}
+
+
+
+/******************************
+** Prototype    : __mf_ug_main_set_marked_mode
+** Description  : Samsung
+** Input        : void *data
+**                char *marked_mode
+** Output       : None
+** Return Value :
+** Calls        :
+** Called By    :
+**
+**  History        :
+**  1.Date         : 2010/12/10
+**    Author       : Samsung
+**    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;
+}
+
+
+/******************************
+** 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)
+{
+
+    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;
+}
+
+#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;
+
+}
+#endif
+/******************************
+** Prototype    : __mf_ug_main_set_option_status
+** Description  : Samsung
+** Input        : void *data
+**                service_h  service
+** Output       : None
+** Return Value :
+** Calls        :
+** Called By    :
+**
+**  History        :
+**  1.Date         : 2010/12/10
+**    Author       : Samsung
+**    Modification : Created function
+**
+******************************/
+
+static void __mf_ug_main_set_option_status(void *data, service_h service)
+{
+    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
+
+    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);
+#endif
+    UG_TRACE_END;
+}
+
+/******************************
+** Prototype    : __mf_ug_main_create_default_layout
+** Description  : Samsung
+** Input        : Evas_Object* parent
+**                void* data
+** Output       : None
+** Return Value :
+** Calls        :
+** Called By    :
+**
+**  History        :
+**  1.Date         : 2010/12/10
+**    Author       : Samsung
+**    Modification : Created function
+**
+******************************/
+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;
+}
+
+/******************************
+** Prototype    : __mf_ug_main_start
+** Description  :
+** 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_main_start(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;
+}
+
+
+
+static Eina_Bool ug_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(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;
+}
+
+
+/******************************
+** Prototype    : on_create
+** Description  : Samsung
+** Input        : ui_gadget_h  ug
+**                enum ug_mode mode
+**                service_h service
+**                void *priv
+** Output       : None
+** Return Value :
+** Calls        :
+** Called By    :
+**
+**  History        :
+**  1.Date         : 2010/12/10
+**    Author       : Samsung
+**    Modification : Created function
+**
+******************************/
+
+static void *on_create(ui_gadget_h ug, enum ug_mode mode, service_h service, void *priv)
+{
+    UG_TRACE_BEGIN;
+
+    ug_mf_retv_if(NULL == priv, NULL);
+
+    ugData *ugd = priv;
+
+    ugd->ug = ug;
+
+    bindtextdomain(UGPACKAGE, UGLOCALEDIR);
+
+    Evas_Object *win = ug_get_window();
+    ug_mf_retv_if(NULL == win, NULL);
+
+    if (elm_win_wm_rotation_supported_get(win))
+    {
+        int rotations[] =
+        {
+            APP_DEVICE_ORIENTATION_0,
+            APP_DEVICE_ORIENTATION_180,
+        };
+
+        elm_win_wm_rotation_available_rotations_set(win, rotations, sizeof(rotations) / sizeof(rotations[0]));
+    }
+
+    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, service);
+    int err = media_content_connect();
+    if (err != MEDIA_CONTENT_ERROR_NONE)
+    {
+        ug_debug("media_content_connect failed!");
+    }
+
+    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);
+
+    __mf_ug_main_start(ugd);
+
+    UG_TRACE_END;
+    return ugd->ug_MainWindow.ug_pMainLayout;
+}
+
+/******************************
+** Prototype    : on_start
+** Description  :
+** Input        : ui_gadget_h ug
+**                service_h service
+**                void *priv
+** Output       : None
+** Return Value :
+** Calls        :
+** Called By    :
+**
+**  History        :
+**  1.Date         : 2010/12/10
+**    Author       : Samsung
+**    Modification : Created function
+**
+******************************/
+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
+**                void *priv
+** Output       : None
+** Return Value :
+** Calls        :
+** Called By    :
+**
+**  History        :
+**  1.Date         : 2010/12/10
+**    Author       : Samsung
+**    Modification : Created function
+**
+******************************/
+static void on_pause(ui_gadget_h ug, service_h service, 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);
+    }
+}
+
+/******************************
+** Prototype    : on_resume
+** Description  :
+** Input        : ui_gadget_h ug
+**                bundle *data
+**                void *priv
+** Output       : None
+** Return Value :
+** Calls        :
+** Called By    :
+**
+**  History        :
+**  1.Date         : 2010/12/10
+**    Author       : Samsung
+**    Modification : Created function
+**
+******************************/
+inline bool __mf_ug_main_check_exist(const char *path)
+{
+    if (path && (access(path, F_OK) == 0))
+    {
+        return true;
+    }
+    return false;
+}
+
+static void on_resume(ui_gadget_h ug, service_h service, 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;
+}
+
+/******************************
+** Prototype    : on_message
+** Description  :
+** Input        : ui_gadget_h ug
+**                bundle *msg
+**                bundle *data
+**                void *priv
+** Output       : None
+** Return Value :
+** Calls        :
+** Called By    :
+**
+**  History        :
+**  1.Date         : 2010/12/10
+**    Author       : Samsung
+**    Modification : Created function
+**
+******************************/
+static void on_message(ui_gadget_h ug, service_h msg, service_h service, void *priv)
+{
+}
+
+/******************************
+** Prototype    : on_event
+** Description  :
+** Input        : ui_gadget_h ug
+**                enum ug_event event
+**                service_h service
+**                void *priv
+** Output       : None
+** Return Value :
+** Calls        :
+** Called By    :
+**
+**  History        :
+**  1.Date         : 2010/12/10
+**    Author       : Samsung
+**    Modification : Created function
+**
+******************************/
+static void on_event(ui_gadget_h ug, enum ug_event event, service_h service, void *priv)
+{
+    UG_TRACE_BEGIN;
+
+    switch (event)
+    {
+    case UG_EVENT_LOW_MEMORY:
+        break;
+
+    case UG_EVENT_LOW_BATTERY:
+        break;
+
+    case UG_EVENT_LANG_CHANGE:
+        break;
+
+    case UG_EVENT_ROTATE_PORTRAIT:
+    case UG_EVENT_ROTATE_PORTRAIT_UPSIDEDOWN:
+    case UG_EVENT_ROTATE_LANDSCAPE:
+    case UG_EVENT_ROTATE_LANDSCAPE_UPSIDEDOWN:
+        break;
+
+    default:
+        break;
+    }
+
+    UG_TRACE_END;
+}
+
+
+
+/******************************
+** Prototype    : on_key_event
+** Description  : Samsung
+** Input        : ui_gadget_h ug
+**                enum ug_key_event event
+**                service_h service
+**                void *priv
+** Output       : None
+** Return Value :
+** Calls        :
+** Called By    :
+**
+**  History        :
+**  1.Date         : 2010/12/10
+**    Author       : Samsung
+**    Modification : Created function
+**
+******************************/
+
+static void on_key_event(ui_gadget_h ug, enum ug_key_event event, service_h service, 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;
+}
+
+/******************************
+** Prototype    : on_destroy
+** Description  :
+** Input        : ui_gadget_h ug
+**                service_h service
+**                void *priv
+** Output       : None
+** Return Value :
+** Calls        :
+** Called By    :
+**
+**  History        :
+**  1.Date         : 2010/12/10
+**    Author       : Samsung
+**    Modification : Created function
+**
+******************************/
+static void on_destroy(ui_gadget_h ug, service_h service, 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;
+}
+
+
+/******************************
+** Prototype    : UG_MODULE_INIT
+** Description  :
+** Input        : struct ug_module_ops *ops
+** Output       : None
+** Return Value :
+** Calls        :
+** Called By    :
+**
+**  History        :
+**  1.Date         : 2010/12/10
+**    Author       : Samsung
+**    Modification : Created function
+**
+******************************/
+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;
+}
+
+
+
+/******************************
+** Prototype    : UG_MODULE_EXIT
+** Description  :
+** Input        : struct ug_module_ops *ops
+** Output       : None
+** Return Value :
+** Calls        :
+** Called By    :
+**
+**  History        :
+**  1.Date         : 2010/12/10
+**    Author       : Samsung
+**    Modification : Created function
+**
+******************************/
+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;
+}
diff --git a/src/widget/mf-ug-ctrl-bar.c b/src/widget/mf-ug-ctrl-bar.c
new file mode 100644 (file)
index 0000000..6153099
--- /dev/null
@@ -0,0 +1,249 @@
+/*
+ * 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
new file mode 100644 (file)
index 0000000..86b8f52
--- /dev/null
@@ -0,0 +1,1649 @@
+/*
+ * 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 "mf-ug-winset.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"
+
+
+#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.5
+/******************************
+** Prototype    : __mf_ug_genlist_is_file_marked
+** Description  : Samsung
+** Input        : Eina_List *source
+**                GString *path
+** Output       : None
+** Return Value :
+** Calls        :
+** Called By    :
+**
+**  History        :
+**  1.Date         : 2010/12/10
+**    Author       : Samsung
+**    Modification : Created function
+**
+******************************/
+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;
+}
+
+
+/******************************
+** Prototype    : __mf_ug_genlist_set_marked_path
+** Description  : Samsung
+** Input        : Eina_List **source
+**                GString *path
+** Output       : None
+** Return Value :
+** Calls        :
+** Called By    :
+**
+**  History        :
+**  1.Date         : 2010/12/10
+**    Author       : Samsung
+**    Modification : Created function
+**
+******************************/
+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;
+}
+
+
+/******************************
+** Prototype    : __mf_ug_genlist_create_checkbox
+** 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_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;
+}
+
+static 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;
+
+}
+
+/******************************
+** Prototype    : __mf_ug_genlist_checkbox_cb
+** Description  : Samsung
+** 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
+**
+******************************/
+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;
+}
+
+
+/******************************
+** Prototype    : __mf_ug_genlist_create_radio_box
+** Description  : Samsung
+** Input        : Evas_Object *parent
+**                ugListItemData *params
+** 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_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;
+}
+
+
+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;
+
+}
+
+/******************************
+** Prototype    : __mf_ug_genlist_radio_box_cb
+** Description  : Samsung
+** 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
+**
+******************************/
+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;
+}
+
+
+/******************************
+** Prototype    : __mf_ug_genlist_get_gl_label
+** Description  :
+** Input        : const void *data
+**                Evas_Object *obj
+**                const char *part
+** Output       : None
+** Return Value :
+** Calls        :
+** Called By    :
+**
+**  History        :
+**  1.Date         : 2010/12/10
+**    Author       : Samsung
+**    Modification : Created function
+**
+******************************/
+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("");
+    }
+}
+
+
+/******************************
+** Prototype    : __mf_ug_genlist_get_thumbnail
+** 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_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;
+}
+
+
+/******************************
+** Prototype    : __mf_ug_genlist_create_thumbnail
+** Description  : Samsung
+** Input        : void *data
+**                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_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)
+{
+    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;
+}
+
+
+/******************************
+** Prototype    : __mf_ug_genlist_add_checkbox
+** Description  : Samsung
+** Input        : void *data
+**                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_add_checkbox(void *data, Evas_Object *parent)
+{
+    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);
+
+    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);
+
+    UG_TRACE_END;
+    return check_box;
+}
+
+
+
+/******************************
+** Prototype    : __mf_ug_genlist_add_radio_box
+** Description  : Samsung
+** Input        : void *data
+**                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_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");
+
+    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);
+
+    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;
+}
+
+/******************************
+** Prototype    : __mf_ug_genlist_get_gl_icon
+** Description  : Samsung
+** Input        : const void *data
+**                Evas_Object *obj
+**                const char *part
+** Output       : None
+** Return Value :
+** Calls        :
+** Called By    :
+**
+**  History        :
+**  1.Date         : 2010/12/10
+**    Author       : Samsung
+**    Modification : Created function
+**
+******************************/
+static Evas_Object *__mf_ug_genlist_get_gl_icon(void *data, Evas_Object *obj, const char *part)
+{
+    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;
+                }
+            }
+        }
+#endif
+        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)
+{
+    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;
+}
+
+/******************************
+** Prototype    : __mf_ug_genlist_get_gl_state
+** Description  :
+** Input        : const void *data
+**                Evas_Object *obj
+**                const char *part
+** Output       : None
+** Return Value :
+** Calls        :
+** Called By    :
+**
+**  History        :
+**  1.Date         : 2010/12/10
+**    Author       : Samsung
+**    Modification : Created function
+**
+******************************/
+static Eina_Bool __mf_ug_genlist_get_gl_state(void *data, Evas_Object *obj, const char *part)
+{
+    return EINA_FALSE;
+}
+
+
+/******************************
+** Prototype    : __mf_ug_genlist_del_gl
+** Description  :
+** Input        : const void *data
+**                Evas_Object *obj
+** Output       : None
+** Return Value :
+** Calls        :
+** Called By    :
+**
+**  History        :
+**  1.Date         : 2010/12/10
+**    Author       : Samsung
+**    Modification : Created function
+**
+******************************/
+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;
+}
+
+
+
+/******************************
+** Prototype    : mf_ug_genlist_selected_gl
+** Description  : Samsung
+** 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_genlist_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;
+    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;
+}
+
+
+static Evas_Object *__mf_ug_genlist_create_editfield(Evas_Object *parent, Evas_Object **pEntry)
+{
+    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;
+}
+
+static Evas_Object *__mf_ug_genlist_gl_new_folder_icon_get(void *data, Evas_Object * obj, const char *part)
+{
+    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;
+}
+
+/******************************
+** Prototype    : __mf_ug_genlist_create_gl
+** Description  : Samsung
+** Input        : void *data
+** Output       : None
+** Return Value :
+** Calls        :
+** Called By    :
+**
+**  History        :
+**  1.Date         : 2010/12/10
+**    Author       : Samsung
+**    Modification : Created function
+**
+******************************/
+Evas_Object *__mf_ug_genlist_create_gl(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;
+    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);
+
+    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
+
+    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;
+}
+
+
+/******************************
+** Prototype    : __mf_ug_genlist_init_item_data
+** Description  : Samsung
+** Input        : void *data
+**                ugListItemData **itemData
+**                char *fullname
+** Output       : None
+** Return Value :
+** Calls        :
+** Called By    :
+**
+**  History        :
+**  1.Date         : 2010/12/10
+**    Author       : Samsung
+**    Modification : Created function
+**
+******************************/
+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;
+}
+
+/******************************
+** Prototype    : mf_ug_genlist_create_content_list_view
+** 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_genlist_upper_style_set(void *data)
+{
+    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;
+}
+
+void mf_ug_genlist_goto_myfile_style_set(void *data)
+{
+    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;
+
+}
+
+Evas_Object *mf_navi_bar_upper_create(Evas_Object *parent)
+{
+    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;
+
+}
+
+
+void mf_ug_upper_genlist_item_append(Evas_Object *pGenlist, void *data)
+{
+    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);
+}
+
+void mf_ug_genlist_goto_myfile_item_append(Evas_Object *pGenlist, void *data)
+{
+    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);
+}
+
+Elm_Object_Item *mf_ug_genlist_item_append(Evas_Object *parent,
+                      ugFsNodeInfo *pNode,
+                      void *data,
+                      int groudValue,
+                      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;
+}
+
+
+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)
+{
+    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;
+}
+
+Evas_Object *mf_ug_genlist_create_default_layout(Evas_Object *parent, const char *group_name)
+{
+    return mf_ug_genlist_create_layout(parent, group_name,
+                                   EVAS_HINT_EXPAND, EVAS_HINT_EXPAND,
+                                   EVAS_HINT_FILL, EVAS_HINT_FILL);
+}
+
+
+Evas_Object *mf_ug_genlist_no_mem_card(void *data)
+{
+    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;
+}
+
+
+Evas_Object *mf_ug_genlist_create_no_content(void *data)
+{
+    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;
+
+    return nocontent;
+}
+
+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;
+}
+
+static char *__get_title_gl_text(void *data, Evas_Object *obj, const char *part)
+{
+    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);
+}
+
+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");
+
+    Evas_Object *genlist = NULL;
+    Elm_Object_Item *git=NULL;
+
+    genlist = elm_genlist_add(parent);
+    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;
+
+    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;
+}
+
+void mf_ug_genlist_item_remove(Evas_Object *parent, const char *path)
+{
+    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);
+    }
+
+}
+
diff --git a/src/widget/mf-ug-navi-bar.c b/src/widget/mf-ug-navi-bar.c
new file mode 100644 (file)
index 0000000..d50e530
--- /dev/null
@@ -0,0 +1,956 @@
+/*
+ * 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-cb.h"
+#include "mf-ug-fm-svc-wrapper.h"
+#include "mf-ug-util.h"
+#include "mf-ug-fs-util.h"
+#include "mf-ug-resource.h"
+
+
+/******************************
+** Prototype    : __mf_ug_navi_bar_create_group_radio_box
+** 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_navi_bar_create_group_radio_box(void *data)
+{
+    UG_TRACE_BEGIN;
+    ugData *ugd = (ugData *)data;
+    ug_mf_retm_if(ugd == NULL, "ugd is 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;
+    }
+
+    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;
+}
+
+
+/******************************
+** Prototype    : __mf_ug_navi_bar_push_content
+** Description  : Samsung
+** Input        : ugData *data
+**                Evas_Object *NaviContent
+** Output       : None
+** Return Value :
+** Calls        :
+** Called By    :
+**
+**  History        :
+**  1.Date         : 2010/12/10
+**    Author       : Samsung
+**    Modification : Created function
+**
+******************************/
+static 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;
+}
+
+
+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");
+
+    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;
+}
+
+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_create_navi_bar
+** Description  :
+** 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_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");
+
+    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);
+
+    UG_TRACE_END;
+    return navi_bar;
+}
+
+
+/******************************
+** Prototype    : mf_ug_navi_bar_set_new_content
+** Description  : Samsung
+** Input        : Evas_Object *pLayout
+**                Evas_Object *NaviContent
+** Output       : None
+** Return Value :
+** Calls        :
+** Called By    :
+**
+**  History        :
+**  1.Date         : 2010/12/10
+**    Author       : Samsung
+**    Modification : Created function
+**
+******************************/
+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;
+}
+
+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;
+
+}
+
+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;
+
+}
+
+/******************************
+** Prototype    : mf_ug_navi_bar_create_default_view
+** Description  : Samsung
+** Input        : void *data
+** Output       : None
+** Return Value :
+** Calls        :
+** Called By    :
+**
+**  History        :
+**  1.Date         : 2010/12/10
+**    Author       : Samsung
+**    Modification : Created function
+**
+******************************/
+Evas_Object *__mf_ug_navi_bar_pathinfo_create(Evas_Object *parent, const char *content)
+{
+    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;
+}
+
+
+void mf_ug_navi_bar_title_set(void *data)
+{
+    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);
+}
+
+Eina_Bool mf_ug_navi_search_idler_cb(void *data)
+{
+    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 *__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");
+    evas_object_show(btn);
+    return btn;
+
+}
+
+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;
+
+    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);
+    }
+}
+
+void mf_ug_callback_tab_click(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);
+}
+
+void mf_ug_tab_bar_generate(void *data)
+{
+    ug_mf_retm_if(data == NULL, "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;
+
+    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);
+
+    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);
+    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");
+
+}
+
+void mf_ug_navi_bar_set_ctrl_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);
+
+}
+
+
+
+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;
+}
+
+void mf_ug_navi_bar_create_new_folder_view(void *data)
+{
+
+    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);
+}
+
+/******************************
+** 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;
+}
+
+
+/******************************
+** 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)
+{
+    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;
+}
+
+/******************************
+** 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)
+{
+    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;
+}
+
+
+/******************************
+** 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)
+{
+    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;
+}
+
+
+/******************************
+** 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)
+{
+    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;
+}
+
+void mf_ug_navi_bar_transition_finished_cb(void *data, Evas_Object *obj, void *event_info)
+{
+    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;
+}
+
+void mf_ug_navi_bar_remove_previous_contents(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;
+}
+
+void mf_ug_navi_bar_del_item_directly(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;
+}
+
+
+void mf_ug_navi_bar_set_blocking(void *data, bool bblock_during_transition)
+{
+    ug_mf_retm_if(data == NULL, "data is NULL");
+    ugData *ugd = (ugData *)data;
+
+    ugd->ug_Status.ug_bCancelDisableFlag = bblock_during_transition;
+    ugd->ug_Status.ug_b_NaviPushFlag = bblock_during_transition;
+    return;
+}
+
+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);
+}
+
diff --git a/src/widget/mf-ug-popup.c b/src/widget/mf-ug-popup.c
new file mode 100644 (file)
index 0000000..d789a51
--- /dev/null
@@ -0,0 +1,599 @@
+/*
+ * 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 <notification.h>
+
+#include "mf-ug-util.h"
+#include "mf-ug-winset.h"
+#include "mf-ug-fs-util.h"
+#include "mf-ug-cb.h"
+#include "mf-ug-resource.h"
+
+#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
+
+typedef struct {
+    int index;
+    ugData* ugd;
+} ugListByData_s;
+
+static int __mf_ug_popup_get_list_by_selected_item(void *data)
+{
+    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;
+}
+
+
+static char *__mf_ug_popup_get_genlist_label(void *data, Evas_Object * obj, const char *part)
+{
+    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;
+}
+
+static Evas_Object* __mf_ug_popup_get_genlist_icon(void *data, Evas_Object * obj, const char *part)
+{
+    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;
+}
+
+static void __mf_ug_popup_genlist_select(void *data, Evas_Object * obj, void *event_info)
+{
+    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);
+        }
+    }
+}
+
+/******************************
+** Prototype    : mfPopupCreate
+** Description  :
+** Input        : void *data
+**                ePopMode popupMode
+**                char *title
+**                char *context
+**                char *first_btn_text
+**                char *second_btn_text
+**                char *third_btn_text
+**                Evas_Smart_Cb func
+**                void* param
+** Output       : None
+** Return Value :
+** Calls        :
+** Called By    :
+**
+**  History        :
+**  1.Date         : 2010/12/10
+**    Author       : Samsung
+**    Modification : Created function
+**
+******************************/
+static Evas_Object *__ug_mf_popup_button_create(Evas_Object *parent, const char *label)
+{
+    Evas_Object *btn = NULL;
+    btn = elm_button_add(parent);
+    if (label) {
+        elm_object_text_set(btn, label);
+    }
+    return btn;
+
+}
+
+static Evas_Object *__mf_ug_popup_box_set(Evas_Object *parent, Evas_Object *content, int item_cnt)
+{
+    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;
+}
+
+Evas_Object *mf_ug_popup_create_search(void *data, 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);
+
+    elm_object_content_set(popup, box);
+
+    evas_object_show(popup);
+    return popup;
+}
+
+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)
+{
+    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;
+}
+
+void mf_ug_popup_indicator_popup(const 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 ;
+}
+
+static void _move_ctxpopup(void *data, Evas_Object *parent, Evas_Object *ctxpopup )
+{
+    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);
+    }
+}
+static void _ctxpopup_hide_cb(void *data, Evas_Object *obj, void *event_info)
+{
+    UG_TRACE_BEGIN;
+    ug_mf_retm_if(obj == NULL, "obj is NULL");
+    evas_object_del(obj);
+    obj = NULL;
+    UG_TRACE_END;
+}
+
+
+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;
+}
+
+static Evas_Object *__mf_ug_popup_entry_create(Evas_Object *parent)
+{
+    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);
+
+    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);
+
+    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;
+}
+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;
+
+    evas_object_del(ugd->ug_MainWindow.ug_pNormalPopup);
+
+    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;
+
+}
+
+
+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;
+}
+
+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, 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);
+
+    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;
+
+    elm_object_content_set(popup, layout);
+
+
+    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");
+
+    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);
+
+    evas_object_show(popup);
+
+    return popup;
+}
+
diff --git a/src/widget/mf-ug-search-view.c b/src/widget/mf-ug-search-view.c
new file mode 100644 (file)
index 0000000..2ff7215
--- /dev/null
@@ -0,0 +1,455 @@
+/*
+ * 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 <Ecore_X.h>
+
+#include "mf-ug-main.h"
+#include "mf-ug-util.h"
+#include "mf-ug-winset.h"
+#include "mf-ug-fs-util.h"
+#include "mf-ug-resource.h"
+#include "mf-ug-cb.h"
+
+#define MF_SEARCH_OPTION_DEF (MF_SEARCH_OPT_EXT)
+#define MF_SEARCH_ROOT_NUM 2
+#define MF_SEARCH_TIMER_INTERVAL 0.5
+
+extern int flagSearchMsg;
+extern pthread_mutex_t gLockSearchMsg;
+extern pthread_cond_t gCondSearchMsg;
+
+typedef struct {
+    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");
+
+    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));
+
+    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;
+
+    /*delete timer if exists*/
+
+#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;
+
+    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;
+
+}
+
+Evas_Object *mf_ug_search_create_select_all_layout(Evas_Object *parent)
+{
+
+    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 *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;
+}
+
+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");
+
+    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);
+
+    __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)
+{
+    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;
+}
+
+
+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);
+        }
+    }
+}
+
+
+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_SAFE_FREE_OBJ(ugd->ug_MainWindow.ug_pSearchPopup);
+
+    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);
+    }
+
+    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_BEGIN;
+    ugData *ugd = (ugData *)data;
+    ug_mf_retm_if(ugd == NULL, "ugd is NULL");
+
+    __mf_ug_search_view_stop(ugd);
+
+    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;
+}
+
+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);
+    }
+
+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;
+}
+
+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;
+    }
+
+}
+
+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;
+}
+
diff --git a/src/widget/mf-ug-tab-bar.c b/src/widget/mf-ug-tab-bar.c
new file mode 100644 (file)
index 0000000..6aa4751
--- /dev/null
@@ -0,0 +1,266 @@
+/*
+ * 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/tests/ugmyfiletestapp/CMakeLists.txt b/tests/ugmyfiletestapp/CMakeLists.txt
new file mode 100644 (file)
index 0000000..200d102
--- /dev/null
@@ -0,0 +1,106 @@
+CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
+PROJECT(ugmyfiletestapp)
+
+SET(DEBFILE_NAME org.tizen.ugmyfiletestapp)
+
+SET(INCLUDE-DIR ${CMAKE_CURRENT_SOURCE_DIR}/include)
+SET(SRC-DIR ${CMAKE_CURRENT_SOURCE_DIR}/src)
+
+SET(PKG_NAME "${CMAKE_INSTALL_PKG_NAME}")
+SET(DESKTOP_DIR ${CMAKE_DESKTOP_DIR})
+
+SET(PREFIX ${CMAKE_INSTALL_PREFIX})
+SET(BINDIR "${PREFIX}/bin")
+SET(RESDIR "${PREFIX}/res")
+SET(LIBDIR "/usr/lib")
+SET(DATADIR "${CMAKE_INSTALL_DATA_DIR}")
+SET(XMLDIR "/usr/share/packages")
+SET(EDJDIR "${RESDIR}/edje")
+
+#SET(ADD_SEARCH_MODULE 1) ##value is not meaningful one
+
+#MYFILE_ADD_TO_HOME
+
+INCLUDE_DIRECTORIES(${INCLUDE-DIR})
+
+SET(SRCS
+    ${SRC-DIR}/main.c
+    )
+
+INCLUDE(FindPkgConfig)
+pkg_check_modules(pkgs REQUIRED
+capi-appfw-application
+capi-content-media-content
+elementary
+vconf
+glib-2.0
+gthread-2.0
+drm-client
+ui-gadget-1
+#dlog
+ecore-imf
+ecore-x
+eina
+evas
+edje
+ecore
+ecore-file
+ecore-input
+capi-system-power
+utilX
+)
+# org.tizen.live-myfile
+# debian
+
+FOREACH(flag ${pkgs_CFLAGS})
+    SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} ${flag}")
+ENDFOREACH(flag)
+#SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} -finstrument-functions")
+
+SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${EXTRA_CFLAGS} -Wall -Wextra -g -fpie -fPIC -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64")
+SET(CMAKE_C_FLAGS_DEBUG "-O0")
+SET(CMAKE_C_FLAGS_RELEASE "-O2")
+SET(CMAKE_EXE_LINKER_FLAGS "-Wl,--as-needed -pie")
+
+SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${EXTRA_CFLAGS} -Wall -Wextra -g -fpie -fPIC -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64")
+SET(CMAKE_CXX_FLAGS_DEBUG "-O0")
+SET(CMAKE_CXX_FLAGS_RELEASE "-O2")
+
+ADD_DEFINITIONS("-DPREFIX=\"${CMAKE_INSTALL_PREFIX}\"")
+ADD_DEFINITIONS("-DDATADIR=\"${DATADIR}\"")
+
+
+ADD_DEFINITIONS("-DFACTORYFS=\"$ENV{FACTORYFS}\"")
+ADD_DEFINITIONS("-DMYFILE_USE_LOG")
+ADD_DEFINITIONS("-DMYFILE_USE_TA")
+ADD_DEFINITIONS("-DMYFILE_USB_OTG")
+ADD_DEFINITIONS("-DMYFILE_MOTION_FEATURE")
+
+
+ADD_EXECUTABLE(${PROJECT_NAME} ${SRCS})
+
+TARGET_LINK_LIBRARIES(${PROJECT_NAME} ${pkgs_LDFLAGS} -lm -lpthread)
+
+INSTALL(TARGETS ${PROJECT_NAME} ${LIBNAME}
+        RUNTIME DESTINATION ${BINDIR}
+        LIBRARY DESTINATION ${LIBDIR})
+
+INSTALL(DIRECTORY DESTINATION ${DATADIR})
+
+# edje
+ADD_CUSTOM_TARGET(layoutedj.edj
+        COMMAND edje_cc ${CMAKE_CURRENT_SOURCE_DIR}/edj/layoutedj.edc
+        ${CMAKE_BINARY_DIR}/layoutedj.edj
+        DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/edj/layoutedj.edc
+)
+
+ADD_DEPENDENCIES(${PROJECT_NAME} layoutedj.edj)
+
+INSTALL(FILES ${CMAKE_BINARY_DIR}/layoutedj.edj DESTINATION ${EDJDIR})
+
+CONFIGURE_FILE(${PACKAGE_NAME}.xml.in ${PACKAGE_NAME}.xml)
+INSTALL(TARGETS ${PROJECT_NAME} DESTINATION ${BINDIR})
+INSTALL(FILES ${PACKAGE_NAME}.xml DESTINATION ${MANIFESTDIR})
+INSTALL(FILES ${CMAKE_SOURCE_DIR}/${DESKTOP_ICON} DESTINATION ${DESKTOP_ICONDIR})
+
+#End for myfile ug
diff --git a/tests/ugmyfiletestapp/build.sh b/tests/ugmyfiletestapp/build.sh
new file mode 100755 (executable)
index 0000000..28a6813
--- /dev/null
@@ -0,0 +1,12 @@
+#!/bin/bash
+
+tar xzf git.tgz
+echo "Build"
+    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/org.tizen.ugmyfiletestapp-0.0.1-1/log
+        rm -fR .git/
+        exit 1;
+    fi
+rm -fR .git/
+exit 0;
diff --git a/tests/ugmyfiletestapp/edj/layoutedj.edc b/tests/ugmyfiletestapp/edj/layoutedj.edc
new file mode 100644 (file)
index 0000000..4705c2b
--- /dev/null
@@ -0,0 +1,66 @@
+collections
+{
+
+   group
+   {
+      name: "mylayout";
+
+      data
+      {
+         item: "title" "Layout ug test";
+      }
+
+      parts
+      {
+         part
+         {
+            name: "title";
+            type: TEXT;
+
+            description
+            {
+               state: "default" 0.0;
+               color: 0 0 0 255;
+               rel1
+               {
+                  relative: 0.0 0.0;
+               }
+               rel2
+               {
+                  relative: 0.2 1.0;
+               }
+               text
+               {
+                  text: "bla";
+                  size: 16;
+                  font: "sans";
+                  min: 1 1;
+               }
+            }
+         }
+
+         part
+         {
+            name: "custom";
+            type: SWALLOW;
+
+            description
+            {
+               state: "default" 0.0;
+               fixed: 1 1;
+
+               rel1
+               {
+                  relative: 0.0 0.2;
+               }
+               rel2
+               {
+                  relative: 1.0 1.0;
+               }
+            }
+         } // example/custom
+
+
+      }
+   }
+}
\ No newline at end of file
diff --git a/tests/ugmyfiletestapp/git.tgz b/tests/ugmyfiletestapp/git.tgz
new file mode 100644 (file)
index 0000000..af6b09c
Binary files /dev/null and b/tests/ugmyfiletestapp/git.tgz differ
diff --git a/tests/ugmyfiletestapp/include/dbg.h b/tests/ugmyfiletestapp/include/dbg.h
new file mode 100644 (file)
index 0000000..e9aa55f
--- /dev/null
@@ -0,0 +1,39 @@
+/*
+ * 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.
+ */
+
+#ifndef __DBG_H__
+
+#include <dlog.h>
+
+#ifdef  LOG_TAG
+#undef  LOG_TAG
+#endif
+#define LOG_TAG "org.tizen.ugmyfiletestapp"
+
+#ifndef _ERR
+#define _ERR(fmt, args...) LOGE("[%s:%d] "fmt"\n", __func__, __LINE__, ##args)
+#endif
+
+#ifndef _DBG
+#define _DBG(fmt, args...) LOGD("[%s:%d] "fmt"\n", __func__, __LINE__, ##args)
+#endif
+
+#ifndef _INFO
+#define _INFO(fmt, args...) LOGI("[%s:%d] "fmt"\n", __func__, __LINE__, ##args)
+#endif
+
+
+#endif /* __DBG_H__ */
diff --git a/tests/ugmyfiletestapp/include/main.h b/tests/ugmyfiletestapp/include/main.h
new file mode 100644 (file)
index 0000000..83debcf
--- /dev/null
@@ -0,0 +1,7 @@
+
+#ifndef _MAIN_H_
+#define _MAIN_H_
+
+void _init_and_run(int argc, char **argv);
+
+#endif _MAIN_H_
diff --git a/tests/ugmyfiletestapp/org.tizen.ugmyfiletestapp.png b/tests/ugmyfiletestapp/org.tizen.ugmyfiletestapp.png
new file mode 100644 (file)
index 0000000..6b78a29
Binary files /dev/null and b/tests/ugmyfiletestapp/org.tizen.ugmyfiletestapp.png differ
diff --git a/tests/ugmyfiletestapp/org.tizen.ugmyfiletestapp.xml.in b/tests/ugmyfiletestapp/org.tizen.ugmyfiletestapp.xml.in
new file mode 100644 (file)
index 0000000..8546ed3
--- /dev/null
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="utf-8"?>
+<manifest xmlns="http://tizen.org/ns/packages" package="@PACKAGE_NAME@" version="@VERSION@" install-location="internal-only">
+    <label>ugmyfiletestapp</label>
+    <author email="PUT YOUR EMAIL" href="www.samsung.com">PUT YOUR NAME</author>
+    <description>ugmyfiletestapp</description>
+    <ui-application appid="@PACKAGE_NAME@" exec="@BINDIR@/@PROJECT_NAME@" nodisplay="false" multiple="false" type="capp" taskmanage="true">
+        <label>ugmyfiletestapp</label>
+        <icon>@DESKTOP_ICON@</icon>
+    </ui-application>
+</manifest>
diff --git a/tests/ugmyfiletestapp/packaging/org.tizen.ugmyfiletestapp.spec b/tests/ugmyfiletestapp/packaging/org.tizen.ugmyfiletestapp.spec
new file mode 100644 (file)
index 0000000..d1fb093
--- /dev/null
@@ -0,0 +1,70 @@
+Name:      org.tizen.ugmyfiletestapp
+Version:   0.0.1
+Release:   1
+License:   To be filled
+Summary:   Hello EFL Application
+Group:     Application
+Source0:   %{name}-%{version}.tar.gz
+
+BuildRequires: cmake
+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)
+BuildRequires: pkgconfig(ecore-imf)
+BuildRequires: pkgconfig(ecore-x)
+BuildRequires: pkgconfig(eina)
+BuildRequires: pkgconfig(evas)
+BuildRequires: pkgconfig(edje)
+BuildRequires: pkgconfig(ecore)
+BuildRequires: pkgconfig(ecore-file)
+BuildRequires: pkgconfig(ecore-input)
+BuildRequires: pkgconfig(capi-system-power)
+BuildRequires: pkgconfig(utilX)
+
+%description
+Platform Project
+
+%define _pkgdir /opt/apps/org.tizen.ugmyfiletestapp
+%define _bindir %{_pkgdir}/bin
+%define _resdir %{_pkgdir}/res
+%define _localedir %{_resdir}/locale
+%define _manifestdir /opt/share/packages
+%define _desktop_icondir /opt/share/icons/default/small
+
+%prep
+%setup -q
+
+%build
+cmake \
+    -DCMAKE_INSTALL_PREFIX=%{_pkgdir} \
+    -DPACKAGE_NAME=org.tizen.ugmyfiletestapp \
+    -DBINDIR=%{_bindir} \
+    -DLOCALEDIR=%{_localedir} \
+    -DMANIFESTDIR=%{_manifestdir} \
+    -DDESKTOP_ICONDIR=%{_desktop_icondir} \
+    -DDESKTOP_ICON=%{name}.png \
+    -DVERSION=%{version}
+
+make %{?jobs:-j%jobs}
+
+%install
+%make_install
+
+%post
+ln -sf /usr/bin/ug-client /usr/ug/bin/myfile-efl
+
+
+%clean
+rm -rf %{buildroot}
+
+%files
+%defattr(-,root,root,-)
+%{_bindir}/*
+%{_resdir}/*
+%{_manifestdir}/%{name}.xml
+%{_desktop_icondir}/%{name}.png
diff --git a/tests/ugmyfiletestapp/src/main.c b/tests/ugmyfiletestapp/src/main.c
new file mode 100644 (file)
index 0000000..7067b02
--- /dev/null
@@ -0,0 +1,322 @@
+/*
+ * 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.
+ */
+
+#include <app.h>
+#include <Elementary.h>
+#include <assert.h>
+#include <ui-gadget.h>
+#include <utilX.h>
+
+#ifdef UNIT_TESTS
+    #include "run-tests.h"
+#endif
+
+#define EDJ_PATH "/opt/apps/org.tizen.ugmyfiletestapp/res/edje"
+
+#define EDJ_FILE EDJ_PATH"/layoutedj.edj"
+
+struct _appdata {
+    const char *name;
+    Evas_Object *win;
+    ui_gadget_h ug;
+    Evas_Object *layout;
+    Ecore_Event_Handler *key_event_handler;
+};
+
+static void ug_layout_callback(ui_gadget_h ug, enum ug_mode mode, void *priv)
+{
+
+    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;
+    }
+
+    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_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);
+        break;
+    default:
+        break;
+    }
+}
+
+void ug_destroy_callback(ui_gadget_h ug, void *priv)
+{
+    struct _appdata *ad = priv;
+    ug_destroy(ad->ug);
+    ad->ug = NULL;
+}
+
+
+static void on_click(void *data, Evas_Object *obj, void *event_info)
+{
+
+    struct _appdata *ad = data;
+    struct ug_cbs cbs;
+
+    memset(&cbs, 0, sizeof(cbs));
+    cbs.layout_cb = ug_layout_callback;
+    cbs.destroy_cb = ug_destroy_callback;
+    cbs.priv = ad;
+    service_h service;
+    int ret = service_create(&service);
+
+    if(ret != SERVICE_ERROR_NONE)
+    {
+        printf("service create failed\n");
+    }
+
+    service_add_extra_data(service, "path", "/");
+    service_add_extra_data(service, "select_type",  elm_object_text_get(obj));
+
+    printf("-----%s\n", __FUNCTION__);
+    ad->ug = ug_create(NULL, "myfile-efl", UG_MODE_FULLVIEW, service, &cbs);
+    printf("-----ug addr is %p\n", ad->ug);
+
+}
+
+
+
+static Evas_Object *_add_win(const char *name)
+{
+    Evas_Object *win;
+
+    win = elm_win_util_standard_add(name, "ugmyfiletestapp");
+    if (!win)
+        return NULL;
+
+    evas_object_show(win);
+
+    return win;
+}
+
+static void _add_button(const char* name, Evas_Object* box, struct _appdata *ad)
+{
+    Evas_Object *btn;
+    btn = elm_button_add(box);
+    elm_object_text_set(btn, name);
+    evas_object_smart_callback_add(btn, "clicked", on_click, ad);
+    evas_object_size_hint_weight_set(btn, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+    evas_object_size_hint_align_set(btn, EVAS_HINT_FILL, EVAS_HINT_FILL);
+    elm_box_pack_end(box, btn);
+    evas_object_show(btn);
+}
+
+
+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(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();
+        }
+    }
+    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"
+                        };
+
+    struct _appdata *ad;
+    Evas_Object *win;
+    Evas_Object *bx;
+    Evas_Object *datetime;
+    Evas_Object *layout;
+
+    if (!user_data)
+        return false;
+
+    ad = user_data;
+
+    win = _add_win(ad->name);
+    if (!win)
+        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);
+    elm_layout_file_set(layout, EDJ_FILE, "mylayout");
+    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);
+    }
+
+    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_box_horizontal_set(bx, EINA_FALSE);
+    elm_object_part_content_set(layout, "custom", bx);
+    evas_object_show(bx);
+
+    _add_button("full view", bx, ad);
+    _add_button("frame view", bx, ad);
+
+    int i = 0;
+    int len = sizeof(btn_name)/sizeof(btn_name[0]);
+    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 );
+
+    UG_INIT_EFL(win, UG_OPT_INDICATOR_ENABLE);
+    ad->win = win;
+    ad->layout = layout;
+    return true;
+}
+
+static void _terminate(void *user_data)
+{
+    struct _appdata *ad;
+
+    if (!user_data)
+        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);
+    }
+}
+
+static void _pause(void *user_data)
+{
+    if (!user_data)
+        return;
+}
+
+static void _resume(void *user_data)
+{
+}
+
+static void _service(service_h service, void *user_data)
+{
+}
+
+static void _low_memory(void *user_data)
+{
+}
+
+static void _low_battery(void *user_data)
+{
+}
+
+static void _dev_orientation_changed(app_device_orientation_e orientation,
+        void *user_data)
+{
+}
+
+static void _lang_changed(void *user_data)
+{
+}
+
+static void _region_fmt_changed(void *user_data)
+{
+}
+
+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,
+    };
+
+    memset(&ad, 0x00, sizeof(ad));
+    ad.name= "testug";
+
+    app_efl_main(&argc, &argv, &cbs, &ad);
+
+}
+
+int main(int argc, char **argv)
+{
+
+#ifdef UNIT_TESTS
+    return run_tests( argc, argv );
+#endif /* UNIT_TESTS */
+
+    _init_and_run(argc, argv);
+    return 0;
+}
+
diff --git a/ug-myfile-efl.manifest b/ug-myfile-efl.manifest
new file mode 100644 (file)
index 0000000..c00c25b
--- /dev/null
@@ -0,0 +1,5 @@
+<manifest>
+        <request>
+                <domain name="_" />
+        </request>
+</manifest>
diff --git a/ug-myfile-efl.xml b/ug-myfile-efl.xml
new file mode 100644 (file)
index 0000000..d2c1eed
--- /dev/null
@@ -0,0 +1,34 @@
+<?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>
+
+        </ui-application>
+</manifest>