From a343bafea0c590e809a957b4232d03e674b4bce6 Mon Sep 17 00:00:00 2001 From: HyungKyu Song Date: Sat, 16 Feb 2013 00:01:09 +0900 Subject: Tizen 2.0 Release --- CMakeLists.txt | 103 ++ LICENSE.Flora | 206 +++ NOTICE.Flora | 4 + icons/Controlbar/U01_controlbar_cion_home.png | Bin 0 -> 4273 bytes .../Controlbar/U01_controlbar_cion_home_press.png | Bin 0 -> 4505 bytes icons/Controlbar/U01_controlbar_cion_up_folder.png | Bin 0 -> 4015 bytes .../U01_controlbar_cion_up_folder_press.png | Bin 0 -> 4123 bytes icons/U01_1st_icon_memory_card.png | Bin 0 -> 1706 bytes icons/U01_1st_icon_memory_card_press.png | Bin 0 -> 3503 bytes icons/U01_1st_icon_phone.png | Bin 0 -> 1514 bytes icons/U01_1st_icon_phone_press.png | Bin 0 -> 3273 bytes icons/myfile_icon_USB.png | Bin 0 -> 3891 bytes icons/myfile_icon_add.png | Bin 0 -> 2999 bytes icons/myfile_icon_cancel.png | Bin 0 -> 3426 bytes icons/myfile_icon_control_pause.png | Bin 0 -> 2966 bytes icons/myfile_icon_control_pause_press.png | Bin 0 -> 2941 bytes icons/myfile_icon_control_play.png | Bin 0 -> 3573 bytes icons/myfile_icon_control_play_press.png | Bin 0 -> 3324 bytes icons/myfile_icon_copy.png | Bin 0 -> 1024 bytes icons/myfile_icon_create_folder.png | Bin 0 -> 892 bytes icons/myfile_icon_delete.png | Bin 0 -> 899 bytes icons/myfile_icon_done.png | Bin 0 -> 3007 bytes icons/myfile_icon_edit.png | Bin 0 -> 1262 bytes icons/myfile_icon_etc.png | Bin 0 -> 5229 bytes icons/myfile_icon_excel.png | Bin 0 -> 5986 bytes icons/myfile_icon_folder.png | Bin 0 -> 3799 bytes icons/myfile_icon_folder_open.png | Bin 0 -> 4233 bytes icons/myfile_icon_html.png | Bin 0 -> 6416 bytes icons/myfile_icon_images.png | Bin 0 -> 1454 bytes icons/myfile_icon_java.png | Bin 0 -> 3005 bytes icons/myfile_icon_list_by.png | Bin 0 -> 875 bytes icons/myfile_icon_mmc.png | Bin 0 -> 3006 bytes icons/myfile_icon_mmc_sub.png | Bin 0 -> 691 bytes icons/myfile_icon_move.png | Bin 0 -> 1130 bytes icons/myfile_icon_move_here.png | Bin 0 -> 873 bytes icons/myfile_icon_music.png | Bin 0 -> 4425 bytes icons/myfile_icon_paste_here.png | Bin 0 -> 1024 bytes icons/myfile_icon_pdf.png | Bin 0 -> 4794 bytes icons/myfile_icon_phone.png | Bin 0 -> 3028 bytes icons/myfile_icon_ppt.png | Bin 0 -> 5417 bytes icons/myfile_icon_rss.png | Bin 0 -> 5082 bytes icons/myfile_icon_search.png | Bin 0 -> 1491 bytes icons/myfile_icon_share.png | Bin 0 -> 1106 bytes icons/myfile_icon_store_here.png | Bin 0 -> 3147 bytes icons/myfile_icon_svg.png | Bin 0 -> 5890 bytes icons/myfile_icon_swf.png | Bin 0 -> 5653 bytes icons/myfile_icon_text.png | Bin 0 -> 4023 bytes icons/myfile_icon_upper_folder_black_theme.png | Bin 0 -> 3197 bytes icons/myfile_icon_upper_folder_focus.png | Bin 0 -> 3134 bytes icons/myfile_icon_upper_folder_white_theme.png | Bin 0 -> 348 bytes icons/myfile_icon_video.png | Bin 0 -> 8062 bytes icons/myfile_icon_video_play.png | Bin 0 -> 5001 bytes icons/myfile_icon_word.png | Bin 0 -> 5865 bytes icons/myfile_thumbnail_icon_excel.png | Bin 0 -> 9778 bytes icons/myfile_thumbnail_icon_folder.png | Bin 0 -> 4585 bytes icons/myfile_thumbnail_icon_folder_open.png | Bin 0 -> 5735 bytes icons/myfile_thumbnail_icon_html.png | Bin 0 -> 10712 bytes icons/myfile_thumbnail_icon_music.png | Bin 0 -> 7876 bytes icons/myfile_thumbnail_icon_pdf.png | Bin 0 -> 7328 bytes icons/myfile_thumbnail_icon_ppt.png | Bin 0 -> 8639 bytes icons/myfile_thumbnail_icon_rss.png | Bin 0 -> 7469 bytes icons/myfile_thumbnail_icon_svg.png | Bin 0 -> 8226 bytes icons/myfile_thumbnail_icon_swf.png | Bin 0 -> 9507 bytes icons/myfile_thumbnail_icon_text.png | Bin 0 -> 5914 bytes icons/myfile_thumbnail_icon_unkown.png | Bin 0 -> 8219 bytes icons/myfile_thumbnail_icon_video.png | Bin 0 -> 19631 bytes icons/myfile_thumbnail_icon_video_play.png | Bin 0 -> 8407 bytes icons/myfile_thumbnail_icon_word.png | Bin 0 -> 10262 bytes packaging/ug-myfile-efl.spec | 53 + po/CMakeLists.txt | 25 + po/POTFILES.in | 17 + po/ar.po | 309 ++++ po/az.po | 309 ++++ po/bg.po | 309 ++++ po/ca.po | 309 ++++ po/cs.po | 309 ++++ po/da.po | 309 ++++ po/de.po | 120 ++ po/de_DE.po | 312 ++++ po/el.po | 120 ++ po/el_GR.po | 312 ++++ po/en.po | 312 ++++ po/en_GB.po | 46 + po/en_PH.po | 309 ++++ po/en_US.po | 309 ++++ po/es.po | 120 ++ po/es_ES.po | 312 ++++ po/es_US.po | 309 ++++ po/et.po | 309 ++++ po/eu.po | 309 ++++ po/fi.po | 309 ++++ po/fr.po | 120 ++ po/fr_CA.po | 309 ++++ po/fr_FR.po | 312 ++++ po/ga.po | 309 ++++ po/gl.po | 309 ++++ po/hi.po | 309 ++++ po/hr.po | 309 ++++ po/hu.po | 309 ++++ po/hy.po | 309 ++++ po/is.po | 309 ++++ po/it.po | 120 ++ po/it_IT.po | 312 ++++ po/ja.po | 137 ++ po/ja_JP.po | 312 ++++ po/ka.po | 309 ++++ po/kk.po | 309 ++++ po/ko.po | 155 ++ po/ko_KR.po | 312 ++++ po/lt.po | 309 ++++ po/lv.po | 309 ++++ po/mk.po | 309 ++++ po/nb.po | 309 ++++ po/nl.po | 120 ++ po/nl_NL.po | 312 ++++ po/pl.po | 309 ++++ po/pt.po | 120 ++ po/pt_BR.po | 309 ++++ po/pt_PT.po | 312 ++++ po/ro.po | 309 ++++ po/ru.po | 120 ++ po/ru_RU.po | 312 ++++ po/sk.po | 309 ++++ po/sl.po | 309 ++++ po/sr.po | 309 ++++ po/sv.po | 309 ++++ po/tk.po | 120 ++ po/tr_TR.po | 312 ++++ po/ug-myfile-efl.pot | 94 ++ po/uk.po | 309 ++++ po/update-po.sh | 57 + po/uz.po | 309 ++++ po/zh_CN.po | 312 ++++ po/zh_HK.po | 312 ++++ po/zh_SG.po | 309 ++++ po/zh_TW.po | 312 ++++ src/common/file-system/mf-ug-file-attr.c | 1308 +++++++++++++++ src/common/file-system/mf-ug-fs-oper.c | 1019 ++++++++++++ src/common/mf-ug-cb.c | 1584 ++++++++++++++++++ src/common/mf-ug-fm-svc-wapper.c | 949 +++++++++++ src/common/mf-ug-inotify-handle.c | 354 ++++ src/common/mf-ug-list-play.c | 1705 ++++++++++++++++++++ src/common/mf-ug-search-internal.c | 886 ++++++++++ src/common/mf-ug-search.c | 129 ++ src/common/mf-ug-util.c | 855 ++++++++++ src/include/mf-ug-cb.h | 69 + src/include/mf-ug-conf.h | 89 + src/include/mf-ug-dlog.h | 89 + src/include/mf-ug-fm-svc-wrapper.h | 48 + src/include/mf-ug-fs-util.h | 333 ++++ src/include/mf-ug-inotify-handle.h | 44 + src/include/mf-ug-list-play.h | 73 + src/include/mf-ug-main.h | 196 +++ src/include/mf-ug-resource.h | 77 + src/include/mf-ug-search-internal.h | 73 + src/include/mf-ug-search.h | 216 +++ src/include/mf-ug-util.h | 285 ++++ src/include/mf-ug-winset.h | 164 ++ src/mf-ug-main.c | 1157 +++++++++++++ src/widget/mf-ug-ctrl-bar.c | 248 +++ src/widget/mf-ug-genlist.c | 1580 ++++++++++++++++++ src/widget/mf-ug-navi-bar.c | 902 +++++++++++ src/widget/mf-ug-popup.c | 428 +++++ src/widget/mf-ug-search-view.c | 458 ++++++ src/widget/mf-ug-tab-bar.c | 269 +++ ug-myfile-efl.manifest | 5 + ug-myfile-efl.xml | 28 + ug_navibar_layout.edc | 470 ++++++ 168 files changed, 33871 insertions(+) create mode 100644 CMakeLists.txt create mode 100644 LICENSE.Flora create mode 100644 NOTICE.Flora create mode 100644 icons/Controlbar/U01_controlbar_cion_home.png create mode 100644 icons/Controlbar/U01_controlbar_cion_home_press.png create mode 100644 icons/Controlbar/U01_controlbar_cion_up_folder.png create mode 100644 icons/Controlbar/U01_controlbar_cion_up_folder_press.png create mode 100644 icons/U01_1st_icon_memory_card.png create mode 100644 icons/U01_1st_icon_memory_card_press.png create mode 100644 icons/U01_1st_icon_phone.png create mode 100644 icons/U01_1st_icon_phone_press.png create mode 100644 icons/myfile_icon_USB.png create mode 100644 icons/myfile_icon_add.png create mode 100644 icons/myfile_icon_cancel.png create mode 100644 icons/myfile_icon_control_pause.png create mode 100644 icons/myfile_icon_control_pause_press.png create mode 100644 icons/myfile_icon_control_play.png create mode 100644 icons/myfile_icon_control_play_press.png create mode 100644 icons/myfile_icon_copy.png create mode 100644 icons/myfile_icon_create_folder.png create mode 100644 icons/myfile_icon_delete.png create mode 100644 icons/myfile_icon_done.png create mode 100644 icons/myfile_icon_edit.png create mode 100644 icons/myfile_icon_etc.png create mode 100644 icons/myfile_icon_excel.png create mode 100644 icons/myfile_icon_folder.png create mode 100644 icons/myfile_icon_folder_open.png create mode 100644 icons/myfile_icon_html.png create mode 100644 icons/myfile_icon_images.png create mode 100644 icons/myfile_icon_java.png create mode 100644 icons/myfile_icon_list_by.png create mode 100644 icons/myfile_icon_mmc.png create mode 100644 icons/myfile_icon_mmc_sub.png create mode 100644 icons/myfile_icon_move.png create mode 100644 icons/myfile_icon_move_here.png create mode 100644 icons/myfile_icon_music.png create mode 100644 icons/myfile_icon_paste_here.png create mode 100644 icons/myfile_icon_pdf.png create mode 100644 icons/myfile_icon_phone.png create mode 100644 icons/myfile_icon_ppt.png create mode 100644 icons/myfile_icon_rss.png create mode 100644 icons/myfile_icon_search.png create mode 100644 icons/myfile_icon_share.png create mode 100644 icons/myfile_icon_store_here.png create mode 100644 icons/myfile_icon_svg.png create mode 100644 icons/myfile_icon_swf.png create mode 100644 icons/myfile_icon_text.png create mode 100644 icons/myfile_icon_upper_folder_black_theme.png create mode 100644 icons/myfile_icon_upper_folder_focus.png create mode 100644 icons/myfile_icon_upper_folder_white_theme.png create mode 100644 icons/myfile_icon_video.png create mode 100644 icons/myfile_icon_video_play.png create mode 100644 icons/myfile_icon_word.png create mode 100644 icons/myfile_thumbnail_icon_excel.png create mode 100644 icons/myfile_thumbnail_icon_folder.png create mode 100644 icons/myfile_thumbnail_icon_folder_open.png create mode 100644 icons/myfile_thumbnail_icon_html.png create mode 100644 icons/myfile_thumbnail_icon_music.png create mode 100644 icons/myfile_thumbnail_icon_pdf.png create mode 100644 icons/myfile_thumbnail_icon_ppt.png create mode 100644 icons/myfile_thumbnail_icon_rss.png create mode 100644 icons/myfile_thumbnail_icon_svg.png create mode 100644 icons/myfile_thumbnail_icon_swf.png create mode 100644 icons/myfile_thumbnail_icon_text.png create mode 100644 icons/myfile_thumbnail_icon_unkown.png create mode 100644 icons/myfile_thumbnail_icon_video.png create mode 100644 icons/myfile_thumbnail_icon_video_play.png create mode 100644 icons/myfile_thumbnail_icon_word.png create mode 100644 packaging/ug-myfile-efl.spec create mode 100644 po/CMakeLists.txt create mode 100644 po/POTFILES.in create mode 100644 po/ar.po create mode 100644 po/az.po create mode 100644 po/bg.po create mode 100644 po/ca.po create mode 100644 po/cs.po create mode 100644 po/da.po create mode 100644 po/de.po create mode 100644 po/de_DE.po create mode 100644 po/el.po create mode 100644 po/el_GR.po create mode 100644 po/en.po create mode 100644 po/en_GB.po create mode 100644 po/en_PH.po create mode 100644 po/en_US.po create mode 100644 po/es.po create mode 100644 po/es_ES.po create mode 100644 po/es_US.po create mode 100644 po/et.po create mode 100644 po/eu.po create mode 100644 po/fi.po create mode 100644 po/fr.po create mode 100644 po/fr_CA.po create mode 100644 po/fr_FR.po create mode 100644 po/ga.po create mode 100644 po/gl.po create mode 100644 po/hi.po create mode 100644 po/hr.po create mode 100644 po/hu.po create mode 100644 po/hy.po create mode 100644 po/is.po create mode 100644 po/it.po create mode 100644 po/it_IT.po create mode 100644 po/ja.po create mode 100644 po/ja_JP.po create mode 100644 po/ka.po create mode 100644 po/kk.po create mode 100644 po/ko.po create mode 100644 po/ko_KR.po create mode 100644 po/lt.po create mode 100644 po/lv.po create mode 100644 po/mk.po create mode 100644 po/nb.po create mode 100644 po/nl.po create mode 100644 po/nl_NL.po create mode 100644 po/pl.po create mode 100644 po/pt.po create mode 100644 po/pt_BR.po create mode 100644 po/pt_PT.po create mode 100644 po/ro.po create mode 100644 po/ru.po create mode 100644 po/ru_RU.po create mode 100644 po/sk.po create mode 100644 po/sl.po create mode 100644 po/sr.po create mode 100644 po/sv.po create mode 100644 po/tk.po create mode 100644 po/tr_TR.po create mode 100644 po/ug-myfile-efl.pot create mode 100644 po/uk.po create mode 100644 po/update-po.sh create mode 100644 po/uz.po create mode 100644 po/zh_CN.po create mode 100644 po/zh_HK.po create mode 100644 po/zh_SG.po create mode 100644 po/zh_TW.po create mode 100644 src/common/file-system/mf-ug-file-attr.c create mode 100644 src/common/file-system/mf-ug-fs-oper.c create mode 100644 src/common/mf-ug-cb.c create mode 100644 src/common/mf-ug-fm-svc-wapper.c create mode 100644 src/common/mf-ug-inotify-handle.c create mode 100644 src/common/mf-ug-list-play.c create mode 100644 src/common/mf-ug-search-internal.c create mode 100644 src/common/mf-ug-search.c create mode 100644 src/common/mf-ug-util.c create mode 100644 src/include/mf-ug-cb.h create mode 100644 src/include/mf-ug-conf.h create mode 100644 src/include/mf-ug-dlog.h create mode 100644 src/include/mf-ug-fm-svc-wrapper.h create mode 100644 src/include/mf-ug-fs-util.h create mode 100644 src/include/mf-ug-inotify-handle.h create mode 100644 src/include/mf-ug-list-play.h create mode 100644 src/include/mf-ug-main.h create mode 100644 src/include/mf-ug-resource.h create mode 100644 src/include/mf-ug-search-internal.h create mode 100644 src/include/mf-ug-search.h create mode 100644 src/include/mf-ug-util.h create mode 100644 src/include/mf-ug-winset.h create mode 100644 src/mf-ug-main.c create mode 100644 src/widget/mf-ug-ctrl-bar.c create mode 100644 src/widget/mf-ug-genlist.c create mode 100644 src/widget/mf-ug-navi-bar.c create mode 100644 src/widget/mf-ug-popup.c create mode 100644 src/widget/mf-ug-search-view.c create mode 100644 src/widget/mf-ug-tab-bar.c create mode 100644 ug-myfile-efl.manifest create mode 100644 ug-myfile-efl.xml create mode 100644 ug_navibar_layout.edc diff --git a/CMakeLists.txt b/CMakeLists.txt new file mode 100644 index 0000000..9fc0aad --- /dev/null +++ b/CMakeLists.txt @@ -0,0 +1,103 @@ +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 +status +) + +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_LIBRARY(${MFUGNAME} SHARED ${SRCS}) +TARGET_LINK_LIBRARIES(${MFUGNAME} ${ug_pkgs_LDFLAGS} dl) + +INSTALL(TARGETS ${MFUGNAME} LIBRARY DESTINATION ${LIBDIR}) + + +# edje +ADD_CUSTOM_TARGET(ug_navibar_layout.edj + COMMAND edje_cc -id ${CMAKE_CURRENT_SOURCE_DIR} + ${CMAKE_SOURCE_DIR}/ug_navibar_layout.edc + ${CMAKE_BINARY_DIR}/ug_navibar_layout.edj + DEPENDS ${CMAKE_SOURCE_DIR}/ug_navibar_layout.edc +) + +ADD_DEPENDENCIES(${PROJECT_NAME} ug_navibar_layout.edj) + +INSTALL(FILES ${CMAKE_BINARY_DIR}/ug_navibar_layout.edj DESTINATION ${EDJDIR}) +INSTALL(FILES ${CMAKE_BINARY_DIR}/${MFUGNAME}.xml DESTINATION /usr/share/packages) +# images +INSTALL(DIRECTORY ${CMAKE_SOURCE_DIR}/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/LICENSE.Flora b/LICENSE.Flora new file mode 100644 index 0000000..9c95663 --- /dev/null +++ b/LICENSE.Flora @@ -0,0 +1,206 @@ +Flora License + +Version 1.0, 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 Compatibility Definition Document +and passes the Compatibility Test Suite 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.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://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 index 0000000..3997999 --- /dev/null +++ b/NOTICE.Flora @@ -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. +Please, see the LICENSE file for Flora License terms and conditions. + diff --git a/icons/Controlbar/U01_controlbar_cion_home.png b/icons/Controlbar/U01_controlbar_cion_home.png new file mode 100644 index 0000000..f521c9e Binary files /dev/null and b/icons/Controlbar/U01_controlbar_cion_home.png differ diff --git a/icons/Controlbar/U01_controlbar_cion_home_press.png b/icons/Controlbar/U01_controlbar_cion_home_press.png new file mode 100644 index 0000000..ca24783 Binary files /dev/null and b/icons/Controlbar/U01_controlbar_cion_home_press.png differ diff --git a/icons/Controlbar/U01_controlbar_cion_up_folder.png b/icons/Controlbar/U01_controlbar_cion_up_folder.png new file mode 100644 index 0000000..57f3e58 Binary files /dev/null and b/icons/Controlbar/U01_controlbar_cion_up_folder.png differ diff --git a/icons/Controlbar/U01_controlbar_cion_up_folder_press.png b/icons/Controlbar/U01_controlbar_cion_up_folder_press.png new file mode 100644 index 0000000..b2fdb69 Binary files /dev/null and b/icons/Controlbar/U01_controlbar_cion_up_folder_press.png differ diff --git a/icons/U01_1st_icon_memory_card.png b/icons/U01_1st_icon_memory_card.png new file mode 100644 index 0000000..277e976 Binary files /dev/null and b/icons/U01_1st_icon_memory_card.png differ diff --git a/icons/U01_1st_icon_memory_card_press.png b/icons/U01_1st_icon_memory_card_press.png new file mode 100644 index 0000000..00a0644 Binary files /dev/null and b/icons/U01_1st_icon_memory_card_press.png differ diff --git a/icons/U01_1st_icon_phone.png b/icons/U01_1st_icon_phone.png new file mode 100644 index 0000000..647b42b Binary files /dev/null and b/icons/U01_1st_icon_phone.png differ diff --git a/icons/U01_1st_icon_phone_press.png b/icons/U01_1st_icon_phone_press.png new file mode 100644 index 0000000..bbe69cb Binary files /dev/null and b/icons/U01_1st_icon_phone_press.png differ diff --git a/icons/myfile_icon_USB.png b/icons/myfile_icon_USB.png new file mode 100644 index 0000000..bf4dc00 Binary files /dev/null and b/icons/myfile_icon_USB.png differ diff --git a/icons/myfile_icon_add.png b/icons/myfile_icon_add.png new file mode 100644 index 0000000..43c4984 Binary files /dev/null and b/icons/myfile_icon_add.png differ diff --git a/icons/myfile_icon_cancel.png b/icons/myfile_icon_cancel.png new file mode 100644 index 0000000..8d12808 Binary files /dev/null and b/icons/myfile_icon_cancel.png differ diff --git a/icons/myfile_icon_control_pause.png b/icons/myfile_icon_control_pause.png new file mode 100644 index 0000000..5ae19bb Binary files /dev/null and b/icons/myfile_icon_control_pause.png differ diff --git a/icons/myfile_icon_control_pause_press.png b/icons/myfile_icon_control_pause_press.png new file mode 100644 index 0000000..3151a6a Binary files /dev/null and b/icons/myfile_icon_control_pause_press.png differ diff --git a/icons/myfile_icon_control_play.png b/icons/myfile_icon_control_play.png new file mode 100644 index 0000000..cca0393 Binary files /dev/null and b/icons/myfile_icon_control_play.png differ diff --git a/icons/myfile_icon_control_play_press.png b/icons/myfile_icon_control_play_press.png new file mode 100644 index 0000000..315cb44 Binary files /dev/null and b/icons/myfile_icon_control_play_press.png differ diff --git a/icons/myfile_icon_copy.png b/icons/myfile_icon_copy.png new file mode 100644 index 0000000..13c40bb Binary files /dev/null and b/icons/myfile_icon_copy.png differ diff --git a/icons/myfile_icon_create_folder.png b/icons/myfile_icon_create_folder.png new file mode 100644 index 0000000..d74811f Binary files /dev/null and b/icons/myfile_icon_create_folder.png differ diff --git a/icons/myfile_icon_delete.png b/icons/myfile_icon_delete.png new file mode 100644 index 0000000..faaa0d3 Binary files /dev/null and b/icons/myfile_icon_delete.png differ diff --git a/icons/myfile_icon_done.png b/icons/myfile_icon_done.png new file mode 100644 index 0000000..d771640 Binary files /dev/null and b/icons/myfile_icon_done.png differ diff --git a/icons/myfile_icon_edit.png b/icons/myfile_icon_edit.png new file mode 100644 index 0000000..4ddc598 Binary files /dev/null and b/icons/myfile_icon_edit.png differ diff --git a/icons/myfile_icon_etc.png b/icons/myfile_icon_etc.png new file mode 100644 index 0000000..0cc767d Binary files /dev/null and b/icons/myfile_icon_etc.png differ diff --git a/icons/myfile_icon_excel.png b/icons/myfile_icon_excel.png new file mode 100644 index 0000000..109b7de Binary files /dev/null and b/icons/myfile_icon_excel.png differ diff --git a/icons/myfile_icon_folder.png b/icons/myfile_icon_folder.png new file mode 100644 index 0000000..d53be43 Binary files /dev/null and b/icons/myfile_icon_folder.png differ diff --git a/icons/myfile_icon_folder_open.png b/icons/myfile_icon_folder_open.png new file mode 100644 index 0000000..85e0f19 Binary files /dev/null and b/icons/myfile_icon_folder_open.png differ diff --git a/icons/myfile_icon_html.png b/icons/myfile_icon_html.png new file mode 100644 index 0000000..78646b4 Binary files /dev/null and b/icons/myfile_icon_html.png differ diff --git a/icons/myfile_icon_images.png b/icons/myfile_icon_images.png new file mode 100644 index 0000000..4dd3be3 Binary files /dev/null and b/icons/myfile_icon_images.png differ diff --git a/icons/myfile_icon_java.png b/icons/myfile_icon_java.png new file mode 100644 index 0000000..a083ee6 Binary files /dev/null and b/icons/myfile_icon_java.png differ diff --git a/icons/myfile_icon_list_by.png b/icons/myfile_icon_list_by.png new file mode 100644 index 0000000..0c17352 Binary files /dev/null and b/icons/myfile_icon_list_by.png differ diff --git a/icons/myfile_icon_mmc.png b/icons/myfile_icon_mmc.png new file mode 100644 index 0000000..f486674 Binary files /dev/null and b/icons/myfile_icon_mmc.png differ diff --git a/icons/myfile_icon_mmc_sub.png b/icons/myfile_icon_mmc_sub.png new file mode 100644 index 0000000..faced52 Binary files /dev/null and b/icons/myfile_icon_mmc_sub.png differ diff --git a/icons/myfile_icon_move.png b/icons/myfile_icon_move.png new file mode 100644 index 0000000..fdc8c8a Binary files /dev/null and b/icons/myfile_icon_move.png differ diff --git a/icons/myfile_icon_move_here.png b/icons/myfile_icon_move_here.png new file mode 100644 index 0000000..06e7946 Binary files /dev/null and b/icons/myfile_icon_move_here.png differ diff --git a/icons/myfile_icon_music.png b/icons/myfile_icon_music.png new file mode 100644 index 0000000..9909d9c Binary files /dev/null and b/icons/myfile_icon_music.png differ diff --git a/icons/myfile_icon_paste_here.png b/icons/myfile_icon_paste_here.png new file mode 100644 index 0000000..13c40bb Binary files /dev/null and b/icons/myfile_icon_paste_here.png differ diff --git a/icons/myfile_icon_pdf.png b/icons/myfile_icon_pdf.png new file mode 100644 index 0000000..2480d81 Binary files /dev/null and b/icons/myfile_icon_pdf.png differ diff --git a/icons/myfile_icon_phone.png b/icons/myfile_icon_phone.png new file mode 100644 index 0000000..1c92369 Binary files /dev/null and b/icons/myfile_icon_phone.png differ diff --git a/icons/myfile_icon_ppt.png b/icons/myfile_icon_ppt.png new file mode 100644 index 0000000..42c1100 Binary files /dev/null and b/icons/myfile_icon_ppt.png differ diff --git a/icons/myfile_icon_rss.png b/icons/myfile_icon_rss.png new file mode 100644 index 0000000..1b566e2 Binary files /dev/null and b/icons/myfile_icon_rss.png differ diff --git a/icons/myfile_icon_search.png b/icons/myfile_icon_search.png new file mode 100644 index 0000000..ff46fa3 Binary files /dev/null and b/icons/myfile_icon_search.png differ diff --git a/icons/myfile_icon_share.png b/icons/myfile_icon_share.png new file mode 100644 index 0000000..c1a20b5 Binary files /dev/null and b/icons/myfile_icon_share.png differ diff --git a/icons/myfile_icon_store_here.png b/icons/myfile_icon_store_here.png new file mode 100644 index 0000000..65290d8 Binary files /dev/null and b/icons/myfile_icon_store_here.png differ diff --git a/icons/myfile_icon_svg.png b/icons/myfile_icon_svg.png new file mode 100644 index 0000000..64a841c Binary files /dev/null and b/icons/myfile_icon_svg.png differ diff --git a/icons/myfile_icon_swf.png b/icons/myfile_icon_swf.png new file mode 100644 index 0000000..ee50e85 Binary files /dev/null and b/icons/myfile_icon_swf.png differ diff --git a/icons/myfile_icon_text.png b/icons/myfile_icon_text.png new file mode 100644 index 0000000..c937ef8 Binary files /dev/null and b/icons/myfile_icon_text.png differ diff --git a/icons/myfile_icon_upper_folder_black_theme.png b/icons/myfile_icon_upper_folder_black_theme.png new file mode 100644 index 0000000..050c295 Binary files /dev/null and b/icons/myfile_icon_upper_folder_black_theme.png differ diff --git a/icons/myfile_icon_upper_folder_focus.png b/icons/myfile_icon_upper_folder_focus.png new file mode 100644 index 0000000..d8dd048 Binary files /dev/null and b/icons/myfile_icon_upper_folder_focus.png differ diff --git a/icons/myfile_icon_upper_folder_white_theme.png b/icons/myfile_icon_upper_folder_white_theme.png new file mode 100644 index 0000000..e3853c1 Binary files /dev/null and b/icons/myfile_icon_upper_folder_white_theme.png differ diff --git a/icons/myfile_icon_video.png b/icons/myfile_icon_video.png new file mode 100644 index 0000000..a8e832a Binary files /dev/null and b/icons/myfile_icon_video.png differ diff --git a/icons/myfile_icon_video_play.png b/icons/myfile_icon_video_play.png new file mode 100644 index 0000000..bbde433 Binary files /dev/null and b/icons/myfile_icon_video_play.png differ diff --git a/icons/myfile_icon_word.png b/icons/myfile_icon_word.png new file mode 100644 index 0000000..b399bad Binary files /dev/null and b/icons/myfile_icon_word.png differ diff --git a/icons/myfile_thumbnail_icon_excel.png b/icons/myfile_thumbnail_icon_excel.png new file mode 100644 index 0000000..c5ff6e6 Binary files /dev/null and b/icons/myfile_thumbnail_icon_excel.png differ diff --git a/icons/myfile_thumbnail_icon_folder.png b/icons/myfile_thumbnail_icon_folder.png new file mode 100644 index 0000000..c4b91e1 Binary files /dev/null and b/icons/myfile_thumbnail_icon_folder.png differ diff --git a/icons/myfile_thumbnail_icon_folder_open.png b/icons/myfile_thumbnail_icon_folder_open.png new file mode 100644 index 0000000..d928ea2 Binary files /dev/null and b/icons/myfile_thumbnail_icon_folder_open.png differ diff --git a/icons/myfile_thumbnail_icon_html.png b/icons/myfile_thumbnail_icon_html.png new file mode 100644 index 0000000..2e99180 Binary files /dev/null and b/icons/myfile_thumbnail_icon_html.png differ diff --git a/icons/myfile_thumbnail_icon_music.png b/icons/myfile_thumbnail_icon_music.png new file mode 100644 index 0000000..54c18e7 Binary files /dev/null and b/icons/myfile_thumbnail_icon_music.png differ diff --git a/icons/myfile_thumbnail_icon_pdf.png b/icons/myfile_thumbnail_icon_pdf.png new file mode 100644 index 0000000..30ea8e9 Binary files /dev/null and b/icons/myfile_thumbnail_icon_pdf.png differ diff --git a/icons/myfile_thumbnail_icon_ppt.png b/icons/myfile_thumbnail_icon_ppt.png new file mode 100644 index 0000000..bb97df2 Binary files /dev/null and b/icons/myfile_thumbnail_icon_ppt.png differ diff --git a/icons/myfile_thumbnail_icon_rss.png b/icons/myfile_thumbnail_icon_rss.png new file mode 100644 index 0000000..8fc1384 Binary files /dev/null and b/icons/myfile_thumbnail_icon_rss.png differ diff --git a/icons/myfile_thumbnail_icon_svg.png b/icons/myfile_thumbnail_icon_svg.png new file mode 100644 index 0000000..92b89e0 Binary files /dev/null and b/icons/myfile_thumbnail_icon_svg.png differ diff --git a/icons/myfile_thumbnail_icon_swf.png b/icons/myfile_thumbnail_icon_swf.png new file mode 100644 index 0000000..8d1278d Binary files /dev/null and b/icons/myfile_thumbnail_icon_swf.png differ diff --git a/icons/myfile_thumbnail_icon_text.png b/icons/myfile_thumbnail_icon_text.png new file mode 100644 index 0000000..39cdc23 Binary files /dev/null and b/icons/myfile_thumbnail_icon_text.png differ diff --git a/icons/myfile_thumbnail_icon_unkown.png b/icons/myfile_thumbnail_icon_unkown.png new file mode 100644 index 0000000..37a22ec Binary files /dev/null and b/icons/myfile_thumbnail_icon_unkown.png differ diff --git a/icons/myfile_thumbnail_icon_video.png b/icons/myfile_thumbnail_icon_video.png new file mode 100644 index 0000000..b4c1c66 Binary files /dev/null and b/icons/myfile_thumbnail_icon_video.png differ diff --git a/icons/myfile_thumbnail_icon_video_play.png b/icons/myfile_thumbnail_icon_video_play.png new file mode 100644 index 0000000..4fe90b2 Binary files /dev/null and b/icons/myfile_thumbnail_icon_video_play.png differ diff --git a/icons/myfile_thumbnail_icon_word.png b/icons/myfile_thumbnail_icon_word.png new file mode 100644 index 0000000..ef5b578 Binary files /dev/null and b/icons/myfile_thumbnail_icon_word.png differ diff --git a/packaging/ug-myfile-efl.spec b/packaging/ug-myfile-efl.spec new file mode 100644 index 0000000..39c6d3c --- /dev/null +++ b/packaging/ug-myfile-efl.spec @@ -0,0 +1,53 @@ +#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.44 +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(status) + + +%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} +%make_install + +%files +%manifest ug-myfile-efl.manifest +%defattr(-,root,root,-) +/usr/ug/lib/* +/usr/ug/res/* +/usr/share/packages/*.xml diff --git a/po/CMakeLists.txt b/po/CMakeLists.txt new file mode 100644 index 0000000..720b9df --- /dev/null +++ b/po/CMakeLists.txt @@ -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 +lv.po nb.po ro.po sl.po tr_TR.po uz.po zh_SG.po az.po de_DE.po en.po es_US.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/po/POTFILES.in b/po/POTFILES.in new file mode 100644 index 0000000..92bd4d0 --- /dev/null +++ b/po/POTFILES.in @@ -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/po/ar.po b/po/ar.po new file mode 100644 index 0000000..c1973fe --- /dev/null +++ b/po/ar.po @@ -0,0 +1,309 @@ +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_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 "نغمات الرنين" + diff --git a/po/az.po b/po/az.po new file mode 100644 index 0000000..90e1192 --- /dev/null +++ b/po/az.po @@ -0,0 +1,309 @@ +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_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" + diff --git a/po/bg.po b/po/bg.po new file mode 100644 index 0000000..25000f5 --- /dev/null +++ b/po/bg.po @@ -0,0 +1,309 @@ +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_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 "Мелодии" + diff --git a/po/ca.po b/po/ca.po new file mode 100644 index 0000000..2a8aa42 --- /dev/null +++ b/po/ca.po @@ -0,0 +1,309 @@ +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_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" + diff --git a/po/cs.po b/po/cs.po new file mode 100644 index 0000000..0a37413 --- /dev/null +++ b/po/cs.po @@ -0,0 +1,309 @@ +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_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í" + diff --git a/po/da.po b/po/da.po new file mode 100644 index 0000000..0063561 --- /dev/null +++ b/po/da.po @@ -0,0 +1,309 @@ +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_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" + diff --git a/po/de.po b/po/de.po new file mode 100644 index 0000000..0de8783 --- /dev/null +++ b/po/de.po @@ -0,0 +1,120 @@ +msgid "IDS_MF_BODY_ANY" +msgstr "Jede" + +msgid "IDS_MF_BODY_AVAILABLE_USES" +msgstr "Verfügbare Nutzungen" + +msgid "IDS_MF_BODY_CREATE_FOLDER" +msgstr "Ordner erstellen" + +msgid "IDS_MF_BODY_DATE" +msgstr "Datum" + +msgid "IDS_MF_BODY_DONE" +msgstr "OK" + +msgid "IDS_MF_BODY_EXECUTE" +msgstr "Ausführen" + +msgid "IDS_MF_BODY_FORWARDING" +msgstr "Weiterleitung" + +msgid "IDS_MF_BODY_IMAGES" +msgstr "Bilder" + +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_OTHERS" +msgstr "Sonstiges" + +msgid "IDS_MF_BODY_POSSIBLE" +msgstr "Möglich" + +msgid "IDS_MF_BODY_PRINT" +msgstr "Drucken" + +msgid "IDS_MF_BODY_SIZE" +msgstr "Größe" + +msgid "IDS_MF_BODY_SOUNDS" +msgstr "Töne" + +msgid "IDS_MF_BODY_VALIDITY" +msgstr "Gültigkeit" + +msgid "IDS_MF_BODY_VIDEOS" +msgstr "Videos" + +msgid "IDS_MF_HEADER_NEW_FOLDER" +msgstr "Neuer Ordner" + +msgid "IDS_MF_HEADER_PHONE" +msgstr "Telefon" + +msgid "IDS_MF_HEADER_RENAME" +msgstr "Umbenennen" + +msgid "IDS_MF_OPT_COPY" +msgstr "Kopieren" + +msgid "IDS_MF_OPT_DETAILS" +msgstr "Details" + +msgid "IDS_MF_OPT_EDIT" +msgstr "Bearbeiten" + +msgid "IDS_MF_OPT_LISTBY_TYPE" +msgstr "Typ" + +msgid "IDS_MF_OPT_LIST_BY" +msgstr "Sortieren nach" + +msgid "IDS_MF_OPT_MOVE" +msgstr "Verschieben" + +msgid "IDS_MF_OPT_MOVE_HERE" +msgstr "Hierher verschieben" + +msgid "IDS_MF_OPT_RINGTONE" +msgstr "Klingelton" + +msgid "IDS_MF_OPT_WALLPAPER" +msgstr "Hintergrundbild" + +msgid "IDS_MF_POP_CLOSE" +msgstr "Schließen" + +msgid "IDS_MF_POP_CONTINUE" +msgstr "Weiter" + +msgid "IDS_MF_POP_COPYING" +msgstr "Wird kopiert..." + +msgid "IDS_MF_POP_DELETING_ING" +msgstr "Löschen..." + +msgid "IDS_MF_POP_DO_YOU_WANT_TO_UNLOCK_IT_NOW_Q" +msgstr "Jetzt freigeben?" + +msgid "IDS_MF_POP_MOVING" +msgstr "Verschiebevorgang aktiv..." + +msgid "IDS_MF_POP_PASTE_HERE" +msgstr "Hier einfügen" + +msgid "IDS_MF_POP_SELECT_ALL" +msgstr "Alle auswählen" + +msgid "IDS_MF_POP_UNSUPPORTED_FILE_TYPE" +msgstr "Nicht unterstützter Dateityp" + +msgid "IDS_MF_SK_ADD" +msgstr "Hinzufügen" + +msgid "IDS_MF_SK_CANCEL" +msgstr "Abbrechen" + diff --git a/po/de_DE.po b/po/de_DE.po new file mode 100644 index 0000000..ba94cb3 --- /dev/null +++ b/po/de_DE.po @@ -0,0 +1,312 @@ +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" + diff --git a/po/el.po b/po/el.po new file mode 100644 index 0000000..0a45315 --- /dev/null +++ b/po/el.po @@ -0,0 +1,120 @@ +msgid "IDS_MF_BODY_ANY" +msgstr "Οποιοδήποτε" + +msgid "IDS_MF_BODY_AVAILABLE_USES" +msgstr "Διαθέσιμες χρήσεις" + +msgid "IDS_MF_BODY_CREATE_FOLDER" +msgstr "Δημ/ργία φακέλου" + +msgid "IDS_MF_BODY_DATE" +msgstr "Ημερομηνία" + +msgid "IDS_MF_BODY_DONE" +msgstr "Τέλος" + +msgid "IDS_MF_BODY_EXECUTE" +msgstr "Εκτέλεση" + +msgid "IDS_MF_BODY_FORWARDING" +msgstr "Προώθηση" + +msgid "IDS_MF_BODY_IMAGES" +msgstr "Εικόνες" + +msgid "IDS_MF_BODY_IMPOSSIBLE" +msgstr "Αδύνατο" + +msgid "IDS_MF_BODY_MMC_DATA_IS_INITIALIZING_ING" +msgstr "Inizializzazione dati MMC..." + +msgid "IDS_MF_BODY_OTHERS" +msgstr "Άλλα" + +msgid "IDS_MF_BODY_POSSIBLE" +msgstr "Δυνατό" + +msgid "IDS_MF_BODY_PRINT" +msgstr "Εκτύπωση" + +msgid "IDS_MF_BODY_SIZE" +msgstr "Μέγεθος" + +msgid "IDS_MF_BODY_SOUNDS" +msgstr "Ήχοι" + +msgid "IDS_MF_BODY_VALIDITY" +msgstr "Ισχύς" + +msgid "IDS_MF_BODY_VIDEOS" +msgstr "Βίντεο" + +msgid "IDS_MF_HEADER_NEW_FOLDER" +msgstr "Νέος φάκελος" + +msgid "IDS_MF_HEADER_PHONE" +msgstr "Τηλέφωνο" + +msgid "IDS_MF_HEADER_RENAME" +msgstr "Μετονομασία" + +msgid "IDS_MF_OPT_COPY" +msgstr "Αντιγραφή" + +msgid "IDS_MF_OPT_DETAILS" +msgstr "Λεπτομέρειες" + +msgid "IDS_MF_OPT_EDIT" +msgstr "Επεξεργασία" + +msgid "IDS_MF_OPT_LISTBY_TYPE" +msgstr "Τύπος" + +msgid "IDS_MF_OPT_LIST_BY" +msgstr "Εμφάνιση ανά" + +msgid "IDS_MF_OPT_MOVE" +msgstr "Μετακίνηση" + +msgid "IDS_MF_OPT_MOVE_HERE" +msgstr "Μετακίνηση εδώ" + +msgid "IDS_MF_OPT_RINGTONE" +msgstr "Ήχος κλήσης" + +msgid "IDS_MF_OPT_WALLPAPER" +msgstr "Φόντο" + +msgid "IDS_MF_POP_CLOSE" +msgstr "Κλείσιμο" + +msgid "IDS_MF_POP_CONTINUE" +msgstr "Συνέχεια;" + +msgid "IDS_MF_POP_COPYING" +msgstr "Αντιγραφή..." + +msgid "IDS_MF_POP_DELETING_ING" +msgstr "Διαγραφή..." + +msgid "IDS_MF_POP_DO_YOU_WANT_TO_UNLOCK_IT_NOW_Q" +msgstr "Θέλετε να το ξεκλειδώσετε τώρα;" + +msgid "IDS_MF_POP_MOVING" +msgstr "Μετακίνηση..." + +msgid "IDS_MF_POP_PASTE_HERE" +msgstr "Επικόλληση εδώ" + +msgid "IDS_MF_POP_SELECT_ALL" +msgstr "Επιλογή όλων" + +msgid "IDS_MF_POP_UNSUPPORTED_FILE_TYPE" +msgstr "Μη υποστηριζόμενος τύπος αρχείου" + +msgid "IDS_MF_SK_ADD" +msgstr "Προσθήκη" + +msgid "IDS_MF_SK_CANCEL" +msgstr "Άκυρο" + diff --git a/po/el_GR.po b/po/el_GR.po new file mode 100644 index 0000000..014c407 --- /dev/null +++ b/po/el_GR.po @@ -0,0 +1,312 @@ +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 "Ήχοι κλήσης" + diff --git a/po/en.po b/po/en.po new file mode 100644 index 0000000..c076ef4 --- /dev/null +++ b/po/en.po @@ -0,0 +1,312 @@ +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" + diff --git a/po/en_GB.po b/po/en_GB.po new file mode 100644 index 0000000..f9959ca --- /dev/null +++ b/po/en_GB.po @@ -0,0 +1,46 @@ +# 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 , 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 \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: libraries/winset-wrapper/myfileListView.c:75 +msgid "IDS_MF_BODY_IMAGES" +msgstr "Images" + +#: libraries/winset-wrapper/myfileListView.c:77 +#msgid "Videos" +#msgstr "" + +#: libraries/winset-wrapper/myfileListView.c:78 +msgid "IDS_MF_BODY_VIDEOS" +msgstr "Videos" + +#: libraries/winset-wrapper/myfileListView.c:80 +#msgid "Sounds" +#msgstr "" + +#: libraries/winset-wrapper/myfileListView.c:81 +msgid "IDS_MF_BODY_SOUNDS" +msgstr "Sounds" + +#: libraries/winset-wrapper/myfileListView.c:83 +#msgid "Others" +#msgstr "" + +#: libraries/winset-wrapper/myfileListView.c:84 +msgid "IDS_MF_BODY_OTHERS" +msgstr "Others" + diff --git a/po/en_PH.po b/po/en_PH.po new file mode 100644 index 0000000..93cf214 --- /dev/null +++ b/po/en_PH.po @@ -0,0 +1,309 @@ +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_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" + diff --git a/po/en_US.po b/po/en_US.po new file mode 100644 index 0000000..93cf214 --- /dev/null +++ b/po/en_US.po @@ -0,0 +1,309 @@ +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_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" + diff --git a/po/es.po b/po/es.po new file mode 100644 index 0000000..ce73e46 --- /dev/null +++ b/po/es.po @@ -0,0 +1,120 @@ +msgid "IDS_MF_BODY_ANY" +msgstr "Cualquiera" + +msgid "IDS_MF_BODY_AVAILABLE_USES" +msgstr "Usos disponibles" + +msgid "IDS_MF_BODY_CREATE_FOLDER" +msgstr "Crear carpeta" + +msgid "IDS_MF_BODY_DATE" +msgstr "Fecha" + +msgid "IDS_MF_BODY_DONE" +msgstr "Finalizado" + +msgid "IDS_MF_BODY_EXECUTE" +msgstr "Ejecutar" + +msgid "IDS_MF_BODY_FORWARDING" +msgstr "Reenviando" + +msgid "IDS_MF_BODY_IMAGES" +msgstr "Imágenes" + +msgid "IDS_MF_BODY_IMPOSSIBLE" +msgstr "Imposible" + +msgid "IDS_MF_BODY_MMC_DATA_IS_INITIALIZING_ING" +msgstr "Προετοιμασία των δεδομένων MMC..." + +msgid "IDS_MF_BODY_OTHERS" +msgstr "Otros" + +msgid "IDS_MF_BODY_POSSIBLE" +msgstr "Posible" + +msgid "IDS_MF_BODY_PRINT" +msgstr "Imprimir" + +msgid "IDS_MF_BODY_SIZE" +msgstr "Tamaño" + +msgid "IDS_MF_BODY_SOUNDS" +msgstr "Sonidos" + +msgid "IDS_MF_BODY_VALIDITY" +msgstr "Validez" + +msgid "IDS_MF_BODY_VIDEOS" +msgstr "Vídeos" + +msgid "IDS_MF_HEADER_NEW_FOLDER" +msgstr "Nueva carpeta" + +msgid "IDS_MF_HEADER_PHONE" +msgstr "Teléfono" + +msgid "IDS_MF_HEADER_RENAME" +msgstr "Cambiar nombre" + +msgid "IDS_MF_OPT_COPY" +msgstr "Copiar" + +msgid "IDS_MF_OPT_DETAILS" +msgstr "Detalles" + +msgid "IDS_MF_OPT_EDIT" +msgstr "Editar" + +msgid "IDS_MF_OPT_LISTBY_TYPE" +msgstr "Tipo" + +msgid "IDS_MF_OPT_LIST_BY" +msgstr "Ordenar por" + +msgid "IDS_MF_OPT_MOVE" +msgstr "Mover" + +msgid "IDS_MF_OPT_MOVE_HERE" +msgstr "Mover aquí" + +msgid "IDS_MF_OPT_RINGTONE" +msgstr "Melodía" + +msgid "IDS_MF_OPT_WALLPAPER" +msgstr "Fondos" + +msgid "IDS_MF_POP_CLOSE" +msgstr "Cerrar" + +msgid "IDS_MF_POP_CONTINUE" +msgstr "Continuar" + +msgid "IDS_MF_POP_COPYING" +msgstr "Copiando..." + +msgid "IDS_MF_POP_DELETING_ING" +msgstr "Eliminando..." + +msgid "IDS_MF_POP_DO_YOU_WANT_TO_UNLOCK_IT_NOW_Q" +msgstr "¿Desea desbloquearlo ahora?" + +msgid "IDS_MF_POP_MOVING" +msgstr "Moviendo..." + +msgid "IDS_MF_POP_PASTE_HERE" +msgstr "Pegar aquí" + +msgid "IDS_MF_POP_SELECT_ALL" +msgstr "Seleccionar todo" + +msgid "IDS_MF_POP_UNSUPPORTED_FILE_TYPE" +msgstr "Tipo de archivo no admitido" + +msgid "IDS_MF_SK_ADD" +msgstr "Añadir" + +msgid "IDS_MF_SK_CANCEL" +msgstr "Cancelar" + diff --git a/po/es_ES.po b/po/es_ES.po new file mode 100644 index 0000000..0d399d4 --- /dev/null +++ b/po/es_ES.po @@ -0,0 +1,312 @@ +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" + diff --git a/po/es_US.po b/po/es_US.po new file mode 100644 index 0000000..ff81b32 --- /dev/null +++ b/po/es_US.po @@ -0,0 +1,309 @@ +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 "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 "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_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_OPT_HIDE_FILE_EXTENSION_ABB" +msgstr "Ocultar ext. del arch." + +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 antigua)" + +msgid "IDS_MF_BUTTON_GO_TO_MY_FILES" +msgstr "Ir a Mis Archivos" + +msgid "IDS_MF_BODY_RINGTONES" +msgstr "Tonos de llamada" + diff --git a/po/et.po b/po/et.po new file mode 100644 index 0000000..2b50ff8 --- /dev/null +++ b/po/et.po @@ -0,0 +1,309 @@ +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_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" + diff --git a/po/eu.po b/po/eu.po new file mode 100644 index 0000000..ac3f5bc --- /dev/null +++ b/po/eu.po @@ -0,0 +1,309 @@ +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_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" + diff --git a/po/fi.po b/po/fi.po new file mode 100644 index 0000000..a3d885e --- /dev/null +++ b/po/fi.po @@ -0,0 +1,309 @@ +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_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" + diff --git a/po/fr.po b/po/fr.po new file mode 100644 index 0000000..109bf21 --- /dev/null +++ b/po/fr.po @@ -0,0 +1,120 @@ +msgid "IDS_MF_BODY_ANY" +msgstr "N'importe" + +msgid "IDS_MF_BODY_AVAILABLE_USES" +msgstr "Utilisations disponibles" + +msgid "IDS_MF_BODY_CREATE_FOLDER" +msgstr "Créer dossier" + +msgid "IDS_MF_BODY_DATE" +msgstr "Date" + +msgid "IDS_MF_BODY_DONE" +msgstr "OK" + +msgid "IDS_MF_BODY_EXECUTE" +msgstr "Exécuter" + +msgid "IDS_MF_BODY_FORWARDING" +msgstr "Transfert" + +msgid "IDS_MF_BODY_IMAGES" +msgstr "Images" + +msgid "IDS_MF_BODY_IMPOSSIBLE" +msgstr "Impossible" + +msgid "IDS_MF_BODY_MMC_DATA_IS_INITIALIZING_ING" +msgstr "" + +msgid "IDS_MF_BODY_OTHERS" +msgstr "Autres" + +msgid "IDS_MF_BODY_POSSIBLE" +msgstr "Possible" + +msgid "IDS_MF_BODY_PRINT" +msgstr "Imprimer" + +msgid "IDS_MF_BODY_SIZE" +msgstr "Taille" + +msgid "IDS_MF_BODY_SOUNDS" +msgstr "Sons" + +msgid "IDS_MF_BODY_VALIDITY" +msgstr "Validité" + +msgid "IDS_MF_BODY_VIDEOS" +msgstr "Vidéos" + +msgid "IDS_MF_HEADER_NEW_FOLDER" +msgstr "Nouveau dossier" + +msgid "IDS_MF_HEADER_PHONE" +msgstr "Téléphone" + +msgid "IDS_MF_HEADER_RENAME" +msgstr "Renommer" + +msgid "IDS_MF_OPT_COPY" +msgstr "Copier" + +msgid "IDS_MF_OPT_DETAILS" +msgstr "Détails" + +msgid "IDS_MF_OPT_EDIT" +msgstr "Modifier" + +msgid "IDS_MF_OPT_LISTBY_TYPE" +msgstr "Type" + +msgid "IDS_MF_OPT_LIST_BY" +msgstr "Trier par" + +msgid "IDS_MF_OPT_MOVE" +msgstr "Déplacer" + +msgid "IDS_MF_OPT_MOVE_HERE" +msgstr "Déplacer ici" + +msgid "IDS_MF_OPT_RINGTONE" +msgstr "Sonnerie" + +msgid "IDS_MF_OPT_WALLPAPER" +msgstr "Fond d'écran" + +msgid "IDS_MF_POP_CLOSE" +msgstr "Fermer" + +msgid "IDS_MF_POP_CONTINUE" +msgstr "Continuer" + +msgid "IDS_MF_POP_COPYING" +msgstr "Copie ..." + +msgid "IDS_MF_POP_DELETING_ING" +msgstr "Suppression ..." + +msgid "IDS_MF_POP_DO_YOU_WANT_TO_UNLOCK_IT_NOW_Q" +msgstr "Voulez-vous le déverrouiller maintenant ?" + +msgid "IDS_MF_POP_MOVING" +msgstr "Déplacement..." + +msgid "IDS_MF_POP_PASTE_HERE" +msgstr "Coller ici" + +msgid "IDS_MF_POP_SELECT_ALL" +msgstr "Sélectionner tout" + +msgid "IDS_MF_POP_UNSUPPORTED_FILE_TYPE" +msgstr "Type de fichier non pris en charge" + +msgid "IDS_MF_SK_ADD" +msgstr "Ajouter" + +msgid "IDS_MF_SK_CANCEL" +msgstr "Annuler" + diff --git a/po/fr_CA.po b/po/fr_CA.po new file mode 100644 index 0000000..aca9e84 --- /dev/null +++ b/po/fr_CA.po @@ -0,0 +1,309 @@ +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_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" + diff --git a/po/fr_FR.po b/po/fr_FR.po new file mode 100644 index 0000000..d01fded --- /dev/null +++ b/po/fr_FR.po @@ -0,0 +1,312 @@ +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 "Miniatures" + +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" + diff --git a/po/ga.po b/po/ga.po new file mode 100644 index 0000000..6415f3d --- /dev/null +++ b/po/ga.po @@ -0,0 +1,309 @@ +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_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" + diff --git a/po/gl.po b/po/gl.po new file mode 100644 index 0000000..9e463c3 --- /dev/null +++ b/po/gl.po @@ -0,0 +1,309 @@ +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_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" + diff --git a/po/hi.po b/po/hi.po new file mode 100644 index 0000000..c63bc68 --- /dev/null +++ b/po/hi.po @@ -0,0 +1,309 @@ +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_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 "रिंगटोन" + diff --git a/po/hr.po b/po/hr.po new file mode 100644 index 0000000..4294eac --- /dev/null +++ b/po/hr.po @@ -0,0 +1,309 @@ +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_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" + diff --git a/po/hu.po b/po/hu.po new file mode 100644 index 0000000..f3fdead --- /dev/null +++ b/po/hu.po @@ -0,0 +1,309 @@ +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_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" + diff --git a/po/hy.po b/po/hy.po new file mode 100644 index 0000000..501faa9 --- /dev/null +++ b/po/hy.po @@ -0,0 +1,309 @@ +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_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 "Մեղեդիներ" + diff --git a/po/is.po b/po/is.po new file mode 100644 index 0000000..be5b4d9 --- /dev/null +++ b/po/is.po @@ -0,0 +1,309 @@ +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_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" + diff --git a/po/it.po b/po/it.po new file mode 100644 index 0000000..15a979b --- /dev/null +++ b/po/it.po @@ -0,0 +1,120 @@ +msgid "IDS_MF_BODY_ANY" +msgstr "Qualsiasi" + +msgid "IDS_MF_BODY_AVAILABLE_USES" +msgstr "Usi disponibili" + +msgid "IDS_MF_BODY_CREATE_FOLDER" +msgstr "Crea cartella" + +msgid "IDS_MF_BODY_DATE" +msgstr "Data" + +msgid "IDS_MF_BODY_DONE" +msgstr "Fatto" + +msgid "IDS_MF_BODY_EXECUTE" +msgstr "Esegui" + +msgid "IDS_MF_BODY_FORWARDING" +msgstr "Inoltro" + +msgid "IDS_MF_BODY_IMAGES" +msgstr "Immagini" + +msgid "IDS_MF_BODY_IMPOSSIBLE" +msgstr "Impossibile" + +msgid "IDS_MF_BODY_MMC_DATA_IS_INITIALIZING_ING" +msgstr "MMC verileri başlatılıyor..." + +msgid "IDS_MF_BODY_OTHERS" +msgstr "Altro" + +msgid "IDS_MF_BODY_POSSIBLE" +msgstr "Possibile" + +msgid "IDS_MF_BODY_PRINT" +msgstr "Stampa" + +msgid "IDS_MF_BODY_SIZE" +msgstr "Dimensioni" + +msgid "IDS_MF_BODY_SOUNDS" +msgstr "Suoni" + +msgid "IDS_MF_BODY_VALIDITY" +msgstr "Validità" + +msgid "IDS_MF_BODY_VIDEOS" +msgstr "Video" + +msgid "IDS_MF_HEADER_NEW_FOLDER" +msgstr "Nuova cartella" + +msgid "IDS_MF_HEADER_PHONE" +msgstr "Telefono" + +msgid "IDS_MF_HEADER_RENAME" +msgstr "Rinomina" + +msgid "IDS_MF_OPT_COPY" +msgstr "Copia" + +msgid "IDS_MF_OPT_DETAILS" +msgstr "Dettagli" + +msgid "IDS_MF_OPT_EDIT" +msgstr "Modifica" + +msgid "IDS_MF_OPT_LISTBY_TYPE" +msgstr "Tipo" + +msgid "IDS_MF_OPT_LIST_BY" +msgstr "Elenca per" + +msgid "IDS_MF_OPT_MOVE" +msgstr "Sposta" + +msgid "IDS_MF_OPT_MOVE_HERE" +msgstr "Sposta qui" + +msgid "IDS_MF_OPT_RINGTONE" +msgstr "Suoneria" + +msgid "IDS_MF_OPT_WALLPAPER" +msgstr "Sfondo" + +msgid "IDS_MF_POP_CLOSE" +msgstr "Chiudi" + +msgid "IDS_MF_POP_CONTINUE" +msgstr "Continua" + +msgid "IDS_MF_POP_COPYING" +msgstr "Copia in corso..." + +msgid "IDS_MF_POP_DELETING_ING" +msgstr "Eliminazione..." + +msgid "IDS_MF_POP_DO_YOU_WANT_TO_UNLOCK_IT_NOW_Q" +msgstr "Sbloccarlo adesso?" + +msgid "IDS_MF_POP_MOVING" +msgstr "Spostamento..." + +msgid "IDS_MF_POP_PASTE_HERE" +msgstr "Incolla qui" + +msgid "IDS_MF_POP_SELECT_ALL" +msgstr "Seleziona tutto" + +msgid "IDS_MF_POP_UNSUPPORTED_FILE_TYPE" +msgstr "Tipo file non supportato" + +msgid "IDS_MF_SK_ADD" +msgstr "Aggiungi" + +msgid "IDS_MF_SK_CANCEL" +msgstr "Annulla" + diff --git a/po/it_IT.po b/po/it_IT.po new file mode 100644 index 0000000..e8cc149 --- /dev/null +++ b/po/it_IT.po @@ -0,0 +1,312 @@ +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" + diff --git a/po/ja.po b/po/ja.po new file mode 100644 index 0000000..170b593 --- /dev/null +++ b/po/ja.po @@ -0,0 +1,137 @@ +# 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 , 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 \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +msgid "IDS_MF_BODY_ANY" +msgstr "どれか" + +msgid "IDS_MF_BODY_AVAILABLE_USES" +msgstr "使用​可能" + +msgid "IDS_MF_BODY_CREATE_FOLDER" +msgstr "フォルダ作成" + +msgid "IDS_MF_BODY_DATE" +msgstr "日付" + +msgid "IDS_MF_BODY_DONE" +msgstr "完了" + +msgid "IDS_MF_BODY_EXECUTE" +msgstr "実行" + +msgid "IDS_MF_BODY_FORWARDING" +msgstr "外部転送" + +msgid "IDS_MF_BODY_IMAGES" +msgstr "画像" + +msgid "IDS_MF_BODY_IMPOSSIBLE" +msgstr "不可" + +msgid "IDS_MF_BODY_MMC_DATA_IS_INITIALIZING_ING" +msgstr "Los datos MMC se están inicializando..." + +msgid "IDS_MF_BODY_OTHERS" +msgstr "その他" + +msgid "IDS_MF_BODY_POSSIBLE" +msgstr "可能" + +msgid "IDS_MF_BODY_PRINT" +msgstr "印刷" + +msgid "IDS_MF_BODY_SIZE" +msgstr "サイズ" + +msgid "IDS_MF_BODY_SOUNDS" +msgstr "サウンド" + +msgid "IDS_MF_BODY_VALIDITY" +msgstr "有効性" + +msgid "IDS_MF_BODY_VIDEOS" +msgstr "ムービー" + +msgid "IDS_MF_HEADER_NEW_FOLDER" +msgstr "新​フォルダ" + +msgid "IDS_MF_HEADER_PHONE" +msgstr "本体" + +msgid "IDS_MF_HEADER_RENAME" +msgstr "ファイル名変更" + +msgid "IDS_MF_OPT_COPY" +msgstr "コピー" + +msgid "IDS_MF_OPT_DETAILS" +msgstr "詳細" + +msgid "IDS_MF_OPT_EDIT" +msgstr "編集​" + +msgid "IDS_MF_OPT_LISTBY_TYPE" +msgstr "種類" + +msgid "IDS_MF_OPT_LIST_BY" +msgstr "ソート" + +msgid "IDS_MF_OPT_MOVE" +msgstr "移動" + +msgid "IDS_MF_OPT_MOVE_HERE" +msgstr "ここに​移動" + +msgid "IDS_MF_OPT_RINGTONE" +msgstr "着信音" + +msgid "IDS_MF_OPT_WALLPAPER" +msgstr "壁紙" + +msgid "IDS_MF_POP_CLOSE" +msgstr "閉じる" + +msgid "IDS_MF_POP_CONTINUE" +msgstr "次へ" + +msgid "IDS_MF_POP_COPYING" +msgstr "コピー中..." + +msgid "IDS_MF_POP_DELETING_ING" +msgstr "削除中..." + +msgid "IDS_MF_POP_DO_YOU_WANT_TO_UNLOCK_IT_NOW_Q" +msgstr "今すぐ​ロック​解除​しますか?" + +msgid "IDS_MF_POP_MOVING" +msgstr "移動中..." + +msgid "IDS_MF_POP_PASTE_HERE" +msgstr "ここにコピー" + +msgid "IDS_MF_POP_SELECT_ALL" +msgstr "全て選択" + +msgid "IDS_MF_POP_UNSUPPORTED_FILE_TYPE" +msgstr "非対応のファイルです" + +msgid "IDS_MF_SK_ADD" +msgstr "追加" + +msgid "IDS_MF_SK_CANCEL" +msgstr "キャンセル" diff --git a/po/ja_JP.po b/po/ja_JP.po new file mode 100644 index 0000000..0c42d17 --- /dev/null +++ b/po/ja_JP.po @@ -0,0 +1,312 @@ +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 "着信音" + diff --git a/po/ka.po b/po/ka.po new file mode 100644 index 0000000..07c05d9 --- /dev/null +++ b/po/ka.po @@ -0,0 +1,309 @@ +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_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 "ზარის მელოდიები" + diff --git a/po/kk.po b/po/kk.po new file mode 100644 index 0000000..7a98f6d --- /dev/null +++ b/po/kk.po @@ -0,0 +1,309 @@ +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_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 "Әуендер" + diff --git a/po/ko.po b/po/ko.po new file mode 100644 index 0000000..5be8a5c --- /dev/null +++ b/po/ko.po @@ -0,0 +1,155 @@ +# 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 , 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 \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\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 "" + +msgid "IDS_MF_BODY_ANY" +msgstr "모든 종류" + +msgid "IDS_MF_BODY_AVAILABLE_USES" +msgstr "사용 가능" + +msgid "IDS_MF_BODY_CREATE_FOLDER" +msgstr "폴더 추가" + +msgid "IDS_MF_BODY_DATE" +msgstr "날짜" + +msgid "IDS_MF_BODY_DONE" +msgstr "완료" + +msgid "IDS_MF_BODY_EXECUTE" +msgstr "실행" + +msgid "IDS_MF_BODY_FORWARDING" +msgstr "전송" + +msgid "IDS_MF_BODY_IMAGES" +msgstr "이미지" + +msgid "IDS_MF_BODY_IMPOSSIBLE" +msgstr "불가능" + +msgid "IDS_MF_BODY_MMC_DATA_IS_INITIALIZING_ING" +msgstr "외장메모리 데이터 읽어오는 중…" + +msgid "IDS_MF_BODY_OTHERS" +msgstr "기타" + +msgid "IDS_MF_BODY_POSSIBLE" +msgstr "가능" + +msgid "IDS_MF_BODY_PRINT" +msgstr "인쇄" + +msgid "IDS_MF_BODY_SIZE" +msgstr "크기" + +msgid "IDS_MF_BODY_SOUNDS" +msgstr "사운드" + +msgid "IDS_MF_BODY_VALIDITY" +msgstr "유효 횟수" + +msgid "IDS_MF_BODY_VIDEOS" +msgstr "동영상" + +msgid "IDS_MF_HEADER_NEW_FOLDER" +msgstr "폴더 추가" + +msgid "IDS_MF_HEADER_PHONE" +msgstr "휴대폰" + +msgid "IDS_MF_HEADER_RENAME" +msgstr "이름 변경" + +msgid "IDS_MF_OPT_COPY" +msgstr "복사" + +msgid "IDS_MF_OPT_DETAILS" +msgstr "상세정보" + +msgid "IDS_MF_OPT_EDIT" +msgstr "편집" + +msgid "IDS_MF_OPT_LISTBY_TYPE" +msgstr "형식" + +msgid "IDS_MF_OPT_LIST_BY" +msgstr "정렬" + +msgid "IDS_MF_OPT_MOVE" +msgstr "이동" + +msgid "IDS_MF_OPT_MOVE_HERE" +msgstr "여기로 이동" + +msgid "IDS_MF_OPT_RINGTONE" +msgstr "벨소리" + +msgid "IDS_MF_OPT_WALLPAPER" +msgstr "배경화면" + +msgid "IDS_MF_POP_CLOSE" +msgstr "닫기" + +msgid "IDS_MF_POP_CONTINUE" +msgstr "계속" + +msgid "IDS_MF_POP_COPYING" +msgstr "복사 중..." + +msgid "IDS_MF_POP_DELETING_ING" +msgstr "삭제 중..." + +msgid "IDS_MF_POP_DO_YOU_WANT_TO_UNLOCK_IT_NOW_Q" +msgstr "지금 해제할까요?" + +msgid "IDS_MF_POP_MOVING" +msgstr "이동 중..." + +msgid "IDS_MF_POP_PASTE_HERE" +msgstr "여기로 복사" + +msgid "IDS_MF_POP_SELECT_ALL" +msgstr "모두 선택" + +msgid "IDS_MF_POP_UNSUPPORTED_FILE_TYPE" +msgstr "지원되지 않는 파일 형식입니다" + +msgid "IDS_MF_SK_ADD" +msgstr "추가" + +msgid "IDS_MF_SK_CANCEL" +msgstr "취소" diff --git a/po/ko_KR.po b/po/ko_KR.po new file mode 100644 index 0000000..d0d6e17 --- /dev/null +++ b/po/ko_KR.po @@ -0,0 +1,312 @@ +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 "벨소리" + diff --git a/po/lt.po b/po/lt.po new file mode 100644 index 0000000..a901dd5 --- /dev/null +++ b/po/lt.po @@ -0,0 +1,309 @@ +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_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" + diff --git a/po/lv.po b/po/lv.po new file mode 100644 index 0000000..9636261 --- /dev/null +++ b/po/lv.po @@ -0,0 +1,309 @@ +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_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" + diff --git a/po/mk.po b/po/mk.po new file mode 100644 index 0000000..0de9dc6 --- /dev/null +++ b/po/mk.po @@ -0,0 +1,309 @@ +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_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 "Тонови на ѕвонење" + diff --git a/po/nb.po b/po/nb.po new file mode 100644 index 0000000..0c1abbc --- /dev/null +++ b/po/nb.po @@ -0,0 +1,309 @@ +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_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" + diff --git a/po/nl.po b/po/nl.po new file mode 100644 index 0000000..1be7c74 --- /dev/null +++ b/po/nl.po @@ -0,0 +1,120 @@ +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_CREATE_FOLDER" +msgstr "Map maken" + +msgid "IDS_MF_BODY_DATE" +msgstr "Datum" + +msgid "IDS_MF_BODY_DONE" +msgstr "Gereed" + +msgid "IDS_MF_BODY_EXECUTE" +msgstr "Uitvoeren" + +msgid "IDS_MF_BODY_FORWARDING" +msgstr "Doorsturen" + +msgid "IDS_MF_BODY_IMAGES" +msgstr "Afbeeldingen" + +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_OTHERS" +msgstr "Overige" + +msgid "IDS_MF_BODY_POSSIBLE" +msgstr "Mogelijk" + +msgid "IDS_MF_BODY_PRINT" +msgstr "Afdrukken" + +msgid "IDS_MF_BODY_SIZE" +msgstr "Grootte" + +msgid "IDS_MF_BODY_SOUNDS" +msgstr "Geluiden" + +msgid "IDS_MF_BODY_VALIDITY" +msgstr "Geldigheid" + +msgid "IDS_MF_BODY_VIDEOS" +msgstr "Video's" + +msgid "IDS_MF_HEADER_NEW_FOLDER" +msgstr "Nieuwe map" + +msgid "IDS_MF_HEADER_PHONE" +msgstr "Telefoon" + +msgid "IDS_MF_HEADER_RENAME" +msgstr "Naam wijzigen" + +msgid "IDS_MF_OPT_COPY" +msgstr "Kopiëren" + +msgid "IDS_MF_OPT_DETAILS" +msgstr "Details" + +msgid "IDS_MF_OPT_EDIT" +msgstr "Wijzigen" + +msgid "IDS_MF_OPT_LISTBY_TYPE" +msgstr "Type" + +msgid "IDS_MF_OPT_LIST_BY" +msgstr "Sorteren op" + +msgid "IDS_MF_OPT_MOVE" +msgstr "Verplaatsen" + +msgid "IDS_MF_OPT_MOVE_HERE" +msgstr "Hier plaatsen" + +msgid "IDS_MF_OPT_RINGTONE" +msgstr "Beltoon" + +msgid "IDS_MF_OPT_WALLPAPER" +msgstr "Achtergrond" + +msgid "IDS_MF_POP_CLOSE" +msgstr "Dichtbij" + +msgid "IDS_MF_POP_CONTINUE" +msgstr "Doorgaan" + +msgid "IDS_MF_POP_COPYING" +msgstr "Kopiëren..." + +msgid "IDS_MF_POP_DELETING_ING" +msgstr "Wissen..." + +msgid "IDS_MF_POP_DO_YOU_WANT_TO_UNLOCK_IT_NOW_Q" +msgstr "Wilt u het apparaat nu ontgrendelen?" + +msgid "IDS_MF_POP_MOVING" +msgstr "Verplaatsen..." + +msgid "IDS_MF_POP_PASTE_HERE" +msgstr "Hier kopiëren" + +msgid "IDS_MF_POP_SELECT_ALL" +msgstr "Alles selecteren" + +msgid "IDS_MF_POP_UNSUPPORTED_FILE_TYPE" +msgstr "Niet-ondersteund bestandstype" + +msgid "IDS_MF_SK_ADD" +msgstr "Voeg toe" + +msgid "IDS_MF_SK_CANCEL" +msgstr "Annul." + diff --git a/po/nl_NL.po b/po/nl_NL.po new file mode 100644 index 0000000..336dcee --- /dev/null +++ b/po/nl_NL.po @@ -0,0 +1,312 @@ +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_OPT_HIDE_FILE_EXTENSION_ABB" +msgstr "Bestandsext. verbergen" + +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" + diff --git a/po/pl.po b/po/pl.po new file mode 100644 index 0000000..287f05f --- /dev/null +++ b/po/pl.po @@ -0,0 +1,309 @@ +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_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" + diff --git a/po/pt.po b/po/pt.po new file mode 100644 index 0000000..4ed2697 --- /dev/null +++ b/po/pt.po @@ -0,0 +1,120 @@ +msgid "IDS_MF_BODY_ANY" +msgstr "Qualquer" + +msgid "IDS_MF_BODY_AVAILABLE_USES" +msgstr "Utilizações disponíveis" + +msgid "IDS_MF_BODY_CREATE_FOLDER" +msgstr "Criar pasta" + +msgid "IDS_MF_BODY_DATE" +msgstr "Data" + +msgid "IDS_MF_BODY_DONE" +msgstr "Concluído" + +msgid "IDS_MF_BODY_EXECUTE" +msgstr "Executar" + +msgid "IDS_MF_BODY_FORWARDING" +msgstr "A reencaminhar" + +msgid "IDS_MF_BODY_IMAGES" +msgstr "Imagens" + +msgid "IDS_MF_BODY_IMPOSSIBLE" +msgstr "Impossível" + +msgid "IDS_MF_BODY_MMC_DATA_IS_INITIALIZING_ING" +msgstr "Données MMC en cours d'initialisation..." + +msgid "IDS_MF_BODY_OTHERS" +msgstr "Outros" + +msgid "IDS_MF_BODY_POSSIBLE" +msgstr "Possível" + +msgid "IDS_MF_BODY_PRINT" +msgstr "Imprimir" + +msgid "IDS_MF_BODY_SIZE" +msgstr "Tamanho" + +msgid "IDS_MF_BODY_SOUNDS" +msgstr "Sons" + +msgid "IDS_MF_BODY_VALIDITY" +msgstr "Validade" + +msgid "IDS_MF_BODY_VIDEOS" +msgstr "Vídeos" + +msgid "IDS_MF_HEADER_NEW_FOLDER" +msgstr "Nova pasta" + +msgid "IDS_MF_HEADER_PHONE" +msgstr "Telefone" + +msgid "IDS_MF_HEADER_RENAME" +msgstr "Mudar nome" + +msgid "IDS_MF_OPT_COPY" +msgstr "Copiar" + +msgid "IDS_MF_OPT_DETAILS" +msgstr "Detalhes" + +msgid "IDS_MF_OPT_EDIT" +msgstr "Editar" + +msgid "IDS_MF_OPT_LISTBY_TYPE" +msgstr "Tipo" + +msgid "IDS_MF_OPT_LIST_BY" +msgstr "Listar por" + +msgid "IDS_MF_OPT_MOVE" +msgstr "Mover" + +msgid "IDS_MF_OPT_MOVE_HERE" +msgstr "Mover para aqui" + +msgid "IDS_MF_OPT_RINGTONE" +msgstr "Tom de toque" + +msgid "IDS_MF_OPT_WALLPAPER" +msgstr "Fundo" + +msgid "IDS_MF_POP_CLOSE" +msgstr "Fechar" + +msgid "IDS_MF_POP_CONTINUE" +msgstr "Continuar" + +msgid "IDS_MF_POP_COPYING" +msgstr "A copiar..." + +msgid "IDS_MF_POP_DELETING_ING" +msgstr "A eliminar..." + +msgid "IDS_MF_POP_DO_YOU_WANT_TO_UNLOCK_IT_NOW_Q" +msgstr "Quer desbloquear agora?" + +msgid "IDS_MF_POP_MOVING" +msgstr "A mover..." + +msgid "IDS_MF_POP_PASTE_HERE" +msgstr "Colar aqui" + +msgid "IDS_MF_POP_SELECT_ALL" +msgstr "Seleccionar tudo" + +msgid "IDS_MF_POP_UNSUPPORTED_FILE_TYPE" +msgstr "Tipo de ficheiro não suportado" + +msgid "IDS_MF_SK_ADD" +msgstr "Adicionar" + +msgid "IDS_MF_SK_CANCEL" +msgstr "Cancelar" + diff --git a/po/pt_BR.po b/po/pt_BR.po new file mode 100644 index 0000000..86819e3 --- /dev/null +++ b/po/pt_BR.po @@ -0,0 +1,309 @@ +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_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" + diff --git a/po/pt_PT.po b/po/pt_PT.po new file mode 100644 index 0000000..b999adb --- /dev/null +++ b/po/pt_PT.po @@ -0,0 +1,312 @@ +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" + diff --git a/po/ro.po b/po/ro.po new file mode 100644 index 0000000..85374e8 --- /dev/null +++ b/po/ro.po @@ -0,0 +1,309 @@ +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_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" + diff --git a/po/ru.po b/po/ru.po new file mode 100644 index 0000000..4eb84d6 --- /dev/null +++ b/po/ru.po @@ -0,0 +1,120 @@ +msgid "IDS_MF_BODY_ANY" +msgstr "Любой" + +msgid "IDS_MF_BODY_AVAILABLE_USES" +msgstr "Доступно" + +msgid "IDS_MF_BODY_CREATE_FOLDER" +msgstr "Создать папку" + +msgid "IDS_MF_BODY_DATE" +msgstr "Дата" + +msgid "IDS_MF_BODY_DONE" +msgstr "Готово" + +msgid "IDS_MF_BODY_EXECUTE" +msgstr "Запуск" + +msgid "IDS_MF_BODY_FORWARDING" +msgstr "Пересылка" + +msgid "IDS_MF_BODY_IMAGES" +msgstr "Картинки" + +msgid "IDS_MF_BODY_IMPOSSIBLE" +msgstr "Невозможно" + +msgid "IDS_MF_BODY_MMC_DATA_IS_INITIALIZING_ING" +msgstr "Инициализация данных MMC..." + +msgid "IDS_MF_BODY_OTHERS" +msgstr "Прочее" + +msgid "IDS_MF_BODY_POSSIBLE" +msgstr "Возможно" + +msgid "IDS_MF_BODY_PRINT" +msgstr "Печать" + +msgid "IDS_MF_BODY_SIZE" +msgstr "Размер" + +msgid "IDS_MF_BODY_SOUNDS" +msgstr "Звуки" + +msgid "IDS_MF_BODY_VALIDITY" +msgstr "Период действия" + +msgid "IDS_MF_BODY_VIDEOS" +msgstr "Видео" + +msgid "IDS_MF_HEADER_NEW_FOLDER" +msgstr "Новая папка" + +msgid "IDS_MF_HEADER_PHONE" +msgstr "Телефон" + +msgid "IDS_MF_HEADER_RENAME" +msgstr "Переименовать" + +msgid "IDS_MF_OPT_COPY" +msgstr "Копировать" + +msgid "IDS_MF_OPT_DETAILS" +msgstr "Свойства" + +msgid "IDS_MF_OPT_EDIT" +msgstr "Изменить" + +msgid "IDS_MF_OPT_LISTBY_TYPE" +msgstr "Тип" + +msgid "IDS_MF_OPT_LIST_BY" +msgstr "Сортировка по" + +msgid "IDS_MF_OPT_MOVE" +msgstr "Переместить" + +msgid "IDS_MF_OPT_MOVE_HERE" +msgstr "Переместить сюда" + +msgid "IDS_MF_OPT_RINGTONE" +msgstr "Мелодия звонка" + +msgid "IDS_MF_OPT_WALLPAPER" +msgstr "Обои" + +msgid "IDS_MF_POP_CLOSE" +msgstr "Закрыть" + +msgid "IDS_MF_POP_CONTINUE" +msgstr "Продолжить" + +msgid "IDS_MF_POP_COPYING" +msgstr "Копирование..." + +msgid "IDS_MF_POP_DELETING_ING" +msgstr "Удаление..." + +msgid "IDS_MF_POP_DO_YOU_WANT_TO_UNLOCK_IT_NOW_Q" +msgstr "Разблокировать элемент?" + +msgid "IDS_MF_POP_MOVING" +msgstr "Перемещение..." + +msgid "IDS_MF_POP_PASTE_HERE" +msgstr "Вставить сюда" + +msgid "IDS_MF_POP_SELECT_ALL" +msgstr "Выбрать все" + +msgid "IDS_MF_POP_UNSUPPORTED_FILE_TYPE" +msgstr "Неподдерживаемый тип файла" + +msgid "IDS_MF_SK_ADD" +msgstr "Добавить" + +msgid "IDS_MF_SK_CANCEL" +msgstr "Отмена" + diff --git a/po/ru_RU.po b/po/ru_RU.po new file mode 100644 index 0000000..3fa7c83 --- /dev/null +++ b/po/ru_RU.po @@ -0,0 +1,312 @@ +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 "Мелодии звонка" + diff --git a/po/sk.po b/po/sk.po new file mode 100644 index 0000000..cbb9c23 --- /dev/null +++ b/po/sk.po @@ -0,0 +1,309 @@ +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_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" + diff --git a/po/sl.po b/po/sl.po new file mode 100644 index 0000000..f121df9 --- /dev/null +++ b/po/sl.po @@ -0,0 +1,309 @@ +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_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" + diff --git a/po/sr.po b/po/sr.po new file mode 100644 index 0000000..3815e9a --- /dev/null +++ b/po/sr.po @@ -0,0 +1,309 @@ +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_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" + diff --git a/po/sv.po b/po/sv.po new file mode 100644 index 0000000..87ff69b --- /dev/null +++ b/po/sv.po @@ -0,0 +1,309 @@ +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_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" + diff --git a/po/tk.po b/po/tk.po new file mode 100644 index 0000000..826304e --- /dev/null +++ b/po/tk.po @@ -0,0 +1,120 @@ +msgid "IDS_MF_BODY_ANY" +msgstr "Herhangi" + +msgid "IDS_MF_BODY_AVAILABLE_USES" +msgstr "Mevcut kullanımlar" + +msgid "IDS_MF_BODY_CREATE_FOLDER" +msgstr "Klasör oluştur" + +msgid "IDS_MF_BODY_DATE" +msgstr "Tarih" + +msgid "IDS_MF_BODY_DONE" +msgstr "Kaydet" + +msgid "IDS_MF_BODY_EXECUTE" +msgstr "Uygulama" + +msgid "IDS_MF_BODY_FORWARDING" +msgstr "İletme" + +msgid "IDS_MF_BODY_IMAGES" +msgstr "Resimler" + +msgid "IDS_MF_BODY_IMPOSSIBLE" +msgstr "İmkansız" + +msgid "IDS_MF_BODY_MMC_DATA_IS_INITIALIZING_ING" +msgstr "Os dados MMC estão a ser iniciados..." + +msgid "IDS_MF_BODY_OTHERS" +msgstr "Diğerleri" + +msgid "IDS_MF_BODY_POSSIBLE" +msgstr "Mümkün" + +msgid "IDS_MF_BODY_PRINT" +msgstr "Yazdır" + +msgid "IDS_MF_BODY_SIZE" +msgstr "Boyut" + +msgid "IDS_MF_BODY_SOUNDS" +msgstr "Seslerim" + +msgid "IDS_MF_BODY_VALIDITY" +msgstr "Geçerlilik" + +msgid "IDS_MF_BODY_VIDEOS" +msgstr "Videolar" + +msgid "IDS_MF_HEADER_NEW_FOLDER" +msgstr "Yeni klasör" + +msgid "IDS_MF_HEADER_PHONE" +msgstr "Telefon" + +msgid "IDS_MF_HEADER_RENAME" +msgstr "Yeniden adlandır" + +msgid "IDS_MF_OPT_COPY" +msgstr "Kopyala" + +msgid "IDS_MF_OPT_DETAILS" +msgstr "Ayrıntılar" + +msgid "IDS_MF_OPT_EDIT" +msgstr "Düzenle" + +msgid "IDS_MF_OPT_LISTBY_TYPE" +msgstr "Tür" + +msgid "IDS_MF_OPT_LIST_BY" +msgstr "Listele" + +msgid "IDS_MF_OPT_MOVE" +msgstr "Taşı" + +msgid "IDS_MF_OPT_MOVE_HERE" +msgstr "Buraya taşı" + +msgid "IDS_MF_OPT_RINGTONE" +msgstr "Zil sesi" + +msgid "IDS_MF_OPT_WALLPAPER" +msgstr "Duvar kağıdı" + +msgid "IDS_MF_POP_CLOSE" +msgstr "Kapat" + +msgid "IDS_MF_POP_CONTINUE" +msgstr "Devam" + +msgid "IDS_MF_POP_COPYING" +msgstr "Kopyalanıyor..." + +msgid "IDS_MF_POP_DELETING_ING" +msgstr "Siliniyor..." + +msgid "IDS_MF_POP_DO_YOU_WANT_TO_UNLOCK_IT_NOW_Q" +msgstr "Kilidi kaldırmak istiyor musunuz?" + +msgid "IDS_MF_POP_MOVING" +msgstr "Taşıyor..." + +msgid "IDS_MF_POP_PASTE_HERE" +msgstr "Buraya yapıştır" + +msgid "IDS_MF_POP_SELECT_ALL" +msgstr "Hepsini seç" + +msgid "IDS_MF_POP_UNSUPPORTED_FILE_TYPE" +msgstr "Desteklenmeyen dosya türü" + +msgid "IDS_MF_SK_ADD" +msgstr "Ekle" + +msgid "IDS_MF_SK_CANCEL" +msgstr "İptal" + diff --git a/po/tr_TR.po b/po/tr_TR.po new file mode 100644 index 0000000..595e1d2 --- /dev/null +++ b/po/tr_TR.po @@ -0,0 +1,312 @@ +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" + diff --git a/po/ug-myfile-efl.pot b/po/ug-myfile-efl.pot new file mode 100644 index 0000000..c89d2ef --- /dev/null +++ b/po/ug-myfile-efl.pot @@ -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 , 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 \n" +"Language-Team: LANGUAGE \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/po/uk.po b/po/uk.po new file mode 100644 index 0000000..328a90e --- /dev/null +++ b/po/uk.po @@ -0,0 +1,309 @@ +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_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 "Звуки дзвінка" + diff --git a/po/update-po.sh b/po/update-po.sh new file mode 100644 index 0000000..ff5bff7 --- /dev/null +++ b/po/update-po.sh @@ -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/po/uz.po b/po/uz.po new file mode 100644 index 0000000..07cfda8 --- /dev/null +++ b/po/uz.po @@ -0,0 +1,309 @@ +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_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" + diff --git a/po/zh_CN.po b/po/zh_CN.po new file mode 100644 index 0000000..86deb2d --- /dev/null +++ b/po/zh_CN.po @@ -0,0 +1,312 @@ +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 "铃声" + diff --git a/po/zh_HK.po b/po/zh_HK.po new file mode 100644 index 0000000..3b5b140 --- /dev/null +++ b/po/zh_HK.po @@ -0,0 +1,312 @@ +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 "鈴聲" + diff --git a/po/zh_SG.po b/po/zh_SG.po new file mode 100644 index 0000000..55d54d5 --- /dev/null +++ b/po/zh_SG.po @@ -0,0 +1,309 @@ +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_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 "铃声" + diff --git a/po/zh_TW.po b/po/zh_TW.po new file mode 100644 index 0000000..2049198 --- /dev/null +++ b/po/zh_TW.po @@ -0,0 +1,312 @@ +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 "鈴聲" + 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 index 0000000..f2b2cbd --- /dev/null +++ b/src/common/file-system/mf-ug-file-attr.c @@ -0,0 +1,1308 @@ +/* + * Copyright 2012 Samsung Electronics Co., Ltd + * + * Licensed under the Flora License, Version 1.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://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 +#include +#include +#include +#include +#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; + } + 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(®, pattern, cflags); + + if (z != 0) { + regerror(z, ®, ebuf, sizeof(ebuf)); + fprintf(stderr, "%s: pattern '%s' \n", ebuf, pattern); + return MYFILE_ERR_INVALID_FILE_NAME; + } + + z = regexec(®, filename, nmatch, pm, 0); + if (z == REG_NOMATCH) { + ret = MYFILE_ERR_NONE; + } else { + ret = MYFILE_ERR_INVALID_FILE_NAME; + } + regfree(®); + return ret; +} + + +/****************************** +** 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 + 1); + 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 index 0000000..5257ddb --- /dev/null +++ b/src/common/file-system/mf-ug-fs-oper.c @@ -0,0 +1,1019 @@ +/* + * Copyright 2012 Samsung Electronics Co., Ltd + * + * Licensed under the Flora License, Version 1.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://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 +#include +#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; + } +} + +static int __drm_is_action_allowed(const char *path, drm_action_type_e action) +{ + 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); + + ret = drm_is_action_allowed(action,&action_data,&is_allowed); + if(DRM_RETURN_SUCCESS == ret && DRM_TRUE == is_allowed){ + 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 = __drm_is_action_allowed(fullpath, DRM_IS_FORWARDING_ALLOWED); + 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 = __drm_is_action_allowed(fullpath, DRM_HAS_VALID_SETAS_STATUS); + 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 = __drm_is_action_allowed(fullpath, DRM_HAS_VALID_SETAS_STATUS); + 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 index 0000000..39440c7 --- /dev/null +++ b/src/common/mf-ug-cb.c @@ -0,0 +1,1584 @@ +/* + * Copyright 2012 Samsung Electronics Co., Ltd + * + * Licensed under the Flora License, Version 1.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://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 +#include +#include +#include +#include +#include + +#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 + +/****************************** +** 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); + + //mf_ug_player_vol_set(ugd->ug_Status.ug_pPath->str); + } 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) { + result = g_strdup(ugd->ug_Status.ug_pPath->str); + } else { + result = mf_ug_util_get_send_result(ugd); + } + if (result) { + int ret = 0; + ret = service_create(&service); + if (ret == SERVICE_ERROR_NONE) { + service_add_extra_data(service, "result", result); + 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;//ug_mf_navi_bar_get_navi_from_navilist(ugd->ug_MainWindow.ug_pNaviBarList, MF_UG_LABEL_PHONE); + 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); + //mf_ug_player_vol_set(ugd->ug_Status.ug_pPath->str); +} + + +/****************************** +** 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 (mf_ug_fm_svc_wapper_is_root_path(ugd)) { + ugd->ug_Status.ug_iViewType = mf_ug_view_root; + } + + 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 && ugd->ug_Status.ug_iViewType != mf_ug_view_root) { + new_path = g_string_new(file_dir); + UG_SAFE_FREE_GSTRING(ugd->ug_Status.ug_pPath); + ugd->ug_Status.ug_pPath = new_path; + 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; + ugd->ug_Status.ug_iViewType = mf_ug_view_root; + + storage = mf_ug_fm_svc_wapper_get_location(ugd->ug_Status.ug_pPath->str); + switch (storage) { + case MF_UG_PHONE: + UG_SAFE_FREE_GSTRING(ugd->ug_Status.ug_pPath); + ugd->ug_Status.ug_pPath = g_string_new(PHONE_FOLDER); + 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; + + //mf_ug_navi_bar_del_item_directly(ugd); +#if 0 + Elm_Object_Item *it = NULL; + it = (Elm_Object_Item *)event_info; + label = elm_object_item_text_get(it); +#endif + 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_pContent; + 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 (ugd->ug_Status.ug_iViewType == mf_ug_view_root) { + if (mf_ug_fm_svc_wapper_get_location(ugd->ug_Status.ug_pPath->str) != optStorage) { + mf_ug_navi_bar_remove_navi_list_item_by_label(ugd, labelStorage); + __mf_ug_cb_mmc_remove_view_operation(ugd); + } else { + 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); + mf_ug_navi_bar_refresh_navibar_recovered_view(ugd, pNaviInUseStruct); + } + + } else { + if (mf_ug_fm_svc_wapper_get_location(ugd->ug_Status.ug_pPath->str) == optStorage) { + if (0 != ugd->ug_ListPlay.ug_Player) { + mf_ug_list_play_destory_playing_file(ugd); + 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); + } + } + + } + + 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 +** +******************************/ +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"); + + + 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 (ugd->ug_ListPlay.ug_iPlayState != PLAY_STATE_INIT) { + 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; + switch (msg->event) { + case UG_MF_INOTI_CREATE: + case UG_MF_INOTI_MOVE_IN: + /*/1 TODO: add new item to list */ + break; + case UG_MF_INOTI_DELETE: + case UG_MF_INOTI_MOVE_OUT: + /*/1 TODO: remove item from list */ + break; + case UG_MF_INOTI_MODIFY: + /*/1 TODO: update item in list */ + break; + case UG_MF_INOTI_DELETE_SELF: + case UG_MF_INOTI_MOVE_SELF: + /*/1 TODO: watching directory is removed, change current directory. */ + break; + default: + ug_mf_error("Unknown event"); + break; + } + ugd->ug_MainWindow.ug_pContent = newContent = mf_ug_genlist_create_content_list_view(ugd); + mf_ug_navi_bar_set_new_content(ugd->ug_MainWindow.ug_pNaviLayout, newContent); + 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 + mf_ug_navi_bar_create_new_folder_view(ugd); + +} + +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); + + Evas_Object *btn = NULL; + btn = elm_object_item_part_content_unset(ugd->ug_MainWindow.ug_pNaviItem, TITLE_RIGHT_BTN); + UG_SAFE_FREE_OBJ(btn); + btn = elm_object_item_part_content_unset(ugd->ug_MainWindow.ug_pNaviItem, TITLE_LEFT_BTN); + UG_SAFE_FREE_OBJ(btn); + + mf_ug_navi_bar_create_default_view(ugd); + mf_ug_ctrl_bar_set_item_disable(ugd); +} + +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); + + 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 index 0000000..d6ca417 --- /dev/null +++ b/src/common/mf-ug-fm-svc-wapper.c @@ -0,0 +1,949 @@ +/* + * Copyright 2012 Samsung Electronics Co., Ltd + * + * Licensed under the Flora License, Version 1.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://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 + +#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) +{ + ugData *ugd = (ugData *)data; + ug_mf_retvm_if(ugd == NULL, false, "ugd is NULL"); + + if (!strcmp(ugd->ug_Status.ug_pPath->str, PHONE_FOLDER)) { + return true; + } else if (!strcmp(ugd->ug_Status.ug_pPath->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 index 0000000..2fa4e18 --- /dev/null +++ b/src/common/mf-ug-inotify-handle.c @@ -0,0 +1,354 @@ +/* + * Copyright 2012 Samsung Electronics Co., Ltd + * + * Licensed under the Flora License, Version 1.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://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 +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#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 index 0000000..cd63d50 --- /dev/null +++ b/src/common/mf-ug-list-play.c @@ -0,0 +1,1705 @@ +/* + * Copyright 2012 Samsung Electronics Co., Ltd + * + * Licensed under the Flora License, Version 1.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://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 +#include +#include +#include +#include + + +#include "mf-ug-main.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
\"%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_pContent; + + 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_pContent; + + 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_pContent; + + 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_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) { + if (player_create(&ugd->ug_ListPlay.ug_Player) != PLAYER_ERROR_NONE) { + ug_debug("Error when __mf_ug_list_play_create_player_mgr\n"); + UG_TRACE_END; + return false; + } + ug_debug("player is [%d]", 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); + + ug_debug("path is [%s]", path); + ret = player_set_uri(ugd->ug_ListPlay.ug_Player, path); + //player_set_sound_type(ugd->ug_ListPlay.ug_Player, SOUND_TYPE_MEDIA); + if (ret != PLAYER_ERROR_NONE) { + ug_debug(">>>>>>>>>>>>>g_err_name : %s\n", g_err_name); + UG_TRACE_END; + return false; + } + + ret = player_set_sound_type(ugd->ug_ListPlay.ug_Player, SOUND_TYPE_MEDIA); + if (ret != PLAYER_ERROR_NONE) { + ug_error("set sound type failed"); + } else { + ug_error("set sound type success"); + } + + } else { + ug_debug("player handle is exist"); + UG_TRACE_END; + return false; + } + } else { + ug_debug("the path_len is too long"); + UG_TRACE_END; + return false; + } + + 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); + //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_ERROR_OCCUR, 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_ERROR_OCCUR, 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 */ + if (player_unprepare(ugd->ug_ListPlay.ug_Player) != 0) { + ug_debug("Error when __mf_ug_list_play_unrealize\n"); + 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 +** +******************************/ +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_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_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 index 0000000..55e6029 --- /dev/null +++ b/src/common/mf-ug-search-internal.c @@ -0,0 +1,886 @@ +/* + * Copyright 2012 Samsung Electronics Co., Ltd + * + * Licensed under the Flora License, Version 1.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://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 +#include +#include +#include +#include +#include +#include + +#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 index 0000000..31be24d --- /dev/null +++ b/src/common/mf-ug-search.c @@ -0,0 +1,129 @@ +/* + * Copyright 2012 Samsung Electronics Co., Ltd + * + * Licensed under the Flora License, Version 1.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://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 +#include +#include +#include +#include + +#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 index 0000000..3e9b312 --- /dev/null +++ b/src/common/mf-ug-util.c @@ -0,0 +1,855 @@ +/* + * Copyright 2012 Samsung Electronics Co., Ltd + * + * Licensed under the Flora License, Version 1.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://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 +#include + +#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 + +/****************************** +** 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_pContent) { + genlist = ugd->ug_MainWindow.ug_pContent; + 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_pContent == NULL, "ugd->ug_MainWindow.ug_pContent is NULL"); + + + Evas_Object *content = ugd->ug_MainWindow.ug_pContent; + 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_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; + file_selected = g_strconcat(file_selected, "?", 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) +{ + 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_iViewType != mf_ug_view_root) { + return; + } + + + 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_pContent, 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); + + //mf_ug_fs_oper_sort_list(&ugd->ug_UiGadget.ug_pFilterList, iSortTypeValue); + /*need to sort folder items only By Name and Date*/ + //mf_ug_fs_oper_sort_list(&ugd->ug_UiGadget.ug_pDirList, iSortTypeValue); +} + +int mf_ug_util_check_disk_space(void *data) +{ + UG_TRACE_BEGIN; + ug_mf_retvm_if(data == NULL, MYFILE_ERR_SRC_ARG_INVALID, "data is null"); + ugData *ugd = (ugData *)data; + + mf_ug_storage_type state = MF_UG_NONE; + unsigned long free_space = 0; + + if (ugd->ug_Status.ug_iMore == UG_MORE_CREATE_FOLDER) { + state = mf_ug_fm_svc_wapper_get_location(ugd->ug_Status.ug_pPath->str); + free_space = mf_ug_fm_svc_wrapper_get_free_space(state); + ug_debug("free size is %lu\n", free_space); + /* + ** in vfat fs type, sector size is 16K. + ** it is to say that the limited size of the free space should be 16K + ** or it will report space used up. + ** check free_space == 0 can make sure at least 16K is free on the disk + ** while every dir takes 4K + */ + if (free_space == 0) { + ugd->ug_MainWindow.ug_pNormalPopup = mf_ug_popup_create(ugd, UG_POPMODE_TEXT, NULL, + MF_UG_LABEL_NOT_ENOUGH_SPACE, MF_UG_LABEL_OK, + NULL, NULL, mf_ug_cb_warning_popup_cb, ugd); + return MYFILE_ERR_NO_FREE_SPACE; + } + } + + return MYFILE_ERR_NONE; +} + +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 index 0000000..13f0f8d --- /dev/null +++ b/src/include/mf-ug-cb.h @@ -0,0 +1,69 @@ +/* + * Copyright 2012 Samsung Electronics Co., Ltd + * + * Licensed under the Flora License, Version 1.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://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 +#include +#include +#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 index 0000000..13de93d --- /dev/null +++ b/src/include/mf-ug-conf.h @@ -0,0 +1,89 @@ +/* + * Copyright 2012 Samsung Electronics Co., Ltd + * + * Licensed under the Flora License, Version 1.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://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 + +#define UGPACKAGE "ug-myfile-efl" +#define UGPKGNAME_MYFILE "org.tizen.myfile" +#define UGLOCALEDIR "/usr/ug/res/locale" + +#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_NO_CONTENT "noContent" +#define UG_GRP_PATH_INFO "pathinfo" +#define UG_OPTION_COUNT 5 +#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_SINGLE "IMPORT_SINGLE" +#define UG_SELECT_MODE_EXPORT "EXPORT" +#define UG_SELECT_MODE_SHORTCUT "SHORTCUT" + +#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 index 0000000..1401063 --- /dev/null +++ b/src/include/mf-ug-dlog.h @@ -0,0 +1,89 @@ +/* + * Copyright 2012 Samsung Electronics Co., Ltd + * + * Licensed under the Flora License, Version 1.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://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 +#include + +#define DLOG_ON 1 + +#ifdef LOG_TAG +#undef LOG_TAG +#endif + +#define LOG_TAG "MYFILE-UG" +#include + + +#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 index 0000000..4738fd6 --- /dev/null +++ b/src/include/mf-ug-fm-svc-wrapper.h @@ -0,0 +1,48 @@ +/* + * Copyright 2012 Samsung Electronics Co., Ltd + * + * Licensed under the Flora License, Version 1.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://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 +#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 index 0000000..a8eb5ad --- /dev/null +++ b/src/include/mf-ug-fs-util.h @@ -0,0 +1,333 @@ +/* + * Copyright 2012 Samsung Electronics Co., Ltd + * + * Licensed under the Flora License, Version 1.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://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 +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include + +#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)) /** +#include + +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); + +#endif diff --git a/src/include/mf-ug-main.h b/src/include/mf-ug-main.h new file mode 100644 index 0000000..5d4d0bf --- /dev/null +++ b/src/include/mf-ug-main.h @@ -0,0 +1,196 @@ +/* + * Copyright 2012 Samsung Electronics Co., Ltd + * + * Licensed under the Flora License, Version 1.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://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 +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + + + +#include "mf-ug-dlog.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_pContent; + 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; + + Elm_Object_Item *ug_pPreNaviItem; + Elm_Object_Item *ug_pNaviItem; + Eina_List *ug_pNaviBarList; +}; + + +typedef struct _ugStatus ugStatus; +struct _ugStatus { + GString *ug_pPath; + int ug_iState; + int ug_iSortType; + int ug_iRadioOn; + int ug_iMmcFlag; + int ug_iCtrlBarType; + int ug_iRadioValue; /** current the radio box selected item value **/ + int ug_iSelectedSortType; + int ug_iMore; + int ug_iCheckedCount; + int ug_iTotalCount; + int ug_iViewType; + + bool ug_bAudioPlayFlag; + bool ug_bInstallFlag; + bool ug_bSettingEntry; + bool ug_bInSettingView; + bool ug_bNoContentFlag; + bool ug_bCancelDisableFlag; + bool ug_b_NaviPushFlag; + Eina_Bool ug_bSelectAllChecked; + int ug_iThemeType; + char *ug_pUpper_folder; + char *ug_pEntryPath; + 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; +}; + + +typedef struct _ugUiGadget ugUiGadget; +struct _ugUiGadget { + int ug_iFilterMode; + int ug_iSelectMode; + int ug_iMarkedMode; + int ug_iDrmFilterMode; + int ug_iImportMode; + 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; +}; +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 index 0000000..6b1a9e0 --- /dev/null +++ b/src/include/mf-ug-resource.h @@ -0,0 +1,77 @@ +/* + * Copyright 2012 Samsung Electronics Co., Ltd + * + * Licensed under the Flora License, Version 1.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://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 "mf-ug-conf.h" + +#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_OTG "External storage" +#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_OTHER_MUSIC "Other music" +#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_HOME dgettext(UGPACKAGE, "IDS_MF_BUTTON_HOME") +#define MF_UG_LABEL_UPPER dgettext(UGPACKAGE, "IDS_MF_TAB_UP") +#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_LIST_BY dgettext(UGPACKAGE, "IDS_MF_OPT_LIST_BY") +#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_ASCENDING dgettext(UGPACKAGE, "IDS_MF_POP_ASCENDING") +#define MF_UG_LABEL_DESCENDING dgettext(UGPACKAGE, "IDS_MF_POP_DESCENDING") +#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_EXPORT "Export here" +#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_GET_NAME_FAILED "Get name failed. try again!" +#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_MEMORY_NOT_ENOUGH dgettext(UGPACKAGE, "IDS_MF_POP_NOT_ENOUGH_HEAP_MEMORY") +#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_SELECT_ALL dgettext("sys_string", "IDS_COM_BODY_SELECT_ALL") +#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_ERROR_OCCUR "Unable to play. Error occurred" +#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_MAX_CHARACTER_REACHED dgettext("sys_string", "IDS_COM_POP_MAXIMUM_NUMBER_OF_CHARACTERS_REACHED") + +#endif + diff --git a/src/include/mf-ug-search-internal.h b/src/include/mf-ug-search-internal.h new file mode 100644 index 0000000..c95ff58 --- /dev/null +++ b/src/include/mf-ug-search-internal.h @@ -0,0 +1,73 @@ +/* + * Copyright 2012 Samsung Electronics Co., Ltd + * + * Licensed under the Flora License, Version 1.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://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 index 0000000..88064c7 --- /dev/null +++ b/src/include/mf-ug-search.h @@ -0,0 +1,216 @@ +/* + * Copyright 2012 Samsung Electronics Co., Ltd + * + * Licensed under the Flora License, Version 1.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://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 index 0000000..0562873 --- /dev/null +++ b/src/include/mf-ug-util.h @@ -0,0 +1,285 @@ +/* + * Copyright 2012 Samsung Electronics Co., Ltd + * + * Licensed under the Flora License, Version 1.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://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 +#include +#include + +#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, + 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 index 0000000..63badfb --- /dev/null +++ b/src/include/mf-ug-winset.h @@ -0,0 +1,164 @@ +/* + * Copyright 2012 Samsung Electronics Co., Ltd + * + * Licensed under the Flora License, Version 1.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://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 +#include +#include +#include +#include +#include + + +#include "mf-ug-main.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_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); + +#endif diff --git a/src/mf-ug-main.c b/src/mf-ug-main.c new file mode 100644 index 0000000..73b6d9f --- /dev/null +++ b/src/mf-ug-main.c @@ -0,0 +1,1157 @@ +/* + * Copyright 2012 Samsung Electronics Co., Ltd + * + * Licensed under the Flora License, Version 1.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://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 +#include +#include +#include +#include +#include + +#include "mf-ug-main.h" +#include "mf-ug-fs-util.h" +#include "mf-ug-util.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" + +/****************************** +** 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_Status.ug_iViewType = mf_ug_view_root; + + ugd->ug_UiGadget.ug_iSelectMode = SINGLE_FILE_MODE; + ugd->ug_UiGadget.ug_iFilterMode = SHOW_ALL_LIST; + ugd->ug_UiGadget.ug_pExtension = NULL; + ugd->ug_UiGadget.ug_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; + + + 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", "application", "tabbar"); + elm_layout_theme_set(layout, "layout", "tabbar", "default"); + + evas_object_size_hint_weight_set(layout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); + + evas_object_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; + } 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_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); + if (g_strcmp0(entry_path, PHONE_FOLDER) == 0) { + ugd->ug_Status.ug_iViewType = mf_ug_view_root; + } else { + ugd->ug_Status.ug_iViewType = mf_ug_view_normal; + } + free(entry_path); + } else { + return MYFILE_ERR_ALLOCATE_FAIL; + } + UG_TRACE_END; + return error_code; +} + + +/****************************** +** Prototype : __mf_ug_main_set_select_mode +** 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_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 { + 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_NONE; + } + } else { + ugd->ug_UiGadget.ug_iDrmFilterMode = DRM_FILTER_NONE; + } + + 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; +} + + +/****************************** +** 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 *key[UG_OPTION_COUNT] = { "path", "select_type", "file_type", "marked_mode", "drm_type"}; + char *path = NULL; + char *select_mode = NULL; + char *filter_mode = NULL; + char *marked_mode = NULL; + char *drm_filter_mode = NULL; + + 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); + 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; +} + + + +/****************************** +** 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; + + Evas_Object *win = NULL; + ugData *ugd = NULL; + + ug_mf_retv_if(NULL == priv, NULL); + + ugd = priv; + ugd->ug = ug; + + bindtextdomain(UGPACKAGE, UGLOCALEDIR); + + win = (Evas_Object *)ug_get_window(); + ug_mf_retv_if(NULL == win, NULL); + + 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); + //mf_ug_player_vol_set(ugd->ug_Status.ug_pPath->str); + int err = media_content_connect(); + if (err != MEDIA_CONTENT_ERROR_NONE) { + ug_debug("media_content_connect failed!"); + } + + 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_destory_playing_file(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: + break; + + case UG_EVENT_ROTATE_PORTRAIT_UPSIDEDOWN: + break; + + case UG_EVENT_ROTATE_LANDSCAPE: + break; + + case UG_EVENT_ROTATE_LANDSCAPE_UPSIDEDOWN: + break; + + default: + break; + } + UG_TRACE_END; +} + + + +/****************************** +** 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); + } + + if (ugd->ug_Status.ug_pThumbUpdateTimer != NULL) { + ecore_timer_del(ugd->ug_Status.ug_pThumbUpdateTimer); + ugd->ug_Status.ug_pThumbUpdateTimer = NULL; + } + __mf_ug_main_free_evas_object(ugd); + 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 index 0000000..a3071c3 --- /dev/null +++ b/src/widget/mf-ug-ctrl-bar.c @@ -0,0 +1,248 @@ +/* + * Copyright 2012 Samsung Electronics Co., Ltd + * + * Licensed under the Flora License, Version 1.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://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 +#include + +#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_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_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 index 0000000..909ca06 --- /dev/null +++ b/src/widget/mf-ug-genlist.c @@ -0,0 +1,1580 @@ +/* + * Copyright 2012 Samsung Electronics Co., Ltd + * + * Licensed under the Flora License, Version 1.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://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 +#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 +/****************************** +** 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_pContent; + + 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; +} + + + +/****************************** +** 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"); + + 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); + 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_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); + } + } + 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 +** +******************************/ +static 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) { + return; + } + + if (ugd->ug_UiGadget.ug_iSelectMode == SINGLE_FILE_MODE || ugd->ug_UiGadget.ug_iSelectMode == SINGLE_ALL_MODE) { + if (elm_radio_value_get(ugd->ug_MainWindow.ug_pRadioGroup) != selected->ug_iGroupValue) { + ugd->ug_Status.ug_iRadioOn = selected->ug_iGroupValue; + selected->ug_bChecked = true; + elm_radio_value_set(ugd->ug_MainWindow.ug_pRadioGroup, selected->ug_iGroupValue); + } + + mf_ug_launch_type launch_type = mf_ug_util_get_file_launch_type(selected->ug_pItemName->str); + if (launch_type == LAUNCH_TYPE_MUSIC) { + 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, selected->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(selected, NULL, NULL); + } + + } 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 (ugd->ug_Status.ug_iViewType == mf_ug_view_root) { + ugd->ug_Status.ug_iViewType = mf_ug_view_normal; + mf_ug_cb_tab_bar_cb(ugd, selected->ug_pItemName->str); + } else { + 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_MODE || + ugd->ug_UiGadget.ug_iSelectMode == EXPORT_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_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; + + genlist = __mf_ug_genlist_create_gl(ugd); + + ugd->ug_MainWindow.ug_pContent = genlist; + + GString *fullpath = g_string_new(ugd->ug_Status.ug_pPath->str); + + + + if (ugd->ug_Status.ug_iViewType == mf_ug_view_root && ugd->ug_Status.ug_iMore != UG_MORE_SEARCH) { + mf_ug_util_generate_root_view_file_list(&dir_list, ugd->ug_Status.ug_iMmcFlag); + ugd->ug_UiGadget.ug_pDirList = dir_list; + ugd->ug_UiGadget.ug_pFilterList = NULL; + mf_ug_util_sort_the_file_list(ugd); + + } else { + error_code = mf_ug_fm_svc_wapper_get_file_list_by_filter(ugd, fullpath, &dir_list, &file_list); + if (error_code == 0) { + + if (ugd->ug_UiGadget.ug_pDirList) { + mf_ug_util_free_eina_list_data(&ugd->ug_UiGadget.ug_pDirList, NODE_TYPE_PNODE); + ugd->ug_UiGadget.ug_pDirList = NULL; + } + if (ugd->ug_UiGadget.ug_pFilterList) { + mf_ug_util_free_eina_list_data(&ugd->ug_UiGadget.ug_pFilterList, NODE_TYPE_PNODE); + ugd->ug_UiGadget.ug_pFilterList = NULL; + } + + ugd->ug_UiGadget.ug_pFilterList = file_list; + ugd->ug_UiGadget.ug_pDirList = dir_list; + mf_ug_util_sort_the_file_list(ugd); + + } + + } + + /* 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"); + Evas_Object *layout; + 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; + + elm_scroller_bounce_set(genlist, EINA_FALSE, EINA_FALSE); + + layout = elm_layout_add(ugd->ug_MainWindow.ug_pMainLayout); + + elm_layout_file_set(layout, UG_EDJ_NAVIGATIONBAR, UG_GRP_NO_CONTENT); + elm_object_part_content_set(layout, "myfile.noContent.upper", genlist); + elm_object_part_content_set(layout, "myfile.noContent.content", nocontent); + mf_ug_util_add_dir_watch(fullpath->str, ugd); + g_string_free(fullpath, true); + fullpath = NULL; + return layout; + } + 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_MODE || + ugd->ug_UiGadget.ug_iSelectMode == EXPORT_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) { + 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 0 + if ((ugd->ug_UiGadget.ug_iSelectMode == SINGLE_ALL_MODE || ugd->ug_UiGadget.ug_iSelectMode == SINGLE_FILE_MODE) && ug_ItemData->ug_bChecked) { + + if (ugd->ug_Status.ug_bUpperFlag ) { + if (count > MF_UG_SELECTED_ITEM_BRING_UP_COUNT) + elm_genlist_item_top_show(it); + } else { + if (count > MF_UG_SELECTED_ITEM_BRING_UP_COUNT_MAX) + elm_genlist_item_top_show(it); + } + } +#endif + } + + if (fullpath != NULL) { + if ( ugd->ug_Status.ug_iViewType != mf_ug_view_root) { + mf_ug_util_add_dir_watch(fullpath->str, ugd); + } + g_string_free(fullpath, TRUE); + } + 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 index 0000000..6d88b88 --- /dev/null +++ b/src/widget/mf-ug-navi-bar.c @@ -0,0 +1,902 @@ +/* + * Copyright 2012 Samsung Electronics Co., Ltd + * + * Licensed under the Flora License, Version 1.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://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); + } + 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_SINGLE) { + elm_object_part_text_set(ugd->ug_MainWindow.ug_pNaviBar, "elm.text.title", MF_UG_LABEL_IMPORT); + } else if (ugd->ug_Status.ug_iViewType != mf_ug_view_root && !(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_create_button(Evas_Object *parent, char *style, + char *caption, Evas_Object *icon, + void (*func) (void *, Evas_Object *, void *), + void *data) +{ + if (!parent) + return NULL; + + Evas_Object *btn; + + btn = elm_button_add(parent); + + if (style) + elm_object_style_set(btn, style); + + if (caption) { + elm_object_text_set(btn, caption); + } + + if (icon) + elm_object_content_set(btn, icon); + + elm_object_focus_allow_set(btn, EINA_FALSE); + evas_object_propagate_events_set(btn, EINA_FALSE); + + evas_object_smart_callback_add(btn, "clicked", func, (void *)data); + + return btn; +} + +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_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; + Evas_Object *bt_1 = NULL; + Evas_Object *bt_2 = NULL; + if (ugd->ug_UiGadget.ug_iSelectMode == IMPORT_MODE || ugd->ug_UiGadget.ug_iSelectMode == IMPORT_SINGLE) { + bt_1 = mf_ug_navi_bar_create_button(pNavi, NAVI_BUTTON_STYLE, MF_UG_LABEL_IMPORT, NULL, mf_ug_cb_add_button_cb, ugd); + } else if (ugd->ug_Status.ug_iViewType != mf_ug_view_root) { + if (ugd->ug_UiGadget.ug_iSelectMode == EXPORT_MODE) { + bt_1 = mf_ug_navi_bar_create_button(pNavi, NAVI_BUTTON_STYLE, MF_UG_LABEL_EXPORT, NULL, mf_ug_cb_add_button_cb, ugd); + bt_2 = mf_ug_navi_bar_create_button(pNavi, NAVI_BUTTON_EDIT, MF_UG_LABEL_CREATE, NULL, mf_ug_cb_more_cb, ugd); + } else if (ugd->ug_UiGadget.ug_iSelectMode == SINGLE_ALL_MODE || ugd->ug_UiGadget.ug_iSelectMode == SINGLE_FILE_MODE) { + bt_1 = mf_ug_navi_bar_create_button(pNavi, NAVI_BUTTON_STYLE, MF_UG_LABEL_SET, NULL, 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)) { + bt_1 = mf_ug_navi_bar_create_button(pNavi, NAVI_BUTTON_STYLE, MF_UG_LABEL_ATTACH, NULL, mf_ug_cb_add_button_cb, ugd); + + } + } + if (bt_1) { + elm_object_item_part_content_set(navi_it, NAVI_BOTTOM_BUTTON_1_PART, bt_1); + } + if (bt_2) { + elm_object_item_part_content_set(navi_it, NAVI_MORE_BUTTON_PART, bt_2); + } + 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; + + if (ugd->ug_UiGadget.ug_iSelectMode == IMPORT_MODE || ugd->ug_UiGadget.ug_iSelectMode == IMPORT_SINGLE) { + newContent = __mf_ug_genlist_create_gl(ugd); + ugd->ug_MainWindow.ug_pContent = 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); + 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); + } else if (ugd->ug_Status.ug_iViewType != mf_ug_view_root){ + Evas_Object *pathinfo_layout = NULL; + char *pathinfo = NULL; + char *info = NULL; + + top_layout = mf_ug_navi_bar_create_box(box); + evas_object_size_hint_weight_set(top_layout, EVAS_HINT_EXPAND, EVAS_HINT_FILL); + evas_object_size_hint_align_set(top_layout, EVAS_HINT_FILL, EVAS_HINT_FILL); + elm_box_clear(top_layout); + //evas_object_size_hint_min_set(top_layout, MF_UG_UPPER_WIDTH, MF_UG_UPPER_HEIGHT); + + pathinfo = mf_ug_fm_svc_wapper_path_info_get(ugd->ug_Status.ug_pPath->str); + info = mf_ug_fm_svc_path_info_translate(pathinfo, MF_UG_PATH_INFO_MAX_LENGTH_PORTRAIT); + + //Evas_Object *genlist = mf_ug_genlist_create_path_info(top_layout, &ugd->ug_Status.ug_pathinfoitec, info); + + pathinfo_layout = __mf_ug_navi_bar_pathinfo_create(top_layout, info); + + elm_box_pack_end(top_layout, pathinfo_layout); + ugd->ug_Status.ug_bUpperFlag = true; + } + + 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_pContent = newContent; + /*set title segment or title */ + if (mf_ug_fm_svc_wapper_is_root_path(ugd) || ugd->ug_Status.ug_iViewType == mf_ug_view_root) { + 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 */ + //mf_ug_ctrl_bar_set(ugd, pNavi_s); + mf_ug_navi_bar_set_ctrl_button(ugd); + + mf_ug_navi_bar_title_set(ugd); + mf_ug_navi_bar_remove_previous_contents(ugd); + + if (ugd->ug_UiGadget.ug_iSelectMode == IMPORT_MODE || ugd->ug_UiGadget.ug_iSelectMode == IMPORT_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_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); + //mf_ug_navi_bar_set_ctrl_button(ugd); + +} + +/****************************** +** 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_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 index 0000000..ef238e6 --- /dev/null +++ b/src/widget/mf-ug-popup.c @@ -0,0 +1,428 @@ +/* + * Copyright 2012 Samsung Electronics Co., Ltd + * + * Licensed under the Flora License, Version 1.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://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 + +#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, "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 = 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) { + /*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; +} + diff --git a/src/widget/mf-ug-search-view.c b/src/widget/mf-ug-search-view.c new file mode 100644 index 0000000..16861a5 --- /dev/null +++ b/src/widget/mf-ug-search-view.c @@ -0,0 +1,458 @@ +/* + * Copyright 2012 Samsung Electronics Co., Ltd + * + * Licensed under the Flora License, Version 1.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://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 +#include + +#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_pContent, &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_pContent; + 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_pContent = 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 index 0000000..fe4d4b5 --- /dev/null +++ b/src/widget/mf-ug-tab-bar.c @@ -0,0 +1,269 @@ +/* + * Copyright 2012 Samsung Electronics Co., Ltd + * + * Licensed under the Flora License, Version 1.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://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/ug-myfile-efl.manifest b/ug-myfile-efl.manifest new file mode 100644 index 0000000..c00c25b --- /dev/null +++ b/ug-myfile-efl.manifest @@ -0,0 +1,5 @@ + + + + + diff --git a/ug-myfile-efl.xml b/ug-myfile-efl.xml new file mode 100644 index 0000000..d71a363 --- /dev/null +++ b/ug-myfile-efl.xml @@ -0,0 +1,28 @@ + + + + Guangliang Wang + My Files Application + + ug-myfile-efl.png + + + + + + + + + + + + + + + + + + + + + diff --git a/ug_navibar_layout.edc b/ug_navibar_layout.edc new file mode 100644 index 0000000..7e87bcc --- /dev/null +++ b/ug_navibar_layout.edc @@ -0,0 +1,470 @@ +#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 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 +{ + group { name: "navigation_view"; + parts { + part { name: "background"; + type: RECT; + mouse_events: 0; + description { + state: "default" 0.0; + rel1 { relative: 0.0 0.0; } + rel2 { relative: 1.0 1.0; } + color: 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 1.0;} + } + } + + part { + name: "sel_contents"; + type: SWALLOW; + description { state: "default" 0.0; + fixed: 0 1; + align: 0.5 1.0; + rel1 { + relative: 0.0 1.0; + to:"part1"; + } + } + 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"; + } + } + } + group + { + name: "noContent"; + parts + { + part + { + name: "myfile.noContent.upper"; + type: SWALLOW; + scale: 1; + description + { + state: "default" 0.0; + rel1 + { + relative: 0.0 0.0; + } + rel2 + { + relative: 1.0 0.0; offset: 0 90; + } + } + } + part + { + name: "myfile.noContent.content"; + type: SWALLOW; + scale: 1; + description + { + state: "default" 0.0; + rel1 + { + relative: 0.0 1.0; + offset: 0 0; + to_y: "myfile.noContent.upper"; + } + rel2 + { + relative: 1.0 1.0; + } + } + } + + } + } + group + { + name: "effect/model/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; + } + } + } + + group + { + name: "pathinfo"; + 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; + } + } + } + } + +#if 1 + group + { + name: "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; + } + } + } + } + } +#else + group + { + name: "search_path"; + parts { + + part + { + name: "base"; + type: RECT; + repeat_events: 0; + scale: 1; + description { + state: "default" 0.0; + min : UG_SEARCH_FOLDER_W UG_SEARCH_FOLDER_H; + max : UG_SEARCH_FOLDER_W UG_SEARCH_FOLDER_H; + } + } + part + { + name: "path"; + type: SWALLOW; + description + { + state: "default" 0.0; + align: 0.5 0.5; + rel1 + { + relative: 0.0 0.4; to:"base"; + } + rel2 + { + relative: 1.0 1.0;to:"base"; + } + } + } + } + } +#endif +} + -- cgit v1.2.3